XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
DefinitionsEditForm.class.php
1<?php
10
11if (!defined('XOOPS_ROOT_PATH')) {
12 exit();
13}
14
15require_once XOOPS_ROOT_PATH . '/core/XCube_ActionForm.class.php';
16require_once XOOPS_MODULE_PATH . '/legacy/class/Legacy_Validator.class.php';
17
19{
23 public function getTokenName()
24 {
25 return 'module.profile.Admin_DefinitionsEditForm.TOKEN';
26 }
27
31 public function prepare()
32 {
33 //
34 // Set form properties
35 //
36 $this->mFormProperties['field_id'] =new XCube_IntProperty('field_id');
37 $this->mFormProperties['field_name'] =new XCube_StringProperty('field_name');
38 $this->mFormProperties['label'] =new XCube_StringProperty('label');
39 $this->mFormProperties['type'] =new XCube_StringProperty('type');
40 $this->mFormProperties['validation'] =new XCube_StringProperty('validation');
41 $this->mFormProperties['required'] =new XCube_BoolProperty('required');
42 $this->mFormProperties['show_form'] =new XCube_BoolProperty('show_form');
43 $this->mFormProperties['weight'] =new XCube_IntProperty('weight');
44 $this->mFormProperties['description'] =new XCube_TextProperty('description');
45 $this->mFormProperties['access'] =new XCube_TextProperty('access');
46 $this->mFormProperties['options'] =new XCube_TextProperty('options');
47
48 //
49 // Set field properties
50 //
51 $this->mFieldProperties['field_id'] =new XCube_FieldProperty($this);
52 $this->mFieldProperties['field_id']->setDependsByArray(['required']);
53 $this->mFieldProperties['field_id']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_FIELD_ID);
54
55 $this->mFieldProperties['field_name'] =new XCube_FieldProperty($this);
56 $this->mFieldProperties['field_name']->setDependsByArray(['required', 'maxlength']);
57 $this->mFieldProperties['field_name']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_FIELD_NAME, '32');
58 $this->mFieldProperties['field_name']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_FIELD_NAME, '32');
59 $this->mFieldProperties['field_name']->addVar('maxlength', '32');
60
61 $this->mFieldProperties['label'] =new XCube_FieldProperty($this);
62 $this->mFieldProperties['label']->setDependsByArray(['required', 'maxlength']);
63 $this->mFieldProperties['label']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_LABEL, '191');
64 $this->mFieldProperties['label']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_LABEL, '191');
65 $this->mFieldProperties['label']->addVar('maxlength', '191');
66
67 $this->mFieldProperties['type'] =new XCube_FieldProperty($this);
68 $this->mFieldProperties['type']->setDependsByArray(['maxlength']);
69// $this->mFieldProperties['type']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_TYPE, '16');
70 $this->mFieldProperties['type']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_TYPE, '32');
71 $this->mFieldProperties['type']->addVar('maxlength', '32');
72
73 $this->mFieldProperties['validation'] =new XCube_FieldProperty($this);
74 $this->mFieldProperties['validation']->setDependsByArray(['maxlength']);
75 $this->mFieldProperties['validation']->addMessage('maxlength', _MD_PROFILE_ERROR_MAXLENGTH, _MD_PROFILE_LANG_VALIDATION, '191');
76 $this->mFieldProperties['validation']->addVar('maxlength', '191');
77
78 $this->mFieldProperties['weight'] =new XCube_FieldProperty($this);
79 $this->mFieldProperties['weight']->setDependsByArray(['required']);
80 $this->mFieldProperties['weight']->addMessage('required', _MD_PROFILE_ERROR_REQUIRED, _MD_PROFILE_LANG_WEIGHT);
81 }
82
87 public function load(&$obj)
88 {
89 $this->set('field_id', $obj->get('field_id'));
90 $this->set('field_name', $obj->get('field_name'));
91 $this->set('label', $obj->get('label'));
92 $this->set('type', $obj->get('type'));
93 $this->set('validation', $obj->get('validation'));
94 $this->set('required', $obj->get('required'));
95 $this->set('show_form', $obj->get('show_form'));
96 $this->set('weight', $obj->get('weight'));
97 $this->set('description', $obj->get('description'));
98 $this->set('access', explode(',', $obj->get('access')));
99 $this->set('options', $obj->get('options'));
100 }
101
106 public function update(&$obj)
107 {
108 $obj->set('field_id', $this->get('field_id'));
109 $obj->set('field_name', $this->get('field_name'));
110 $obj->set('label', $this->get('label'));
111 $obj->set('type', $this->get('type'));
112 $obj->set('validation', $this->get('validation'));
113 $obj->set('required', $this->get('required'));
114 $obj->set('show_form', $this->get('show_form'));
115 $obj->set('weight', $this->get('weight'));
116 $obj->set('description', $this->get('description'));
117 if ($this->get('access')) {
118 $obj->set('access', implode(',', $this->get('access')));
119 }
120 $obj->set('options', $this->get('options'));
121 }
122
130 public function validateField_name()
131 {
132 if ($this->get('field_id')>0) {
133 return;
134 }
135 $objs = xoops_getmodulehandler('definitions', 'profile')->getObjects(new Criteria('field_name', $this->get('field_name')));
136 if ((is_countable($objs) ? count($objs) : 0)>0) {
137 $this->addErrorMessage(_MD_PROFILE_ERROR_DUPLICATED_FIELD_NAME);
138 }
139 }
140}
getTokenName()
Gets the token name of this actionform's token.
prepare()
[Abstract] Set up form properties and field properties.
addErrorMessage( $message)
Adds a message to the form's error message buffer.
Represents bool property.
[Abstract] Used for validating member property values of XCube_ActionForm.
Represents int property.
Represents string property.
Represents string property which allows CR and LF.