Example #1
0
 $id = (int) Text::get_get('id');
 // Основная переменная
 $data = array();
 // Массив ошибок
 $errors = array('all' => false);
 // Получение информации о записи
 $data = $forms->getAdminEditedRow($id);
 if ($id == 0) {
     // Получение позиции для новой записи
     $pos = $forms->getPosition($forms->getTable(), 'position');
     $data['position']['value'] = $pos + 1;
 }
 if (Text::get_post('send') != '') {
     if (isset($_POST['date_post'])) {
         $date_post = Text::get_post('date_post');
         $data['date_post']['value'] = getTimestampFromCalendar($date_post['date'], $date_post['hour'], $date_post['minute']);
     }
     if ($id == 0) {
         // Добавление записи в таблицу
         $errors = $forms->insertSimpleTable();
     } else {
         // Редактирование записи
         $errors = $forms->editSimpleTable($id);
     }
     // Редирект
     if (!is_array($errors) or $errors['all'] === false) {
         location($__return);
     }
 }
 // Получение данных для опыта работы
 $data['group_id']['relation'] = array('type' => 0, 'values' => $forms->getList(PREF . $action));
Example #2
0
 /**
  * Дополнительная оработка полей
  * @param $id
  * @return array
  *
  */
 public function additionInputDataHandler($id = 0)
 {
     $errors = array('all' => false);
     // Обработка даты рождения
     if (isset($_POST['birthday'])) {
         $birthday = Text::get_post('birthday');
         $_POST['birthday'] = getTimestampFromCalendar($birthday);
     }
     if ($id == 0) {
         // Проверяем наличие E-mail
         $email = Text::get_post('email');
         if (Text::check_mail($email) == false) {
             $errors['all'] = $errors['email'] = true;
         } else {
             $result = $this->getRowByField('users', 'email', $email);
             if (isset($result['id'])) {
                 $errors['all'] = $errors['email2'] = true;
             }
         }
         // Проверяем пароль
         $pass = Text::get_post('pass');
         $pass_repeat = Text::get_post('repass');
         if (empty($pass)) {
             $errors['all'] = $errors['pass'] = true;
         } elseif (strlen($pass) < 6) {
             $errors['all'] = $errors['pass3'] = true;
         } elseif (checkSimplePassword($pass) < 2) {
             $errors['all'] = $errors['pass4'] = true;
         } elseif ($pass != $pass_repeat) {
             $errors['all'] = $errors['pass2'] = true;
         } elseif ($pass != $pass_repeat) {
             $errors['all'] = $errors['pass2'] = true;
         } else {
             $_POST['pass'] = md5($pass);
         }
         // Необходимо указать либо срок беременности либо детей
         if (empty($_POST['pregnancy']) && $_POST['child'][0]['name'] == '') {
             $errors['all'] = $errors['pregnancy'] = true;
             $errors['all'] = $errors['child'] = true;
         }
     } else {
         // Проверяем наличие E-mail
         $email = Text::get_post('email');
         if (Text::check_mail($email) == false) {
             $errors['all'] = $errors['email'] = true;
         } else {
             $result = $this->getRowByField('users', 'email', $email);
             if ($result['email'] != $_SESSION['siteuser']['email'] && isset($result['id'])) {
                 $errors['all'] = $errors['email2'] = true;
             }
         }
         // Проверяем пароль
         $pass = Text::get_post('pass');
         $pass_repeat = Text::get_post('repass');
         if ($pass != '') {
             if (empty($pass)) {
                 $errors['all'] = $errors['pass'] = true;
             } elseif (strlen($pass) < 6) {
                 $errors['all'] = $errors['pass3'] = true;
             } elseif (checkSimplePassword($pass) < 2) {
                 $errors['all'] = $errors['pass4'] = true;
             } elseif ($pass != $pass_repeat) {
                 $errors['all'] = $errors['pass2'] = true;
             } else {
                 $_POST['pass'] = md5($pass);
             }
         } else {
             $result = $this->getRow('users', $id);
             $_POST['pass'] = $result['pass'];
         }
     }
     // Обработка поля с детьми
     $_POST['child'] = serialize($_POST['child']);
     return $errors;
 }
Example #3
0
 /**
  * Редактирование данных в таблице
  * При успешном добавлении возвращает TRUE
  * При провале возвращает массив ошибок
  * @param string $table
  * @param int $id
  * @param array $data
  * @return mixed
  */
 public function editRow($table, $id, $data = array())
 {
     $error = array('all' => false);
     if (empty($data)) {
         $data = $this->base->postInputDataHandler($table);
         $error = $this->base->getErrors();
     }
     $parent = (int) Text::get_post('parent');
     if (isset($data['alias'])) {
         $check_alias = $this->base->checkAlias($table, $id, $data['alias'], $parent, 1);
         if ($check_alias == 1) {
             $error['all'] = $error['alias'] = true;
         } elseif ($check_alias == 2) {
             $error['all'] = $error['alias2'] = true;
         }
     }
     if (isset($data['date_post']) && is_array($data['date_post'])) {
         $data['date_post'] = getTimestampFromCalendar($data['date_post']['date'], $data['date_post']['hour'], $data['date_post']['minute']);
     }
     $data['user_edit'] = isset($_SESSION['user']['id']) ? $_SESSION['user']['id'] : 0;
     if (!isset($error['all']) || $error['all'] === false) {
         $this->base->editTableRow($table, $data, $id, $parent);
         return true;
     }
     $this->setErrors($error);
     return false;
 }