--- /dev/null
+<?php
+
+namespace App\Console\Commands;
+
+use App\Console\Commands\Base\ToolboxCommand;
+use App\Fluidbook\Link\LinksData;
+use App\Models\FluidbookPublication;
+
+class SCORMCloseForHemsley extends ToolboxCommand
+{
+ protected $signature = 'scorm:closeforhemsley';
+
+ public function handle()
+ {
+ $fluidbooks = FluidbookPublication::withoutGlobalScopes()->where('c_title', 'LIKE', 'Hemsley\ Fraser\ -%')->get();
+
+ $changed = 0;
+ foreach ($fluidbooks as $fluidbook) {
+ /** @var $fluidbook FluidbookPublication */
+ $fluidbook->getLinksAndRulers($links, $rulers, 'latest', true);
+ $change = false;
+ foreach ($links as $id => $link) {
+ if (trim($link['to'], ' ;') === 'javascript:scormComplete()') {
+ $change = true;
+ $links[$id]['to'] = 'javascript:scormCompleteAndClose();';
+ }
+ }
+ if ($change) {
+ LinksData::saveLinksInFile($fluidbook->id, 0, 'Automatic change of scormComplete() function (see details in ticket #7661)', $links, $rulers);
+ $changed++;
+ }
+ }
+ $this->line($changed . ' fluidbooks altered');
+ }
+}
protected static function _fixV2TooltipLinks(&$links)
{
foreach ($links as $k => $link) {
- if ($link['type'] == Link::TOOLTIP && (!$link['inline'] || $link['inline'] === 'popup')) {
+ if ($link['type'] == Link::TOOLTIP && (!isset($link['inline']) || !$link['inline'] || $link['inline'] === 'popup')) {
$links[$k]['type'] = Link::TEXT_POPUP;
$links[$k]['to'] = $link['infobulle'];
$links[$k]['infobulle'] = $links[$k]['tooltip'] = '';