当前位置: 首页>>代码示例>>PHP>>正文


PHP rewrite_link函数代码示例

本文整理汇总了PHP中rewrite_link函数的典型用法代码示例。如果您正苦于以下问题:PHP rewrite_link函数的具体用法?PHP rewrite_link怎么用?PHP rewrite_link使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了rewrite_link函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: save_payment

 public function save_payment()
 {
     $system_gid = $this->input->post('system_gid', true);
     if (empty($system_gid)) {
         $this->system_messages->add_message('error', l('error_empty_system_gid', 'users_payments'));
     }
     if ($system_gid) {
         $user_id = $this->session->userdata('user_id');
         $amount = abs(floatval(str_replace(',', '.', $this->input->post('amount', true))));
         if (empty($amount)) {
             $this->system_messages->add_message('error', l('error_empty_amount', 'users_payments'));
         } elseif (empty($system_gid)) {
             $this->system_messages->add_message('error', l('error_empty_system_gid', 'users_payments'));
         } else {
             $this->load->model('payments/models/Payment_currency_model');
             $base_currency = $this->Payment_currency_model->get_currency_default(true);
             $this->load->helper('payments');
             $additional['name'] = l('header_add_funds', 'users_payments');
             $additional['lang'] = 'header_add_funds';
             $additional['module'] = 'users_payments';
             $payment_data = send_payment('account', $user_id, $amount, $base_currency['gid'], $system_gid, $additional, 'form');
             if (!empty($payment_data['errors'])) {
                 $this->system_messages->add_message('error', $payment_data['errors']);
             }
             if (!empty($payment_data['info'])) {
                 $this->system_messages->add_message('info', $payment_data['info']);
             }
         }
     }
     $this->load->helper('seo');
     $url = rewrite_link('users', 'account', array('action' => 'update'));
     redirect($url);
 }
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:33,代码来源:users_payments.php

示例2: mod_example

function mod_example()
{
    global $AVE_DB, $AVE_Template;
    $tpl_dir = BASE_DIR . '/modules/example/templates/';
    // Указываем путь до шаблона
    $AVE_Template->caching = true;
    $AVE_Template->cache_lifetime = 86400;
    // Время жизни кэша (1 день)
    //	$AVE_Template->cache_dir = BASE_DIR . '/cache/example'; // Папка для создания кэша
    // Если нету в кэше, то выполняем запрос
    if (!$AVE_Template->is_cached('example.tpl')) {
        // Проверяем, есть ли папка для кэша, если нет (первый раз) — создаем
        if (!is_file($AVE_Template->cache_dir)) {
            $oldumask = umask(0);
            @mkdir($AVE_Template->cache_dir, 0777);
            umask($oldumask);
        }
        $example = array();
        // Запрос трех последних документов (ссылка и название) из рубрики с ID 2 и с сортировкой ID по убыванию
        $sql = $AVE_DB->Query("\r\n\t\t\tSELECT\r\n\t\t\t\tId,\r\n\t\t\t\tdocument_title,\r\n\t\t\t\tdocument_alias\r\n\t\t\tFROM " . PREFIX . "_documents\r\n\t\t\tWHERE Id != 1\r\n\t\t\tAND Id != '" . PAGE_NOT_FOUND_ID . "'\r\n\t\t\tAND rubric_id = 2\r\n\t\t\tAND document_deleted != 1\r\n\t\t\tAND document_status != 0\r\n\t\t\tORDER BY Id DESC\r\n\t\t");
        while ($row = $sql->FetchRow()) {
            $row->document_alias = rewrite_link('index.php?id=' . $row->Id . '&doc=' . (empty($row->document_alias) ? prepare_url($row->document_title) : $row->document_alias));
            array_push($example, $row);
        }
        // Закрываем соединение
        $sql->Close();
        // Назначаем переменную example для использования в шаблоне
        $AVE_Template->assign('example', $example);
    }
    // Выводим шаблон example.tpl
    $AVE_Template->display($tpl_dir . 'example.tpl');
    $AVE_Template->caching = false;
}
开发者ID:laiello,项目名称:avecms,代码行数:33,代码来源:modul.php

示例3: get_sitemap_urls

 public function get_sitemap_urls()
 {
     $this->CI->load->helper('seo');
     $auth = $this->CI->session->userdata('auth_type');
     $block = array(array('name' => l('favourites', 'favourites'), 'link' => rewrite_link('favourites', 'index'), 'clickable' => $auth === 'user', 'items' => array()));
     return $block;
 }
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:7,代码来源:favourites_model.php

示例4: mod_faq

/**
 * Обработка тега модуля
 *
 * @param int $id идентификатор рубрики вопросов и ответов
 */
function mod_faq($id)
{
    global $AVE_Template;
    $AVE_Template->caching = 1;
    // Включаем кеширование
    $AVE_Template->cache_lifetime = -1;
    // Неограниченное время жизни кэша
    //	$AVE_Template->cache_dir .= '/faq'; // Папка для кеша модуля
    $tpl_dir = BASE_DIR . '/modules/faq/templates/';
    // Путь к шаблону модуля
    // Если нету в кеше, то начинаем обрабатывать
    if (!$AVE_Template->is_cached($tpl_dir . 'show_faq.tpl', $id)) {
        // Проверяем, есть ли папка для кеша, если нет (первый раз) — создаем
        if (!is_dir($AVE_Template->cache_dir)) {
            $oldumask = umask(0);
            @mkdir($AVE_Template->cache_dir, 0777);
            umask($oldumask);
        }
        require_once BASE_DIR . '/modules/faq/class.faq.php';
        Faq::faqShow($id);
    }
    echo rewrite_link($AVE_Template->fetch($tpl_dir . 'show_faq.tpl', $id));
    $AVE_Template->caching = false;
    // Отключаем кеширование
}
开发者ID:laiello,项目名称:avecms,代码行数:30,代码来源:modul.php

