function cfields_getfields($idcat, $section) { static $cfields = null; static $fields = array(); if (isset($fields[$section][$idcat])) { return $fields[$section][$idcat]; } if (is_null($cfields)) { $cfields = getTextOption(getStructureByPlugin('cfields'), 'cfields'); $cfields = !empty($cfields) ? unserialize($cfields) : array(); $cfields = isset($cfields[$section]) ? $cfields[$section] : $cfields; } $cpath[] = $idcat; if ($idcat > 0) { $catrow = A::$DB->getRowById($idcat, $section . "_categories"); $cpath[] = $catrow['idker']; while ($catrow = A::$DB->getRowById($catrow['idker'], $section . "_categories")) { $cpath[] = $catrow['idker']; if ($catrow['idker'] == 0) { break; } } } $fields[$section][$idcat] = array(); foreach ($cpath as $idc) { if (!empty($cfields[$idc])) { foreach ($cfields[$idc] as $field) { $fields[$section][$idcat][$field] = 1; } } } return $fields[$section][$idcat]; }
function seo_CreateAdminFrame($item) { if ((MODE == 'site' || MODE == 'sections') && ($structure = getStructureByPlugin('seo'))) { A::$MAINFRAME->AddJScript("/plugins/seo/admin/seo.js"); A::$MAINFRAME->AddJVar("SEOSTRUCTURE", $structure); A::$MAINFRAME->Assign("seo", $structure); } }
function courier_SendOrder($template, $data) { if (A_MODE == A_MODE_FRONT && MODULE == 'shoplite' && ($template == A::$OPTIONS['mail_toadmin'] || $template == A::$OPTIONS['mail_touser'])) { if (!($structure = getStructureByPlugin('courier'))) { return; } $all = $data['object']->get_template_vars('all'); if (empty($all['count'])) { return; } $couriers = array(); A::$DB->query("SELECT * FROM {$structure} ORDER BY sort"); while ($row = A::$DB->fetchRow()) { $row['price'] = courier_getPrice($all['sum'], $row['data']); $row['fullname'] = $row['name'] . ' (' . ($row['price'] > 0 ? $row['price'] . " " . A::$OPTIONS['valute'] : "Бесплатно") . ')'; $couriers[$row['id']] = $row; } A::$DB->free(); if (empty($couriers)) { return; } $idcourier = A_Session::get(SECTION . '_courier', key($couriers)); if (isset($couriers[$idcourier])) { if (!empty($couriers[$idcourier]['price'])) { $all['subcouriersum'] = $all['sum']; $all['sum'] += $couriers[$idcourier]['price']; $data['object']->Assign("all", $all); } $data['object']->Assign("courier", $couriers[$idcourier]); } } }
/** * Обработчик действия: Отдает таблицу с элементами текущего уровня. */ 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(); }
function fcategory_prepareValues($section, $data) { static $structure = null; static $fields = array(); static $sections = array(); if (is_null($structure)) { $structure = getStructureByPlugin('fcategory'); } if (!$structure) { return $data; } if (isset($sections[$section])) { $idsec = $sections[$section]; } else { $idsec = $sections[$section] = getSectionId($section); } if (!isset($fields[$idsec])) { $fields[$idsec] = A::$DB->getAssoc("SELECT f.field,f.* FROM {$structure} AS f WHERE f.idsec={$idsec} ORDER BY sort"); foreach ($fields[$idsec] as $field => $row) { if ($row['type'] == "select" || $row['type'] == "mselect") { $fields[$idsec][$field]['options'] = loadList($row['property']); } } } $data['fields'] = array(); foreach ($fields[$idsec] as $field => $row) { if (isset($data[$field])) { switch ($row['type']) { case 'select': $data[$field . '_id'] = $data[$field]; $data[$field] = isset($row['options'][$data[$field]]) ? $row['options'][$data[$field]] : ""; break; case 'mselect': $values = explode(",", $data[$field]); $options = array(); foreach ($values as $i => $value) { $value = (int) $value; if (isset($row['options'][$value])) { $options[$value] = $row['options'][$value]; $values[$i] = is_array($row['options'][$value]) ? $row['options'][$value]['name'] : $row['options'][$value]; } else { $values[$i] = ""; } } $data[$field] = implode(", ", $values); $data[$field . '_options'] = $options; break; case 'bool': $data[$field . '_id'] = $data[$field]; switch ($data[$field]) { case 'Y': $data[$field] = "Да"; break; case 'N': $data[$field] = "Нет"; break; default: $data[$field] = ""; } } $data['fields'][] = array('field' => $field, 'name' => $row['name'], 'value' => is_array($data[$field]) ? $data[$field]['name'] : $data[$field]); } } return $data; }