Пример #1
0
 function display($params)
 {
     $Log_Model = new Log_Model();
     $options_cache = Option::getAll();
     extract($options_cache);
     $page = isset($params[4]) && $params[4] == 'page' ? abs(intval($params[5])) : 1;
     $record = isset($params[1]) && $params[1] == 'record' ? intval($params[2]) : '';
     $GLOBALS['record'] = $record;
     //for sidebar calendar
     $pageurl = '';
     //page meta
     $site_title = $record . ' - ' . $site_title;
     if (preg_match("/^([\\d]{4})([\\d]{2})\$/", $record, $match)) {
         $days = getMonthDayNum($match[2], $match[1]);
         $record_stime = emStrtotime($record . '01');
         $record_etime = $record_stime + 3600 * 24 * $days;
     } else {
         $record_stime = emStrtotime($record);
         $record_etime = $record_stime + 3600 * 24;
     }
     $sqlSegment = "and date>={$record_stime} and date<{$record_etime} order by date desc";
     $lognum = $Log_Model->getLogNum('n', $sqlSegment);
     $total_pages = ceil($lognum / $index_lognum);
     if ($page > $total_pages) {
         $page = $total_pages;
     }
     $start_limit = ($page - 1) * $index_lognum;
     $pageurl .= Url::record($record, 'page');
     $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum);
     $page_url = pagination($lognum, $index_lognum, $page, $pageurl);
     include View::getView('header');
     include View::getView('log_list');
 }
Пример #2
0
 public function load($cid)
 {
     static $instances = array();
     if (empty($cid)) {
         return NULL;
     }
     if (!isset($instances[$cid])) {
         // Check if this record exist or not
         $sql = Komento::getSql();
         $sql->select('#__js_res_record')->column('id', 'id', 'count')->where('id', $cid);
         $result = $sql->loadResult();
         if ($result < 1) {
             return $this->onLoadArticleError($cid);
         }
         $item = ItemsStore::getRecord($cid);
         $item->url = $this->prepareLink(Url::record($item));
         $instances[$cid] = $item;
     }
     $this->_item = $instances[$cid];
     return $this;
 }
Пример #3
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;
 }
 function getObjectInfo($id, $language = null)
 {
     $info = new JCommentsObjectInfo();
     $helper = JPATH_ROOT . '/components/com_cobalt/library/php/helper.php';
     if (is_file($helper)) {
         require_once $helper;
         $db = JFactory::getDbo();
         $query = $db->getQuery(true);
         $query->select('*');
         $query->from('#__js_res_record');
         $query->where('id = ' . (int) $id);
         $db->setQuery($query);
         $record = $db->loadObject();
         if (!empty($record)) {
             $info->title = $record->title;
             $info->access = $record->access;
             $info->userid = $record->user_id;
             $info->link = JRoute::_(Url::record($record));
         }
     }
     return $info;
 }
