Пример #1
0
 function display($params)
 {
     $Log_Model = new Log_Model();
     $CACHE = Cache::getInstance();
     $options_cache = Option::getAll();
     extract($options_cache);
     $page = isset($params[4]) && $params[4] == 'page' ? abs(intval($params[5])) : 1;
     $sortid = '';
     if (!empty($params[2])) {
         if (is_numeric($params[2])) {
             $sortid = intval($params[2]);
         } else {
             $sort_cache = $CACHE->readCache('sort');
             foreach ($sort_cache as $key => $value) {
                 $alias = addslashes(urldecode(trim($params[2])));
                 if (array_search($alias, $value, true)) {
                     $sortid = $key;
                     break;
                 }
             }
         }
     }
     $pageurl = '';
     $sort_cache = $CACHE->readCache('sort');
     if (!isset($sort_cache[$sortid])) {
         show_404_page();
     }
     $sort = $sort_cache[$sortid];
     $sortName = $sort['sortname'];
     //page meta
     $site_title = $sortName . ' - ' . $site_title;
     if (!empty($sort_cache[$sortid]['description'])) {
         $site_description = $sort_cache[$sortid]['description'];
     }
     if ($sort['pid'] != 0 || empty($sort['children'])) {
         $sqlSegment = "and sortid={$sortid}";
     } else {
         $sortids = array_merge(array($sortid), $sort['children']);
         $sqlSegment = "and sortid in (" . implode(',', $sortids) . ")";
     }
     $sqlSegment .= " order by sortop desc, date desc";
     $lognum = $Log_Model->getLogNum('n', $sqlSegment);
     $total_pages = ceil($lognum / $index_lognum);
     if ($page > $total_pages) {
         $page = $total_pages;
     }
     $pageurl .= Url::sort($sortid, 'page');
     $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum);
     $page_url = pagination($lognum, $index_lognum, $page, $pageurl);
     $template = !empty($sort['template']) && file_exists(TEMPLATE_PATH . $sort['template'] . '.php') ? $sort['template'] : 'log_list';
     include View::getView('header');
     include View::getView($template);
 }
Пример #2
0
 private function setData()
 {
     $CACHE = Cache::getInstance();
     $data = array();
     $lastCommentTime = $this->getLastCommentTime();
     $data[] = array('url' => BLOG_URL, 'lastmod' => time(), 'changefreq' => 'always', 'priority' => '1.0');
     //日志
     $query = $this->db->query("SELECT gid,date FROM " . DB_PREFIX . "blog WHERE type='blog' AND hide='n' ORDER BY date DESC");
     while ($row = $this->db->fetch_array($query)) {
         $lastmod = $this->comment_time && isset($lastCommentTime[$row['gid']]) ? $lastCommentTime[$row['gid']] : $row['date'];
         $data[] = array('url' => Url::log($row['gid']), 'lastmod' => $lastmod, 'changefreq' => $this->changefreq[0], 'priority' => $this->priority[0]);
     }
     //页面
     $query = $this->db->query("SELECT gid,date FROM " . DB_PREFIX . "blog WHERE type='page' AND hide='n' ORDER BY date DESC");
     while ($row = $this->db->fetch_array($query)) {
         $lastmod = $this->comment_time && isset($lastCommentTime[$row['gid']]) ? $lastCommentTime[$row['gid']] : $row['date'];
         $data[] = array('url' => Url::log($row['gid']), 'lastmod' => $lastmod, 'changefreq' => $this->changefreq[0], 'priority' => $this->priority[0]);
     }
     //分类
     foreach ($CACHE->readCache('sort') as $value) {
         $data[] = array('url' => Url::sort($value['sid']), 'lastmod' => time(), 'changefreq' => $this->changefreq[2], 'priority' => $this->priority[2]);
     }
     //标签
     foreach ($CACHE->readCache('tags') as $value) {
         $data[] = array('url' => Url::tag($value['tagurl']), 'lastmod' => time(), 'changefreq' => $this->changefreq[3], 'priority' => $this->priority[3]);
     }
     //碎语
     if (Option::get('istwitter') == 'y') {
         $newtws_cache = $CACHE->readCache('newtw');
         $data[] = array('url' => BLOG_URL . 't/', 'lastmod' => $newtws_cache[0]['date'], 'changefreq' => $this->changefreq[4], 'priority' => $this->priority[4]);
     }
     //归档
     foreach ($CACHE->readCache('record') as $value) {
         preg_match("/^([\\d]{4})([\\d]{2})\$/", $value['date'], $match);
         $days = getMonthDayNum($match[2], $match[1]);
         $lastmod = emStrtotime($value['date'] . '01') + 3600 * 24 * $days;
         $data[] = array('url' => Url::record($value['date']), 'lastmod' => $lastmod, 'changefreq' => $this->changefreq[5], 'priority' => $this->priority[5]);
     }
     $this->data = $data;
 }