示例5: index

 public function index($param = 'all', $index = true)
 {
     $param = trim(strip_tags($param));
     $order = trim(strip_tags($this->input->get_post('order', true)));
     $direction = trim(strip_tags($this->input->get_post('direction', true)));
     $media_sorter = array("order" => $order ? $order : 'date_add', "direction" => $direction ? $direction : 'DESC', "links" => array("date_add" => l('field_date_add', 'media'), "views" => l('field_views', 'media'), "comments_count" => l('field_comments_count', 'media')));
     $order_by = array($media_sorter['order'] => $media_sorter['direction']);
     $is_guest = $this->session->userdata("auth_type") != "user";
     $this->load->model('Menu_model');
     $this->load->helper('seo');
     $this->Menu_model->breadcrumbs_set_active(l('header_gallery', 'media'), rewrite_link('media', ''));
     $this->Menu_model->breadcrumbs_set_active(l($param, 'media'));
     $seo_data = array();
     if ($index) {
         $this->router->set_method($param);
         $seo_data['canonical'] = rewrite_link('media', $param, $seo_data, false, null, true);
     }
     $this->pg_seo->set_seo_data($seo_data);
     $this->template_lite->assign('gallery_param', $param);
     $this->template_lite->assign('media_sorter', $media_sorter);
     $this->template_lite->assign('order_by', $order_by);
     $this->template_lite->assign('albums', $this->Media_model->get_albums_select(0));
     $this->template_lite->assign("is_guest", $is_guest);
     $this->template_lite->view('gallery');
 }
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:25,代码来源:media.php

示例6: mod_navigation

/**
 * Функция обработки тега модуля
 *
 * @param int $navigation_id - идентификатор меню навигации
 */
function mod_navigation($navigation_id)
{
    global $AVE_DB, $AVE_Core;
    static $navigations = array();
    $navigation_id = preg_replace('/\\D/', '', $navigation_id);
    if (isset($navigations[$navigation_id])) {
        echo $navigations[$navigation_id];
        return;
    }
    $nav = get_navigations($navigation_id);
    if (!$nav) {
        echo 'Menu ', $navigation_id, ' not found';
        return;
    }
    if (!defined('UGROUP')) {
        define('UGROUP', 2);
    }
    if (!in_array(UGROUP, $nav->navi_user_group)) {
        return;
    }
    if (empty($_REQUEST['module'])) {
        $curent_doc_id = isset($_GET['id']) && is_numeric($_GET['id']) ? $_GET['id'] : 1;
        $row_navi = $AVE_DB->Query("\r\n\t\t\tSELECT CONCAT_WS(',', nav.Id, nav.parent_id, nav2.parent_id)\r\n\t\t\tFROM\r\n\t\t\t\t" . PREFIX . "_navigation_items AS nav\r\n\t\t\tJOIN\r\n\t\t\t\t" . PREFIX . "_documents AS doc\r\n\t\t\tLEFT JOIN\r\n\t\t\t\t" . PREFIX . "_navigation_items AS nav2 ON nav2.Id = nav.parent_id\r\n\t\t\tWHERE nav.navi_item_status = 1\r\n\t\t\tAND nav.navi_id = '" . $navigation_id . "'\r\n\t\t\tAND doc.Id = '" . $curent_doc_id . "'\r\n\t\t\tAND (nav.navi_item_link = 'index.php?id=" . $curent_doc_id . "'" . (!empty($AVE_Core->curentdoc->document_alias) && $AVE_Core->curentdoc->Id == $curent_doc_id ? " OR nav.document_alias = '" . $AVE_Core->curentdoc->document_alias . "'" : '') . " OR nav.Id = doc.document_linked_navi_id)\r\n\t\t")->GetCell();
    } else {
        $row_navi = $AVE_DB->Query("\r\n\t\t\tSELECT CONCAT_WS(',', nav.Id, nav.parent_id, nav2.parent_id)\r\n\t\t\tFROM\r\n\t\t\t\t" . PREFIX . "_navigation_items AS nav\r\n\t\t\tLEFT JOIN\r\n\t\t\t\t" . PREFIX . "_navigation_items AS nav2 ON nav2.Id = nav.parent_id\r\n\t\t\tWHERE nav.navi_item_status = '1'\r\n\t\t\tAND nav.navi_id = '" . $navigation_id . "'\r\n\t\t\tAND nav.navi_item_link LIKE 'index.php?module=" . $_REQUEST['module'] . "%%'\r\n\t\t")->GetCell();
    }
    $where_elter = '';
    if ($row_navi !== false) {
        $way = explode(',', $row_navi);
        if ($nav->navi_expand != 1) {
            $where_elter = "AND parent_id IN(0," . $row_navi . ")";
        }
    } else {
        $way = array('');
        if ($nav->navi_expand != 1) {
            $where_elter = "AND parent_id = 0";
        }
    }
    $nav_items = array();
    $sql = $AVE_DB->Query("\r\n\t\tSELECT *\r\n\t\tFROM " . PREFIX . "_navigation_items\r\n\t\tWHERE navi_item_status = '1'\r\n\t\tAND navi_id = '" . $navigation_id . "'\r\n\t\t" . $where_elter . "\r\n\t\tORDER BY navi_item_position ASC\r\n\t");
    while ($row_nav_item = $sql->FetchAssocArray()) {
        $nav_items[$row_nav_item['parent_id']][] = $row_nav_item;
    }
    $ebenen = array(1 => array('aktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level1active), 'inaktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level1)), 2 => array('aktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level2active), 'inaktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level2)), 3 => array('aktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level3active), 'inaktiv' => str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_level3)));
    $END = str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_begin);
    printNavi($END, $ebenen, $way, $navigation_id, $nav_items, $nav);
    $END .= str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $nav->navi_end);
    $END = rewrite_link($END);
    $END = preg_replace("/(^[\r\n]*|[\r\n]+)[\\s\t]*[\r\n]+/", "\n", $END);
    //	$END = str_replace(array("\r\n","\n","\r"),'',$END);
    $END = str_replace(array("\n", "\r"), '', $END);
    $search = array($nav->navi_level1begin . $nav->navi_level1end, $nav->navi_level2begin . $nav->navi_level2end, $nav->navi_level3begin . $nav->navi_level3end, '</li>' . $nav->navi_level2begin . '<li', '</li>' . $nav->navi_level3begin . '<li', '</li>' . $nav->navi_level1end . '<li', '</li>' . $nav->navi_level2end . '<li', '</li>' . $nav->navi_level1end . $nav->navi_level2end . '<li', '</li>' . $nav->navi_level1end . $nav->navi_level2end . $nav->navi_level3end, '</li>' . $nav->navi_level1end . $nav->navi_level2end, '</li>' . $nav->navi_level2end . $nav->navi_level3end);
    $replace = array('', '', '', $nav->navi_level2begin . '<li', $nav->navi_level3begin . '<li', '</li>' . $nav->navi_level1end . '</li><li', '</li>' . $nav->navi_level2end . '</li><li', '</li>' . $nav->navi_level1end . '</li>' . $nav->navi_level2end . '</li><li', '</li>' . $nav->navi_level1end . '</li>' . $nav->navi_level2end . '</li>' . $nav->navi_level3end, '</li>' . $nav->navi_level1end . '</li>' . $nav->navi_level2end, '</li>' . $nav->navi_level2end . '</li>' . $nav->navi_level3end);
    $END = str_replace($search, $replace, $END);
    $navigations[$navigation_id] = $END;
    echo $END;
}
开发者ID:laiello,项目名称:avecms,代码行数:62,代码来源:modul.php

示例7: mod_moredoc

/**
 * Функция обработки тега модуля
 *
 */
function mod_moredoc()
{
    global $AVE_Core, $AVE_DB, $AVE_Template;
    require_once BASE_DIR . '/functions/func.modulglobals.php';
    set_modul_globals('moredoc');
    $AVE_Template->caching = true;
    // Включаем кеширование
    $AVE_Template->cache_lifetime = 60 * 60 * 24;
    // Время жизни кеша 1 день в секундах
    //	$AVE_Template->cache_dir .= '/moredoc';   // Папка для кеша модуля
    $tpl_dir = BASE_DIR . '/modules/moredoc/templates/';
    // Указываем путь к шаблону модуля
    // Если нету в кеше, то начинаем обрабатывать
    if (!$AVE_Template->is_cached($tpl_dir . 'moredoc.tpl', $AVE_Core->curentdoc->Id)) {
        $limit = 5;
        // Количество связных документов
        $flagrubric = 1;
        // Учитывать или нет рубрику документа (0 - нет, 1 - да)
        $moredoc = array();
        // Проверяем, есть ли папка для кеша, если нет (первый раз) — создаем
        if (!is_dir($AVE_Template->cache_dir)) {
            $oldumask = umask(0);
            @mkdir($AVE_Template->cache_dir, 0777);
            umask($oldumask);
        }
        // Получаем ключевые слова, рубрику, извлекаем первое ключевое слово
        $row = $AVE_DB->Query("\r\n\t\t\tSELECT\r\n\t\t\t\trubric_id,\r\n\t\t\t\tdocument_meta_keywords\r\n\t\t\tFROM " . PREFIX . "_documents\r\n\t\t\tWHERE Id = '" . $AVE_Core->curentdoc->Id . "'\r\n\t\t\tLIMIT 1\r\n\t\t")->FetchRow();
        $keywords = explode(',', $row->document_meta_keywords);
        $keywords = trim($keywords[0]);
        if ($keywords != '') {
            $inrubric = $flagrubric ? "AND rubric_id = '" . $row->rubric_id . "'" : '';
            $doctime = get_settings('use_doctime') ? "AND document_published <= " . time() . " AND (document_expire = 0 OR document_expire >= " . time() . ")" : '';
            // Ищем документы где встречается такое-же слово
            $sql = $AVE_DB->Query("\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tId,\r\n\t\t\t\t\tdocument_expire,\r\n\t\t\t\t\tdocument_title,\r\n\t\t\t\t\tdocument_alias,\r\n\t\t\t\t\tdocument_meta_description\r\n\t\t\t\tFROM " . PREFIX . "_documents\r\n\t\t\t\tWHERE document_meta_keywords LIKE '" . $keywords . "%'\r\n\t\t\t\tAND Id != 1\r\n\t\t\t\tAND Id != '" . PAGE_NOT_FOUND_ID . "'\r\n\t\t\t\tAND Id != '" . $AVE_Core->curentdoc->Id . "'\r\n\t\t\t\tAND document_status != '0'\r\n\t\t\t\tAND document_deleted != '1'\r\n\t\t\t\t" . $inrubric . "\r\n\t\t\t\t" . $doctime . "\r\n\t\t\t\tORDER BY document_count_view DESC\r\n\t\t\t\tLIMIT " . $limit);
            while ($row = $sql->FetchRow()) {
                if ($doctime != '' && time() + $AVE_Template->cache_lifetime > $row->document_expire) {
                    // Изменяем время жизни кеша так что-бы оно не превышало
                    // время окончания публикации попавших в выборку документов
                    $AVE_Template->cache_lifetime = $row->document_expire - time();
                }
                $row->document_link = rewrite_link('index.php?id=' . $row->Id . '&amp;doc=' . (empty($row->document_alias) ? prepare_url($row->document_title) : $row->document_alias));
                array_push($moredoc, $row);
            }
            // Закрываем соединение
            $sql->Close();
        }
        // Передаём переменную moredoc в шаблон
        $AVE_Template->assign('moredoc', $moredoc);
    }
    // Выводим шаблон moredoc.tpl
    $AVE_Template->display($tpl_dir . 'moredoc.tpl', $AVE_Core->curentdoc->Id);
    $AVE_Template->caching = false;
    // Отключаем кеширование
}
开发者ID:laiello,项目名称:avecms,代码行数:58,代码来源:modul.php