Пример #5
0
function widget_archive($title)
{
    global $CACHE;
    $record_cache = $CACHE->readCache('record');
    ?>
	<li>
	<h3><span><?php 
    echo $title;
    ?>
</span></h3>
	<ul id="record">
	<?php 
    foreach ($record_cache as $value) {
        ?>
	<li><a href="<?php 
        echo Url::record($value['date']);
        ?>
"><?php 
        echo $value['record'];
        ?>
(<?php 
        echo $value['lognum'];
        ?>
)</a></li>
	<?php 
    }
    ?>
	</ul>
	</li>
<?php 
}
Пример #6
0
function widget_archive($title)
{
    global $CACHE;
    $record_cache = $CACHE->readCache('record');
    ?>
	<aside id="text-2" class="widget widget_text">
		<h3 class="panel-heading widget-title"><?php 
    echo $title;
    ?>
</h3>
	<?php 
    foreach ($record_cache as $value) {
        ?>
		<div class="content">
			<h4 class="entry-title"><a rel="bookmark" href="<?php 
        echo Url::record($value['date']);
        ?>
"><?php 
        echo $value['record'];
        ?>
(<?php 
        echo $value['lognum'];
        ?>
)</a></h4>
		</div>
	<?php 
    }
    ?>
	</aside>
<?php 
}
Пример #7
0
function widget_archive($title)
{
    global $CACHE;
    $record_cache = $CACHE->readCache('record');
    ?>
	<div class="widget widget_archive">
		<h3><?php 
    echo $title;
    ?>
</h3>
		<div class="J_archive">
		<?php 
    foreach ($record_cache as $value) {
        ?>
			<a href="<?php 
        echo Url::record($value['date']);
        ?>
" data-title="共计<?php 
        echo $value['lognum'];
        ?>
篇" title="共计<?php 
        echo $value['lognum'];
        ?>
篇" class="tooltips"><i class="fa fa-archive"></i> <?php 
        echo $value['record'];
        ?>
(<?php 
        echo $value['lognum'];
        ?>
)</a>
		<?php 
    }
    ?>
		</div>
	</div>
<?php 
}
Пример #8
0
 /**
  * 生成日历
  */
 static function generate()
 {
     $DB = Database::getInstance();
     //建立文章时间写入数组
     $query = $DB->query("SELECT date FROM " . DB_PREFIX . "blog WHERE hide='n' and checked='y' and type='blog'");
     while ($date = $DB->fetch_array($query)) {
         $logdate[] = date("Ymd", $date['date']);
     }
     //获取当前日期
     $n_year = date("Y");
     $n_year2 = date("Y");
     $n_month = date("m");
     $n_day = date("d");
     $time = date("Ymd");
     $year_month = date("Ym");
     if (isset($_GET['record'])) {
         $n_year = substr(intval($_GET['record']), 0, 4);
         $n_year2 = substr(intval($_GET['record']), 0, 4);
         $n_month = substr(intval($_GET['record']), 4, 2);
         $year_month = substr(intval($_GET['record']), 0, 6);
     }
     //年月跳转连接
     $m = $n_month - 1;
     $mj = $n_month + 1;
     $m = $m < 10 ? '0' . $m : $m;
     $mj = $mj < 10 ? '0' . $mj : $mj;
     $year_up = $n_year;
     $year_down = $n_year;
     if ($mj > 12) {
         $mj = '01';
         $year_up = $n_year + 1;
     }
     if ($m < 1) {
         $m = '12';
         $year_down = $n_year - 1;
     }
     $url = DYNAMIC_BLOGURL . '?action=cal&record=' . ($n_year - 1) . $n_month;
     //上一年份
     $url2 = DYNAMIC_BLOGURL . '?action=cal&record=' . ($n_year + 1) . $n_month;
     //下一年份
     $url3 = DYNAMIC_BLOGURL . '?action=cal&record=' . $year_down . $m;
     //上一月份
     $url4 = DYNAMIC_BLOGURL . '?action=cal&record=' . $year_up . $mj;
     //下一月份
     $calendar = "<table class=\"calendartop\" cellspacing=\"0\"><tr>\n\t\t<td><a href=\"javascript:void(0);\" onclick=\"sendinfo('{$url}','calendar');\"> &laquo; </a>{$n_year2}<a href=\"javascript:void(0);\" onclick=\"sendinfo('{$url2}','calendar');\"> &raquo; </a></td>\n\t\t<td><a href=\"javascript:void(0);\" onclick=\"sendinfo('{$url3}','calendar');\"> &laquo; </a>{$n_month}<a href=\"javascript:void(0);\" onclick=\"sendinfo('{$url4}','calendar');\"> &raquo; </a></td>\n\t\t</tr></table>\n\t\t<table class=\"calendar\" cellspacing=\"0\">\n\t\t<tr><td class=\"week\">一</td><td class=\"week\">二</td><td class=\"week\">三</td><td class=\"week\">四</td><td class=\"week\">五</td><td class=\"week\">六</td><td class=\"sun\">日</td></tr>";
     //获取给定年月的第一天是星期几
     $week = @gmdate("w", gmmktime(0, 0, 0, $n_month, 1, $n_year));
     //获取给定年月的天数
     $lastday = @gmdate("t", gmmktime(0, 0, 0, $n_month, 1, $n_year));
     //获取给定年月的最后一天是星期几
     $lastweek = @gmdate("w", gmmktime(0, 0, 0, $n_month, $lastday, $n_year));
     if ($week == 0) {
         $week = 7;
     }
     $j = 1;
     $w = 7;
     $isend = false;
     //外循环生成行
     for ($i = 1; $i <= 6; $i++) {
         if ($isend || $i == 6 && $lastweek == 0) {
             break;
         }
         $calendar .= '<tr>';
         //内循环生成列
         for ($j; $j <= $w; $j++) {
             if ($j < $week) {
                 $calendar .= '<td>&nbsp;</td>';
             } elseif ($j <= 7) {
                 $r = $j - $week + 1;
                 //如果该日有文章就显示url样式
                 $n_time = $n_year . $n_month . '0' . $r;
                 //有文章且为当天
                 if (@in_array($n_time, $logdate) && $n_time == $time) {
                     $calendar .= '<td class="day"><a href="' . Url::record($n_time) . '">' . $r . '</a></td>';
                 } elseif (@in_array($n_time, $logdate)) {
                     $calendar .= '<td class="day2"><a href="' . Url::record($n_time) . '">' . $r . '</a></td>';
                 } elseif ($n_time == $time) {
                     $calendar .= '<td class="day">' . $r . '</td>';
                 } else {
                     $calendar .= '<td>' . $r . '</td>';
                 }
             } else {
                 $t = $j - ($week - 1);
                 if ($t > $lastday) {
                     $isend = true;
                     $calendar .= '<td>&nbsp;</td>';
                 } else {
                     //如果该日有文章就显示url样式
                     $t < 10 ? $n_time = $n_year . $n_month . '0' . $t : ($n_time = $n_year . $n_month . $t);
                     if (@in_array($n_time, $logdate) && $n_time == $time) {
                         $calendar .= '<td class="day"><a href="' . Url::record($n_time) . '">' . $t . '</a></td>';
                     } elseif (@in_array($n_time, $logdate)) {
                         $calendar .= '<td class="day2"><a href="' . Url::record($n_time) . '">' . $t . '</a></td>';
                     } elseif ($n_time == $time) {
                         $calendar .= '<td class="day">' . $t . '</td>';
                     } else {
                         $calendar .= '<td>' . $t . '</td>';
                     }
                 }
             }
         }
         //内循环结束
         $calendar .= '</tr>';
         $w += 7;
     }
     //外循环结束
     $calendar .= '</table>';
     echo $calendar;
 }
Пример #9
0
}
?>

<h5 class="light teal-text text-darken-2 center padding-horizontal">
    <?php 
echo $widgets_exist['archive']['title'];
?>
</h5>

<ul id="record" class="padding-horizontal">
<?php 
foreach ($record_cache as $value) {
    ?>
    <li>
        <a class="light red-text text-lighten-2" href="<?php 
    echo Url::record($value['date']);
    ?>
">
            <?php 
    echo $value['record'];
    ?>
(<?php 
    echo $value['lognum'];
    ?>
)
        </a>
    </li>
<?php 
}
?>
</ul>
Пример #10
0
 public static function getSectionRecords($params)
 {
     $db = JFactory::getDbo();
     $items = null;
     $sql = $db->getQuery(true);
     $sql->select('id');
     $sql->from('#__js_res_record');
     $sql->where('published = 1');
     $sql->where('hidden = 0');
     $sql->where('section_id = ' . $params->get('section_id'));
     $sql->where("ctime < " . $db->quote(JFactory::getDate()->toSql()));
     $sql->where("(extime = '0000-00-00 00:00:00' OR extime > '" . JFactory::getDate()->toSql() . "')");
     $sql->where("id NOT IN (SELECT record_id FROM #__js_res_record_category WHERE section_id = '" . $params->get('section_id') . "')");
     $db->setQuery($sql, 0, $params->get('records_limit') ? $params->get('records_limit') + 1 : 0);
     if ($recs = $db->loadColumn()) {
         $items = array();
         foreach ($recs as $rid) {
             $record = ItemsStore::getRecord($rid);
             $record->url = Url::record($record);
             $items[] = $record;
         }
     }
     return $items;
 }
