PluginProbe
Redirection / 2.4.2
Redirection v2.4.2
5.10.0 5.9.0 5.8.1 5.8.0 3.7.2 3.7.3 4.0 4.0.1 4.1 4.1.1 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.4 4.4.1 4.4.2 4.5 4.5.1 4.6.2 4.7.1 All 130 releases
redirection / models / match.php

match.php in Redirection 2.4.2, at models/match.php

86 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class Red_Match {
4 var $url;
5
6 function Red_Match( $values = '' ) {
7 if ( $values ) {
8 $this->url = $values;
9
10 $obj = maybe_unserialize( $values );
11
12 if ( is_array( $obj ) ) {
13 foreach ( $obj AS $key => $value ) {
14 $this->$key = $value;
15 }
16 }
17 }
18 }
19
20 function data( $details ) {
21 $data = $this->save( $details );
22 if ( count( $data ) == 1 && !is_array( current( $data ) ) )
23 $data = current( $data );
24 else
25 $data = serialize( $data );
26 return $data;
27 }
28
29 function save( $details ) {
30 return array();
31 }
32
33 function name() {
34 return '';
35 }
36
37 function show() {
38 }
39
40 function wants_it() {
41 return true;
42 }
43
44 function get_target( $url, $matched_url, $regex ) {
45 return false;
46 }
47
48 static function create( $name, $data = '' ) {
49 $avail = self::available();
50 if ( isset( $avail[strtolower( $name )] ) ) {
51 $classname = $name.'_match';
52
53 if ( !class_exists( strtolower( $classname ) ) )
54 include( dirname( __FILE__ ).'/../matches/'.$avail[strtolower( $name )] );
55 return new $classname( $data );
56 }
57
58 return false;
59 }
60
61 static function all() {
62 $data = array();
63
64 $avail = self::available();
65 foreach ( $avail AS $name => $file ) {
66 $obj = self::create( $name );
67 $data[$name] = $obj->name();
68 }
69
70 return $data;
71 }
72
73 static function available() {
74 return array (
75 'url' => 'url.php',
76 'referrer' => 'referrer.php',
77 'agent' => 'user-agent.php',
78 'login' => 'login.php',
79 );
80 }
81
82 function match_name() {
83 return '';
84 }
85 }
86