示例8: tpl_function_seolink

/**
 * Template_Lite  function plugin
 *
 */
function tpl_function_seolink($params, &$tpl)
{
    $tpl->CI->load->helper('seo');
    if (!empty($params['data'])) {
        if (is_array($params['data'])) {
            $data = $params['data'];
        } else {
            $data['id'] = $params['data'];
        }
        $data = array_merge($data, $params);
    } else {
        $data = $params;
    }
    unset($data['module'], $data['method'], $data['data']);
    return rewrite_link($params['module'], $params['method'], $data);
}
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:20,代码来源:function.seolink.php

示例9: document_pagination

/**
 * Постраничная навигация документа
 *
 * @param string $text	текст многострочной части документа
 * @return string
 */
function document_pagination($text)
{
    global $AVE_Core;
    // IE8                    <div style="page-break-after: always"><span style="display: none">&nbsp;</span></div>
    // Chrome                 <div style="page-break-after: always; "><span style="DISPLAY:none">&nbsp;</span></div>
    // FF                     <div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>
    $pages = preg_split('#<div style="page-break-after:[; ]*always[; ]*"><span style="display:[ ]*none[;]*">&nbsp;</span></div>#i', $text);
    $total_page = @sizeof($pages);
    if ($total_page > 1) {
        $text = @$pages[get_current_page('artpage') - 1];
        $page_nav = ' <a class="pnav" href="index.php?id=' . $AVE_Core->curentdoc->Id . '&amp;doc=' . (empty($AVE_Core->curentdoc->document_alias) ? prepare_url($AVE_Core->curentdoc->document_title) : $AVE_Core->curentdoc->document_alias) . '&amp;artpage={s}' . '">{t}</a> ';
        $page_nav = get_pagination($total_page, 'artpage', $page_nav, get_settings('navi_box'));
        $text .= rewrite_link($page_nav);
    }
    return $text;
}
开发者ID:laiello,项目名称:avecms,代码行数:22,代码来源:func.parsefields.php

