<select />
</component>
<component name="ChangeListManager">
- <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wait #5265">
- <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+ <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wip #5279 @1">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningMedia/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningMedia/DownloadOperation.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningPackage/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/ELearningPackage/DownloadOperation.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/FluidbookCollection/DownloadOperation.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/Operations/FluidbookCollection/DownloadOperation.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Models/CubedesignersEmails.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/CubedesignersEmails.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/Console/Commands/Precache.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Commands/Precache.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/Console/Kernel.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Kernel.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/Fields/FluidbookDevelopmentVersion.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Fields/FluidbookDevelopmentVersion.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<workItem from="1652177641382" duration="4133000" />
<workItem from="1652252396495" duration="7552000" />
<workItem from="1652268786509" duration="1257000" />
- <workItem from="1652692762350" duration="3475000" />
- </task>
- <task id="LOCAL-00228" summary="wip #5045 @3">
- <created>1643626707430</created>
- <option name="number" value="00228" />
- <option name="presentableId" value="LOCAL-00228" />
- <option name="project" value="LOCAL" />
- <updated>1643626707430</updated>
+ <workItem from="1652692762350" duration="3636000" />
+ <workItem from="1652718109996" duration="2775000" />
</task>
<task id="LOCAL-00229" summary="wait #5045">
<created>1643643166162</created>
<option name="project" value="LOCAL" />
<updated>1652262608514</updated>
</task>
- <option name="localTasksCounter" value="277" />
+ <task id="LOCAL-00277" summary="wip #5279 @1">
+ <created>1652696273554</created>
+ <option name="number" value="00277" />
+ <option name="presentableId" value="LOCAL-00277" />
+ <option name="project" value="LOCAL" />
+ <updated>1652696273554</updated>
+ </task>
+ <option name="localTasksCounter" value="278" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" />
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
- <MESSAGE value="wip #5093 @3" />
<MESSAGE value="wip #5041 @0.25" />
<MESSAGE value="wait #5109 @2.5" />
<MESSAGE value="wip #5127 @1" />
<MESSAGE value="wip #5228 @1.5" />
<MESSAGE value="wait #5265 @3" />
<MESSAGE value="wait #5265" />
- <option name="LAST_COMMIT_MESSAGE" value="wait #5265" />
+ <MESSAGE value="wip #5279 @1" />
+ <option name="LAST_COMMIT_MESSAGE" value="wip #5279 @1" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
use Cubedesigners\UserDatabase\Permissions;
use Cubist\Backpack\Console\Commands\CubistCommand;
use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+use Cubist\Util\PHP;
class Precache extends CubistCommand
{
public function handle()
{
+ set_time_limit(300);
$actions = [
'Cache user data' => 'class:' . User::class,
'Cache company data' => 'class:' . Company::class,
'Cache permissions data' => 'permissions',
- 'Cache fluidbook publication data' => 'class:' . FluidbookPublication::class,
'Cache fluidbook quote data' => 'class:' . FluidbookQuote::class,
'Cache fluidbook theme data' => 'class:' . FluidbookTheme::class,
'Cache fluidbook icon set data' => 'class:' . FluidbookIconset::class,
'Cache quiz data' => 'class:' . Quiz::class,
'Cache elearning media data' => 'class:' . ELearningMedia::class,
'Cache elearning package data' => 'class:' . ELearningPackage::class,
+ 'Cache fluidbook publication data' => 'class:' . FluidbookPublication::class,
];
$user = AuthUser::where('id', self::$_admin)->first();
if (method_exists($this, $actionName)) {
return $this->$actionName();
}
- if (strpos($actionName, 'class:')) {
- return $this->preCacheClass(substr($actionName, 6));
+ if (str_contains($actionName, 'class:')) {
+ $class = substr($actionName, 6);
+ return $this->preCacheClass($class);
}
}
protected function preCacheClass($className)
{
- $instances = $className::withoutGlobalScopes()->get();
- foreach ($instances as $instance) {
- if ($instance instanceof CubistMagicAbstractModel) {
- $instance->preCache();
- }
- break;
+ $instance = $className::withoutGlobalScopes()->first();
+ if ($instance instanceof CubistMagicAbstractModel) {
+ $instance->preCache();
}
}
class FluidbookDevelopmentVersion extends SelectFromArray
{
+ protected static $__options = null;
+
/**
* @throws \JsonException
*/
public function getOptions()
{
- $versions = json_decode(file_get_contents('/home/extranet/www/fluidbook/cache/activebranches'), true, 512, JSON_THROW_ON_ERROR);
+ if (null === self::$__options) {
+ self::$__options = $this->_getOptions();
+ }
+ return self::$__options;
+ }
+
+ protected function _getOptions()
+ {
+ $cacheFile = file_get_contents('/data1/extranet/www/fluidbook/cache/activebranches');
+
+ $versions = json_decode($cacheFile, true, 512, JSON_THROW_ON_ERROR);
$res = ['stable' => 'master : git (stable)',
- 'dev'=> 'master : local (dev)'];
+ 'dev' => 'master : local (dev)'];
foreach ($versions as $version) {
if ($version === 'master') {