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/redirection/models/ |
<?php /** * A redirect action - what happens after a URL is matched. */ abstract class Red_Action { /** * The action code (i.e. HTTP code) * * @var integer */ protected $code = 0; /** * The action type * * @var string */ protected $type = ''; /** * Target URL, if any * * @var String|null */ protected $target = null; /** * Constructor * * @param array $values Values. */ public function __construct( $values = [] ) { if ( is_array( $values ) ) { foreach ( $values as $key => $value ) { $this->$key = $value; } } } abstract public function name(); /** * Create an action object * * @param string $name Action type. * @param integer $code Action code. * @return Red_Action|null */ public static function create( $name, $code ) { $avail = self::available(); if ( isset( $avail[ $name ] ) ) { if ( ! class_exists( strtolower( $avail[ $name ][1] ) ) ) { include_once dirname( __FILE__ ) . '/../actions/' . $avail[ $name ][0]; } /** * @var Red_Action */ $obj = new $avail[ $name ][1]( [ 'code' => $code ] ); $obj->type = $name; return $obj; } return null; } /** * Get list of available actions * * @return array */ public static function available() { return [ 'url' => [ 'url.php', 'Url_Action' ], 'error' => [ 'error.php', 'Error_Action' ], 'nothing' => [ 'nothing.php', 'Nothing_Action' ], 'random' => [ 'random.php', 'Random_Action' ], 'pass' => [ 'pass.php', 'Pass_Action' ], ]; } /** * Get the action code * * @return integer */ public function get_code() { return $this->code; } /** * Get action type * * @return string */ public function get_type() { return $this->type; } /** * Set the target for this action * * @param string $target_url The original URL from the client. * @return void */ public function set_target( $target_url ) { $this->target = $target_url; } /** * Get the target for this action * * @return string|null */ public function get_target() { return $this->target; } /** * Does this action need a target? * * @return boolean */ public function needs_target() { return false; } /** * Run this action. May not return from this function. * * @return void */ abstract public function run(); }