Advertisement
benshepherd

CacheController.php

Aug 12th, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.76 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Cache;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use App\Http\Controllers\Frontend\EventsController;
  7. use App\Http\Controllers\Frontend\FrontendController;
  8. use App\Http\Controllers\Frontend\HomeController;
  9. use App\Http\Controllers\Frontend\UploadController;
  10. use App\Traits\UserTrait;
  11. use App\User;
  12.  
  13. class CacheController extends Controller
  14. {
  15.     public static $CONFIG_KEY = 'CacheController_last_updated_at';
  16.  
  17.     public function homepage()
  18.     {
  19.         cache()->forget(HomeController::$CACHE_KEY);
  20.         $homeController = new HomeController();
  21.         return $homeController->indexGetData();
  22.     }
  23.  
  24.     public function radio()
  25.     {
  26.         $frontendController = new FrontendController();
  27.         cache()->forget($frontendController->radioGetCacheKey());
  28.         return $frontendController->radio();
  29.     }
  30.  
  31.     public function events()
  32.     {
  33.         $eventsController = new EventsController();
  34.         cache()->forget($eventsController->eventsGetCacheKey());
  35.         return $eventsController->events();
  36.     }
  37.  
  38.     public function browseCreations()
  39.     {
  40.         $uploadController = new UploadController();
  41.         $all = $uploadController->browseCreationsCacheKey();
  42.         $rooms = $uploadController->browseCreationsCacheKey('room');
  43.         $picture = $uploadController->browseCreationsCacheKey('picture');
  44.         $video = $uploadController->browseCreationsCacheKey('video');
  45.         $tutorial = $uploadController->browseCreationsCacheKey('tutorial');
  46.         $guide = $uploadController->browseCreationsCacheKey('guide');
  47.  
  48.         cache()->forget($all);
  49.         cache()->forget($rooms);
  50.         cache()->forget($picture);
  51.         cache()->forget($video);
  52.         cache()->forget($tutorial);
  53.         cache()->forget($guide);
  54.  
  55.         $uploadController->browseCreationsAJAX('all');
  56.         $uploadController->browseCreationsAJAX('room');
  57.         $uploadController->browseCreationsAJAX('picture');
  58.         $uploadController->browseCreationsAJAX('video');
  59.         $uploadController->browseCreationsAJAX('tutorial');
  60.         $uploadController->browseCreationsAJAX('guide');
  61.     }
  62.  
  63.     public function users()
  64.     {
  65.         $count = 0;
  66.         User::chunk(30, function($users) use(&$count) {
  67.  
  68.             foreach($users as $user) {
  69.  
  70.                 cache(array(
  71.                    UserTrait::getCacheKey('id', $user->id) => $user
  72.                 ), UserTrait::$CACHE_REMEMBER);
  73.  
  74.                 $count++;
  75.             }
  76.         });
  77.  
  78.         return $count;
  79.     }
  80.     public function done()
  81.     {
  82.         cache([
  83.             CacheController::$CONFIG_KEY => time()
  84.         ], 60 * 24);
  85.     }
  86.  
  87.     public static function getLastUpdatedAt()
  88.     {
  89.         return config(CacheController::$CONFIG_KEY);
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement