Пример #1
0
function m__list()
{
    //判断操作权限
    check_level("E08");
    global $dbm, $resource_list;
    // 查询 mcms_resource_list 表
    $params['where'] = " 1=1";
    $params['table_name'] = TB_PREFIX . "resource_list";
    $params['count'] = 1;
    $params['suffix'] = " order by id DESC ";
    $params['pagesize'] = PAGESIZE;
    $params['suffix'] .= $dbm->get_limit_sql(PAGESIZE, $_GET['p']);
    $resource_list = $dbm->single_query($params);
    //开始循环 进行比对数据 找出关联的资源
    $i = 0;
    //数组排序时用到
    foreach ($resource_list['list'] as $k => $v) {
        //调用函数对数据进行比对
        $result = check_resource($v['id'], $v['info_id'], $v['resource_url']);
        //添加排序元素
        if ($result['info']['table_name'] == 'undefined' && 'undefined' == $result['info']['qita']) {
            $resource_list['list'][$k]['paixu'] = ++$i;
        } else {
            $resource_list['list'][$k]['paixu'] = 0;
        }
        $resource_list['list'][$k]['info'] = $result['info'];
    }
    $resource_list['list'] = helper::array_sort($resource_list['list'], 'paixu', 'desc');
    //将无效资源排在前面
    //print_r($resource_list);exit;
}
Пример #2
0
 /**
  * 根据百度搜索结果自动提取关键词
  * @param $title 要提取关键词的标题
  * @param $filter_words1 精准过滤词数组 array('过滤词1','过滤词2')
  * @param $filetr_words2 模糊过滤词数组 array('过滤词1','过滤词2')
  */
 public static function get_tags_baidu($title, $filter_words1 = array(), $filter_words2 = array())
 {
     if (strlen($title) <= 4) {
         die('{"code":1,"msg":"","data":["' . $title . '"]}');
     }
     $ret = helper::get_contents('http://www.baidu.com/s?wd=' . urlencode($title));
     preg_match_all('~<em>(.*?)</em>~', $ret, $keys);
     //过滤字符
     for ($i = 0; $i < count($keys[1]); $i++) {
         $keys[1][$i] = preg_replace('~"|\'|“|”|【|】|\\(|\\)|(|)|:|:|\\-|—~', '', $keys[1][$i]);
     }
     //去重并过滤
     $nkeys = array();
     foreach ($keys[1] as $a) {
         //去重
         $is_key = 0;
         for ($b = 0; $b < count($nkeys); $b++) {
             if ($a == $nkeys[$b]['k']) {
                 $is_key = 1;
                 $nkeys[$b]['t'] = 1 + $nkeys[$b]['t'];
                 break;
             }
         }
         //过滤
         $is_k1 = 0;
         foreach ($filter_words1 as $b) {
             if ($b == $a) {
                 $is_k1 = 1;
                 break;
             }
         }
         $is_k2 = 0;
         foreach ($filter_words2 as $b) {
             if (strstr($a, $b)) {
                 $is_k2 = 1;
                 break;
             }
         }
         if ($is_key == 0 && $is_k1 == 0 && $is_k2 == 0) {
             array_push($nkeys, array('k' => $a, 't' => 1, 'l' => strlen($a)));
         }
     }
     //过滤字符长度
     $tags = array();
     for ($i = 0; $i < count($nkeys); $i++) {
         if (strlen($nkeys[$i]['k']) >= 9 && strlen($nkeys[$i]['k']) <= 18) {
             array_push($tags, $nkeys[$i]);
         }
     }
     //排序
     $tags = helper::array_sort($tags, 'l');
     //print_r($info_tags);
     $ntags = array();
     //重做数组
     foreach ($tags as $a) {
         array_push($ntags, $a);
     }
     return $ntags;
 }
