Joostina CMS / CMF v2.* API
  • Docs
  • Package
  • Class
  • Tree
  • Todo
Overview

Packages

  • Components
    • Acls
      • Models
        • Admin
        • Site
    • BlogCategory
      • Models
        • Admin
        • Site
    • Blogs
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Coder
      • Controllers
        • Admin
      • Models
        • Admin
    • Comments
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • CommentsCounter
      • Models
        • Admin
        • Site
    • Mainpage
      • Controllers
        • Site
    • News
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Pages
      • Controllers
        • Admin
        • Site
      • Models
        • Site
    • Search
      • Controllers
        • Site
    • Site
      • Controllers
        • Admin
        • Site
    • Sitemap
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
    • Test
      • Controllers
        • Site
    • Torrents
      • Controllers
        • Site
    • Users
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
  • Compression
  • Core
    • Libraries
      • Arhive
      • Array
      • Attached
      • Autoadmin
      • Autoloader
      • Benchmark
      • Breadcrumbs
      • Cache
      • Config
      • Cookie
      • Csrf
      • Database
        • Drivers
          • Interfaces
      • Datetime
      • Debug
      • Editor
      • Events
      • File
      • Filter
      • Flashmessage
      • Folder
      • Hit
      • Html
      • Image
      • Inflector
      • Inputfilter
      • Libraries
      • Mail
      • Module
      • Nestedset
      • Pager
      • Pages
      • Params
      • Randomizer
      • Request
      • RobotLoader
      • Route
      • Security
      • Session
      • Static
      • String
      • Text
      • Trash
      • Validate
  • Email
  • Extra
    • Libraries
      • Basket
  • Joostina
    • Controller
    • Core
    • Document
  • JSMin
  • Libraries
    • Extra
      • Basket
        • Models
          • Site
  • None
  • Plugins
    • Autoadmin
    • Editor
    • Sitemap
  • SimpleMail
  • Vendors
    • Libraries
      • Email

Classes

  • joosParams
  1: <?php defined('_JOOS_CORE') or exit();
  2: 
  3: /**
  4:  * Работа с параметрами
  5:  *
  6:  * @version    1.0
  7:  * @package    Core\Libraries
  8:  * @subpackage Params
  9:  * @category   Libraries
 10:  * @author     Joostina Team <info@joostina.ru>
 11:  * @copyright  (C) 2007-2012 Joostina Team
 12:  * @license    MIT License http://www.opensource.org/licenses/mit-license.php
 13:  * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
 14:  *
 15:  * */
 16: class joosParams extends joosModel
 17: {
 18:     /**
 19:      * @var int(11)
 20:      */
 21:     public $id;
 22: 
 23:     /**
 24:      * @var varchar(255)
 25:      */
 26:     public $group;
 27: 
 28:     /**
 29:      * @var varchar(255)
 30:      */
 31:     public $subgroup;
 32: 
 33:     /**
 34:      * @var varchar(20)
 35:      */
 36:     public $object;
 37: 
 38:     /**
 39:      * @var text
 40:      */
 41:     public $data;
 42:     private static $_params;
 43: 
 44:     /*
 45:      * Constructor
 46:      */
 47: 
 48:     public function __construct()
 49:     {
 50:         parent::__construct('#__params', 'id');
 51:     }
 52: 
 53:     public function check()
 54:     {
 55:         $this->filter();
 56: 
 57:         return true;
 58:     }
 59: 
 60:     public function before_insert()
 61:     {
 62:         return true;
 63:     }
 64: 
 65:     public function after_insert()
 66:     {
 67:         return true;
 68:     }
 69: 
 70:     public function before_update()
 71:     {
 72:         return true;
 73:     }
 74: 
 75:     public function after_update()
 76:     {
 77:         return true;
 78:     }
 79: 
 80:     public function before_store()
 81:     {
 82:         return true;
 83:     }
 84: 
 85:     public function after_store()
 86:     {
 87:         return true;
 88:     }
 89: 
 90:     public function before_delete()
 91:     {
 92:         return true;
 93:     }
 94: 
 95:     public function get_fieldinfo()
 96:     {
 97:         return array('id' => array('name' => 'id', 'editable' => true, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array(), 'html_edit_element' => 'hidden', 'html_edit_element_param' => array(),), 'group' => array('name' => 'group', 'editable' => true, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array(), 'html_edit_element' => 'hidden', 'html_edit_element_param' => array(),), 'subgroup' => array('name' => 'subgroup', 'editable' => true, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array(), 'html_edit_element' => 'hidden', 'html_edit_element_param' => array(),), 'object' => array('name' => 'object', 'editable' => true, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array(), 'html_edit_element' => 'hidden', 'html_edit_element_param' => array(),), 'data' => array('name' => 'data', 'editable' => true, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array(), 'html_edit_element' => 'json', 'html_edit_element_param' => array('call_from' => 'joosParams::get_defaults'),),);
 98:     }
 99: 
100:     public function get_tableinfo()
101:     {
102:         return array('header_list' => 'Параметры', 'header_new' => 'Создание параметров', 'header_edit' => 'Редактирование параметров');
103:     }
104: 
105:     public static function get_defaults($item)
106:     {
107:         $file = JPATH_BASE . DS . 'app' . DS . 'components' . DS . $item->group . DS . 'params.' . $item->group . '.php';
108: 
109:         $model = 'params' . ucfirst($item->group);
110: 
111:         if (joosFile::exists($file)) {
112:             require_once($file);
113: 
114:             return $model::get_params_scheme('default');
115:         } else {
116:             return false;
117:         }
118:     }
119: 
120:     public static function get_scheme($item)
121:     {
122:         $group = isset($item->params_group) ? $item->params_group : joosRequest::request('option');
123: 
124:         $file = 'app' . DS . 'components' . DS . $group . DS . 'params.' . $group . '.php';
125:         $file = JPATH_BASE . DS . $file;
126: 
127:         $model = 'params' . ucfirst($group);
128: 
129:         if (joosFile::exists($file)) {
130:             require_once($file);
131: 
132:             $params = array('notdefault' => array('name' => 'Использовать уникальные параметры', 'editable' => true, 'html_edit_element' => 'checkbox', 'html_edit_element_param' => array('text' => 'Использовать уникальные параметры',)));
133: 
134:             $add_params = $model::get_params_scheme($item->params['subgroup']);
135:             if ($add_params) {
136:                 $params += $model::get_params_scheme($item->params['subgroup']);
137: 
138:                 return $params;
139:             }
140: 
141:             return false;
142:         } else {
143:             return false;
144:         }
145:     }
146: 
147:     public static function get_params($group, $subgroup, $object = '')
148:     {
149:         $params = new self;
150: 
151:         $params->group = self::$_params['group'] = $group;
152:         $params->subgroup = self::$_params['subgroup'] = $subgroup;
153:         $params->object = self::$_params['object'] = $object;
154: 
155:         if ($params->find()) {
156:             self::$_params['notdefault'] = 1;
157:             self::$_params += json_decode($params->data, true);
158:         }
159: 
160:         return self::$_params;
161:     }
162: 
163:     public function load_params($group, $subgroup, $object = '')
164:     {
165:         $this->group = self::$_params['group'] = $group;
166:         $this->subgroup = self::$_params['subgroup'] = $subgroup;
167:         $this->object = self::$_params['object'] = $object;
168: 
169:         if ($this->find()) {
170:             self::$_params['notdefault'] = 1;
171:             self::$_params += json_decode($this->data, true);
172:         }
173:     }
174: 
175:     public function save_params(array $params, $group, $subgroup, $object = '')
176:     {
177:         $this->group = $group;
178:         $this->subgroup = $subgroup;
179:         $this->object = $object;
180: 
181:         $this->find();
182: 
183:         if ($_POST['params']['notdefault'] == 1) {
184:             array_shift($params);
185:             $this->data = json_encode($params);
186:             $this->store();
187:         } else {
188:             $this->delete($this->id);
189:         }
190:     }
191: 
192:     public function get($key, $default = false)
193:     {
194:         return isset(self::$_params[$key]) ? self::$_params[$key] : $default;
195:     }
196: 
197: }
198: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team