示例#1
0
文件: field.php 项目: Nazg-Gul/gate
 function Create()
 {
     global $manage_datafiled_denied_fieldnames;
     $dataset = $this->dataset;
     $type = $this->datatype;
     $title = $this->title;
     $field = $this->field;
     if (trim($title) == '' || trim($field) == '' || trim($type) == '') {
         return false;
     }
     if (db_count('dataset_assoc', '`dataset`="' . $this->id . '" and `title`="' . $title . '"') > 0) {
         add_info('Поле с таким именем уже существует в этом наборе данных.');
         return false;
     }
     if (db_count('dataset_assoc', '`dataset`="' . $dataset . '" and `field`="' . $field . '"') > 0) {
         add_info('Поле с таким именем поля в базе данных уже ' . 'существует в этом наборе данных.');
         return false;
     }
     if (!isalphanum($field)) {
         add_info('Название поля может содержать лишь ' . 'символы латинского алфавита и цифры.');
         return false;
     }
     // Check da valide of the fieldname
     $valid = true;
     for ($i = 0; $i < count($manage_datafiled_denied_fieldnames); $i++) {
         if ($manage_datafiled_denied_fieldnames[$i] == $field) {
             $valid = false;
             break;
         }
     }
     if (!$valid) {
         add_info('Извините, но данное название поля является ' . 'системным и Вы не можете его использрвать.');
         return false;
     }
     $title = htmlspecialchars($title);
     $mord = db_max('dataset_assoc', 'order', '`dataset`=' . $dataset);
     $ord = $mord + 1;
     $s = array('important' => false, 'invisible' => false);
     $s = addslashes(serialize($s));
     db_insert('dataset_assoc', array('dataset' => '"' . $dataset . '"', 'datatype' => "\"{$type}\"", 'title' => "\"{$title}\"", 'field' => "\"{$field}\"", 'settings' => "\"{$s}\"", 'order' => $ord));
     manage_datatype_refcount_inc($type);
     return true;
 }
示例#2
0
文件: user.php 项目: Nazg-Gul/gate
 function user_check_fields($login, $name, $passwd, $email, $check_login = true, $skipId = -1)
 {
     // Get settings
     $max_login_len = opt_get('max_user_login_len');
     $max_name_len = opt_get('max_user_name_len');
     $max_passwd_len = opt_get('max_user_passwd_len');
     if ($check_login && !isalphanum($login)) {
         add_info('Логин пользователя может состоять лишь из латинских букв и цифр.');
         return false;
     }
     if (mb_strlen($login) > $max_login_len) {
         add_info('Логин пользователя может содержать не более ' . $max_login_len . ' символов.');
         return false;
     }
     if (mb_strlen($name) > $max_name_len) {
         add_info('Имя пользователя может содержать не более ' . $max_name_len . ' символов.');
         return false;
     }
     if (mb_strlen($passwd) > $max_passwd_len) {
         add_info('Пароль пользователя может содержать не более ' . $max_passwd_len . ' символов.');
         return false;
     }
     if (!check_email($email)) {
         add_info('Адрес электронной почты не выглядит корректным.');
         return false;
     }
     if (user_registered_with_email($email, $skipId)) {
         add_info('Этот адрес электронной почты уже используется. ' . 'Пожалуйста, укажите другой.');
         return false;
     }
     if ($check_login && user_registered_with_login($login, $skipId)) {
         add_info('Этот логин уже используется. Пожалуйста, укажите другой.');
         return false;
     }
     return true;
 }
示例#3
0
 function manage_settings_create($name, $section, $ident, $classname)
 {
     global $_POST;
     $name = addslashes(htmlspecialchars(trim($name)));
     $section = addslashes(htmlspecialchars(trim($section)));
     $ident = trim($ident);
     if ($name == '' || $section == '' || $ident == '' || !isalphanum($ident)) {
         return;
     }
     if (db_count('settings', '`ident`="' . $ident . '"') > 0) {
         add_info('Опция с таким именем уже существует');
         return false;
     } else {
         $t = new $classname();
         $t->Init($ident);
         $settings = addslashes($t->SerializeSettings());
         db_insert('settings', array('name' => "\"{$name}\"", 'section' => "\"{$section}\"", 'ident' => "\"{$ident}\"", 'class' => "\"{$classname}\"", 'settings' => "\"{$settings}\""));
         return true;
     }
 }