1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: if (!defined('XOOPS_ROOT_PATH')) exit();
12:
13: require_once XOOPS_ROOT_PATH . "/core/XCube_ActionForm.class.php";
14:
15: class Legacy_PreferenceEditForm extends XCube_ActionForm
16: {
17: var $mKeyName = "confcat_id";
18: var $mKeyValue = 0;
19:
20: function Legacy_PreferenceEditForm(&$category)
21: {
22: parent::XCube_ActionForm();
23: $this->mKeyValue = $category->get('confcat_id');
24: }
25:
26: function getTokenName()
27: {
28: return "module.legacy.PreferenceEditForm.TOKEN" . $this->getCategoryId();
29: }
30:
31: function getCategoryId()
32: {
33: return $this->mKeyValue;
34: }
35:
36: function getModuleId()
37: {
38: return 0;
39: }
40:
41: function prepare(&$configArr)
42: {
43:
44:
45:
46: foreach ($configArr as $config) {
47: switch ($config->get('conf_valuetype')) {
48: case 'text':
49: case 'string':
50: if ($config->get('conf_formtype') == 'textarea') {
51: $this->mFormProperties[$config->get('conf_name')] =new XCube_TextProperty($config->get('conf_name'));
52: }
53: else {
54: $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
55: }
56: $this->set($config->get('conf_name'), $config->get('conf_value'));
57: break;
58:
59: case 'float':
60: $this->mFormProperties[$config->get('conf_name')] =new XCube_FloatProperty($config->get('conf_name'));
61: $this->set($config->get('conf_name'), $config->get('conf_value'));
62:
63: $this->mFieldProperties[$config->get('conf_name')] =new XCube_FieldProperty($this);
64: $this->mFieldProperties[$config->get('conf_name')]->setDependsByArray(array('required'));
65: $this->mFieldProperties[$config->get('conf_name')]->addMessage('required', _MD_LEGACY_ERROR_REQUIRED, $config->get('conf_title'));
66: break;
67:
68: case 'int':
69: $this->mFormProperties[$config->get('conf_name')] =new XCube_IntProperty($config->get('conf_name'));
70: $this->set($config->get('conf_name'), $config->get('conf_value'));
71:
72: $this->mFieldProperties[$config->get('conf_name')] =new XCube_FieldProperty($this);
73: $this->mFieldProperties[$config->get('conf_name')]->setDependsByArray(array('required'));
74: $this->mFieldProperties[$config->get('conf_name')]->addMessage('required', _MD_LEGACY_ERROR_REQUIRED, $config->get('conf_title'));
75: break;
76:
77: case 'other':
78: $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
79: $this->set($config->get('conf_name'), $config->get('conf_value'));
80: break;
81:
82: case 'array':
83: if($config->get('conf_formtype') == 'textarea') {
84: $this->mFormProperties[$config->get('conf_name')] =new XCube_StringProperty($config->get('conf_name'));
85: $this->set($config->get('conf_name'), implode("|", unserialize($config->get('conf_value'))));
86: }
87: else {
88: $this->mFormProperties[$config->get('conf_name')] =new XCube_StringArrayProperty($config->get('conf_name'));
89: $t_arr = unserialize($config->get('conf_value'));
90: if (is_array($t_arr)) {
91: foreach ($t_arr as $_key => $_value) {
92: $this->set($config->get('conf_name'), $_key, $_value);
93: }
94: }
95: }
96: break;
97: }
98: }
99: }
100:
101: function getImploadValue($key)
102: {
103: $value = $this->get($key);
104: return is_array($value) ? implode("|", $value) : $value;
105: }
106:
107: function update(&$configArr)
108: {
109: foreach (array_keys($configArr) as $key) {
110: $value = $this->get($configArr[$key]->get('conf_name'));
111:
112: if ($configArr[$key]->get('conf_valuetype') == 'array') {
113: if (is_array($value)) {
114: $configArr[$key]->set('conf_value', serialize($value));
115: }
116: else {
117: $configArr[$key]->set('conf_value', serialize(explode("|", $value)));
118: }
119: }
120: else {
121: $configArr[$key]->set('conf_value', $value);
122: }
123: }
124: }
125: }
126:
127: class Legacy_ModulePreferenceEditForm extends Legacy_PreferenceEditForm
128: {
129: var $mKeyName = "confmod_id";
130:
131: function Legacy_ModulePreferenceEditForm(&$module)
132: {
133: parent::XCube_ActionForm();
134: $this->mKeyValue = $module->get('mid');
135: }
136:
137: function getTokenName()
138: {
139: return "module.legacy.ModulePreferenceEditForm.TOKEN" . $this->getModuleId();
140: }
141:
142: function getCategoryId()
143: {
144: return 0;
145: }
146:
147: function getModuleId()
148: {
149: return $this->mKeyValue;
150: }
151: }
152:
153: ?>
154: