Ejemplo n.º 1
0
 /**
  * 导入标签,如果指定了天数,则就从指定前几天,如果没有指定天数,则从上一次插入的时间开始
  * @param LJL_Request $input
  * @param unknown $database
  */
 private function importTag(LJL_Request $input, $database)
 {
     $db = Db_Blog::instance(null, $database);
     if ($input->get('day')) {
         $day = $input->get('day') ? $input->get('day') : 1;
         //默认1天
         $fromInsertTime = SYSTEM_TIME - $day * 24 * 3600;
     } else {
         $sql = "select updateTime from blog_tags order by id desc limit 1";
         $fromInsertTime = $db->getOne($sql);
         $fromInsertTime = $fromInsertTime ? $fromInsertTime : 0;
     }
     //获取总数
     $sql = "select count(*) from blog_article_info where isPublished=1 and updateTime>{$fromInsertTime}";
     $count = $db->getOne($sql);
     $page = 1;
     $pageSize = 100;
     $totalPage = ceil($count / $pageSize);
     while ($totalPage >= $page) {
         $articleInfo = Helper_Blog::getArticleList(array('page' => $page, 'pageSize' => $pageSize, 'fields' => array('id', 'cate', 'tags'), 'updateTime' => $fromInsertTime));
         if ($articleInfo) {
             foreach ($articleInfo as $val) {
                 if (!$val['tags']) {
                     continue;
                 }
                 $tagArr = explode(',', trim(trim($val['tags'], ' '), ','));
                 foreach ($tagArr as $tag) {
                     Helper_Blog::insertTag(array('insertData' => array('articleId' => $val['id'], 'cate' => $val['cate'], 'tag' => $tag, 'updateTime' => SYSTEM_TIME)));
                 }
             }
         }
         $page++;
     }
     echo $database . ' tags import over' . PHP_EOL;
 }