function AddNavPages($id, $fl) { if ($row = A::$DB->getRow("SELECT id,idker,name FROM " . SECTION . " WHERE id=" . (int) $id)) { if ($row['idker']) { $this->AddNavPages($row['idker'], true); } if ($fl) { if (!empty($row['name'])) { $this->AddNavigation($row['name'], pages_createItemLink($row['id'], SECTION)); } $this->title = $row['name'] . (!empty($this->title) ? ' - ' . $this->title : ''); } else { if (!empty($row['name'])) { $this->AddNavigation($row['name']); } } } }
/** * Формирование данных доступных в шаблоне. */ function createData() { $this->supportCached(true); $this->params['idcat'] = (int) $this->params['idcat']; if (isset($this->params['curcheck']) && $this->section == SECTION && A::$MAINFRAME->id > 0) { $this->params['idcat'] = A::$MAINFRAME->idker; } $links = array(); A::$DB->query("SELECT * FROM {$this->section} WHERE idker={$this->params['idcat']} AND active='Y' ORDER BY sort"); while ($row = A::$DB->fetchRow()) { if ($row['urlname'] == 'index') { continue; } $row['link'] = pages_createItemLink($row['id'], $this->section); $row['selected'] = $this->section == SECTION && ($row['id'] == A::$MAINFRAME->id || $row['type'] == 'dir' && $row['id'] == A::$MAINFRAME->idker); $row['subindex'] = false; if ($row['type'] == 'dir') { $row['sublinks'] = array(); A::$DB->query("SELECT id,name,urlname,type,level,content FROM {$this->section} WHERE idker={$row['id']} AND active='Y' ORDER BY sort"); while ($subrow = A::$DB->fetchRow()) { if ($subrow['urlname'] == 'index') { $row['subindex'] = true; continue; } $subrow['link'] = pages_createItemLink($subrow['id'], $this->section); $subrow['selected'] = $this->section == SECTION && $subrow['id'] == A::$MAINFRAME->id; $row['sublinks'][] = $subrow; } A::$DB->free(); } elseif ($this->options['usetags']) { $row['tags'] = A_SearchEngine::getInstance()->convertTags($row['tags']); } prepareValues($this->section, $row); $links[] = $row; } A::$DB->free(); $this->Assign("links", $links); }
/** * Получение полных данных страницы. * * @param integer $id Идентификатор страницы. * @param string $section Полный строковой идентификатор раздела. * @param integer $idsec=0 Числовой идентификатор раздела. * @return array */ function pages_getItem($id, $section, $idsec = 0) { static $cache = array(); if (isset($cache[$section][$id])) { return $cache[$section][$id]; } if ($row = A::$DB->getRow("SELECT * FROM {$section} WHERE id=?i AND active='Y'", $id)) { $row['link'] = pages_createItemLink($row['id'], $section); $row['tags'] = A_SearchEngine::getInstance()->convertTags($row['tags']); prepareValues($section, $row); return $cache[$section][$id] = $row; } else { return $cache[$section][$id] = false; } }
/** * Обработчик действия: Отдает таблицу с элементами текущего уровня. */ function getGrid() { $form = new A_Form("module_pages_grid.tpl"); $curdir = (int) A_Session::get(SECTION . "_cid", 0); $rows = (int) A_Session::get(SECTION . "_rows", isset($_COOKIE[SECTION . '_rows']) ? $_COOKIE[SECTION . '_rows'] : 20); $form->data['seo'] = getStructureByPlugin('seo'); $form->data['title'] = $this->getPath($curdir); $form->data['pages'] = array(); $pager = new A_Pager($rows, "gopage"); $pager->query("SELECT * FROM " . SECTION . " WHERE idker={$curdir} ORDER BY sort"); if ($curdir > 0 && ($row = A::$DB->getRowById($curdir, SECTION))) { $grow[0] = " "; $grow[1] = AddImageButton("/templates/admin/images/back.gif", "indir({$row['idker']})", "Уровень выше", 16, 16); $grow[2] = AddClickText("...", "indir({$row['idker']})"); $grow[3] = $grow[5] = $grow[6] = $grow[7] = $grow[8] = " "; $grow[4] = 0; $form->data['sub'] = true; $form->data['pages'][] = $grow; } else { $form->data['sub'] = false; } $crows = 0; while ($row = $pager->fetchRow()) { $grow[0] = "<input type=\"checkbox\" id=\"checkp{$crows}\" name=\"checkpages[]\" value=\"{$row['id']}\"/>"; $grow['link'] = pages_createItemLink($row['id'], SECTION); if ($row['type'] == 'dir') { $grow[1] = AddImage("/templates/admin/images/dir.gif", 16, 16); $grow[2] = AddLink(truncate($row['name'], 100), "javascript:indir({$row['id']})", "Войти в подраздел"); $grow[3] = " "; $grow[4] = $row['date']; $grow[5] = AddImageButton("/templates/admin/images/edit.gif", "geteditdirform({$row['id']})", "Редактировать", 16, 16); $grow[6] = AddImageButtonLink("/templates/admin/images/browse.gif", $grow['link'], "Просмотр на сайте", 16, 16, ' target="_blank"'); } else { $grow[1] = AddImage("/templates/admin/images/text.gif", 16, 16); $grow[2] = AddLink(truncate($row['name'], 100), "javascript:geteditpageform({$row['id']})", "Редактировать"); $grow[3] = "<a href=\"javascript:edittpl('{$row['template']}')\" title=\"Редактировать шаблон\">{$row['template']}</a>"; $grow[4] = $row['date']; $grow[5] = " "; $grow[6] = AddImageButtonLink("/templates/admin/images/browse.gif", $grow['link'], "Просмотр на сайте", 16, 16, ' target="_blank"'); } $grow[7] = AddImageButton("/templates/admin/images/move.gif", "getmoveform({$row['id']})", "Переместить", 16, 16); $grow[8] = AddImageButton("/templates/admin/images/del.gif", "delitem({$row['id']},'{$row['urlname']}')", "Удалить", 16, 16); $grow['id'] = $row['id']; $grow['active'] = $row['active']; $form->data['pages'][] = $grow; $crows++; } $pager->free(); $form->data['pager'] = $pager; $this->RESULT['html'] = $form->getContent(); }