/** * Формирует список нодов и устанавливает необходимые переменные * */ protected function setList() { if (!$this->tableMeta->isSortable()) { $this->setListPage(); } if (is_null($this->list_filter)) { $idsOwners = $this->getAccessibleOwners(\models\ACL::ACTION_READ); if (!$idsOwners) { \helpers\Msg::warning('read_no_rights'); $this->fw->error(401); } if (is_array($idsOwners) && !$this->tableMeta->isTree()) { $this->list_filter = [['field' => $this->table . '.user_id', 'value' => $idsOwners, 'operation' => 'IN']]; // \helpers\Debug::prePrintR($this->list_filter); } } // if (!is_null($this->depend_id)) { // $filter[] = [ // 'field' => 'po_' . $this->meta['depend'], // 'value' => $this->depend_id // ]; // } if ($this->tableMeta->isTree()) { $this->list_filter[] = ['field' => 'pid', 'value' => $this->pid]; } $list_model = \models\ContentList::getInstance($this->table); $filter = new \helpers\filters\FilterRenderer($this->table); $list = $list_model->get($this->list_page - 1, $this->list_perpage, true, $this->list_sort, $this->list_filter, $filter->getSQL()); // \helpers\Debug::prePrintR($list); foreach ($list['subset'] as $k => $item) { $list['subset'][$k]['title'] = stripslashes($item['title']); // foreach ($this->dependants as $dependant) { // $res = $this->fw->get('db') // ->exec('SELECT count(*) AS cnt ' // . 'FROM ' . $dependant . ' ' // . 'WHERE fko_' . $this->table . '=?', $item['id']); //// \helpers\Debug::prePrintR($res); // $list['subset'][$k]['dependants'][$dependant] = [ // 'title' => \models\ContentMeta::decodeInfo($this->meta_all[$dependant]['info'])['title'], // 'count' => $res[0]['cnt'] // ]; // } } // \helpers\Debug::prePrintR($list); $this->setAJAXFields(); // Необходимо для корректной генерации полей в модальных окнах для быстрого редактирования // Ставим флажок, надо ли подключать скрипты для работы со списками объектов, // хранящихся в виде дерева $list['has_related_tree'] = $this->hasRelatedTree(); $list['is_sortable'] = $this->tableMeta->isSortable(); $list['is_tree'] = $this->tableMeta->isTree(); $list['pid'] = $this->pid; $list['pages'] = \models\Base::getPaginationPages($list['count'], $list['pos']); $list['is_moderated'] = $this->tableMeta->isModerated(); if ($this->tableMeta->isModerated()) { $this->fw->set('labels.is_moderator', $this->checkAccess(\models\ACL::ACTION_MODERATION)); } $this->fw->mset(array('list' => $list, 'tpl' => 'content', 'inc' => 'ajax/list.html')); if ($this->fw->get('use_app_routes')) { $this->fw->mset(['pagination_first' => 'app_backend_content', 'pagination_route' => 'app_backend_content_page']); } else { $this->fw->mset(['pagination_first' => 'backend_content', 'pagination_route' => 'backend_content_page']); } }
/** * Формирует список нодов и устанавливает необходимые переменные * */ protected function setList() { $this->setListPage(); $filter = new \helpers\filters\FilterRenderer('_acl'); $list = $this->model->getList($this->list_page - 1, $this->list_perpage, true, null, null, $filter->getSQL()); foreach ($list['subset'] as $k => $item) { $list['subset'][$k]['title'] = stripslashes($item['title']); } // \helpers\Debug::prePrintR($list); $list['pages'] = \models\Base::getPaginationPages($list['count'], $list['pos']); $list['is_sortable'] = false; $this->fw->mset(array('list' => $list, 'tpl' => 'acl', 'inc' => 'ajax/list.html', 'pagination_first' => 'backend_acl', 'pagination_route' => 'backend_acl_page')); $this->setAJAXFields(); // Необходимо для корректной генерации полей в модальных окнах для быстрого редактирования }