Пример #1
0
 public function index($slug)
 {
     $this->load->library('user_agent');
     $this->load->helper('meta');
     $data = $this->mongo_db->page->findOne(array('slug' => $slug));
     if (!isset($data['slug'])) {
         $this->redirect($slug, NULL, NULL, 'page/index/');
         show_404(uri_string(), FALSE);
     }
     if (!$this->agent->is_robot()) {
         $this->mongo_db->page->update(array('_id' => new MongoId($data['_id'])), array('$set' => array('counter' => ++$data['counter'])));
     }
     $this->template->set_keyword(get_keyword($data))->set_description(get_description($data))->set_title(get_title($data))->view('index', $data)->render();
 }
Пример #2
0
 public function index()
 {
     $this->load->library('user_agent');
     $this->load->helper('meta');
     $slug = $this->uri->uri_string();
     $data = $this->mongo_db->post->findOne(array('slug' => $slug, 'status' => 'publish'));
     if (!isset($data['slug'])) {
         $this->redirect($slug, NULL, NULL, 'post/index/');
         $this->show_404();
         return;
     }
     if (!$this->agent->is_robot()) {
         $this->mongo_db->post->update(array('_id' => new MongoId($data['_id'])), array('$set' => array('counter' => ++$data['counter'])));
     }
     $related = $this->mongo_db->post->find(array('_id' => array('$ne' => $data['_id']), 'tags' => array('$in' => $data['tags'])))->limit(3);
     $data['related'] = iterator_to_array($related);
     $this->template->set_keyword(get_keyword($data))->set_description(get_description($data))->set_title(get_title($data))->view('index', $data)->render();
 }
