Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\Cache;
- use App\Http\Controllers\Controller;
- use App\Http\Controllers\Frontend\EventsController;
- use App\Http\Controllers\Frontend\FrontendController;
- use App\Http\Controllers\Frontend\HomeController;
- use App\Http\Controllers\Frontend\UploadController;
- use App\Traits\UserTrait;
- use App\User;
- class CacheController extends Controller
- {
- public static $CONFIG_KEY = 'CacheController_last_updated_at';
- public function homepage()
- {
- cache()->forget(HomeController::$CACHE_KEY);
- $homeController = new HomeController();
- return $homeController->indexGetData();
- }
- public function radio()
- {
- $frontendController = new FrontendController();
- cache()->forget($frontendController->radioGetCacheKey());
- return $frontendController->radio();
- }
- public function events()
- {
- $eventsController = new EventsController();
- cache()->forget($eventsController->eventsGetCacheKey());
- return $eventsController->events();
- }
- public function browseCreations()
- {
- $uploadController = new UploadController();
- $all = $uploadController->browseCreationsCacheKey();
- $rooms = $uploadController->browseCreationsCacheKey('room');
- $picture = $uploadController->browseCreationsCacheKey('picture');
- $video = $uploadController->browseCreationsCacheKey('video');
- $tutorial = $uploadController->browseCreationsCacheKey('tutorial');
- $guide = $uploadController->browseCreationsCacheKey('guide');
- cache()->forget($all);
- cache()->forget($rooms);
- cache()->forget($picture);
- cache()->forget($video);
- cache()->forget($tutorial);
- cache()->forget($guide);
- $uploadController->browseCreationsAJAX('all');
- $uploadController->browseCreationsAJAX('room');
- $uploadController->browseCreationsAJAX('picture');
- $uploadController->browseCreationsAJAX('video');
- $uploadController->browseCreationsAJAX('tutorial');
- $uploadController->browseCreationsAJAX('guide');
- }
- public function users()
- {
- $count = 0;
- User::chunk(30, function($users) use(&$count) {
- foreach($users as $user) {
- cache(array(
- UserTrait::getCacheKey('id', $user->id) => $user
- ), UserTrait::$CACHE_REMEMBER);
- $count++;
- }
- });
- return $count;
- }
- public function done()
- {
- cache([
- CacheController::$CONFIG_KEY => time()
- ], 60 * 24);
- }
- public static function getLastUpdatedAt()
- {
- return config(CacheController::$CONFIG_KEY);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement