24 defined(
'RVP_PHP_SDK_ACCESS' ) or die ( 'Cannot Execute Directly' );
26 require_once(dirname(__FILE__).'/rvp_php_sdk.class.php');
63 if ($in_force || $in_parents || (NULL == $this->_object_data) || ($in_details && !$this->_details)) {
64 $this->_details = $in_details;
65 $fetched_data = $this->_sdk_object->fetch_data(
'json/'.$this->_plugin_path.
'/'.$this->_object_id, $in_details ?
'show_details'.($in_parents ?
'&show_parents' :
'') : NULL);
66 $this->_object_data = (NULL != $fetched_data) ? json_decode($fetched_data) : NULL;
67 $ret = (NULL != $this->_object_data);
81 $in_new_child_ids = NULL
86 $name = isset($this->_object_data->name) ? $this->_object_data->name : NULL;
87 $lang = isset($this->_object_data->lang) ? $this->_object_data->lang : NULL;
88 $read_token = isset($this->_object_data->read_token) ? intval($this->_object_data->read_token) : NULL;
89 $write_token = isset($this->_object_data->write_token) ? ((0 < intval($this->_object_data->write_token)) ? intval($this->_object_data->write_token) : $this->_sdk_object->my_info()[
'login']->id()) : NULL;
92 $put_args .=
'&name='.urlencode($name);
96 $put_args .=
'&lang='.urlencode($lang);
99 if (isset($read_token)) {
100 $put_args .=
'&read_token='.intval($read_token);
103 if (isset($write_token)) {
104 $put_args .=
'&write_token='.intval($write_token);
107 $result = json_decode($this->_sdk_object->put_data(
'/json/'.$this->_plugin_path.
'/'.$this->id(), $put_args.$in_args, $in_payload));
120 protected abstract function _save_change_record( $in_change_record_object
133 $in_detailed_data =
false,
134 $in_plugin_path =
'baseline' 136 $this->_object_id = $in_id;
137 $this->_object_data = $in_data;
138 $this->_details = (NULL != $in_data) ? $in_detailed_data :
false;
139 $this->_plugin_path = $in_plugin_path;
140 $this->_changed_states = [];
141 $this->set_sdk_object($in_sdk_object);
150 $this->_sdk_object = $in_sdk_object;
158 return isset($this->_changed_states) ? $this->_changed_states : [];
168 $ret = $this->_save_change_record($this->_save_data());
178 return $this->_object_id;
192 if (isset($this->_object_data) && isset($this->_object_data->name)) {
193 $ret = $this->_object_data->name;
209 $this->_load_data(
false,
true);
211 if (isset($this->_object_data)) {
212 $this->_object_data->name = $in_new_value;
214 $ret = $this->save_data();
231 if (isset($this->_object_data) && isset($this->_object_data->lang)) {
232 $ret = $this->_object_data->lang;
248 $this->_load_data(
false,
true);
250 if (isset($this->_object_data)) {
251 $this->_object_data->lang = $in_new_value;
253 $ret = $this->save_data();
272 if (isset($this->_object_data) && isset($this->_object_data->read_token)) {
273 $read_token = intval($this->_object_data->read_token);
276 if (isset($this->_object_data) && isset($this->_object_data->write_token)) {
277 $write_token = intval($this->_object_data->write_token);
280 if ($read_token || $write_token) {
284 $ret[
'read'] = $read_token;
288 $ret[
'write'] = $write_token;
308 $this->_load_data(
false,
true);
310 if (isset($this->_object_data)) {
311 $this->_object_data->read_token = isset($in_new_read) ? intval($in_new_read) : $this->_object_data->read_token;
312 $this->_object_data->write_token = isset($in_new_write) ? intval($in_new_write) : $this->_object_data->write_token;
314 $ret = $this->save_data();
331 if (isset($this->_object_data) && isset($this->_object_data->writeable) && $this->_object_data->writeable) {
349 if (isset($this->_object_data) && isset($this->_object_data->last_access)) {
350 $ret = strtotime($this->_object_data->last_access);
366 return $this->_load_data(
true,
true, $in_parents);
set_sdk_object( $in_sdk_object)
_save_data( $in_args='', $in_payload=NULL, $in_new_child_ids=NULL)
__construct( $in_sdk_object, $in_id, $in_data=NULL, $in_detailed_data=false, $in_plugin_path='baseline')
set_object_access( $in_new_read=NULL, $in_new_write=NULL)
$_sdk_object
This is the RVP_PHP_SDK object that "owns" this object.
$_object_data
This is any data that was associated with this object (parsed JSON).
$_plugin_path
This is a string that is applied to fetches to get the object.
$_details
If true, then the last load was a "show details" load..
_load_data( $in_force=false, $in_details=false, $in_parents=false)
$_changed_states
This will contain an array of objects (of whatever class this is), that represent previous object sta...
$_object_id
This is the server unique ID of this object.
force_reload( $in_parents=false)