| @@ -14,9 +14,8 @@ | ||
| 14 | 14 | /** |
| 15 | 15 | * Class LP_Abstract_Object_Data |
| 16 | 16 | */ |
| 17 | 17 | abstract class LP_Abstract_Object_Data { |
| 18 | - | |
| 19 | 18 | /** |
| 20 | 19 | * @var int |
| 21 | 20 | */ |
| 22 | 21 | protected $_id = 0; |
| @@ -239,20 +238,13 @@ | ||
| 239 | 238 | * @param mixed $value |
| 240 | 239 | * @param bool $extra |
| 241 | 240 | */ |
| 242 | 241 | protected function _set_data( $key_or_data, $value = '', $extra = false ) { |
| 243 | - | |
| 244 | 242 | if ( is_array( $key_or_data ) ) { |
| 245 | 243 | foreach ( $key_or_data as $key => $value ) { |
| 246 | 244 | $this->_set_data( $key, $value, $extra ); |
| 247 | 245 | } |
| 248 | 246 | } elseif ( $key_or_data ) { |
| 249 | - $data = $extra ? $this->_extra_data : $this->_data; | |
| 250 | - $changes = $extra ? $this->_extra_data_changes : $this->_changes; | |
| 251 | - | |
| 252 | - if ( $key_or_data === 'total' ) { | |
| 253 | - } | |
| 254 | - | |
| 255 | 247 | if ( $extra ) { |
| 256 | 248 | // Do not allow to add extra data with the same key in data |
| 257 | 249 | if ( ! array_key_exists( $key_or_data, $this->_data ) ) { |
| 258 | 250 | $this->_extra_data[ $key_or_data ] = $value; |
| @@ -261,18 +253,17 @@ | ||
| 261 | 253 | try { |
| 262 | 254 | if ( ! is_string( $key_or_data ) && ! is_numeric( $key_or_data ) ) { |
| 263 | 255 | throw new Exception( 'error' ); |
| 264 | 256 | } |
| 257 | + | |
| 265 | 258 | // Only change the data is already existed |
| 266 | - if ( array_key_exists( $key_or_data, $this->_data ) ) { | |
| 259 | + // if ( array_key_exists( $key_or_data, $this->_data ) ) { | |
| 267 | 260 | $this->_data[ $key_or_data ] = $value; |
| 268 | - } else { | |
| 269 | - $this->_extra_data[ $key_or_data ] = $value; | |
| 270 | - } | |
| 271 | - } catch ( Exception $ex ) { | |
| 272 | - print_r( $key_or_data ); | |
| 273 | - print_r( $ex->getMessage() ); | |
| 274 | - die( __FILE__ . '::' . __FUNCTION__ ); | |
| 261 | + // } else { | |
| 262 | + // $this->_extra_data[ $key_or_data ] = $value; | |
| 263 | + // } | |
| 264 | + } catch ( Throwable $ex ) { | |
| 265 | + error_log( $ex->getMessage() ); | |
| 275 | 266 | } |
| 276 | 267 | } |
| 277 | 268 | } |
| 278 | 269 | } |
| @@ -280,41 +271,52 @@ | ||
| 280 | 271 | /** |
| 281 | 272 | * Set extra data |
| 282 | 273 | * |
| 283 | 274 | * @param array|string $key_or_data |
| 284 | - * @param string $value | |
| 275 | + * @param string|mixed $value | |
| 285 | 276 | * @return $this |
| 286 | 277 | */ |
| 287 | 278 | public function set_data( $key_or_data, $value = '' ) { |
| 288 | - $this->_set_data( $key_or_data, $value, true ); | |
| 279 | + $this->_set_data( $key_or_data, $value ); | |
| 289 | 280 | return $this; |
| 290 | 281 | } |
| 291 | 282 | |
| 292 | 283 | /** |
| 284 | + * Set data datetime | |
| 285 | + * if $value is empty, not set is LP_Datetime object | |
| 286 | + * | |
| 293 | 287 | * @param $key |
| 294 | 288 | * @param $value |
| 289 | + * | |
| 290 | + * @version 4.0.1 | |
| 291 | + * @return LP_Abstract_Object_Data | |
| 295 | 292 | */ |
| 296 | - public function set_data_date( $key, $value ) { | |
| 297 | - if ( ! $value instanceof LP_Datetime ) { | |
| 298 | - $value = new LP_Datetime( $value ); | |
| 293 | + public function set_data_date( $key, $value ): LP_Abstract_Object_Data { | |
| 294 | + $lp_date = ''; | |
| 295 | + if ( ! empty( $value ) ) { | |
| 296 | + $lp_date = new LP_Datetime( $value ); | |
| 299 | 297 | } |
| 300 | 298 | |
| 301 | - $this->_set_data( $key, $value, true ); | |
| 299 | + $this->set_data( $key, $lp_date ); | |
| 300 | + | |
| 301 | + return $this; | |
| 302 | 302 | } |
| 303 | 303 | |
| 304 | 304 | /** |
| 305 | 305 | * @param $key |
| 306 | 306 | * @param $value |
| 307 | + * @deprecated 4.1.7.3 | |
| 307 | 308 | */ |
| 308 | 309 | protected function _set_data_date( $key, $value, $extra = false ) { |
| 309 | - if ( ! $value instanceof LP_Datetime ) { | |
| 310 | - $value = new LP_Datetime( $value ); | |
| 311 | - } | |
| 312 | - | |
| 313 | - $this->_set_data( $key, $value, $extra ); | |
| 310 | + _deprecated_function( __FUNCTION__, '4.1.7.3', 'set_data_date' ); | |
| 311 | + $this->set_data_date( $key, $value ); | |
| 314 | 312 | } |
| 315 | 313 | |
| 314 | + /** | |
| 315 | + * @deprecated 4.1.7.3 | |
| 316 | + */ | |
| 316 | 317 | public function set_data_null_date( $key ) { |
| 318 | + _deprecated_function( __METHOD__, '4.1.7.3' ); | |
| 317 | 319 | $this->_set_data( $key, LP_Datetime::getSqlNullDate() ); |
| 318 | 320 | } |
| 319 | 321 | |
| 320 | 322 | /** |
| @@ -322,8 +324,9 @@ | ||
| 322 | 324 | * |
| 323 | 325 | * @param array $data - Array with key is method and value is value to set |
| 324 | 326 | * |
| 325 | 327 | * @throws Exception |
| 328 | + * @deprecated 4.4.2 addon h5p v4.0.8 and assignment v4.2.0 still using this function | |
| 326 | 329 | */ |
| 327 | 330 | public function set_data_via_methods( $data ) { |
| 328 | 331 | $errors = array_keys( $data ); |
| 329 | 332 | foreach ( $data as $prop => $value ) { |
| @@ -340,9 +343,9 @@ | ||
| 340 | 343 | |
| 341 | 344 | // If there is at least one method failed |
| 342 | 345 | if ( $errors ) { |
| 343 | 346 | $errors = array_map( array( $this, 'prefix_set_method' ), $errors ); |
| 344 | - throw new Exception( sprintf( __( 'The following these functions %1$s do not exists in %2$s', 'learnpress' ), join( ',', $errors ), get_class( $this ) ) ); | |
| 347 | + throw new Exception( sprintf( __( 'The following functions %1$s do not exist in %2$s', 'learnpress' ), join( ',', $errors ), get_class( $this ) ) ); | |
| 345 | 348 | } |
| 346 | 349 | } |
| 347 | 350 | |
| 348 | 351 | /** |
| @@ -420,26 +423,30 @@ | ||
| 420 | 423 | /** |
| 421 | 424 | * Get all features are supported by question. |
| 422 | 425 | * |
| 423 | 426 | * @return array |
| 427 | + * @deprecated 4.1.7.3 | |
| 424 | 428 | */ |
| 425 | 429 | public function get_supports() { |
| 430 | + _deprecated_function( __FUNCTION__, '4.1.7.3' ); | |
| 426 | 431 | return LP_Global::get_object_supports( $this->object_type ); |
| 427 | 432 | } |
| 428 | 433 | |
| 429 | 434 | /** |
| 430 | 435 | * @param $value |
| 436 | + * @deprecated 4.1.7.3 | |
| 431 | 437 | */ |
| 432 | - public function set_no_cache( $value ) { | |
| 438 | + /*public function set_no_cache( $value ) { | |
| 433 | 439 | $this->_no_cache = $value; |
| 434 | - } | |
| 440 | + }*/ | |
| 435 | 441 | |
| 436 | 442 | /** |
| 437 | 443 | * @return bool |
| 444 | + * @deprecated 4.1.7.3 | |
| 438 | 445 | */ |
| 439 | - public function get_no_cache() { | |
| 446 | + /*public function get_no_cache() { | |
| 440 | 447 | return $this->_no_cache; |
| 441 | - } | |
| 448 | + }*/ | |
| 442 | 449 | |
| 443 | 450 | /** |
| 444 | 451 | * Read all metas and set to object |
| 445 | 452 | */ |