22 public $mSmilesObjects = [];
23 public $mActionForm =
null;
24 public $mpageArr = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 0];
26 public function prepare(&$controller, &$xoopsUser)
29 $this->mActionForm->prepare();
32 public function &_getHandler()
34 $handler =& xoops_getmodulehandler(
'smiles');
38 public function &_getPageNavi()
40 $navi =
new XCube_PageNavigator($this->_getBaseUrl(), XCUBE_PAGENAVI_START | XCUBE_PAGENAVI_PERPAGE);
42 $root =& XCube_Root::getSingleton();
43 $perpage = $root->mContext->mRequest->getRequest($navi->mPrefix.
'perpage');
45 if (isset($perpage) && 0 === (
int)$perpage) {
51 public function &_getFilterForm()
57 public function _getBaseUrl()
59 return './index.php?action=SmilesList';
62 public function executeViewIndex(&$controller, &$xoopsUser, &$render)
64 $render->setTemplateName(
'smiles_list.html');
65 $render->setAttribute(
'objects', $this->mObjects);
66 $render->setAttribute(
'pageNavi', $this->mFilter->mNavi);
67 $render->setAttribute(
'actionForm', $this->mActionForm);
68 $render->setAttribute(
'pageArr', $this->mpageArr);
69 $render->setAttribute(
'filterForm', $this->mFilter);
71 $smiles_handler =& $this->_getHandler();
72 $smiles_total = $smiles_handler->getCount();
73 $display_smiles_total = $smiles_handler->getCount(
new Criteria(
'display', 1));
74 $render->setAttribute(
'SmilesTotal', $smiles_total);
75 $render->setAttribute(
'displaySmilesTotal', $display_smiles_total);
76 $render->setAttribute(
'notdisplaySmilesTotal', $smiles_total - $display_smiles_total);
79 public function execute(&$controller, &$xoopsUser)
81 $form_cancel = $controller->mRoot->mContext->mRequest->getRequest(
'_form_control_cancel');
82 if (
null !== $form_cancel) {
83 return LEGACY_FRAME_VIEW_CANCEL;
86 $this->mActionForm->fetch();
87 $this->mActionForm->validate();
89 if ($this->mActionForm->hasError()) {
90 return $this->_processConfirm($controller, $xoopsUser);
92 return $this->_processSave($controller, $xoopsUser);
96 public function _processConfirm(&$controller, &$xoopsUser)
98 $codeArr = $this->mActionForm->get(
'code');
99 $smilesHandler =& xoops_getmodulehandler(
'smiles');
103 foreach (array_keys($codeArr) as $sid) {
104 $smiles =& $smilesHandler->get($sid);
105 if (is_object($smiles)) {
106 $this->mSmilesObjects[$sid] =& $smiles;
111 return LEGACY_FRAME_VIEW_INPUT;
114 public function _processSave(&$controller, &$xoopsUser)
116 $codeArr = $this->mActionForm->get(
'code');
117 $smilesHandler =& xoops_getmodulehandler(
'smiles');
119 foreach (array_keys($codeArr) as $sid) {
120 $smiles =& $smilesHandler->get($sid);
121 if (is_object($smiles)) {
122 $olddata[
'code'] = $smiles->get(
'code');
123 $olddata[
'emotion'] = $smiles->get(
'emotion');
124 $olddata[
'display'] = $smiles->get(
'display');
125 $newdata[
'code'] = $this->mActionForm->get(
'code', $sid);
126 $newdata[
'emotion'] = $this->mActionForm->get(
'emotion', $sid);
127 $newdata[
'display'] = $this->mActionForm->get(
'display', $sid);
128 if (count(array_diff_assoc($olddata, $newdata)) > 0) {
129 $smiles->set(
'code', $this->mActionForm->get(
'code', $sid));
130 $smiles->set(
'emotion', $this->mActionForm->get(
'emotion', $sid));
131 $smiles->set(
'display', $this->mActionForm->get(
'display', $sid));
132 if (!$smilesHandler->insert($smiles)) {
133 return LEGACY_FRAME_VIEW_ERROR;
139 foreach (array_keys($codeArr) as $sid) {
140 if (1 === $this->mActionForm->get(
'delete', $sid)) {
141 $smiles =& $smilesHandler->get($sid);
142 if (is_object($smiles)) {
143 if (!$smilesHandler->delete($smiles)) {
144 return LEGACY_FRAME_VIEW_ERROR;
149 return LEGACY_FRAME_VIEW_SUCCESS;
160 $render->setTemplateName(
'smiles_list_confirm.html');
161 $render->setAttribute(
'smilesObjects', $this->mSmilesObjects);
162 $render->setAttribute(
'actionForm', $this->mActionForm);
168 $t_arr = $this->mActionForm->get(
'code');
169 $render->setAttribute(
'sids', array_keys($t_arr));
173 public function executeViewSuccess(&$controller, &$xoopsUser, &$renderer)
175 $controller->executeForward(
'./index.php?action=SmilesList');
178 public function executeViewError(&$controller, &$xoopsUser, &$renderer)
180 $controller->executeRedirect(
'./index.php?action=SmilesList', 1, _MD_LEGACY_ERROR_DBUPDATE_FAILED);
183 public function executeViewCancel(&$controller, &$xoopsUser, &$renderer)
185 $controller->executeForward(
'./index.php?action=SmilesList');