-
Notifications
You must be signed in to change notification settings - Fork 0
/
lpchatvariable.php
115 lines (104 loc) · 2.75 KB
/
lpchatvariable.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/**
* A variable on a webpage that uses LP Chat
*
* @author [email protected]
* @version 1.0
*/
class lpchatvariable {
/**
* lpAddVars
*/
const lpaddvars = "lpAddVars";
/**
* lpSendData
*/
const lpsenddata = "lpSendData";
/**
* Scope
*
* @var string lifetime of the variable
*/
private $scope;
/**
* name
*
* @var string name of the variable
*/
private $name;
/**
* value
*
* @var string value of the variable
*/
private $value;
/**
* Private constructor
*
* @param string $scope lifetime of the variable
* @param string $name name of the variable
* @param string $value value of the variable
*/
private function LpChatVariable($scope, $name, $value) {
$this->set_scope($scope);
$this->set_name($name);
$this->set_value($value);
}
/**
*
* @param string $scope lifetime of the variable
* @param string $name name of the variable
* @param string $value value of the variable
* @return object LpChatVariable
*/
public static function MakeFromArguments($scope, $name, $value){
return new LpChatVariable($scope, $name, $value);
}
/**
* Parse the string of arguments of a method call into its arguments
*
* @param string $method_arguments_as_a_string Format: "(<scope>,<name>,<value>)"
*/
public static function MakeFromSignature($method_arguments_as_a_string) {
/* remove method name if present */
$method_arguments_as_a_string = str_ireplace(array("lpaddvars","lpsenddata"), "", $method_arguments_as_a_string);
/* remove surrounding parenthesis if present */
$method_arguments_as_a_string = trim($method_arguments_as_a_string,"()");
/* split arguments into array elements */
//$method_arguments = preg_split("/,/", $method_arguments_as_a_string);
$method_arguments = explode(",", $method_arguments_as_a_string);
/* remove surrounding quotes, spaces, or apostrophes */
/* assign array elements to variables */
$scope=trim($method_arguments[0],'" \'');
$name=trim($method_arguments[1],'" \'');
$value=trim($method_arguments[2],'" \'');
return lpchatvariable::MakeFromArguments($scope, $name, $value);
}
/* setters */
function set_scope($scope){
$this->scope = $scope;
}
function set_name($name){
$this->name = $name;
}
function set_value($value){
$this->value = $value;
}
/* getters */
function get_scope(){
return $this->scope;
}
function get_name(){
return $this->name;
}
function get_value(){
return $this->value;
}
/**
* @return string a string representation of this object
*/
function __toString(){
return "var(".$this->get_scope().", ".$this->get_name().", ".$this->get_value().")";
}
}
?>