Пример #3
0
function keytype($search_url)
{
    $config = array('谷歌' => array("domain" => "www.google.", "kw" => "q", "charset" => "utf-8", 'type' => 0), '百度' => array("domain" => "www.baidu.", "kw" => "wd", "charset" => "gbk", 'type' => 1), '搜搜' => array("domain" => "soso.", "kw" => "query", "charset" => "gbk", 'type' => 2), '雅虎' => array("domain" => "yahoo.", "kw" => "q", "charset" => "utf-8", 'type' => 3), '必应' => array("domain" => "bing.", "kw" => "q", "charset" => "utf-8", 'type' => 4), '搜狗' => array("domain" => "sogou.", "kw" => "query", "charset" => "gbk", 'type' => 5), '有道' => array("domain" => "youdao.", "kw" => "q", "charset" => "utf-8", 'type' => 6), '360搜索' => array("domain" => "so.360.", "kw" => "q", "charset" => "utf-8", 'type' => 7));
    $arr_key = array();
    foreach ($config as $key => $item) {
        $sh = preg_match("/\\b{$item['domain']}\\b/", $search_url);
        if ($sh) {
            $query = $item['kw'] . "=";
            $s_s_keyword = get_keyword($search_url, $query);
            $F_Skey = urldecode($s_s_keyword);
            $agwe = 0;
            if ($key == '百度') {
                $agwe = get_keyword($search_url, 'ie=');
                $item['charset'] = $agwe == '' ? $item['charset'] : $agwe;
            }
            if ($item['charset'] != "utf-8" && (!is_utf8($F_Skey) || $agwe)) {
                $F_Skey = iconv("gb2312//IGNORE", "UTF-8", $F_Skey);
            }
            $arr_key[0] = $F_Skey;
            $arr_key[1] = $item['type'];
        }
    }
    return $arr_key;
}
Пример #4
0
    $tarchive->title = $timestamp;
    if (!$date) {
        // a non-existing page
        not_found();
    }
    render('main', array('title' => 'Archive for: ' . $timestamp . ' - ' . blog_title(), 'description' => 'Archive page for: ' . $timestamp . ' on ' . blog_title() . '.', 'canonical' => site_url() . 'archive/' . $req, 'page' => $page, 'posts' => $posts, 'archive' => $tarchive, 'bodyclass' => 'inarchive', 'breadcrumb' => '<a href="' . site_url() . '">' . config('breadcrumb.home') . '</a> &#187; Archive for: ' . $timestamp, 'pagination' => has_pagination($total, $perpage, $page), 'is_archive' => true));
});
// Show the search page
get('/search/:keyword', function ($keyword) {
    if (!login()) {
        file_cache($_SERVER['REQUEST_URI']);
    }
    $page = from($_GET, 'page');
    $page = $page ? (int) $page : 1;
    $perpage = config('search.perpage');
    $posts = get_keyword($keyword, $page, $perpage);
    $tsearch = new stdClass();
    $tsearch->title = $keyword;
    if (!$posts || $page < 1) {
        // a non-existing page or no search result
        render('404-search', array('title' => 'Search results not found! - ' . blog_title(), 'description' => 'Search results not found!', 'search' => $tsearch, 'breadcrumb' => '<a href="' . site_url() . '">' . config('breadcrumb.home') . '</a> &#187; No search results', 'canonical' => site_url(), 'bodyclass' => 'error-404-search', 'is_404search' => true));
        die;
    }
    $total = keyword_count($keyword);
    render('main', array('title' => 'Search results for: ' . tag_i18n($keyword) . ' - ' . blog_title(), 'description' => 'Search results for: ' . tag_i18n($keyword) . ' on ' . blog_title() . '.', 'canonical' => site_url() . 'search/' . strtolower($keyword), 'page' => $page, 'posts' => $posts, 'search' => $tsearch, 'bodyclass' => 'insearch', 'breadcrumb' => '<a href="' . site_url() . '">' . config('breadcrumb.home') . '</a> &#187; Search results for: ' . tag_i18n($keyword), 'pagination' => has_pagination($total, $perpage, $page), 'is_search' => true));
});
// The JSON API
get('/api/json', function () {
    header('Content-type: application/json');
    $page = from($_GET, 'page');
    $page = $page ? (int) $page : 1;
Пример #5
0
function replace_keywords($qcaid, $str)
{
    //$attempt = quiz_get_user_attempt_unfinished($quizid, $USER->id);
    //$qca = get_record('quiz_course_activation','attemptid',$attempt);
    $qca = get_record('quiz_course_activation', 'id', $qcaid);
    if (!empty($qca)) {
        $eqc = get_record('exam_quiz_context', 'id', $qca->exam_context);
        if (!empty($eqc)) {
            $group = $eqc->contextid;
            $course = $eqc->courseid;
            // << [a-zA-Z0-9]+ >>
            $matched = preg_match_all("/<< [a-zA-Z0-9]+ >>/", $str, $matches);
            if ($matched) {
                foreach ($matches as $match) {
                    foreach ($match as $val) {
                        $key = get_keyword($group, substr($val, 3, strpos($val, " >>") - 2), $course);
                        $str = str_ireplace($val, $key, $str, $count);
                    }
                }
            }
            // &lt;&lt; [a-zA-Z0-9]+ &gt;&gt;
            $matched = preg_match_all("/&lt;&lt; [a-zA-Z0-9]+ &gt;&gt;/", $str, $matches);
            if ($matched) {
                foreach ($matches as $match) {
                    foreach ($match as $val) {
                        $key = get_keyword($group, substr($val, 9, strpos($val, " >>") - 8), $course);
                        $str = str_ireplace($val, $key, $str, $count);
                    }
                }
            }
        }
    }
    return $str;
}
Пример #6
0
        case "blog_rank":
            set_value($_POST['blog_rank_id'], $_POST['blog_rank_dialog'], "rank");
            break;
        default:
            break;
    }
    break;
}
$filter = "";
$require = "";
$order_by = "";
$date_set = false;
if (isset($_GET['blog_is_search_bar'])) {
    $filter = " WHERE ";
    $filter .= $_GET['blog_kw_sel'] != 'all' ? "kw_ids LIKE '%[" . $_GET['blog_kw_sel'] . "]%' AND " : "";
    $require .= $_GET['blog_kw_sel'] != 'all' ? get_keyword($_GET['blog_kw_sel']) . "," : "全部關鍵字,";
    $filter .= $_GET['blog_status'] != 'all' ? "blog_status = '" . $_GET['blog_status'] . "' AND " : "";
    $require .= $_GET['blog_status'] != 'all' ? $_GET['blog_status'] . "," : "全部處理狀態,";
    $filter .= $_GET['blog_cate'] != 'all' ? "blog_cate = '" . $_GET['blog_cate'] . "' AND " : "";
    $require .= $_GET['blog_cate'] != 'all' ? $_GET['blog_cate'] . "," : "全部文章類別,";
    $filter .= $_GET['blog_rank'] != 'all' ? "blog_rank = '" . $_GET['blog_rank'] . "' AND " : "";
    $require .= $_GET['blog_rank'] != 'all' ? $_GET['blog_rank'] . "," : "全部評價層級,";
    $filter .= " blog_id IS NOT NULL ";
    if ($_GET['start_date'] != "" && $_GET['end_date'] != "") {
        $date_set = true;
        $filter .= $_GET['range'] != '1' ? "AND blog_post_time BETWEEN " : "AND blog_track_time BETWEEN ";
        $filter .= "'" . $_GET['start_date'] . "' AND '" . $_GET['end_date'] . "'";
        $require .= $_GET['start_date'] . " - " . $_GET['end_date'];
        $require .= $_GET['range'] != '1' ? "發表," : "有回應,";
    }
}
Пример #7
0
function load_keyword($keyword = '')
{
    global $_G;
    $keyrowd = rpc_str($keyword);
    $keyword_arr = get_keyword($keyrowd);
    $li_html = '';
    if (!$keyword_arr) {
        $li_html = milu_lang('no_keyword');
    } else {
        foreach ($keyword_arr as $k => $v) {
            $li_html .= '<li class="a"><label><input onclick="select_keyword();" type="checkbox" class="pc" checked="checked" value="' . $v . '" ><span class="xi2">' . $v . '</span></label></li>';
        }
    }
    echo $li_html;
    return $li_html;
}
Пример #8
0
function replace_keyword($group, $str, $course)
{
    // << [a-zA-Z0-9]+ >>
    $matched = preg_match_all("/<< [a-zA-Z0-9]+ >>/", $str, $matches);
    if ($matched) {
        foreach ($matches as $match) {
            foreach ($match as $val) {
                $key = get_keyword($group, substr($val, 3, strpos($val, " >>") - 2), $course);
                $str = str_ireplace($val, $key, $str, $count);
            }
        }
    }
    // &lt;&lt; [a-zA-Z0-9]+ &gt;&gt;
    $matched = preg_match_all("/&lt;&lt; [a-zA-Z0-9]+ &gt;&gt;/", $str, $matches);
    if ($matched) {
        foreach ($matches as $match) {
            foreach ($match as $val) {
                $key = get_keyword($group, substr($val, 9, strpos($val, " >>") - 8), $course);
                $str = str_ireplace($val, $key, $str, $count);
            }
        }
    }
    return $str;
}
Пример #9
0
 unset($eng);
 list($eng["name"], $eng["q"], $eng["uri"]) = explode("||", $list);
 if (eregi("({$eng['uri']})", $url["host"])) {
     //query修正
     if (eregi("=", $url["path"])) {
         foreach (explode('/', $url["path"]) as $path_exp) {
             if (eregi("=", $path_exp)) {
                 if ($url["query"]) {
                     $url["query"] .= "&";
                 }
                 $url["query"] .= $path_exp;
             }
         }
     }
     //キーワード取得
     $keyword = get_keyword($url["query"], $eng["q"]);
     if ($keyword == "") {
         continue;
     }
     $keyword_edit = eregi_replace("([|])", "", $keyword);
     foreach (explode('&nbsp;', $keyword_edit) as $search_key) {
         if (!array_key_exists($search_key, $main)) {
             $main[$search_key] = 1;
         } else {
             $main[$search_key]++;
         }
     }
     //指定ログ取得
     if (isset($_GET["sel"])) {
         //マルチバイト関数使える人は関係なし!!(改善必要?)
         if (function_exists('mb_eregi')) {
Пример #10
0
function replace_keywords($attempt, $str)
{
    global $DB;
    $qca = $DB->get_record('quiz_course_activation', array('attemptid' => $attempt));
    if (!empty($qca)) {
        $eqc = $DB->get_record('exam_quiz_context', array('id' => $qca->exam_context));
        if (!empty($eqc)) {
            $group = $eqc->contextid;
            $course = $eqc->courseid;
            // << [a-zA-Z0-9]+ >>
            $matched = preg_match_all("/<< [a-zA-Z0-9]+ >>/", $str, $matches);
            if ($matched) {
                foreach ($matches as $match) {
                    foreach ($match as $val) {
                        $key = get_keyword($group, substr($val, 3, strpos($val, " >>") - 2), $course);
                        $str = str_ireplace($val, $key, $str, $count);
                    }
                }
            }
            // &lt;&lt; [a-zA-Z0-9]+ &gt;&gt;
            $matched = preg_match_all("/&lt;&lt; [a-zA-Z0-9]+ &gt;&gt;/", $str, $matches);
            if ($matched) {
                foreach ($matches as $match) {
                    foreach ($match as $val) {
                        $key = get_keyword($group, substr($val, 9, strpos($val, " >>") - 8), $course);
                        $str = str_ireplace($val, $key, $str, $count);
                    }
                }
            }
        }
    }
    return $str;
}
Пример #11
0
admin_priv('client_flow_stats');
if ($_REQUEST['act'] == 'list') {
    $logdb = get_keyword();
    $smarty->assign('ur_here', $_LANG['keyword']);
    $smarty->assign('full_page', 1);
    $smarty->assign('logdb', $logdb['logdb']);
    $smarty->assign('filter', $logdb['filter']);
    $smarty->assign('record_count', $logdb['record_count']);
    $smarty->assign('page_count', $logdb['page_count']);
    /* 排序标记 */
    $sort_flag = sort_flag($logdb['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);
    assign_query_info();
    $smarty->display('keyword_list.htm');
} elseif ($_REQUEST['act'] == 'query') {
    $logdb = get_keyword();
    $smarty->assign('logdb', $logdb['logdb']);
    $smarty->assign('filter', $logdb['filter']);
    $smarty->assign('record_count', $logdb['record_count']);
    $smarty->assign('page_count', $logdb['page_count']);
    /* 排序标记 */
    $sort_flag = sort_flag($logdb['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);
    make_json_result($smarty->fetch('keyword_list.htm'), '', array('filter' => $logdb['filter'], 'page_count' => $logdb['page_count']));
} elseif ($_REQUEST['act'] == 'view') {
    $id = intval($_GET['id']);
    $sql = "SELECT * FROM " . $ecs->table('keyword') . " WHERE searchengine='ecshop' AND w_id='{$id}'";
    $kw = $db->getRow($sql);
    $area_xml = '';
    $area_xml .= "<graph caption='" . sprintf($_LANG['tagword_area'], $kw['word']) . "' shownames='1' showvalues='1' decimalPrecision='2' outCnvBaseFontSize='13' baseFontSize='13' pieYScale='45'  pieBorderAlpha='40' pieFillAlpha='70' pieSliceDepth='15' pieRadius='100' bgAngle='460'>";
    $sql = "SELECT COUNT(*) AS access_count, area FROM " . $ecs->table('keyword_area') . " WHERE w_id = '{$id}' " . " GROUP BY area ORDER BY access_count DESC LIMIT 20";
Пример #12
0
function geKeyword($referer)
{
    $url = isset($referer) ? $referer : '';
    //获取入站url。
    $search_1 = "google.com";
    //q= utf8
    $search_2 = "baidu.com";
    //wd= gbk
    $search_3 = "yahoo.cn";
    //q= utf8
    $search_4 = "sogou.com";
    //query= gbk
    $search_5 = "soso.com";
    //w= gbk
    $search_6 = "bing.com";
    //q= utf8
    $search_7 = "youdao.com";
    //q= utf8
    $google = preg_match("/\\b{$search_1}\\b/", $url);
    //记录匹配情况,用于入站判断。
    $baidu = preg_match("/\\b{$search_2}\\b/", $url);
    $yahoo = preg_match("/\\b{$search_3}\\b/", $url);
    $sogou = preg_match("/\\b{$search_4}\\b/", $url);
    $soso = preg_match("/\\b{$search_5}\\b/", $url);
    $bing = preg_match("/\\b{$search_6}\\b/", $url);
    $youdao = preg_match("/\\b{$search_7}\\b/", $url);
    $s_s_keyword = "";
    $bul = $referer;
    //获取没参数域名
    preg_match('@^(?:http://)?([^/]+)@i', $bul, $matches);
    $burl = $matches[1];
    //匹配域名设置
    $curl = $_SERVER['HTTP_HOST'];
    //本站域名
    if ($burl != $curl) {
        if ($google) {
            //来自google
            $s_s_keyword = get_keyword($url, 'q=');
            //关键词前的字符为"q="。
            $s_s_keyword = urldecode($s_s_keyword);
            //$urlname="谷歌:";
            //$_SESSION["urlname"]=$urlname;
            //$_SESSION["s_s_keyword"]=$s_s_keyword;
            //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
        } else {
            if ($baidu) {
                //来自百度
                $s_s_keyword = get_keyword($url, 'wd=');
                //关键词前的字符为"wd="。
                $s_s_keyword = urldecode($s_s_keyword);
                //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
                //$urlname="百度:";
                //$_SESSION["urlname"]=$urlname;
                // $_SESSION["s_s_keyword"]=$s_s_keyword;
            } else {
                if ($yahoo) {
                    //来自雅虎
                    $s_s_keyword = get_keyword($url, 'q=');
                    //关键词前的字符为"q="。
                    $s_s_keyword = urldecode($s_s_keyword);
                    //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
                    //$urlname="雅虎:";
                    //$_SESSION["urlname"]=$urlname;
                    //$_SESSION["s_s_keyword"]=$s_s_keyword;
                } else {
                    if ($sogou) {
                        //来自搜狗
                        $s_s_keyword = get_keyword($url, 'query=');
                        //关键词前的字符为"query="。
                        $s_s_keyword = urldecode($s_s_keyword);
                        $s_s_keyword = iconv("GBK", "UTF-8", $s_s_keyword);
                        //引擎为gbk
                        //$urlname="搜狗:";
                        // $_SESSION["urlname"]=$urlname;
                        // $_SESSION["s_s_keyword"]=$s_s_keyword;
                    } else {
                        if ($soso) {
                            //来自搜搜
                            $s_s_keyword = get_keyword($url, 'w=');
                            //关键词前的字符为"w="。
                            $s_s_keyword = urldecode($s_s_keyword);
                            $s_s_keyword = iconv("GBK", "UTF-8", $s_s_keyword);
                            //引擎为gbk
                            //$urlname="搜搜:";
                            //$_SESSION["urlname"]=$urlname;
                            //$_SESSION["s_s_keyword"]=$s_s_keyword;
                        } else {
                            if ($bing) {
                                //来自必应
                                $s_s_keyword = get_keyword($url, 'q=');
                                //关键词前的字符为"q="。
                                $s_s_keyword = urldecode($s_s_keyword);
                                //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
                                //$urlname="必应:";
                                //$_SESSION["urlname"]=$urlname;
                                //$_SESSION["s_s_keyword"]=$s_s_keyword;
                            } else {
                                if ($youdao) {
                                    //来自有道
                                    $s_s_keyword = get_keyword($url, 'q=');
                                    //关键词前的字符为"q="。
                                    $s_s_keyword = urldecode($s_s_keyword);
                                    //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
                                    //$urlname="有道:";
                                    //$_SESSION["urlname"]=$urlname;
                                    //$_SESSION["s_s_keyword"]=$s_s_keyword;
                                } else {
                                    //$urlname=$burl;
                                    $s_s_keyword = "";
                                    //$_SESSION["urlname"]=$urlname;
                                    //$_SESSION["s_s_keyword"]=$s_s_keyword;
                                }
                            }
                        }
                    }
                }
            }
        }
        $s_urlkey = $s_s_keyword;
    } else {
        $s_urlkey = '';
    }
    return $s_urlkey;
}