Ejemplo n.º 1
0
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];
}
Ejemplo n.º 2
0
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);
    }
}
Ejemplo n.º 3
0
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]);
        }
    }
}
Ejemplo n.º 4
0
 /**
  * Обработчик действия: Отдает таблицу с элементами текущего уровня.
  */
 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] = "&nbsp;";
             $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] = "&nbsp;";
             $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();
 }
Ejemplo n.º 5
0
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;
}