Пример #3
0
 /**
  * 根据位置ID获取(专题,推荐)
  * 如果是广告,则输出广告代码,如果是专题或者推荐信息则输出列表
  *
  * @param  $ 参数数组
  * @param  $area_id 位置ID
  * @param  $pagesize 分页大小
  * @param  $p 当前分页
  * @param  $count 是否统计分页
  * @param  $where 查询条件
  * @param  $order 专题内文档排序方式,默认为排序升序
  */
 function get_area($params)
 {
     $area_id = isset($params['area_id']) ? $params['area_id'] : 0;
     $pagesize = isset($params['pagesize']) ? $params['pagesize'] : PAGESIZE_F;
     $p = isset($params['p']) ? $params['p'] : 1;
     $count = isset($params['count']) ? $params['count'] : 0;
     $where = isset($params['where']) ? $params['where'] : '';
     $rewrite = isset($params['rewrite']) ? $params['rewrite'] : 2;
     $order = isset($params['order']) ? $params['order'] : '';
     if (!is_numeric($area_id)) {
         return array();
     }
     if ($area_id == 0) {
         // 如果位置ID=0,则取列表
         $recommend_list = array();
         $sql = "select * from " . TB_PREFIX . "recommend_area ";
         if ($where != '') {
             $sql .= " where {$where}";
         }
         $suffix = " order by area_order asc,area_id desc";
         // 拼接分页数据
         $suffix .= " limit " . ($p - 1) * $pagesize . ",{$pagesize}";
         $result = $this->dbm->query($sql, $suffix, $count);
         //print_r($result);
         //生成surl
         $count = count($result['list']);
         for ($i = 0; $i < $count; $i++) {
             $result['list'][$i]['surl'] = $this->url->encode('special_content', array('host' => SITE_PATH, 'id' => $result['list'][$i]['area_id']));
         }
         $total = $result['total'];
         // 分页码HTML
         if ($rewrite == 0 || $rewrite == 1) {
             // 前台使用动态地址或者伪静态地址
             if ($this->url != null) {
                 $result['pagebar'] = helper::pagebar(array('total' => $total, 'pagesize' => $pagesize, 'rewrite' => $rewrite, 'rule' => array('node' => $node, 'obj' => $this->url, 'params' => array('host' => '/', 'cate_id' => $cate_id, 'cname_py' => $this->categories[$cate_id]['cname_py'], 'p' => $p))));
             } else {
                 $result['pagebar'] = array('pagecode' => '');
             }
         } else {
             $result['pagebar'] = helper::pagebar(array('total' => $total, 'pagesize' => $pagesize, 'rewrite' => $rewrite));
         }
         return $result;
     } else {
         // 如果位置ID大于0,则取某个位置的数据
         $sql = "select * from " . TB_PREFIX . "recommend_area where area_id='{$area_id}' limit 1";
         $rs = $this->dbm->query($sql);
         $recommend = array();
         if (count($rs['list']) == 1) {
             $recommend = $rs['list'][0];
             //print_r($recommend);
             if ($recommend['area_type'] == 0) {
                 // 广告
                 $tmp_a = unserialize($recommend['area_html']);
                 $order = 1;
                 //print_r($tmp_a);
                 if (is_array($tmp_a['list'])) {
                     foreach ($tmp_a['list'] as $v) {
                         if (!isset($v['order'])) {
                             $order = 0;
                             break;
                         }
                     }
                     if ($order == 1) {
                         $tmp_arr = helper::array_sort($tmp_a['list'], 'order', 'asc');
                         $tmp = array();
                         foreach ($tmp_arr as $v) {
                             array_push($tmp, $v);
                         }
                         $tmp_a['list'] = $tmp;
                     }
                 }
                 $recommend = $tmp_a;
             } else {
                 // 专题,推荐
                 if ($order == '') {
                     $order = ' order by field(info_id,' . $recommend['id_list'] . ')';
                 }
                 //$list = $this -> get_list(array('where' => 'info_id in (' . $recommend['id_list'] . ')', 'pagesize' => $pagesize, 'order' => $order,'extern'=>$extern));
                 //$recommend['list'] = $list['list'];
             }
         }
         return $recommend;
     }
 }
Пример #4
0
 /**
  * 取分类的子分类,返回数组,树形结构
  *
  * @param  $cate_id 分类ID
  * 返回值为树形,因为子分类有可能是多分支的
  */
 public function cate_son($cate_id)
 {
     $ret = array();
     foreach ($this->categories() as $c) {
         if ($c['parent_id'] == $cate_id) {
             $c['son'] = $this->cate_son($c['cate_id']);
             array_push($ret, $c);
         }
     }
     $ret = helper::array_sort($ret, 'corder');
     return $ret;
 }
Пример #5
0
function m__get_recommend()
{
    global $dbm;
    $area_id = isset($_POST['area_id']) ? intval($_POST['area_id']) : 0;
    $a = $dbm->query("select area_html from " . TB_PREFIX . "recommend_area where area_id='{$area_id}'");
    if (count($a['list']) == 0) {
        die('{"code":1,"msg":"获取广告失败"}');
    }
    $area_html = unserialize($a['list'][0]['area_html']);
    //print_r($area_html);
    $order = 1;
    //如果不是代码广告 根据area_html里面的type判断。图片imgs 代码广告是 code
    if ($area_html['type'] != 'code') {
        foreach ($area_html['list'] as $v) {
            if (!isset($v['order'])) {
                $order = 0;
                break;
            }
        }
        if ($order == 1) {
            $tmp_arr = helper::array_sort($area_html['list'], 'order', 'asc');
            $tmp = array();
            foreach ($tmp_arr as $v) {
                array_push($tmp, $v);
            }
            $area_html['list'] = $tmp;
            //print_r($area_html);
        }
    }
    $data = json_encode($area_html);
    die('{"code":0,"msg":"获取成功","data":' . $data . '}');
}