示例10: contactFormShow

 /**
  * Метод, предназначенный для вывода контактной формы в публичной части сайта
  *
  * @param string $tpl_dir путь к папке с шаблонами
  * @param string $lang_file путь к языковому файлу
  * @param int $contact_form_id идентификатор формы
  * @param int $spam_protect использовать защитный код 1
  * @param int $max_upload максимальный размер прикреплённого файла
  * @param int $fetch вывод в браузер 1
  * @return string контактная форма
  */
 function contactFormShow($tpl_dir, $lang_file, $contact_form_id, $spam_protect = null, $max_upload = null, $fetch = '0')
 {
     global $AVE_Core, $AVE_DB, $AVE_Template;
     $contact_form_id = preg_replace('/\\D/', '', $contact_form_id);
     $AVE_Template->config_load($lang_file);
     // Получаем всю информацию о данной форме по ее идентификатору
     $row = $AVE_DB->Query("\r\n\t\t\tSELECT *\r\n\t\t\tFROM " . PREFIX . "_modul_contacts\r\n\t\t\tWHERE Id = '" . $contact_form_id . "'\r\n\t\t")->FetchRow();
     // Определяем группы, которым разрешен доступ к данной контактной форме
     $allowed_groups = array();
     if (isset($row->contact_form_allow_group)) {
         $allowed_groups = explode(',', $row->contact_form_allow_group);
     }
     // Если группа пользователя не входит в разрешенный список групп,
     // фиксируем ошибку и выводим сообщение.
     if (!in_array($_SESSION['user_group'], $allowed_groups)) {
         $AVE_Template->assign('no_access', 1);
         if (isset($row->contact_form_message_noaccess)) {
             $AVE_Template->assign('contact_form_message_noaccess', $row->contact_form_message_noaccess);
         }
     } else {
         // Определяем ряд переменных для использования в шаблоне
         $AVE_Template->assign('contact_form_id', $contact_form_id);
         $AVE_Template->assign('im', $spam_protect === null ? $row->contact_form_antispam : $spam_protect);
         $AVE_Template->assign('maxupload', $max_upload === null ? $row->contact_form_max_upload : $max_upload);
         $AVE_Template->assign('send_copy', $row->contact_form_send_copy);
         // Формируем список получателей данного сообщения (если их несколько)
         $recievers = array();
         if ($row->contact_form_reciever_multi != '') {
             $e_recievers = explode(';', $row->contact_form_reciever_multi);
             foreach ($e_recievers as $reciever) {
                 $e_reciever = explode(',', $reciever);
                 array_push($recievers, htmlspecialchars($e_reciever[0], ENT_QUOTES));
             }
         }
         $AVE_Template->assign('recievers', $recievers);
         // Если тема сообщения не указана, тогда используем название темы по умолчанию
         if ($row->contact_form_subject_show == '0' && $row->contact_form_subject_default != '') {
             $AVE_Template->assign('default_subject', $row->contact_form_subject_default);
         }
         // Выполняем запрос к БД на получение списка всех полей формы
         $fields = array();
         $sql = $AVE_DB->Query("\r\n\t\t\t    SELECT *\r\n\t\t\t    FROM " . PREFIX . "_modul_contact_fields\r\n\t\t\t    WHERE contact_field_status = '1'\r\n\t\t\t    AND contact_form_id = '" . $contact_form_id . "'\r\n\t\t\t    ORDER BY contact_field_position ASC\r\n\t\t    ");
         while ($row = $sql->FetchRow()) {
             // Определяем тип поля и формируем регулярное выражение
             // для проверки введённых символов и их количества
             switch ($row->contact_field_datatype) {
                 // Любые символы
                 case 'anysymbol':
                     $row->field_pattern = $row->contact_field_max_chars != '' ? '^([\\s\\S]{' . $row->contact_field_max_chars . '})' . ($row->contact_field_required != 1 ? '?$' : '{1}$') : '';
                     break;
                     // Только целые числа
                 // Только целые числа
                 case 'onlydecimal':
                     $row->field_pattern = $row->contact_field_max_chars != '' ? '^(\\d{' . $row->contact_field_max_chars . '})' . ($row->contact_field_required != 1 ? '?$' : '{1}$') : '';
                     break;
                     // Только буквы
                 // Только буквы
                 case 'onlychars':
                     $row->field_pattern = $row->contact_field_max_chars != '' ? '^(\\D{' . $row->contact_field_max_chars . '})' . ($row->contact_field_required != 1 ? '?$' : '{1}$') : '';
                     break;
                     // По умолчанию любые символы
                 // По умолчанию любые символы
                 default:
                     $row->field_pattern = $row->contact_field_max_chars != '' ? '^([\\s\\S]{' . $row->contact_field_max_chars . '})' . ($row->contact_field_required != 1 ? '?$' : '{1}$') : '';
                     break;
             }
             // Если тип поля "Выпадающий список", тогда получем все его элементы
             if ($row->contact_field_type == 'dropdown' && $row->contact_field_default != '') {
                 $value = explode(',', $row->contact_field_default);
                 $row->contact_field_default = $value;
             }
             // В имени поля заменяем пробелы на подчерки, и формируем массив данных полей
             $field_title_ = str_replace(' ', '_', $row->contact_field_title);
             $row->value = isset($_REQUEST[$field_title_]) ? $_REQUEST[$field_title_] : '';
             array_push($fields, $row);
         }
         // Перердаем в шаблон массив с данными полей и формируем ссылку для редиректа после отправки
         $AVE_Template->assign('fields', $fields);
         $action = rewrite_link('index.php?id=' . $AVE_Core->curentdoc->Id . '&amp;doc=' . (empty($AVE_Core->curentdoc->document_alias) ? prepare_url($AVE_Core->curentdoc->document_title) : $AVE_Core->curentdoc->document_alias));
         $AVE_Template->assign('contact_action', $action);
     }
     // Возвращаем сформированную контактную форму
     if ($fetch == 1) {
         return $AVE_Template->fetch($tpl_dir . 'form.tpl');
     }
     // Отображаем сформированную контактную форму
     if (file_exists($tpl_dir . 'form-' . $contact_form_id . '.tpl')) {
         $AVE_Template->display($tpl_dir . 'form-' . $contact_form_id . '.tpl');
     } else {
//.........这里部分代码省略.........
开发者ID:laiello,项目名称:avecms,代码行数:101,代码来源:class.contact.php

示例11: explode

            if ($row_fields->rubric_field_id == $rss_settings->rss_description_id) {
                if ($rss_settings->rss_description_lenght == 0) {
                    $teaser = explode('<a name="more"></a>', $row_fields->field_value);
                    $rss_item['description'] = $teaser[0];
                } else {
                    if (mb_strlen($row_fields->field_value) > $rss_settings->rss_description_lenght) {
                        $rss_item['description'] = mb_substr($row_fields->field_value, 0, $rss_settings->rss_description_lenght) . '…';
                    } else {
                        $rss_item['description'] = $row_fields->field_value;
                    }
                }
                $rss_item['description'] = parse_hide($rss_item['description']);
            }
        }
        $link_doc = !empty($row_doc->document_alias) ? $row_doc->document_alias : prepare_url($row_doc->document_title);
        $link = rewrite_link('index.php?id=' . $row_doc->Id . '&amp;doc=' . $link_doc);
        $rss_item['link'] = $rss_settings->rss_site_url . mb_substr($link, mb_strlen(ABS_PATH));
        $rss_item['pubDate'] = $row_doc->document_published ? date('r', $row_doc->document_published) : date('r', time());
        array_push($rss_items, $rss_item);
    }
}
// Ну а тут собственно шлем заголовок, что у нас документ XML и в путь... выводим данные
header("Content-Type: application/xml");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
echo '<?xml version="1.0" encoding="utf8"?>';
?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title><?php 
开发者ID:laiello,项目名称:avecms,代码行数:31,代码来源:rss.php

