1: <?php
2: 3: 4: 5: 6:
7:
8: if (!defined('XOOPS_ROOT_PATH')) exit();
9:
10: require_once XOOPS_ROOT_PATH . "/core/XCube_ActionForm.class.php";
11: require_once XOOPS_MODULE_PATH . "/legacy/class/Legacy_Validator.class.php";
12:
13: class Profile_Admin_DefinitionsEditForm extends XCube_ActionForm
14: {
15: 16: 17:
18: function getTokenName()
19: {
20: return "module.profile.Admin_DefinitionsEditForm.TOKEN";
21: }
22:
23: 24: 25:
26: function prepare()
27: {
28:
29:
30:
31: $this->mFormProperties['field_id'] =new XCube_IntProperty('field_id');
32: $this->mFormProperties['field_name'] =new XCube_StringProperty('field_name');
33: $this->mFormProperties['label'] =new XCube_StringProperty('label');
34: $this->mFormProperties['type'] =new XCube_StringProperty('type');
35: $this->mFormProperties['validation'] =new XCube_StringProperty('validation');
36: $this->mFormProperties['required'] =new XCube_BoolProperty('required');
37: $this->mFormProperties['show_form'] =new XCube_BoolProperty('show_form');
38: $this->mFormProperties['weight'] =new XCube_IntProperty('weight');
39: $this->mFormProperties['description'] =new XCube_TextProperty('description');
40: $this->mFormProperties['access'] =new XCube_TextProperty('access');
41: $this->mFormProperties['options'] =new XCube_TextProperty('options');
42:
43:
44:
45:
46: $this->mFieldProperties['field_id'] =new XCube_FieldProperty($this);
47: $this->mFieldProperties['field_id']->setDependsByArray(array('required'));
48: $this->mFieldProperties['field_id']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_FIELD_ID);
49:
50: $this->mFieldProperties['field_name'] =new XCube_FieldProperty($this);
51: $this->mFieldProperties['field_name']->setDependsByArray(array('required','maxlength'));
52: $this->mFieldProperties['field_name']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_FIELD_NAME, '32');
53: $this->mFieldProperties['field_name']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_FIELD_NAME, '32');
54: $this->mFieldProperties['field_name']->addVar('maxlength', '32');
55:
56: $this->mFieldProperties['label'] =new XCube_FieldProperty($this);
57: $this->mFieldProperties['label']->setDependsByArray(array('required','maxlength'));
58: $this->mFieldProperties['label']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_LABEL, '255');
59: $this->mFieldProperties['label']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_LABEL, '255');
60: $this->mFieldProperties['label']->addVar('maxlength', '255');
61:
62: $this->mFieldProperties['type'] =new XCube_FieldProperty($this);
63: $this->mFieldProperties['type']->setDependsByArray(array('maxlength'));
64:
65: $this->mFieldProperties['type']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_TYPE, '32');
66: $this->mFieldProperties['type']->addVar('maxlength', '32');
67:
68: $this->mFieldProperties['validation'] =new XCube_FieldProperty($this);
69: $this->mFieldProperties['validation']->setDependsByArray(array('maxlength'));
70: $this->mFieldProperties['validation']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_VALIDATION, '255');
71: $this->mFieldProperties['validation']->addVar('maxlength', '255');
72:
73: $this->mFieldProperties['weight'] =new XCube_FieldProperty($this);
74: $this->mFieldProperties['weight']->setDependsByArray(array('required'));
75: $this->mFieldProperties['weight']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_WEIGHT);
76: }
77:
78: 79: 80:
81: function load(&$obj)
82: {
83: $this->set('field_id', $obj->get('field_id'));
84: $this->set('field_name', $obj->get('field_name'));
85: $this->set('label', $obj->get('label'));
86: $this->set('type', $obj->get('type'));
87: $this->set('validation', $obj->get('validation'));
88: $this->set('required', $obj->get('required'));
89: $this->set('show_form', $obj->get('show_form'));
90: $this->set('weight', $obj->get('weight'));
91: $this->set('description', $obj->get('description'));
92: $this->set('access', explode(",", $obj->get('access')));
93: $this->set('options', $obj->get('options'));
94: }
95:
96: 97: 98:
99: function update(&$obj)
100: {
101: $obj->set('field_id', $this->get('field_id'));
102: $obj->set('field_name', $this->get('field_name'));
103: $obj->set('label', $this->get('label'));
104: $obj->set('type', $this->get('type'));
105: $obj->set('validation', $this->get('validation'));
106: $obj->set('required', $this->get('required'));
107: $obj->set('show_form', $this->get('show_form'));
108: $obj->set('weight', $this->get('weight'));
109: $obj->set('description', $this->get('description'));
110: if($this->get('access')){
111: $obj->set('access', implode(",", $this->get('access')));
112: }
113: $obj->set('options', $this->get('options'));
114: }
115:
116: 117: 118: 119: 120: 121: 122:
123: public function validateField_name(){
124: if($this->get('field_id')>0){
125: return;
126: }
127: $objs = xoops_getmodulehandler('definitions', 'profile')->getObjects(new Criteria('field_name', $this->get('field_name')));
128: if(count($objs)>0){
129: $this->addErrorMessage(_MD_PROFILE_ERROR_DUPLICATED_FIELD_NAME);
130: }
131: }
132:
133: }
134:
135: ?>
136: