Example #1
0
 public function overview()
 {
     $total = Article::count();
     $star = Article::where('star_ind', '1')->count();
     $read = Article::where('status', 'read')->count();
     $unread = $total - $read;
     return response()->json(compact('total', 'star', 'read', 'unread'));
 }
 public function index()
 {
     $article_count = Article::count();
     $category_count = Category::count();
     $tag_count = Tag::count();
     $user_count = User::count();
     return view('admin.console', compact('article_count', 'category_count', 'tag_count', 'user_count'));
 }
Example #3
0
 public function index()
 {
     $userCount = User::count();
     $articleCount = Article::count();
     $tagCount = Tag::count();
     $imageCount = Image::count();
     return view('admin.index', compact('userCount', 'articleCount', 'imageCount', 'tagCount'));
 }
 public function index()
 {
     $title = "Dashboard";
     $article = Article::count();
     $articlecategory = ArticleCategory::count();
     $users = User::count();
     $photo = Photo::count();
     $photoalbum = PhotoAlbum::count();
     return view('admin.dashboard.index', compact('title', 'article', 'articlecategory', 'photo', 'photoalbum', 'users'));
 }
 private function composeDashboard()
 {
     view()->composer('admin.index', function ($view) {
         $numArticle = \App\Article::count();
         $numCategory = \App\Category::count();
         $numTag = \App\Tag::count();
         $numProject = \App\Project::count();
         $numMessage = \App\Message::count();
         $view->with(compact('numArticle', 'numCategory', 'numTag', 'numProject', 'numMessage'));
     });
 }
 public function index()
 {
     $title = "Dashboard";
     $news = Article::count();
     $newscategory = ArticleCategory::count();
     $users = User::count();
     $photo = Photo::count();
     $photoalbum = PhotoAlbum::count();
     $video = Video::count();
     $videoalbum = VideoAlbum::count();
     return view('backend.dashboard.index', compact('title', 'news', 'newscategory', 'video', 'videoalbum', 'photo', 'photoalbum', 'users'));
 }
Example #7
0
 public function Home(Request $request)
 {
     $page = (int) ($request->get('p', '1') > 0 ? $request->get('p', '1') : 1);
     $isPageMax = false;
     $articles = Article::orderBy('publish_at', 'desc')->orderBy('id', 'desc')->skip(($page - 1) * 10)->take(10)->get();
     if (count($articles) == 0 && $page > 1) {
         $pagemax = ceil(Article::count() / 10);
         return Redirect::route('adminArticles', array('p' => $pagemax));
     }
     $nextArticles = Article::orderBy('publish_at', 'desc')->orderBy('id', 'desc')->skip($page * 10)->take(1)->get();
     if (count($nextArticles) == 0) {
         $isPageMax = true;
     }
     return view('admin.articles.home', compact('page', 'isPageMax', 'articles'));
 }