示例12: commentPostNew

 /**
  * Метод, предназначенный для записи в БД нового комментария.
  *
  * @param string $tpl_dir - путь к шаблонам модуля
  *
  * @todo Вывод сообщения о результате добавления комментария, а также
  * рассмотреть вопрос о добавлении еще одного параметра настройки модуля, который будет определять
  * необходимость отправки уведомления на e-mail о новом комментарии. Возможно не всем хочется получать
  * уведомления.
  *
  */
 function commentPostNew($tpl_dir)
 {
     global $AVE_DB, $AVE_Template;
     // Если запрос пришел не ajax запросом, тогда формируем ссылку для последующего редиректа
     if (!($ajax = isset($_REQUEST['ajax']) && $_REQUEST['ajax'] == 1)) {
         $link = rewrite_link(base64_decode($_REQUEST['page']));
     }
     // Если в настройках модуля включено использование защитного кода, тогда
     if ($this->_commentSettingsGet('comment_use_antispam') == 1) {
         // Если введенный пользователем защитный код неверен, тогда выполняем обновление кода
         if (!(isset($_SESSION['captcha_keystring']) && isset($_POST['securecode']) && $_SESSION['captcha_keystring'] == $_POST['securecode'])) {
             unset($_SESSION['captcha_keystring']);
             if ($ajax) {
                 echo 'wrong_securecode';
             } else {
                 $GLOBALS['tmpl']->assign("wrongSecureCode", 1);
                 header('Location:' . $link . '#end');
             }
             exit;
         }
         unset($_SESSION['captcha_keystring']);
     }
     // Определяем флаг модерации комментариев
     $comment_status = $this->_commentSettingsGet('comment_need_approve') == 1 ? 0 : 1;
     // Если комментарии разрешены, тогда получаем все данные, который пользователь указал в форме
     if ($this->_commentSettingsGet('comment_active') == 1 && !empty($_POST['comment_text']) && !empty($_POST['comment_author_name']) && in_array(UGROUP, explode(',', $this->_commentSettingsGet('comment_user_groups')))) {
         $new_comment['parent_id'] = (int) $_POST['parent_id'];
         $new_comment['document_id'] = (int) $_POST['doc_id'];
         $new_comment['comment_author_name'] = $_POST['comment_author_name'];
         $new_comment['comment_author_id'] = empty($_SESSION['user_id']) ? '' : $_SESSION['user_id'];
         $new_comment['comment_author_email'] = $_POST['comment_author_email'];
         $new_comment['comment_author_city'] = $_POST['comment_author_city'];
         $new_comment['comment_author_website'] = $_POST['comment_author_website'];
         $new_comment['comment_author_ip'] = $_SERVER['REMOTE_ADDR'];
         $new_comment['comment_published'] = time();
         $new_comment['comment_text'] = $_POST['comment_text'];
         $new_comment['comment_status'] = $comment_status;
         // Определяем максимальную длину символов для комментария
         $comment_max_chars = $this->_commentSettingsGet('comment_max_chars');
         $comment_max_chars = !empty($comment_max_chars) && $comment_max_chars > 10 ? $comment_max_chars : 200;
         // Если длина комментария превышает максимально допустимую, обрезаем текст, до максимального значения
         $new_comment['comment_text'] = mb_substr(stripslashes($new_comment['comment_text']), 0, $comment_max_chars);
         $new_comment['comment_text'] .= mb_strlen($new_comment['comment_text']) > $comment_max_chars ? '…' : '';
         //			$new_comment['comment_text'] = htmlspecialchars($new_comment['comment_text'], ENT_QUOTES);
         $new_comment['comment_text'] = pretty_chars($new_comment['comment_text']);
         // Выполняем запрос к БД на добавление комментария
         $AVE_DB->Query("\r\n\t\t\t\tINSERT INTO " . PREFIX . "_modul_comment_info\r\n\t\t\t\t\t(" . implode(',', array_keys($new_comment)) . ")\r\n\t\t\t\tVALUES\r\n\t\t\t\t\t('" . implode("','", $new_comment) . "')\r\n\t\t\t");
         $new_comment['Id'] = $AVE_DB->InsertId();
         // Получаем e-mail адрес из Общих настроек системы и формируем ссылку на комментарий в Публичной части
         $mail_from = get_settings('mail_from');
         $mail_from_name = get_settings('mail_from_name');
         $page = get_home_link() . urldecode(base64_decode($_REQUEST['page'])) . '&subaction=showonly&comment_id=' . $new_comment['Id'] . '#' . $new_comment['Id'];
         //  Формируем текст уведомления для отправки на e-mail
         $mail_text = $AVE_Template->get_config_vars('COMMENT_MESSAGE_ADMIN');
         $mail_text = str_replace('%COMMENT%', stripslashes($new_comment['comment_text']), $mail_text);
         $mail_text = str_replace('%N%', "\n", $mail_text);
         $mail_text = str_replace('%PAGE%', $page, $mail_text);
         $mail_text = str_replace('&amp;', '&', $mail_text);
         // Отправляем уведомление
         send_mail($mail_from, $mail_text, $AVE_Template->get_config_vars('COMMENT_SUBJECT_MAIL'), $mail_from, $mail_from_name, 'text');
         // Если данные были отправлены ajax-запросом, тогда выполняем автоматический показ комментария
         // на странице.
         if ($ajax) {
             $new_comment['comment_published'] = strftime($AVE_Template->get_config_vars('COMMENT_DATE_TIME_FORMAT'), $new_comment['comment_published']);
             $subcomments[] = $new_comment;
             $AVE_Template->assign('subcomments', $subcomments);
             $AVE_Template->assign('theme', defined('THEME_FOLDER') ? THEME_FOLDER : DEFAULT_THEME_FOLDER);
             $AVE_Template->display($tpl_dir . $this->_comments_tree_sub_tpl);
         }
     }
     //		$JsAfter = ($comment_status == 0) ? $AVE_Template->get_config_vars('COMMENT_AFTER_MODER') : $AVE_Template->get_config_vars('COMMENT_THANKYOU_TEXT');
     //		$AVE_Template->assign('JsAfter', $JsAfter);
     //		$AVE_Template->display($tpl_dir . $this->_comment_thankyou_tpl);
     // Если же данные пришли НЕ ajax-запросом, тогда полностью обновляем страницу.
     if (!$ajax) {
         header('Location:' . $link . '#end');
     }
     exit;
 }
