XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
PreferenceEditForm.class.php
1<?php
11
12if (!defined('XOOPS_ROOT_PATH')) {
13 exit();
14}
15
16require_once XOOPS_ROOT_PATH . '/core/XCube_ActionForm.class.php';
17
18class Legacy_PreferenceEditForm extends XCube_ActionForm
19{
20 public $mKeyName = 'confcat_id';
21 public $mKeyValue = 0;
22
23 public function Legacy_PreferenceEditForm($category)
24 {
25 self::__construct($category);
26 }
27
28 public function __construct($category)
29 {
30
31 parent::__construct();
32
33 $this->mKeyValue = $category->get('confcat_id');
34
35
36 }
37
38 public function getTokenName()
39 {
40 return 'module.legacy.PreferenceEditForm.TOKEN' . $this->getCategoryId();
41 }
42
43 public function getCategoryId()
44 {
45 return $this->mKeyValue;
46 }
47
48 public function getModuleId()
49 {
50 return 0;
51 }
52
53 public function prepare()
54 {
55 //
56 // Set form properties
57 //
58 $configArr = [];
59 if (func_num_args()) {
60 $configArr = func_get_arg(0);
61 }
62 foreach ($configArr as $config) {
63 switch ($config->get('conf_valuetype')) {
64 case 'text':
65 case 'string':
66 if ('textarea' === $config->get('conf_formtype')) {
67 $this->mFormProperties[$config->get('conf_name')] =new XCube_TextProperty($config->get('conf_name'));
68 } else {
69 $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
70 }
71 $this->set($config->get('conf_name'), $config->get('conf_value'));
72 break;
73
74 case 'float':
75 $this->mFormProperties[$config->get('conf_name')] =new XCube_FloatProperty($config->get('conf_name'));
76 $this->set($config->get('conf_name'), $config->get('conf_value'));
77
78 $this->mFieldProperties[$config->get('conf_name')] =new XCube_FieldProperty($this);
79 $this->mFieldProperties[$config->get('conf_name')]->setDependsByArray(['required']);
80 $this->mFieldProperties[$config->get('conf_name')]->addMessage('required', _MD_LEGACY_ERROR_REQUIRED, $config->get('conf_title'));
81 break;
82
83 case 'int':
84 $this->mFormProperties[$config->get('conf_name')] =new XCube_IntProperty($config->get('conf_name'));
85 $this->set($config->get('conf_name'), $config->get('conf_value'));
86
87 $this->mFieldProperties[$config->get('conf_name')] =new XCube_FieldProperty($this);
88 $this->mFieldProperties[$config->get('conf_name')]->setDependsByArray(['required']);
89 $this->mFieldProperties[$config->get('conf_name')]->addMessage('required', _MD_LEGACY_ERROR_REQUIRED, $config->get('conf_title'));
90 break;
91
92 case 'other':
93 $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
94 $this->set($config->get('conf_name'), $config->get('conf_value'));
95 break;
96
97 case 'array':
98 if ('textarea' === $config->get('conf_formtype')) {
99 $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
100 $this->set($config->get('conf_name'), implode('|', unserialize($config->get('conf_value'))));
101 } else {
102 $this->mFormProperties[$config->get('conf_name')] =new XCube_StringArrayProperty($config->get('conf_name'));
103 $t_arr = unserialize($config->get('conf_value'));
104 if (is_array($t_arr)) {
105 foreach ($t_arr as $_key => $_value) {
106 $this->set($config->get('conf_name'), $_key, $_value);
107 }
108 }
109 }
110 break;
111 case 'encrypt':
112 if ('textarea' === $config->get('conf_formtype')) {
113 $this->mFormProperties[$config->get('conf_name')] =new XCube_TextProperty($config->get('conf_name'));
114 } else {
115 $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
116 }
117 $this->set($config->get('conf_name'), XCube_Utils::decrypt($config->get('conf_value')));
118 break;
119 }
120 }
121 }
122
123 public function getImploadValue($key)
124 {
125 $value = $this->get($key);
126 return is_array($value) ? implode('|', $value) : $value;
127 }
128
129 public function update(&$configArr)
130 {
131 foreach (array_keys($configArr) as $key) {
132 $value = $this->get($configArr[$key]->get('conf_name'));
133
134 if ('array' === $configArr[$key]->get('conf_valuetype')) {
135 if (is_array($value)) {
136 $configArr[$key]->set('conf_value', serialize($value));
137 } else {
138 $configArr[$key]->set('conf_value', serialize(explode('|', $value)));
139 }
140 } elseif ('encrypt' === $configArr[$key]->get('conf_valuetype')) {
141 $configArr[$key]->set('conf_value', XCube_Utils::encrypt($value));
142 } else {
143 $configArr[$key]->set('conf_value', $value);
144 }
145 }
146 }
147}
148
149
150class Legacy_ModulePreferenceEditForm extends Legacy_PreferenceEditForm
151{
152 public $mKeyName = 'confmod_id';
153 public $mKeyValue = 0;
154
155 public function Legacy_ModulePreferenceEditForm(&$module)
156 {
157 self::__construct($module);
158 }
159
160 public function __construct(&$module)
161 {
162 parent::__construct($module);
163 $this->mKeyValue = $module->get('mid');
164 }
165
166 public function getTokenName()
167 {
168 return 'module.legacy.ModulePreferenceEditForm.TOKEN' . $this->getModuleId();
169 }
170
171 public function getCategoryId()
172 {
173 return 0;
174 }
175
176 public function getModuleId()
177 {
178 return $this->mKeyValue;
179 }
180}
getTokenName()
Gets the token name of this actionform's token.
getTokenName()
Gets the token name of this actionform's token.
prepare()
[Abstract] Set up form properties and field properties.
update(&$configArr)
[Abstract] Updates an object with properties values.
[Abstract] Used for validating member property values of XCube_ActionForm.
Represents float property.
Represents int property.
Represents string[] property. XCube_GenericArrayProperty<XCube_StringProperty>.
Represents string property.
Represents string property which allows CR and LF.
static encrypt(string $plain_text, string $key=null)
[Static] To encrypt strings by "DES-ECB".
static decrypt(string $crypt_text, string $key=null)
[Static] To decrypt strings by "DES-ECB".