Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/imagify/classes/Traits/ |
<?php namespace Imagify\Traits; defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' ); /** * Trait to use to connect medias and database. * It also cache the results. * Classes using that trait must define a protected property $db_class_name (string) containing the media SQL DB class name. * * @since 1.9 * @author Grégory Viguier */ trait MediaRowTrait { /** * The media SQL data row. * * @var array * @since 1.9 * @access protected * @author Grégory Viguier */ protected $row; /** * The media ID. * * @var int * @since 1.9 * @access protected * @author Grégory Viguier */ protected $id; /** * Get the row. * * @since 1.9 * @access public * @author Grégory Viguier * * @return array */ public function get_row() { if ( isset( $this->row ) ) { return $this->row; } if ( ! $this->db_class_name || $this->id <= 0 ) { return $this->invalidate_row(); } $this->row = $this->get_row_db_instance()->get( $this->id ); if ( ! $this->row ) { return $this->invalidate_row(); } return $this->row; } /** * Update the row. * * @since 1.9 * @access public * @author Grégory Viguier * * @param array $data The data to update. */ public function update_row( $data ) { if ( ! $this->db_class_name || $this->id <= 0 ) { return; } $this->get_row_db_instance()->update( $this->id, $data ); $this->reset_row_cache(); } /** * Delete the row. * * @since 1.9 * @access public * @author Grégory Viguier */ public function delete_row() { if ( ! $this->db_class_name || $this->id <= 0 ) { return; } $this->get_row_db_instance()->delete( $this->id ); $this->invalidate_row(); } /** * Shorthand to get the DB table instance. * * @since 1.9 * @access public * @author Grégory Viguier * * @return \Imagify\DB\DBInterface The DB table instance. */ public function get_row_db_instance() { return call_user_func( [ $this->db_class_name, 'get_instance' ] ); } /** * Invalidate the row, by setting it to an empty array. * * @since 1.9 * @access public * @author Grégory Viguier * * @return array The row. */ public function invalidate_row() { $this->row = []; return $this->row; } /** * Reset the row cache. * * @since 1.9 * @access public * @author Grégory Viguier * * @return null The row. */ public function reset_row_cache() { $this->row = null; return $this->row; } }