BLUE DRAGON PHP SDK
All Classes Functions Variables Pages
rvp_php_sdk_place.class.php
1 <?php
2 /***************************************************************************************************************************/
24 defined( 'RVP_PHP_SDK_ACCESS' ) or die ( 'Cannot Execute Directly' ); // Makes sure that this file is in the correct context.
25 
26 require_once(dirname(__FILE__).'/a_rvp_php_sdk_data_object.class.php'); // Make sure that we have the base class in place.
27 
28 /****************************************************************************************************************************/
32  /************************************************************************************************************************/
33  /*#################################################### INTERNAL METHODS ################################################*/
34  /************************************************************************************************************************/
35  /***********************/
39  protected function _save_data( $in_args = '',
40  $in_payload = NULL,
41  $in_new_child_ids = NULL
42  ) {
43  $to_set = [
44  'address_venue' => (isset($this->_object_data->address_elements->venue) ? $this->_object_data->address_elements->venue : NULL),
45  'address_street_address' => (isset($this->_object_data->address_elements->street_address) ? $this->_object_data->address_elements->street_address : NULL),
46  'address_extra_information' => (isset($this->_object_data->address_elements->extra_information) ? $this->_object_data->address_elements->extra_information : NULL),
47  'address_town' => (isset($this->_object_data->address_elements->town) ? $this->_object_data->address_elements->town : NULL),
48  'address_county' => (isset($this->_object_data->address_elements->county) ? $this->_object_data->address_elements->county : NULL),
49  'address_state' => (isset($this->_object_data->address_elements->state) ? $this->_object_data->address_elements->state : NULL),
50  'address_postal_code' => (isset($this->_object_data->address_elements->postal_code) ? $this->_object_data->address_elements->postal_code : NULL),
51  'address_nation' => (isset($this->_object_data->address_elements->nation) ? $this->_object_data->address_elements->nation : NULL),
52  'tag8' => (isset($this->_object_data->tag8) ? $this->_object_data->tag8 : NULL),
53  'tag9' => (isset($this->_object_data->tag9) ? $this->_object_data->tag9 : NULL)
54  ];
55 
56  $put_args = '';
57 
58  foreach ($to_set as $key => $value) {
59  if (isset($key) && isset($value)) {
60  $put_args .= '&'.$key.'='.urlencode(trim(strval($value)));
61  }
62  }
63 
64  $ret = parent::_save_data($put_args.$in_args, NULL, NULL);
65 
66  return $ret;
67  }
68 
69  /***********************/
75  protected function _save_change_record( $in_change_record_object
76  ) {
77  $ret = false;
78 
79  if (isset($in_change_record_object->places) && isset($in_change_record_object->places->changed_places) && is_array($in_change_record_object->places->changed_places) && count($in_change_record_object->places->changed_places)) {
80  foreach ($in_change_record_object->places->changed_places as $changed_place) {
81  if ($before = $changed_place->before) {
82  $this->_changed_states[] = new RVP_PHP_SDK_Place($this->_sdk_object, $before->id, $before, true);
83  $ret = true;
84  }
85  }
86  }
87 
88  return $ret;
89  }
90 
91  /***********************/
97  protected function _load_data( $in_force = false,
98  $in_details = false,
99  $in_parents = false
100  ) {
101  $ret = parent::_load_data($in_force, $in_details, $in_parents);
102 
103  if ($ret) {
104  if (isset($this->_object_data) && isset($this->_object_data->places) && isset($this->_object_data->places->results) && is_array($this->_object_data->places->results) && (1 == count($this->_object_data->places->results))) {
105  $this->_object_data = $this->_object_data->places->results[0];
106  } else {
107  $this->_object_data = NULL;
108  $this->_details = false;
109  }
110  }
111  return $ret;
112  }
113 
114  /************************************************************************************************************************/
115  /*#################################################### PUBLIC METHODS ##################################################*/
116  /************************************************************************************************************************/
117 
118  /***********************/
122  function __construct( $in_sdk_object,
123  $in_id,
124  $in_data = NULL,
125  $in_detailed_data = false
126  ) {
127  parent::__construct($in_sdk_object, $in_id, $in_data, $in_detailed_data, 'places');
128  }
129 
130  /***********************/
136  function basic_address() {
137  $ret = NULL;
138 
139  $this->_load_data();
140 
141  if (isset($this->_object_data) && isset($this->_object_data->address)) {
142  $ret = $this->_object_data->address;
143  }
144 
145  return $ret;
146  }
147 
148  /***********************/
163  function address_elements() {
164  $ret = NULL;
165 
166  $this->_load_data(false, true);
167 
168  if (isset($this->_object_data) && isset($this->_object_data->address_elements)) {
169  $ret = (array)$this->_object_data->address_elements;
170  }
171 
172  return $ret;
173  }
174 
175  /***********************/
181  function set_address_elements( $in_address_elements_array
194  ) {
195 
196  $ret = false;
197 
198  $this->_load_data(false, true);
199 
200  if (isset($this->_object_data)) {
201  foreach($in_address_elements_array as $key => $value) {
202  $key = strtolower(trim(strval($key)));
203  $value = trim(strval($value));
204  $this->_object_data->address_elements->$key = $value;
205  }
206 
207  $ret = $this->save_data();
208 
209  $this->_load_data(true, true); // Force a reload.
210  }
211 
212  return $ret;
213  }
214 
215  /***********************/
221  function tag8() {
222  $ret = NULL;
223 
224  $this->_load_data(false, true);
225 
226  if (isset($this->_object_data)) {
227  $ret = $this->_object_data->tag8;
228  }
229 
230  return $ret;
231  }
232 
233  /***********************/
239  function tag9() {
240  $ret = NULL;
241 
242  $this->_load_data(false, true);
243 
244  if (isset($this->_object_data)) {
245  $ret = $this->_object_data->tag9;
246  }
247 
248  return $ret;
249  }
250 
251  /***********************/
257  function set_tag8( $in_new_string_value
258  ) {
259  $ret = false;
260 
261  $this->_load_data(false, true);
262 
263  if (isset($this->_object_data)) {
264  $this->_object_data->tag8 = trim(strval($in_new_string_value));
265  $ret = $this->save_data();
266  }
267 
268  return $ret;
269  }
270 
271  /***********************/
277  function set_tag9( $in_new_string_value
278  ) {
279  $ret = false;
280 
281  $this->_load_data(false, true);
282 
283  if (isset($this->_object_data)) {
284  $this->_object_data->tag9 = trim(strval($in_new_string_value));
285  $ret = $this->save_data();
286  }
287 
288  return $ret;
289  }
290 
291  /***********************/
301  function geocode() {
302  $ret = false;
303 
304  $result = json_decode($this->_sdk_object->put_data('/json/'.$this->_plugin_path.'/'.$this->id(), 'geocode'));
305 
306  if (isset($result) && $result) {
307  $this->_save_change_record($result);
308  }
309 
310  $this->_load_data(true, true);
311 
312  return $ret;
313  }
314 
315  /***********************/
325  function reverse_geocode() {
326  $ret = false;
327 
328  $result = json_decode($this->_sdk_object->put_data('/json/'.$this->_plugin_path.'/'.$this->id(), 'reverse-geocode'));
329 
330  if (isset($result) && $result) {
331  $this->_save_change_record($result);
332  }
333 
334  $this->_load_data(true, true);
335 
336  return $ret;
337  }
338 };
set_tag8( $in_new_string_value)
_save_data( $in_args='', $in_payload=NULL, $in_new_child_ids=NULL)
set_address_elements( $in_address_elements_array)
set_tag9( $in_new_string_value)
_load_data( $in_force=false, $in_details=false, $in_parents=false)
_save_change_record( $in_change_record_object)
__construct( $in_sdk_object, $in_id, $in_data=NULL, $in_detailed_data=false)