Example #1
0
 /**
  * 文章列表
  * @return type
  */
 public function articleManage()
 {
     $customer = Auth::user()->name;
     $data = [];
     $classify = new classify();
     $data['catlist'] = $classify->classifyList();
     $search_word = Input::has('search_word') ? Input::get('search_word') : '';
     $per_page = Input::has('per_page') ? Input::get('per_page') : 15;
     $c_id = Input::has('c_id') ? Input::get('c_id') : 0;
     $is_star = Input::has('is_star') ? Input::get('is_star') : 0;
     $data['aticlelist'] = $this->articleListData($c_id, $is_star, $per_page, $search_word);
     $data['source_dir'] = asset("customers/{$customer}/images/s/articles") . '/';
     return Response::json(['err' => 0, 'msg' => '', 'data' => $data]);
 }
 public function get_tweets($json_data = 10)
 {
     if ($this->ajax == 0) {
         array_push($this->js_includes, "js/stream.js");
         $tmpl_tweet_display = new XTemplate('template/tweet_display.xtpl');
         $limit = (int) $json_data;
         $this->js_tmpl->load_template('tweet_display', 'tweet_display.tweet_box');
         $this->js_tmpl->create_js_from_blocks();
     } else {
         $data = json_decode($json_data, true);
         $limit = $data['limit'];
         $return = array();
         $return['success'] = 0;
     }
     // get current user totals
     // get a list of tweets voted on by the current user
     $user_voted_list = array();
     $voted_list = array();
     $rated = $no_news = $news = $news_op = 0;
     $total_rated = $total_no_news = $total_news = $total_news_op = 0;
     // WHERE `ip`='".."'
     $this->db->query("SELECT * FROM `votes`");
     while ($votes = $this->db->fetch_row()) {
         if ($votes['ip'] == $_SERVER['REMOTE_ADDR']) {
             if (empty($user_votes_list[$votes['tweet_id']])) {
                 $rated++;
                 switch ($votes['vote']) {
                     case 1:
                         $no_news++;
                         break;
                     case 2:
                         $news++;
                         break;
                     case 3:
                         $news_op++;
                         break;
                 }
             }
             $user_voted_list[$votes['tweet_id']] = 1;
         }
         $total_rated++;
         switch ($votes['vote']) {
             case 1:
                 $total_no_news++;
                 break;
             case 2:
                 $total_news++;
                 break;
             case 3:
                 $total_news_op++;
                 break;
         }
         $voted_list[$votes['tweet_id']] = 1;
     }
     if (sizeof($voted_list) == 0) {
         $voted_list[0] = 1;
     }
     // check how many tweets with no votes
     $this->db->query("SELECT id FROM `init_tweets`");
     $total_tweets = $this->db->rows();
     if ($total_tweets - sizeof($voted_list) > 1000) {
         $extra = " AND `id`NOT IN(" . implode(",", array_keys($voted_list)) . ")";
     } else {
         $extra = "";
     }
     $classify = new classify(array(1 => "no_news", 2 => "news", 3 => "news_op"), array(), false);
     $classify->add_tweets();
     $type = array(1 => "Not News", 2 => "News Rp", 3 => "News Op");
     $return_tweets = array();
     if (sizeof($user_voted_list) != 0) {
         $user_extra = "AND `id`NOT IN(" . implode(",", array_keys($user_voted_list)) . ")";
     } else {
         $user_extra = "";
     }
     $this->db->query("SELECT * FROM `init_tweets` WHERE 1 " . $user_extra . $extra . " AND `guess`NOT IN(0,1) ORDER BY RAND() LIMIT " . $limit);
     while ($tweet = $this->db->fetch_row()) {
         $return_tweet = array("id" => $tweet['id'], "tweet_text" => $tweet['tweet'], "tweet_id" => $tweet['twitter_id'], "user" => $tweet['user'], "time" => date("g:i a", $tweet['created']), "date" => date("d/m/Y", $tweet['created']), "guess" => $type[$classify->classify_tweet($tweet['tweet'])]);
         if ($this->ajax == 1) {
             $this->fill($return_tweet, $return_tweets);
         } else {
             $this->fill($return_tweet, $tmpl_tweet_display);
         }
     }
     if ($this->ajax == 0) {
         // create a toplist
         $this->db->query("SELECT COUNT(*) as vote_total, ip FROM `votes` GROUP BY `ip` ORDER BY `vote_total` DESC LIMIT 10");
         while ($users = $this->db->fetch_row()) {
             $tmpl_tweet_display->assign('ip', $users['ip']);
             $tmpl_tweet_display->assign('num_classified', $users['vote_total']);
             if ($users['ip'] == $_SERVER['REMOTE_ADDR']) {
                 $tmpl_tweet_display->assign('you', "(You)");
             } else {
                 $tmpl_tweet_display->assign('you', "");
             }
             $tmpl_tweet_display->parse("tweet_display.top_list");
         }
         $tmpl_tweet_display->assign('rated', $rated);
         $tmpl_tweet_display->assign('no_news', $no_news);
         $tmpl_tweet_display->assign('news', $news);
         $tmpl_tweet_display->assign('news_op', $news_op);
         $tmpl_tweet_display->assign('total_rated', $total_rated);
         $tmpl_tweet_display->assign('total_no_news', $total_no_news);
         $tmpl_tweet_display->assign('total_news', $total_news);
         $tmpl_tweet_display->assign('total_news_op', $total_news_op);
         $tmpl_tweet_display->parse("tweet_display");
         $this->template_out =& $tmpl_tweet_display;
     } else {
         $return['success'] = 1;
         $return['tweets'] = $return_tweets;
         echo json_encode(utf8json($return));
     }
 }
// include the js templates class
include_once "js_ajax_templates.php";
$js_tmpl = new js_templates($tmpl_header);
include_once "page_base.php";
$page = $_GET['page'];
$tweet = $_GET['tweet'];
switch ($page) {
    case "classify_single":
        include_once "classify.php";
        $main_class = new classify(array(1 => "no_news", 2 => "news", 3 => "news_op"), array(), true);
        $main_class->add_tweets();
        $main_class->classify_tweet(urldecode($tweet));
        break;
    case "classify":
        include_once "classify.php";
        $main_class = new classify();
        $main_class->add_tweets();
        $db->query("SELECT * FROM `init_tweets`");
        while ($tweet = $db->fetch_row()) {
            $db->query("UPDATE `init_tweets` SET `guess`='" . $main_class->classify_tweet($tweet['tweet']) . "' WHERE `id`=" . $tweet['id'], true);
        }
        break;
    default:
        $page = "tweet_display";
        include_once "classify.php";
        include_once "stream.php";
        $main_class = new stream();
        $main_class->get_tweets();
        break;
}
// include global js
Example #4
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     return view('admin.classify.edit')->withclassify(classify::find($id));
 }
Example #5
0
 public function articleManage()
 {
     $data = [];
     $classify = new classify();
     $data['catlist'] = $classify->classifyList();
     $per_page = Input::has('per_page') ? Input::get('per_page') : 15;
     $c_id = Input::has('c_id') ? Input::get('c_id') : 0;
     $is_star = Input::has('is_star') ? Input::get('is_star') : 0;
     $data['aticlelist'] = $this->articleListData($c_id, $is_star, $per_page);
     return Response::json(['err' => 0, 'msg' => '', 'data' => $data]);
 }