attr_name = $attr_name; $this->obj = $obj; } /** * Вызывается при получении POST запроса с данным формы. Сохраняет данные в объект * @return none */ function lPost() { if ( ini_get('magic_quotes_gpc') ) { $this->obj->set($this->attr_name,stripslashes($_POST[$this->attr_name])); } else { $this->obj->set($this->attr_name,$_POST[$this->attr_name]); } } /** * Получение текущего значения атрибута * @return mixed текущие значение атрибута */ function getCurVal() { return $this->obj->get( $this->attr_name ); } /** * Получение основногом параметров атрибута (обычно шаблон) * @return mixed */ function getAttrTempl() { return str_replace("]","}",str_replace("[","{",$this->obj->attrs[$this->attr_name]['templ'])); } /** * Получение конкретного параметра атрибута (тип, обязательность, шаблон итд) * @param string $setting какой параметр нужно получить * @return mixed */ function getAttrSetting($setting='') { return $this->obj->attrs[$this->attr_name][$setting]; } /** * Метод вызывается всегда при сохранении объекта. * Последние манипуляции с данными до сохранения в БД * @return none */ function presave() { if (!is_array($this->getCurVal())) $this->obj->set($this->attr_name, htmlspecialchars( html_entity_decode( $this->getCurVal() ) ) ); } /** * Метод вызывается при валидации объекта. * Проверяется корретность заполнения. * Соответвуют ли данные в атрибуте ожидаемым * @return bool прошел элемент валидацию или нет */ function validate() { return true; } /** * Метод для отрисовки HTML элемента управления * @return html код элемента для страницы */ function render_input() { if ($this->obj->attrs[$this->attr_name]['mand']) { $required = ' required = "required" '; } else { $required = ''; } return ''; } /** * Метод для отрисовки HTML вывода в браузере * @param boolean $crop использовать сокращённый вывод (для таблиц админки) * @return html преобразованное значение атрибута для вывода на экран */ function render_text( $crop = false) { return $this->getCurVal(); } /** * Сохранение SQL ограничение при фильтрации объектов. Используется далее фильтрами * @param string $sql_where Хвост SQL запроса */ function setSqlWhere( $sql_where ) { $this->sql_where = $sql_where; } /** * Получаем HTML и SQL хвост для фильтрации объектов * @param string $sql_where Хвост SQL запроса * @return array ['html' => 'html код элемента с фильтром', 'sql'=>'SQL хвост запроса'] */ function getFilter( $sql_where = '' ) { return ['html'=> '', 'sql'=>'']; } /** * После сохранения объекта, когда уже точно есть ID * @return none */ function postsave() { } } ?>