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 Ref() { return manage_datatype_refcount_inc($this->id); }