Пример #3
0
function blog_sort($blogid)
{
    global $CACHE;
    $log_cache_sort = $CACHE->readCache('logsort');
    ?>
	<?php 
    if (!empty($log_cache_sort[$blogid])) {
        ?>
	<a href="<?php 
        echo Url::sort($log_cache_sort[$blogid]['id']);
        ?>
"><?php 
        echo $log_cache_sort[$blogid]['name'];
        ?>
</a>
	<?php 
    }
}
Пример #4
0
function blog_title_sort($blogid)
{
    global $CACHE;
    $log_cache_sort = $CACHE->readCache('logsort');
    if (!empty($log_cache_sort[$blogid])) {
        echo '<a href="' . Url::sort($log_cache_sort[$blogid]['id']) . '" class="article_triggle">' . $log_cache_sort[$blogid]['name'] . '<i></i></a>';
    } else {
        echo '<a href="' . BLOG_URL . '" class="article_triggle">未分类<i></i></a>';
    }
}
Пример #5
0
 /**
  * 获取导航链接
  */
 static function navi($type, $typeId, $url)
 {
     $sorts = Cache::getInstance()->readCache('sort');
     switch ($type) {
         case Navi_Model::navitype_custom:
         case Navi_Model::navitype_home:
         case Navi_Model::navitype_t:
         case Navi_Model::navitype_admin:
             $url = $url;
             break;
         case Navi_Model::navitype_sort:
             $url = Url::sort($typeId);
             break;
         case Navi_Model::navitype_page:
             $url = Url::log($typeId);
             break;
         default:
             $url = (strpos($url, 'http') === 0 ? '' : BLOG_URL) . $url;
             break;
     }
     return $url;
 }
Пример #6
0
    if (!empty($value['children'])) {
        ?>
                <li class="no-padding">
                    <ul class="collapsible collapsible-accordion">
                        <li class="bold">
                            <a class="collapsible-header waves-effect waves-light"><?php 
        echo $value['naviname'];
        ?>
</a>
                            <div class="collapsible-body">
                                <ul>
                                    <?php 
        foreach ($value['children'] as $row) {
            ?>
                                        <li><a class="waves-effect waves-light" href="<?php 
            echo Url::sort($row['sid']);
            ?>
" ><?php 
            echo $row['sortname'];
            ?>
</a></li>
                                    <?php 
        }
        ?>
                                </ul>
                            </div>
                        </li>
                    </ul>
                </li>
            <?php 
    }
Пример #7
0
    <?php 
}
?>
</ul>
 </div>
 <div class="right_4">
 
<?php 
//国内外街舞艺术精品
$sortid = 8;
?>
 <div class="title"><a href="<?php 
echo Url::sort($sortid);
?>
">街舞艺术.国内外街舞艺术精品</a></div><div class="more"><a href="<?php 
echo Url::sort($sortid);
?>
">更多></a></div>
 <ul class="right_5">
    <?php 
