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; }
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; }
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; } }