| Server IP : 188.114.97.2 / Your IP : 104.23.197.231 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/nicolasj/www/blog.ecoledelangues.be/wp-content/plugins/redirection/models/ |
Upload File : |
<?php
abstract class Red_Action {
protected $code;
protected $type;
function __construct( $values ) {
if ( is_array( $values ) ) {
foreach ( $values as $key => $value ) {
$this->$key = $value;
}
}
}
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];
}
$obj = new $avail[ $name ][1]( array( 'code' => $code ) );
$obj->type = $name;
return $obj;
}
return false;
}
static function available() {
return array(
'url' => array( 'url.php', 'Url_Action' ),
'error' => array( 'error.php', 'Error_Action' ),
'nothing' => array( 'nothing.php', 'Nothing_Action' ),
'random' => array( 'random.php', 'Random_Action' ),
'pass' => array( 'pass.php', 'Pass_Action' ),
);
}
public function process_before( $code, $target ) {
return $target;
}
public function process_after( $code, $target ) {
return true;
}
public function get_code() {
return $this->code;
}
public function get_type() {
return $this->type;
}
abstract public function needs_target();
}