$sqlSegment = "and sortid={$sortid} order by sortop DESC,date DESC";
$logs = $Log_Model->getLogsForHome($sqlSegment, 1, 9);
foreach ($logs as $value) {
    ?>
	<li>
    <a href="<?php 
    echo $value['log_url'];
    ?>
"><?php 
    echo $value['log_title'];
    ?>
Пример #8
0
    echo $value['lognum'];
    ?>
)
        </a>
        <?php 
    if (!empty($value['children'])) {
        ?>
            <ul>
            <?php 
        $children = $value['children'];
        foreach ($children as $key) {
            $value = $sort_cache[$key];
            ?>
                <li>
                    <a class="light red-text text-lighten-2" href="<?php 
            echo Url::sort($value['sid']);
            ?>
">
                        <?php 
            echo $value['sortname'];
            ?>
(<?php 
            echo $value['lognum'];
            ?>
)
                    </a>
                </li>
            <?php 
        }
        ?>
            </ul>
Пример #9
0
        echo gmdate('Y-n-j', $value['date']);
        ?>
                                </time>
                                <a class="light margin-right" href="<?php 
        echo Url::author($value['author']);
        ?>
">
                                    <?php 
        echo $user_cache[$value['author']]['name'];
        ?>
                                </a>
                                <?php 
        if (!empty($log_cache_sort[$value['logid']])) {
            ?>
                                    <a class="light red-text text-lighten-2 margin-right" href="<?php 
            echo Url::sort($log_cache_sort[$value['logid']]['id']);
            ?>
">
                                        <?php 
            echo $log_cache_sort[$value['logid']]['name'];
            ?>
                                    </a>
                                <?php 
        }
        ?>
                                <?php 
        if (ROLE == ROLE_ADMIN || $value['author'] == UID) {
            ?>
                                    <a href="<?php 
            echo BLOG_URL;
            ?>
Пример #10
0
/**
 * @des 获取当前页面的导航url 用于导航定位
 * @param $logData 文章数据 查看博文是存在数据
 * @param $logs 文章数据数组 分类下或首页存在
 * @return array ['isSigle'=>boolean,'chirldSortUrl'=>string,'parentSortUrl'=>string]
 */
function getNowPageSortUrl($logData = null, $logs = null)
{
    global $CACHE;
    $logSort = $CACHE->readCache('sort');
    //博客内文章分类信息数组 pid!=0则为子分类
    $chirldSort = array();
    //子分类数组 key为子分类sortid
    foreach ($logSort as $key => $value) {
        if ($value['pid'] != 0) {
            $chirldSort[$value['sid']] = $value;
        }
    }
    //$urlModel    = Option::get('isurlrewrite');//获取博客Url模式
    $nowUrl = BLOG_URL . trim(Dispatcher::setPath(), '/');
    //当前访问的url
    /*文章页*/
    if ($logData) {
        $sortid = $logData['sortid'];
        //文章分类id 未分类或单独页面会显示成-1
        $logid = $logData['logid'];
        //文章id
        $isSigle = $sortid < 0;
        //是否页面、无分类
        if ($isSigle) {
            return array('isSigle' => true, 'chirldSortUrl' => $nowUrl, 'parentSortUrl' => $nowUrl);
        }
        /*检测是否子分类下的文章*/
        $sortUrl = Url::sort($sortid);
        //文章分类url、可能是子分类
        if (array_key_exists($sortid, $chirldSort)) {
            return array('isSigle' => false, 'chirldSortUrl' => $sortUrl, 'parentSortUrl' => Url::sort($chirldSort[$sortid]['pid']));
        } else {
            return array('isSigle' => false, 'chirldSortUrl' => $sortUrl, 'parentSortUrl' => $sortUrl);
        }
    }
    /*碎语*/
    if (isTwiterPage()) {
        return array('isSigle' => false, 'chirldSortUrl' => BLOG_URL . 't', 'parentSortUrl' => BLOG_URL . 't');
    }
    /*列表页*/
    if ($logs) {
        if (isWebIndex()) {
            //首页情况 直接返回博客url
            return array('isSigle' => false, 'chirldSortUrl' => BLOG_URL, 'parentSortUrl' => BLOG_URL);
        }
        $sortid = $logs[0]['sortid'];
        $sortUrl = Url::sort($sortid);
        $nowSort = preg_replace('/\\/page\\/\\d+/', '', preg_replace('/&page=\\d+/', '', $nowUrl));
        if (array_key_exists($sortid, $chirldSort) && $nowSort == $sortUrl) {
            return array('isSigle' => false, 'chirldSortUrl' => $sortUrl, 'parentSortUrl' => Url::sort($chirldSort[$sortid]['pid']));
        } else {
            return array('isSigle' => false, 'chirldSortUrl' => $nowSort, 'parentSortUrl' => $nowSort);
        }
    }
    //特例情况 存在分类 但没有数据的
    return array('isSigle' => false, 'chirldSortUrl' => $nowUrl, 'parentSortUrl' => $nowUrl);
}
Пример #11
0
        <?php 
}
?>
    </div>

    <div class="container light padding-top" id="content">
        <?php 
echo $log_content;
?>
        <div class="margin-vertical">
            <?php 
if (!empty($log_cache_sort[$logid])) {
    ?>
                <span class="light red-text text-lighten-2">分类: &nbsp;</span>
                <a class="light red-text text-lighten-2" href="<?php 
    echo Url::sort($log_cache_sort[$logid]['id']);
    ?>
">
                    <?php 
    echo $log_cache_sort[$logid]['name'];
    ?>
                </a>
            <?php 
}
?>
            &nbsp;/&nbsp;
            <div class="tag" style="display: inline-block;">
                <span class="light red-text text-lighten-2">标签: &nbsp;</span>
                <?php 
if (!empty($log_cache_tags[$logid])) {
    ?>
Пример #12
0
        <?php 
//对外合作
$sortid = 5;
?>
        <div class="spaceline"></div>
        <div class="title"><a href="<?php 
echo utl_tool_convertToMobile(Url::sort($sortid));
?>
">对外合作</a>
            <?php 
$Sort_Model = new Sort_Model();
$sorts = $Sort_Model->getChildSorts($sortid);
$sort_ids_str = $sortid;
foreach ($sorts as $val) {
    $sort_ids_str .= ',' . $val['sid'];
    echo " | <a class=\"title_1\" href=\"" . utl_tool_convertToMobile(Url::sort($val['sid'])) . "\">{$val['sortname']}</a>";
}
?>
        </div>
        <div class="spaceline"></div>
        <ul class="left_4">
            <?php 
$sqlSegment = "and sortid IN ({$sort_ids_str}) order by sortop DESC,date DESC";
$logs = $Log_Model->getLogsForHome($sqlSegment, 1, 6);
$cover_img = '';
foreach ($logs as $value) {
    ?>
                <li>
                    <?php 
    blog_cover($value['logid'], $cover_img, 230, 137);
    ?>
Пример #13
0
    $cache['changefreq'] = 'Weekly';
    $cache['priority'] = '0.3';
    $XMLData[] = $cache;
}
#关键词
foreach ($TagsArr as $key => $value) {
    $cache = array();
    $cache['loc'] = Url::tag($value['tagurl']);
    $cache['changefreq'] = 'Weekly';
    $cache['priority'] = '0.3';
    $XMLData[] = $cache;
}
#分类
foreach ($SortArr as $key => $value) {
    $cache = array();
    $cache['loc'] = Url::sort($key);
    $cache['changefreq'] = 'Weekly';
    $cache['priority'] = '0.3';
    $XMLData[] = $cache;
}
#输出
$XmlString = '';
#字符串变量收集之后再输出主要是为了适配静态化该xml
$XmlString .= '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
$XmlString .= '<?xml-stylesheet type="text/xsl" href="' . BLOG_URL . 'content/templates/J4/Public/Style/sitemap.xsl"?>' . PHP_EOL;
$XmlString .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL;
foreach ($XMLData as $key => $value) {
    $XmlString .= '<url>' . PHP_EOL;
    $XmlString .= '    <loc>' . $value['loc'] . '</loc>' . PHP_EOL;
    if (isset($value['lastmod'])) {
        $XmlString .= '    <lastmod>' . $value['lastmod'] . '</lastmod>' . PHP_EOL;