Example #8
0
 public function getFever()
 {
     /* Fever API needs strings for category_id and feed_id's */
     //static for now
     $email = 'username';
     $pass = '******';
     $api_key = md5($email . ':' . $pass);
     //always return status 1: password and username correct
     $status = '1';
     //latest api version is 3
     $arr = ['api_version' => '3', 'auth' => $status];
     //last refreshed is current system time
     $time = ['last_refreshed_on_time' => strtotime('now')];
     $arr = array_merge($arr, $time);
     //when argument is groups, retrieve list with categories and id's
     if (isset($_GET['groups'])) {
         $groups = [];
         $Categories = Category::orderBy('category_order', 'asc')->get();
         if (!empty($Categories)) {
             foreach ($Categories as $Category) {
                 array_push($groups, ['id' => (string) $Category->id, 'title' => $Category->name]);
             }
         }
         $response_arr['groups'] = $groups;
         $arr = array_merge($arr, $response_arr);
     }
     //when argument is feeds, retrieve list with feeds and id's
     if (isset($_GET['feeds'])) {
         $feeds = [];
         $Feeds = Feed::orderBy('feed_name', 'asc')->get();
         if (!empty($Feeds)) {
             foreach ($Feeds as $Feed) {
                 array_push($feeds, ['id' => (int) $Feed->id, 'favicon_id' => (int) $Feed->id, 'title' => $Feed->feed_name, 'url' => $Feed->url, 'site_url' => $Feed->url, 'is_spark' => '0', 'last_updated_on_time' => strtotime($Feed->updated_at)]);
             }
         }
         $response_arr['feeds'] = $feeds;
         $arr = array_merge($arr, $response_arr);
     }
     //when argument is groups or feeds, also return feed id's linked to category id's
     if (isset($_GET['groups']) || isset($_GET['feeds'])) {
         $feeds_groups = [];
         //The array is composed with a group_id and feed_ids containing a string/comma-separated list of positive integers
         $Categories = Category::orderBy('category_order', 'asc')->get();
         if (!empty($Categories)) {
             foreach ($Categories as $key => $Category) {
                 $feeds_groups[$key]['group_id'] = (int) $Category->id;
                 $Feeds = Category::find($Category->id)->feeds;
                 if (!empty($Feeds)) {
                     $feed_ids = [];
                     foreach ($Feeds as $Feed) {
                         array_push($feed_ids, $Feed->id);
                     }
                     $feeds_groups[$key]['feed_ids'] = implode(',', $feed_ids);
                 }
             }
         }
         $response_arr['feeds_groups'] = $feeds_groups;
         $arr = array_merge($arr, $response_arr);
     }
     //return list with all unread article id's
     if (isset($_GET['unread_item_ids'])) {
         $unread_item_ids = [];
         $Articles = Article::where('status', 'unread')->orderBy('id', 'asc')->get();
         if (!empty($Articles)) {
             foreach ($Articles as $Article) {
                 array_push($unread_item_ids, $Article->id);
             }
         }
         //string/comma-separated list of positive integers instead of array
         $stack = implode(',', $unread_item_ids);
         $unreaditems = ['unread_item_ids' => $stack];
         $arr = array_merge($arr, $unreaditems);
     }
     //return string/comma-separated list with id's from read and starred articles
     if (isset($_GET['saved_item_ids'])) {
         $saved_item_ids = [];
         $Articles = Article::where('star_ind', '1')->orderBy('id', 'asc')->get();
         if (!empty($Articles)) {
             foreach ($Articles as $Article) {
                 array_push($saved_item_ids, $Article->id);
             }
         }
         //string/comma-separated list of positive integers instead of array
         $stack = implode(',', $saved_item_ids);
         $saveditems = ['saved_item_ids' => $stack];
         $arr = array_merge($arr, $saveditems);
     }
     //when argument is items, return 50 articles at a time
     if (isset($_GET['items'])) {
         $total_items = [];
         $total_items['total_items'] = Article::count();
         $arr = array_merge($arr, $total_items);
         $items = [];
         //request specific items, a maximum of 50 specific items requested by comma-separated argument
         if (isset($_GET['with_ids'])) {
             //list with id's is comma-separated, so transform to array
             $ArrayIds = explode(',', $_REQUEST['with_ids']);
             //create empty array to store Article results
             $Articles = [];
             if (!empty($ArrayIds)) {
                 foreach ($ArrayIds as $ArrayId) {
                     $Article = Article::find($ArrayId);
                     array_push($Articles, $Article);
                 }
             }
             //request 50 additional items using the highest id of locally cached items
         } elseif (isset($_REQUEST['since_id'])) {
             $Articles = Article::where('id', '>', $_REQUEST['since_id'])->orderBy('id', 'asc')->take(50)->get();
             //request 50 previous items using the lowest id of locally cached items
         } elseif (isset($_REQUEST['max_id'])) {
             $Articles = Article::where('id', '<', $_REQUEST['max_id'])->orderBy('id', 'asc')->take(50)->get();
             //if no argument is given provide total_items and up to 50 items
         } else {
             $Articles = Article::take(50)->orderBy('id', 'asc')->get();
         }
         if (!empty($Articles)) {
             foreach ($Articles as $Article) {
                 array_push($items, ['id' => (int) $Article->id, 'feed_id' => (int) $Article->feed_id, 'title' => $Article->subject, 'author' => $Article->author, 'html' => $Article->content, 'url' => $Article->url, 'is_saved' => (int) $Article->star_ind, 'is_read' => $Article->status == 'read' ? 1 : 0, 'created_on_time' => strtotime($Article->published)]);
             }
         }
         $response_arr['items'] = $items;
         $arr = array_merge($arr, $response_arr);
     }
     //when argument is links, don't return anything at this moment
     if (isset($_GET['links'])) {
         $links = [];
         $response_arr['links'] = $links;
         $arr = array_merge($arr, $response_arr);
     }
     //when argument is groups, retrieve list with categories and id's
     if (isset($_GET['favicons'])) {
         $favicons = [];
         $Feeds = Feed::orderBy('feed_name', 'asc')->get();
         if (!empty($Feeds)) {
             foreach ($Feeds as $Feed) {
                 if (empty($Feed->favicon)) {
                     //TODO: replace with Laravel's URL functionality
                     $faviconurl = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
                     $faviconurl = substr($faviconurl, 0, strpos($faviconurl, 'index.php/api')) . 'img/rss-default.png';
                 } else {
                     $faviconurl = $Feed->favicon;
                 }
                 array_push($favicons, ['id' => (int) $Feed->id, 'title' => $faviconurl]);
             }
             $response_arr['favicons'] = $favicons;
             $arr = array_merge($arr, $response_arr);
         }
     }
     //return fever response
     return response()->json($arr);
 }
 /**
  * 获取文章列表  -- ajax
  * 
  * @param		
  * 
  * @author		wen.zhou@bioon.com
  * 
  * @date		2015-10-25 11:45:44
  * 
  * @return		
  */
 public function getApiarticlelist()
 {
     /*获取参数*/
     $draw = request('draw', 1);
     $start = request('start', 0);
     $length = request('length', 10);
     $search = request('search.value', '');
     /*获取菜单*/
     $obj_article = new Article();
     $count = $obj_article->count();
     /*搜索*/
     if (!empty($search)) {
         $obj_article = $obj_article::where('name', 'like', '%{$search}%');
     }
     /*条数*/
     if ($length != -1) {
         $obj_article = $obj_article->offset($start)->limit($length);
     }
     $result_articles = $obj_article->get();
     $articles = $result_articles->toArray();
     foreach ($result_articles as $key => $result_article) {
         $articles[$key]['update'] = $this->current_user->can('update.articles');
         $articles[$key]['delete'] = $this->current_user->can('delete.articles');
     }
     $returnData = ["draw" => $draw, "recordsTotal" => $count, "recordsFiltered" => $count, 'data' => $articles];
     return response()->json($returnData);
 }
Example #10
0
 public function index()
 {
     $count = ['articles' => Article::count(), 'registrants' => Registrant::count(), 'users' => User::count(), 'messages' => Message::count()];
     return view('admin.dashboard', compact('count'));
 }
Example #11
0
 public function panel()
 {
     $articles = Article::orderBy('created_at', 'desc')->get();
     $count = Article::count();
     return view('admin', ['articles' => $articles, 'count' => $count]);
 }