开发者ID:laiello,项目名称:avecms,代码行数:90,代码来源:class.comment.php

示例13: searchResultGet

 /**
  *	ВНЕШНИЕ МЕТОДЫ
  */
 function searchResultGet($tpl_dir, $lang_file)
 {
     global $AVE_DB, $AVE_Template;
     $AVE_Template->config_load($lang_file);
     define('MODULE_SITE', $AVE_Template->get_config_vars('SEARCH_RESULTS'));
     $stem_words = array();
     $tmp = preg_replace('/[^\\x20-\\xFF]|[><!?.,;=-]/', ' ', $_GET['query']);
     $this->_search_string = trim(preg_replace('/  +/', ' ', stripslashes($tmp)));
     if (mb_strlen($this->_search_string) > 2) {
         // экранирование для LIKE
         $tmp = str_replace('\\', '\\\\', $this->_search_string);
         $tmp = addcslashes(addslashes($tmp), '%_');
         //			$tmp = preg_replace('/  +/', ' ', $tmp);
         $tmp = preg_split('/\\s+/', $tmp);
         $where = '';
         if (sizeof($tmp)) {
             $_tmp = preg_grep('/^[^\\+|-].{3,}/', $tmp);
             array_walk($_tmp, array(&$this, '_create_string_like'));
             // +
             $__tmp = preg_grep('/^\\+.{3,}/', $tmp);
             array_walk($__tmp, array(&$this, '_create_string_like'), '+');
             // -
             $___tmp = preg_grep('/^-.{3,}/', $tmp);
             array_walk($___tmp, array(&$this, '_create_string_like'), '-');
             if (!empty($_tmp)) {
                 $where = 'WHERE (' . implode(isset($_REQUEST['or']) && 1 == $_REQUEST['or'] ? ' OR ' : ' AND ', $_tmp) . ')';
                 if (!empty($__tmp)) {
                     $where .= ' AND ' . implode(' AND ', array_merge($__tmp, $___tmp));
                 }
             } elseif (!empty($__tmp)) {
                 $where = 'WHERE ' . implode(' AND ', array_merge($__tmp, $___tmp));
             }
         }
         $num = 0;
         if ($where != '') {
             $type_search = isset($_REQUEST['ts']) && 1 == $_REQUEST['ts'];
             $limit = $this->_limit;
             $start = get_current_page() * $limit - $limit;
             $query_feld = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT SQL_CALC_FOUND_ROWS\r\n\t\t\t\t\t\tdocument_id,\r\n\t\t\t\t\t\tfield_value\r\n\t\t\t\t\tFROM " . PREFIX . "_document_fields\r\n\t\t\t\t\tLEFT JOIN " . PREFIX . "_rubric_fields AS rub\r\n\t\t\t\t\t\tON rubric_field_id = rub.Id\r\n\t\t\t\t\t" . $where . "\r\n\t\t\t\t\tAND rubric_field_type = '" . ($type_search ? 'kurztext' : 'langtext') . "'\r\n\t\t\t\t\tAND document_in_search = '1'\r\n\t\t\t\t\tLIMIT " . $start . "," . $limit);
             $num = $AVE_DB->Query("SELECT FOUND_ROWS()")->GetCell();
             $sw = addslashes(mb_strtolower($this->_search_string));
             $exist = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT 1\r\n\t\t\t\t\tFROM " . PREFIX . "_modul_search\r\n\t\t\t\t\tWHERE search_query = '" . $sw . "'\r\n\t\t\t\t\tLIMIT 1\r\n\t\t\t\t")->NumRows();
             if ($exist) {
                 $AVE_DB->Query("\r\n\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_search\r\n\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\tsearch_found = '" . (int) $num . "',\r\n\t\t\t\t\t\t\tsearch_count = search_count+1\r\n\t\t\t\t\t\tWHERE search_query = '" . $sw . "'\r\n\t\t\t\t\t");
             } else {
                 $AVE_DB->Query("\r\n\t\t\t\t\t\tINSERT\r\n\t\t\t\t\t\tINTO " . PREFIX . "_modul_search\r\n\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\tId = '',\r\n\t\t\t\t\t\t\tsearch_found = '" . (int) $num . "',\r\n\t\t\t\t\t\t\tsearch_query = '" . $sw . "',\r\n\t\t\t\t\t\t\tsearch_count = 1\r\n\t\t\t\t\t");
             }
             if ($num > $limit) {
                 $page_nav = " <a class=\"pnav\" href=\"index.php?module=search&amp;query=" . urlencode($this->_search_string) . ($type_search ? '&amp;ts=1' : '') . (isset($_REQUEST['or']) && 1 == $_REQUEST['or'] ? "&amp;or=1" : "") . "&amp;page={s}\">{t}</a> ";
                 $page_nav = get_pagination(ceil($num / $limit), 'page', $page_nav, trim(get_settings('navi_box')));
                 $AVE_Template->assign('q_navi', $page_nav);
             }
         }
         if ($num > 0) {
             $modul_search_results = array();
             array_walk($this->_stem_words, create_function('&$val', '$val=preg_quote(stripslashes(stripslashes(str_replace("\\"","&quot;",$val))),"/");'));
             $regex_snapshot = '/.{0,100}[^\\s]*' . implode('[^\\s]*.{0,100}|.{0,100}[^\\s]*', $this->_stem_words) . '[^\\s]*.{0,100}/is';
             $regex_highlight = '/[^\\s]*' . implode('[^\\s]*|[^\\s]*', $this->_stem_words) . '[^\\s]*/is';
             $doctime = get_settings('use_doctime') ? "AND document_published <= " . time() . " AND (document_expire = 0 OR document_expire >= " . time() . ")" : '';
             while ($row_feld = $query_feld->FetchRow()) {
                 $sql = $AVE_DB->Query("\r\n\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\tId,\r\n\t\t\t\t\t\t\tdocument_title,\r\n\t\t\t\t\t\t\tdocument_alias\r\n\t\t\t\t\t\tFROM " . PREFIX . "_documents\r\n\t\t\t\t\t\tWHERE Id = '" . $row_feld->document_id . "'\r\n\t\t\t\t\t\tAND document_deleted = '0'\r\n\t\t\t\t\t\tAND document_status = '1'\r\n\t\t\t\t\t\t" . $doctime);
                 while ($row = $sql->FetchRow()) {
                     $row->Text = $row_feld->field_value;
                     $row->Text = strip_tags($row->Text, $this->_allowed_tags);
                     $fo = array();
                     preg_match($regex_snapshot, $row->Text, $fo);
                     $row->Text = $type_search ? '' : ' ... ';
                     while (list($key, $val) = @each($fo)) {
                         $row->Text .= $val . ($type_search ? '' : ' ... ');
                     }
                     if (1 == $this->_highlight && !empty($this->_stem_words)) {
                         $row->Text = @preg_replace($regex_highlight, "<span class=\"mod_search_highlight\">\$0</span>", $row->Text);
                     }
                     $row->document_alias = rewrite_link('index.php?id=' . $row->Id . '&amp;doc=' . (empty($row->document_alias) ? prepare_url($row->document_title) : $row->document_alias));
                     array_push($modul_search_results, $row);
                 }
             }
             $AVE_Template->assign('searchresults', $modul_search_results);
         } else {
             $AVE_Template->assign('no_results', 1);
         }
     } else {
         $AVE_Template->assign('no_results', 1);
     }
     if (!defined('MODULE_CONTENT')) {
         $AVE_Template->assign('inc_path', BASE_DIR . '/modules/search/templates');
         define('MODULE_CONTENT', $AVE_Template->fetch($tpl_dir . 'results.tpl'));
     }
 }
