public function editaccessAction() { $id = $this->getParam('id'); $access = new Application_Model_DbTable_Access(); $allow = new Application_Model_DbTable_Allow(); // Если к нам идёт Post запрос if ($this->getRequest()->isPost()) { // Принимаем его $formData = $this->getRequest()->getPost(); //принимаем данные if (!preg_match("/^[a-z0-9]{5,15}\$/i", $formData['username'])) { //проверка регулярных выражений $error['username'] = '******'; //записываем несовпадение правилам } if (!preg_match("/^[a-z0-9]{5,15}\$/i", $formData['password'])) { //проверка регулярных выражений $error['password'] = '******'; //записываем несовпадение правилам } if (!preg_match("/^[a-z]{5,6}\$/i", $formData['role'])) { //проверка регулярных выражений $error['role'] = 'error'; //записываем несовпадение правилам } //создаем массив данных из пунктов где нажаты галочки foreach ($formData as $data => $value) { if (preg_match("/check/", $data)) { //ищем переменные check if (!$error) { $check_data[substr($data, 6)] = $value; if ($data == 'check_set_names' && $value == 'names') { $check_data['set_addname'] = 'addname'; $check_data['set_editname'] = 'editname'; $check_data['set_deletename'] = 'deletename'; } if ($data == 'check_set_types' && $value == 'types') { $check_data['set_addtype'] = 'addtype'; $check_data['set_edittype'] = 'edittype'; $check_data['set_deletetype'] = 'deletetype'; } if ($data == 'check_set_owners' && $value == 'owners') { $check_data['set_addowner'] = 'addowner'; $check_data['set_editowner'] = 'editowner'; $check_data['set_deleteowner'] = 'deleteowner'; } if ($data == 'check_set_users' && $value == 'users') { $check_data['set_adduser'] = '******'; $check_data['set_edituser'] = '******'; $check_data['set_deleteuser'] = '******'; } if ($data == 'check_set_status' && $value == 'status') { $check_data['set_addstatus'] = 'addstatus'; $check_data['set_editstatus'] = 'editstatus'; $check_data['set_deletestatus'] = 'deletestatus'; } if ($data == 'check_set_prices' && $value == 'prices') { $check_data['set_addprices'] = 'addprices'; $check_data['set_editprices'] = 'editprices'; $check_data['set_deleteprices'] = 'deleteprices'; } if ($data == 'check_set_access' && $value == 'access') { $check_data['set_addaccess'] = 'addaccess'; $check_data['set_editaccess'] = 'editaccess'; $check_data['set_deleteaccess'] = 'deleteaccess'; } } else { $check_data[$data] = 'checked'; } } } //если нет ошибкок if (!$error) { //Изменяем данные в базе $access->editAccess($id, $formData['username'], md5($formData['password']), $formData['role']); $allow->editAllow($check_data, $formData['username']); //Переходим на предыдущую страницу $this->_helper->redirector('access', 'setup'); //если есть ошибки } else { $this->view->error = $error; $this->view->username = $formData['username']; $this->view->check_data = $check_data; } } else { $userdata = $access->getAccess($id); $check_data = $allow->fetchRow($allow->select()->where('username = ?', $userdata['username']))->toArray(); foreach ($check_data as $data => $value) { if ($value) { $check_data["check_" . $data] = 'checked'; } } $this->view->username = $userdata['username']; $this->view->role = $userdata['role']; $this->view->check_data = $check_data; } }