From 1beaef398eb1da4fad1d15955b12e767a791197c Mon Sep 17 00:00:00 2001 From: origami11 Date: Wed, 15 Mar 2017 10:36:58 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=BA=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D1=83.=20=D0=A7=D1=82=D0=BE=D0=B1=D1=8B=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=BB=D0=BE=20=D0=B2=20linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Database.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Database.php b/src/Database.php index c4cd264..0d8813e 100644 --- a/src/Database.php +++ b/src/Database.php @@ -1,6 +1,6 @@ -require_once "database/pdostatement.php"; +/// +require_once "Database/PDOStatement.php"; /** * Класс оболочка для PDO для замены Creole */ From fd064e963d143569501e7c4ca9361b9e3f0796be Mon Sep 17 00:00:00 2001 From: Anatoly Date: Thu, 13 Apr 2017 16:12:12 +0300 Subject: [PATCH 2/2] fieldset --- src/Form/Form.php | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/Form/Form.php b/src/Form/Form.php index aa68acc..585f06a 100644 --- a/src/Form/Form.php +++ b/src/Form/Form.php @@ -15,6 +15,7 @@ class TField public $error = false; public $require = false; public $hint = null; + public $fieldset = null; // Блоки (Убрать в отдельный класс!!!) public $_title = array(); public $description = ""; @@ -27,6 +28,9 @@ class TField if (isset($input['validate'])) { $this->require = strpos($input['validate'], 'require') !== false; } + if (isset($input['fieldset'])) { + $this->fieldset = $input['fieldset']; + } // Инициализация свойст обьетка foreach (array('label', 'name', 'type', 'description') as $name) { if (isset($input[$name])) { @@ -213,8 +217,12 @@ class OptionFactory { } else if (isset($input['options.db'])) { list($table, $keyvalue) = explode(":", $input['options.db']); list($key, $value) = explode(",", $keyvalue); - - $field->options = $this->optionsDB($key, $value, $this->db->executeQuery("SELECT * FROM $table")); + try{ + $query_result = $this->db->executeQuery("SELECT * FROM $table"); + }catch(Exception $ex){ + $query_result = []; + } + $field->options = $this->optionsDB($key, $value, $query_result); } elseif (isset($input['options.pair'])) { $field->options = $this->optionsPair($input['options.pair']); } else { @@ -251,7 +259,9 @@ class OptionFactory { * Форма для ввода */ class Form_Form extends View_View { - public $field = array(); + public $field = array(); //Поля формы + public $fieldsets = array(); //Группы полей (fieldset). Некоторые поля могут не принадлежать никаким группам + public $action = ""; public $method = 'post'; public $header; @@ -313,8 +323,6 @@ class Form_Form extends View_View { { assert(isset($init['type'])); assert(isset($init['name'])); - -// print_r($init); $constructor = $this->constructor[$init['type']]; $el = new $constructor($init, $factory); @@ -330,6 +338,26 @@ class Form_Form extends View_View { return $el; } + /** + * Добавление fieldset на форму + */ + + public function addFieldSet(array $fieldset) + { + $this->fieldsets[$fieldset['name']] = $fieldset; + } + + /** + * Добавление массива fieldset на форму + */ + + public function addFieldSetList(array $list) + { + foreach ($list as $fieldset) { + $this->addFieldSet($fieldset); + } + } + /** * Добавляет список полей для формы * @param array $list