开发者ID:laiello,项目名称:avecms,代码行数:92,代码来源:class.search.php

示例14: rss

 /**
  * Generate news rss
  * 
  * @return void
  */
 public function rss()
 {
     $rss_settings = $this->News_model->get_rss_settings();
     $this->load->library('rssfeed');
     $current_lang = $this->pg_language->languages[$this->pg_language->current_lang_id];
     $this->rssfeed->set_channel(site_url(), $rss_settings["rss_feed_channel_title"], $rss_settings["rss_feed_channel_description"], $current_lang["code"]);
     if ($rss_settings["rss_feed_image_url"]) {
         $this->rssfeed->set_image($rss_settings["rss_feed_image_media"]["thumbs"]["rss"], $rss_settings["rss_feed_image_title"], site_url());
     }
     $attrs["where"]["status"] = "1";
     if (!$rss_settings["rss_use_feeds_news"]) {
         $attrs["where"]["feed_id"] = "";
     }
     $news = $this->News_model->get_news_list(1, $rss_settings["rss_news_max_count"], array('date_add' => "DESC"), $attrs);
     if (!empty($news)) {
         $this->load->helper('seo');
         foreach ($news as $item) {
             $url = rewrite_link("news", "view", $item);
             $this->rssfeed->set_item($url, $item["name"], $item["annotation"], $item["date_add"]);
         }
     }
     $this->rssfeed->send();
     return;
 }
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:29,代码来源:news.php

示例15: get_sitemap_urls

 function get_sitemap_urls()
 {
     $this->CI->load->helper('seo');
     $auth = $this->CI->session->userdata('auth_type');
     $block = array();
     if ('user' === $auth) {
         $block[] = array('name' => l('header_winks', 'winks'), 'link' => rewrite_link('winks', 'index'), 'clickable' => true);
     }
     return $block;
 }
开发者ID:Calit2-UCI,项目名称:IoT_Map,代码行数:10,代码来源:winks_model.php


注:本文中的rewrite_link函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。