{
protected static $_data = false;
- public static function _getData()
+ public static function _getData($force = false)
{
- if (self::$_data !== false) {
+ if (!$force && self::$_data !== false) {
return self::$_data;
}
$cacheKey = 'cubedesigners_userdatabase_permissions_data';
- \Barryvdh\Debugbar\Facade::startMeasure($cacheKey, 'Build permissions tree');
- self::$_data = cache()->tags(['model_' . Company::class, 'model_' . User::class])->remember($cacheKey, 86400, function () {
-
+ $closure = function () {
set_time_limit(0);
$data = [
}
return $data;
- });
+ };
+
+ \Barryvdh\Debugbar\Facade::startMeasure($cacheKey, 'Build permissions tree');
+ $cache = cache()->tags(['model_' . Company::class, 'model_' . User::class]);
+ $ttl = 86400;
+ if ($force) {
+ self::$_data = $closure();
+ $cache->put($cacheKey, $ttl, self::$_data);
+ } else {
+ self::$_data = cache()->remember($cacheKey, $ttl, $closure);
+ }
\Barryvdh\Debugbar\Facade::stopMeasure($cacheKey);
+
return self::$_data;
}