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

  • modelAdminUsers
  1: <?php defined('_JOOS_CORE') or exit();
  2: 
  3: /**
  4:  * Модель компонента управления пользователями
  5:  * Модель панели управления
  6:  *
  7:  * @version    1.0
  8:  * @package    Components\Users
  9:  * @subpackage Models\Admin
 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 modelAdminUsers extends modelUsers
 17: {
 18:     public function get_fieldinfo()
 19:     {
 20:         return array(
 21:             'id' => array(
 22:                 'name' => 'ID',
 23:                 'editable' => false,
 24:                 'sortable' => false,
 25:                 'in_admintable' => true,
 26:                 'html_table_element' => 'value',
 27:                 'html_table_element_param' => array(
 28:                     'width' => '20px',
 29:                     'align' => 'center'
 30:                 )
 31:             ),
 32:             'user_name' => array(
 33:                 'name' => 'Логин',
 34:                 'editable' => true,
 35:                 'sortable' => true,
 36:                 'in_admintable' => true,
 37:                 'html_edit_element' => 'edit',
 38:                 'html_table_element' => 'editlink',
 39:             ),
 40:             'real_name' => array(
 41:                 'name' => 'Настоящее имя',
 42:                 'editable' => true,
 43:                 'sortable' => true,
 44:                 'in_admintable' => true,
 45:                 'html_edit_element' => 'edit',
 46:                 'html_table_element' => 'value',),
 47:             'state' => array(
 48:                 'name' => 'Разрешен',
 49:                 'editable' => true,
 50:                 'sortable' => true,
 51:                 'in_admintable' => true,
 52:                 'editlink' => true,
 53:                 'html_edit_element' => 'checkbox',
 54:                 'html_table_element' => 'status_change',
 55:                 'html_edit_element_param' => array(
 56:                     'tooltip' => 'Активирован',
 57:                 ),
 58:             ),
 59:             'email' => array(
 60:                 'name' => 'email адрес',
 61:                 'editable' => true,
 62:                 'in_admintable' => true,
 63:                 'html_edit_element' => 'edit',
 64:                 'html_table_element' => 'value',
 65:                 'hide_on'=>'edit',
 66:             ),
 67:             'openid' => array(
 68:                 'name' => 'Адрес OpenID',
 69:                 'editable' => false,
 70:                 'in_admintable' => true,
 71:                 'html_edit_element' => 'edit',
 72:                 'html_table_element' => 'value',),
 73:             'password' => array(
 74:                 'name' => 'Пароль',
 75:                 'editable' => true,
 76:                 'in_admintable' => true,
 77:                 'html_edit_element' => 'extra',
 78:                 'html_edit_element_param' => array(
 79:                     'call_from' => function ($user) {
 80:                         $name = $user->id ? 'new_password' : 'password';
 81: 
 82:                         return joosHtml::input(array('name' => $name, 'value' => '', 'class' => 'text_area'));
 83:                     }
 84:                 ),
 85:                 'html_table_element' => 'value',
 86:             ),
 87:             'group_multi' => array(
 88:                 'name' => 'Состоит в группах',
 89:                 'editable' => true,
 90:                 'sortable' => true,
 91:                 'in_admintable' => false,
 92:                 'html_edit_element' => 'extra',
 93:                 'html_edit_element_param' => array(
 94:                     'call_from' => 'modelAdminUsers::get_users_group_multi'
 95:                 ),
 96:                 'hide_on'=>'create',
 97:             ),
 98:             'register_date' => array(
 99:                 'name' => 'Дата регистрации',
100:                 'editable' => true,
101:                 'in_admintable' => true,
102:                 'html_edit_element' => 'value',
103:                 'html_table_element' => 'value',
104:                 'hide_on'=>'create',
105:             ),
106:             'lastvisit_date' => array(
107:                 'name' => 'Последнее посещение',
108:                 'editable' => true,
109:                 'sortable' => true,
110:                 'in_admintable' => true,
111:                 'html_edit_element' => 'value',
112:                 'html_table_element' => 'date_format',
113:                 'html_table_element_param' => array(
114:                     'date_format' => 'd F в H:m',
115:                     'width' => '200px',
116:                     'align' => 'center'
117:                 ),
118:                 'hide_on'=>'create',
119:             ),
120:             'activation' => array(
121:                 'name' => 'Код активации',
122:                 'editable' => false,
123:                 'in_admintable' => false,
124:                 'html_edit_element' => 'edit',
125:                 'html_table_element' => 'value',
126:             ),
127:         );
128:     }
129: 
130:     public function get_tableinfo()
131:     {
132:         return array(
133:             'header_main'=>'Пользователи',
134:             'header_list' => 'Все пользователи',
135:             'header_new' => 'Создание пользователя',
136:             'header_edit' => 'Редактирование данных пользователя'
137:         );
138:     }
139: 
140:     public function get_extrainfo()
141:     {
142:         return array(
143:             'search' => array('user_name', 'real_name', 'email'),
144:         );
145:     }
146: 
147:     protected function before_store()
148:     {
149:         // выполняем сначала задачи родительского класа
150:         parent::before_store();
151: 
152:         // сохраняем группы пользователя
153:         $user_groops = joosRequest::array_param('user_groups');
154:         if ($user_groops !==null) {
155:             $this->save_one_to_many('#__users_acl_groups_users', 'user_id', 'group_id', $this->id, $user_groops);
156:         }
157:     }
158: 
159:     public static function get_users_group_multi($current_obj)
160:     {
161:         if ($current_obj->id) {
162: 
163:             $g = new modelUsersAclGroupsUsers;
164:             $active_groups = $g->get_selector(
165:                     array('key' => 'group_id', 'value' => 'group_id'), array('where' => 'user_id=' . $current_obj->id)
166:             );
167:         } else {
168:             $active_groups = array();
169:         }
170: 
171:         return $current_obj->get_one_to_many_selectors('user_groups', '#__users_acl_groups', '#__users_acl_groups', 'user_id', 'group_id', $active_groups);
172:     }
173: 
174: }
175: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team