Пример #11
0
 function onContentSearch($text, $phrase = '', $ordering = '', $areas = null)
 {
     $out = array();
     $text = trim($text);
     if ($text == '') {
         return $out;
     }
     $db = JFactory::getDbo();
     $app = JFactory::getApplication();
     $user = JFactory::getUser();
     $groups = implode(',', $user->getAuthorisedViewLevels());
     $tag = JFactory::getLanguage()->getTag();
     require_once JPATH_SITE . '/components/com_cobalt/library/php/helpers/helper.php';
     require_once JPATH_SITE . '/components/com_content/helpers/route.php';
     require_once JPATH_SITE . '/administrator/components/com_search/helpers/search.php';
     $searchText = $text;
     $intersect = array_keys($this->onContentSearchAreas());
     if (is_array($areas)) {
         $intersect = array_intersect($areas, array_keys($this->onContentSearchAreas()));
     }
     if (!$intersect) {
         return $out;
     }
     JArrayHelper::toInteger($intersect);
     $sArchived = $this->params->get('search_archived', 1);
     $limit = $this->params->def('search_limit', 50);
     $nullDate = $db->getNullDate();
     $date = JFactory::getDate();
     $now = $date->toSql();
     $query = $db->getQuery(TRUE);
     $query->select('*');
     $query->from('#__js_res_record');
     $query->where('published = 1');
     $query->where('section_id IN (' . implode(',', $intersect) . ')');
     $search_mode = NULL;
     $scount = explode(" ", $text);
     ArrayHelper::clean_r($scount);
     $search = $db->quote($db->escape($text));
     if (count($scount) > 2) {
         $search_mode = ' IN NATURAL LANGUAGE MODE';
         foreach ($scount as $word) {
             if (in_array(substr($word, 0, 1), array('+', '-'))) {
                 $search_mode = ' IN BOOLEAN MODE';
                 break;
             }
         }
         $query->where("MATCH (fieldsdata) AGAINST ({$search}{$search_mode})");
     } elseif (count($scount) == 1) {
         $query->where("fieldsdata LIKE '%{$text}%'");
     }
     //$query->select("MATCH (fieldsdata) AGAINST ({$search}{$search_mode}) AS searchresult");
     if ($app->isSite() && $app->getLanguageFilter()) {
         $query->where('langs IN (' . $db->Quote($tag) . ',' . $db->Quote('*') . ')');
     }
     switch ($ordering) {
         case 'oldest':
             $order = 'ctime ASC';
             break;
         case 'popular':
             $order = 'hits DESC';
             break;
         case 'alpha':
             $order = 'title ASC';
             break;
         case 'category':
             $order = 'title ASC';
             break;
         case 'newest':
         default:
             $order = 'ctime DESC';
     }
     $query->order($order);
     //echo $query;
     $db->setQuery($query, 0, $limit);
     $result = $db->loadObjectList();
     settype($result, 'array');
     $out = array();
     foreach ($result as $key => $record) {
         $out[$key] = new stdClass();
         $out[$key]->title = $record->title;
         $out[$key]->text = $record->fieldsdata;
         $out[$key]->created = $record->ctime;
         $out[$key]->href = Url::record($record);
         $areas = $this->onContentSearchAreas();
         $out[$key]->section = $areas[$record->section_id . '_section'];
         $out[$key]->browsernav = 0;
     }
     return $out;
 }
Пример #12
0
}
#独立页面
$Sql = "SELECT `gid`,`date`,`comnum`,`views` FROM `" . DB_PREFIX . "blog` WHERE `type` = 'page' AND `hide` = 'n'";
$res = $DbModel->query($Sql);
while ($row = $DbModel->fetch_array($res)) {
    $cache = array();
    $cache['loc'] = Url::log($row['gid']);
    $cache['lastmod'] = date('Y-m-d', $row['date']);
    $cache['changefreq'] = 'daily';
    $cache['priority'] = $row['views'] <= 500 || $row['comnum'] < 1 ? '0.9' : '1.0';
    $XMLData[] = $cache;
}
#归档
foreach ($RecordArr as $key => $value) {
    $cache = array();
    $cache['loc'] = Url::record($value['date']);
    $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();
Пример #13
0
function widget_archive($title)
{
    global $CACHE;
    $record_cache = $CACHE->readCache('record');
    ?>
	<aside class="widget clearfix widget_archive" id="archives">
		<h3 class="widget-title"><?php 
    echo $title;
    ?>
</h3>
		<ul><?php 
    foreach ($record_cache as $value) {
        ?>
			<li><a title="<?php 
        echo $value['record'];
        ?>
 href="<?php 
        echo Url::record($value['date']);
        ?>
"><?php 
        echo $value['record'];
        ?>
</a></li><?php 
    }
    ?>
		</ul>
	</aside>
<?php 
}