From 85286a3d704fda6c6ac5fe056847588de25101fb Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Thu, 26 Jul 2018 16:15:21 +0000 Subject: [PATCH] done #2166 @1.5 --- inc/ws/Util/class.ws.links.php | 4 +- .../html5/3dflip/class.ws.html5.compiler.php | 257 ++++++++++-------- .../html5/master/class.ws.html5.compiler.php | 256 +++++++++-------- .../html5/master/class.ws.html5.links.php | 1 + .../Util/html5/master/class.ws.html5.seo.php | 3 +- 5 files changed, 290 insertions(+), 231 deletions(-) diff --git a/inc/ws/Util/class.ws.links.php b/inc/ws/Util/class.ws.links.php index f75fac909..b11eecde8 100644 --- a/inc/ws/Util/class.ws.links.php +++ b/inc/ws/Util/class.ws.links.php @@ -30,7 +30,9 @@ class wsLinks 'display_area' => __('Afficher le lien au rollover'), 'extra' => __('Paramètre supplémentaire'), 'alternative' => __('Alternative'), - 'image' => __('Image') + 'read_mode' => __('Mode de lecture'), + 'image' => __('Image'), + 'group' => __('Groupe'), ); new PHPExcel(); diff --git a/inc/ws/Util/html5/3dflip/class.ws.html5.compiler.php b/inc/ws/Util/html5/3dflip/class.ws.html5.compiler.php index 80cda6617..5b26b9042 100644 --- a/inc/ws/Util/html5/3dflip/class.ws.html5.compiler.php +++ b/inc/ws/Util/html5/3dflip/class.ws.html5.compiler.php @@ -168,6 +168,7 @@ class wsHTML5Compiler public $beginBody = array(); public $seoArticles = []; public $securityPolicyWhitelist = ['*.google-analytics.com', '*.youtube.com', '*.ytimg.com']; + protected $_indexVars = null; public $_signature; /** @@ -358,6 +359,10 @@ class wsHTML5Compiler $this->vdir->copyDirectory($from, $directory); } + if ($this->book->parametres->scorm_enable) { + $this->book->parametres->seoVersion = false; + } + $this->log('Copied assets'); $this->loadPlugins(); $this->log('Plugins loaded'); @@ -485,163 +490,184 @@ class wsHTML5Compiler protected function _writeIndex($page) { - global $core; $seo = $this->seo->pages[$page]; $html = $seo->getHTML(); - $titre = $this->book->parametres->title; + $iv = $this->getIndexVars(); - - if (null === $this->_signature) { - $daoSignature = new wsDAOSignature($core->con); - $this->_signature = $daoSignature->selectById($this->book->parametres->signature); + foreach ($iv as $k => $v) { + $html = str_replace($k, $v, $html); } - $credits = ''; - if ($this->_signature->partner != '') { - $credits = '' . $this->_signature->partner . ' '; + if ($this->book->parametres->seoVersion) { + $seo->writePage($html, $this->vdir); + } + if ($page == 1) { + $seo->writePage($html, $this->vdir, 'index.html'); } - $credits .= '' . $this->_signature->main . ''; + } - $hiddenContents = implode("\n", $this->hiddenContents); + public function getIndexVars() + { + if (null === $this->_indexVars) { + global $core; + $titre = $this->book->parametres->title; - $bgcolor = $this->theme->parametres->loadingBackColor; + if (null === $this->_signature) { + $daoSignature = new wsDAOSignature($core->con); + $this->_signature = $daoSignature->selectById($this->book->parametres->signature); + } - // Feuilles de style - $sheets = array_merge($this->stylesheets, $this->specialCSS); + $credits = ''; + if ($this->_signature->partner != '') { + $credits = '' . $this->_signature->partner . ' '; + } + $credits .= '' . $this->_signature->main . ''; - $style = array(); - foreach ($sheets as $sheet) { - $style[] = ''; - } - $style = implode("\n\t\t", $style); + $hiddenContents = implode("\n", $this->hiddenContents); - $pagesContents = ''; + $bgcolor = $this->theme->parametres->loadingBackColor; - $cache = ''; + // Feuilles de style + $sheets = array_merge($this->stylesheets, $this->specialCSS); - $beginbody = implode("\n", array_unique($this->beginBody)); + $style = array(); + foreach ($sheets as $sheet) { + $style[] = ''; + } + $style = implode("\n\t\t", $style); - $iscript = ''; - if (count($this->htmlmultimedia)) { - $iscript .= '' . "\n"; - } + $pagesContents = ''; - $script = '' . "\n"; - $script .= '' . "\n"; - $script .= '' . "\n"; - if ($this->book->parametres->scorm_enable) { - $script .= '' . "\n"; - } - if (count($this->specialJsFiles)) { - $script .= '' . "\n"; - } - foreach ($this->pluginJs as $p) { - $script .= '' . "\n"; - } - $script .= $iscript; + $cache = ''; + + $beginbody = implode("\n", array_unique($this->beginBody)); - $socialTitle = $this->book->parametres->facebook_title ? $this->book->parametres->facebook_title : $titre; - $socialDescription = $this->book->parametres->seoDescription ? $this->book->parametres->seoDescription : $this->book->parametres->seoDescription; - $socialImage = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $this->book_id . '&j=' . TIME; - $dim = CubeIT_Image::getimagesize($socialImage); - $socialImageWidth = $dim[0]; - $socialImageHeight = $dim[1]; + $iscript = ''; + if (count($this->htmlmultimedia)) { + $iscript .= '' . "\n"; + } - $twittercard = ' + $script = '' . "\n"; + $script = '' . "\n"; + $script .= '' . "\n"; + if ($this->book->parametres->scorm_enable) { + $script .= '' . "\n"; + } + if (count($this->specialJsFiles)) { + $script .= '' . "\n"; + } + foreach ($this->pluginJs as $p) { + $script .= '' . "\n"; + } + $script .= $iscript; + + $socialTitle = $this->book->parametres->facebook_title ? $this->book->parametres->facebook_title : $titre; + $socialDescription = $this->book->parametres->seoDescription ? $this->book->parametres->seoDescription : $this->book->parametres->seoDescription; + $socialImage = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $this->book_id . '&j=' . TIME; + $dim = CubeIT_Image::getimagesize($socialImage); + $socialImageWidth = $dim[0]; + $socialImageHeight = $dim[1]; + + $twittercard = ' '; - $opengraph = ' + $opengraph = ' '; - $favicon = ''; - $hasIos = false; - if ($this->theme->parametres->iosicon != '') { - $hasIos = true; - $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->iosicon, 'data/apple-touch-icon.png'); - $favicon .= ''; - } - if ($this->theme->parametres->favicon != '') { - - $pngFile = $this->themeRoot . '/' . $this->theme->parametres->favicon; - $icoFile = $this->themeRoot . '/favicon.ico'; - if (!file_exists($icoFile) || filemtime($icoFile) < filemtime($pngFile) || filemtime(__FILE__) > filemtime($icoFile)) { - $tmp = CubeIT_Files::tempnam() . '.png'; - $convert = "convert $pngFile -resize 64x64^ -gravity center $tmp"; - `$convert`; - - $icotool = new cubeCommandLine('icotool'); - $icotool->setArg('c'); - $icotool->setArg('o', $icoFile); - $icotool->setArg(null, $tmp); - $icotool->execute(); - - unlink($tmp); + $favicon = ''; + $hasIos = false; + if ($this->theme->parametres->iosicon != '') { + $hasIos = true; + $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->iosicon, 'data/apple-touch-icon.png'); + $favicon .= ''; } - $this->vdir->copy($pngFile, 'data/favicon.png'); - $this->vdir->copy($icoFile, 'data/favicon.ico'); - $favicon .= ''; - $favicon .= ''; - $favicon .= ''; - if (!$hasIos) { - $favicon .= ''; + if ($this->theme->parametres->favicon != '') { + + $pngFile = $this->themeRoot . '/' . $this->theme->parametres->favicon; + $icoFile = $this->themeRoot . '/favicon.ico'; + if (!file_exists($icoFile) || filemtime($icoFile) < filemtime($pngFile) || filemtime(__FILE__) > filemtime($icoFile)) { + $tmp = CubeIT_Files::tempnam() . '.png'; + $convert = "convert $pngFile -resize 64x64^ -gravity center $tmp"; + `$convert`; + + $icotool = new cubeCommandLine('icotool'); + $icotool->setArg('c'); + $icotool->setArg('o', $icoFile); + $icotool->setArg(null, $tmp); + $icotool->execute(); + + unlink($tmp); + } + $this->vdir->copy($pngFile, 'data/favicon.png'); + $this->vdir->copy($icoFile, 'data/favicon.ico'); + $favicon .= ''; + $favicon .= ''; + $favicon .= ''; + if (!$hasIos) { + $favicon .= ''; + } } - } - $print = $this->writePrint(); - $message = sprintf($this->__('Your browser is not up to date and is not able to run this publication. %sLearn more%s'), '
', ''); + $print = $this->writePrint(); + $message = sprintf($this->__('Your browser is not up to date and is not able to run this publication. %sLearn more%s'), '
', ''); - $splash = ''; - if ($this->theme->parametres->logoLoader && file_exists($this->themeRoot . $this->theme->parametres->logoLoader)) { - $dim = CubeIT_Image::getimagesize($this->themeRoot . $this->theme->parametres->logoLoader); - if ($dim !== false) { - $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->logoLoader, 'data/images/' . $this->theme->parametres->logoLoader); - $splash .= ''; + $splash = ''; + if ($this->theme->parametres->logoLoader && file_exists($this->themeRoot . $this->theme->parametres->logoLoader)) { + $dim = CubeIT_Image::getimagesize($this->themeRoot . $this->theme->parametres->logoLoader); + if ($dim !== false) { + $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->logoLoader, 'data/images/' . $this->theme->parametres->logoLoader); + $splash .= ''; + } } - } - $svgfiles = array($this->assets . '/images/interface.svg', WS_ICONS . '/' . $this->theme->parametres->iconSet . '/interface.svg'); - $svg = ''; - foreach ($svgfiles as $svgfile) { - if (file_exists($svgfile)) { - $svg .= file_get_contents($svgfile); - } else { - die($svgfile . ' does not exist'); + $svgfiles = array($this->assets . '/images/interface.svg', WS_ICONS . '/' . $this->theme->parametres->iconSet . '/interface.svg'); + $svg = ''; + foreach ($svgfiles as $svgfile) { + if (file_exists($svgfile)) { + $svg .= file_get_contents($svgfile); + } else { + die($svgfile . ' does not exist'); + } } - } - if ($this->phonegap) { - $csp = "securityPolicyWhitelist)) . "; img-src * data:\">"; - } - $vars = array('credits', 'style', 'script', 'pagesContents', 'print', 'hiddenContents', 'splash', 'cache', 'bgcolor', 'message', 'favicon', 'svg', 'beginbody', 'csp', 'opengraph', 'twittercard'); - foreach ($vars as $v) { - if (isset($$v)) { - $html = str_replace('', $$v, $html); - } else { - $html = str_replace('', '', $html); + if ($this->phonegap) { + $csp = "securityPolicyWhitelist)) . "; img-src * data:\">"; } - } - $seo->writePage($html, $this->vdir); - if ($page == 1) { - $seo->writePage($html, $this->vdir, 'index.html'); - } + $vars = array('credits', 'style', 'script', 'pagesContents', 'print', 'hiddenContents', 'splash', 'cache', 'bgcolor', 'message', 'favicon', 'svg', 'beginbody', 'csp', 'opengraph', 'twittercard'); + + $res = []; + foreach ($vars as $v) { + if (isset($$v)) { + $res[''] = $$v; + } else { + $res[''] = ''; + } + } + $this->_indexVars = $res; } + return $this->_indexVars; + } protected function writeIndex() { - foreach ($this->pages as $page => $infos) { - $this->_writeIndex($page); - } + if ($this->book->parametres->seoVersion) { + foreach ($this->pages as $page => $infos) { + $this->_writeIndex($page); + } + } else { + $this->_writeIndex(1); } + } protected function writeWidget() { @@ -1760,14 +1786,13 @@ class wsHTML5Compiler } $origDir = $this->wdir; - + $types = $this->getVideosFormats(); if ($video) { wsTools::encodeWebVideos($origDir . $source, null, true); $e = explode('.', $source); array_pop($e); $base = implode('.', $e); $source = array(); - $types = $this->getVideosFormats(); foreach ($types as $type) { $source[] = $base . '.' . $type; } diff --git a/inc/ws/Util/html5/master/class.ws.html5.compiler.php b/inc/ws/Util/html5/master/class.ws.html5.compiler.php index 853b1651f..da513a1c2 100644 --- a/inc/ws/Util/html5/master/class.ws.html5.compiler.php +++ b/inc/ws/Util/html5/master/class.ws.html5.compiler.php @@ -162,6 +162,7 @@ class wsHTML5Compiler public $beginBody = array(); public $seoArticles = []; public $securityPolicyWhitelist = ['*.google-analytics.com', '*.youtube.com', '*.ytimg.com']; + protected $_indexVars = null; public $_signature; /** @@ -352,6 +353,10 @@ class wsHTML5Compiler $this->vdir->copyDirectory($from, $directory); } + if ($this->book->parametres->scorm_enable) { + $this->book->parametres->seoVersion = false; + } + $this->log('Copied assets'); $this->loadPlugins(); $this->log('Plugins loaded'); @@ -479,161 +484,182 @@ class wsHTML5Compiler protected function _writeIndex($page) { - global $core; $seo = $this->seo->pages[$page]; $html = $seo->getHTML(); - $titre = $this->book->parametres->title; + $iv = $this->getIndexVars(); - - if (null === $this->_signature) { - $daoSignature = new wsDAOSignature($core->con); - $this->_signature = $daoSignature->selectById($this->book->parametres->signature); + foreach ($iv as $k => $v) { + $html = str_replace($k, $v, $html); } - $credits = ''; - if ($this->_signature->partner != '') { - $credits = '' . $this->_signature->partner . ' '; + if ($this->book->parametres->seoVersion) { + $seo->writePage($html, $this->vdir); + } + if ($page == 1) { + $seo->writePage($html, $this->vdir, 'index.html'); } - $credits .= '' . $this->_signature->main . ''; + } - $hiddenContents = implode("\n", $this->hiddenContents); + public function getIndexVars() + { + if (null === $this->_indexVars) { + global $core; + $titre = $this->book->parametres->title; - $bgcolor = $this->theme->parametres->loadingBackColor; - // Feuilles de style - $sheets = array_merge($this->stylesheets, $this->specialCSS); + if (null === $this->_signature) { + $daoSignature = new wsDAOSignature($core->con); + $this->_signature = $daoSignature->selectById($this->book->parametres->signature); + } - $style = array(); - foreach ($sheets as $sheet) { - $style[] = ''; - } - $style = implode("\n\t\t", $style); + $credits = ''; + if ($this->_signature->partner != '') { + $credits = '' . $this->_signature->partner . ' '; + } + $credits .= '' . $this->_signature->main . ''; - $pagesContents = ''; + $hiddenContents = implode("\n", $this->hiddenContents); - $cache = ''; + $bgcolor = $this->theme->parametres->loadingBackColor; - $beginbody = implode("\n", array_unique($this->beginBody)); + // Feuilles de style + $sheets = array_merge($this->stylesheets, $this->specialCSS); - $iscript = ''; - if (count($this->htmlmultimedia)) { - $iscript .= '' . "\n"; - } + $style = array(); + foreach ($sheets as $sheet) { + $style[] = ''; + } + $style = implode("\n\t\t", $style); - $script = '' . "\n"; - $script .= '' . "\n"; - $script .= '' . "\n"; - if ($this->book->parametres->scorm_enable) { - $script .= '' . "\n"; - } - if (count($this->specialJsFiles)) { - $script .= '' . "\n"; - } - foreach ($this->pluginJs as $p) { - $script .= '' . "\n"; - } - $script .= $iscript; + $pagesContents = ''; + + $cache = ''; + + $beginbody = implode("\n", array_unique($this->beginBody)); + + $iscript = ''; + if (count($this->htmlmultimedia)) { + $iscript .= '' . "\n"; + } + + + $script = '' . "\n"; + $script .= '' . "\n"; + if ($this->book->parametres->scorm_enable) { + $script .= '' . "\n"; + } + if (count($this->specialJsFiles)) { + $script .= '' . "\n"; + } + foreach ($this->pluginJs as $p) { + $script .= '' . "\n"; + } + $script .= $iscript; - $socialTitle = $this->book->parametres->facebook_title ? $this->book->parametres->facebook_title : $titre; - $socialDescription = $this->book->parametres->seoDescription ? $this->book->parametres->seoDescription : $this->book->parametres->seoDescription; - $socialImage = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $this->book_id . '&j=' . TIME; - $dim = CubeIT_Image::getimagesize($socialImage); - $socialImageWidth = $dim[0]; - $socialImageHeight = $dim[1]; + $socialTitle = $this->book->parametres->facebook_title ? $this->book->parametres->facebook_title : $titre; + $socialDescription = $this->book->parametres->seoDescription ? $this->book->parametres->seoDescription : $this->book->parametres->seoDescription; + $socialImage = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $this->book_id . '&j=' . TIME; + $dim = CubeIT_Image::getimagesize($socialImage); + $socialImageWidth = $dim[0]; + $socialImageHeight = $dim[1]; - $twittercard = ' + $twittercard = ' '; - $opengraph = ' + $opengraph = ' '; - $favicon = ''; - $hasIos = false; - if ($this->theme->parametres->iosicon != '') { - $hasIos = true; - $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->iosicon, 'data/apple-touch-icon.png'); - $favicon .= ''; - } - if ($this->theme->parametres->favicon != '') { - - $pngFile = $this->themeRoot . '/' . $this->theme->parametres->favicon; - $icoFile = $this->themeRoot . '/favicon.ico'; - if (!file_exists($icoFile) || filemtime($icoFile) < filemtime($pngFile) || filemtime(__FILE__) > filemtime($icoFile)) { - $tmp = CubeIT_Files::tempnam() . '.png'; - $convert = "convert $pngFile -resize 64x64^ -gravity center $tmp"; - `$convert`; - - $icotool = new cubeCommandLine('icotool'); - $icotool->setArg('c'); - $icotool->setArg('o', $icoFile); - $icotool->setArg(null, $tmp); - $icotool->execute(); - - unlink($tmp); + $favicon = ''; + $hasIos = false; + if ($this->theme->parametres->iosicon != '') { + $hasIos = true; + $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->iosicon, 'data/apple-touch-icon.png'); + $favicon .= ''; } - $this->vdir->copy($pngFile, 'data/favicon.png'); - $this->vdir->copy($icoFile, 'data/favicon.ico'); - $favicon .= ''; - $favicon .= ''; - $favicon .= ''; - if (!$hasIos) { - $favicon .= ''; + if ($this->theme->parametres->favicon != '') { + + $pngFile = $this->themeRoot . '/' . $this->theme->parametres->favicon; + $icoFile = $this->themeRoot . '/favicon.ico'; + if (!file_exists($icoFile) || filemtime($icoFile) < filemtime($pngFile) || filemtime(__FILE__) > filemtime($icoFile)) { + $tmp = CubeIT_Files::tempnam() . '.png'; + $convert = "convert $pngFile -resize 64x64^ -gravity center $tmp"; + `$convert`; + + $icotool = new cubeCommandLine('icotool'); + $icotool->setArg('c'); + $icotool->setArg('o', $icoFile); + $icotool->setArg(null, $tmp); + $icotool->execute(); + + unlink($tmp); + } + $this->vdir->copy($pngFile, 'data/favicon.png'); + $this->vdir->copy($icoFile, 'data/favicon.ico'); + $favicon .= ''; + $favicon .= ''; + $favicon .= ''; + if (!$hasIos) { + $favicon .= ''; + } } - } - $print = $this->writePrint(); - $message = sprintf($this->__('Your browser is not up to date and is not able to run this publication. %sLearn more%s'), '
', ''); + $print = $this->writePrint(); + $message = sprintf($this->__('Your browser is not up to date and is not able to run this publication. %sLearn more%s'), '
', ''); - $splash = ''; - if ($this->theme->parametres->logoLoader && file_exists($this->themeRoot . $this->theme->parametres->logoLoader)) { - $dim = CubeIT_Image::getimagesize($this->themeRoot . $this->theme->parametres->logoLoader); - if ($dim !== false) { - $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->logoLoader, 'data/images/' . $this->theme->parametres->logoLoader); - $splash .= ''; + $splash = ''; + if ($this->theme->parametres->logoLoader && file_exists($this->themeRoot . $this->theme->parametres->logoLoader)) { + $dim = CubeIT_Image::getimagesize($this->themeRoot . $this->theme->parametres->logoLoader); + if ($dim !== false) { + $this->vdir->copy($this->themeRoot . '/' . $this->theme->parametres->logoLoader, 'data/images/' . $this->theme->parametres->logoLoader); + $splash .= ''; + } } - } - $svgfiles = array($this->assets . '/images/interface.svg', WS_ICONS . '/' . $this->theme->parametres->iconSet . '/interface.svg'); - $svg = ''; - foreach ($svgfiles as $svgfile) { - if (file_exists($svgfile)) { - $svg .= file_get_contents($svgfile); - } else { - die($svgfile . ' does not exist'); + $svgfiles = array($this->assets . '/images/interface.svg', WS_ICONS . '/' . $this->theme->parametres->iconSet . '/interface.svg'); + $svg = ''; + foreach ($svgfiles as $svgfile) { + if (file_exists($svgfile)) { + $svg .= file_get_contents($svgfile); + } else { + die($svgfile . ' does not exist'); + } } - } - if ($this->phonegap) { - $csp = "securityPolicyWhitelist)) . "; img-src * data:\">"; - } - $vars = array('credits', 'style', 'script', 'pagesContents', 'print', 'hiddenContents', 'splash', 'cache', 'bgcolor', 'message', 'favicon', 'svg', 'beginbody', 'csp', 'opengraph', 'twittercard'); - foreach ($vars as $v) { - if (isset($$v)) { - $html = str_replace('', $$v, $html); - } else { - $html = str_replace('', '', $html); + if ($this->phonegap) { + $csp = "securityPolicyWhitelist)) . "; img-src * data:\">"; } - } + $vars = array('credits', 'style', 'script', 'pagesContents', 'print', 'hiddenContents', 'splash', 'cache', 'bgcolor', 'message', 'favicon', 'svg', 'beginbody', 'csp', 'opengraph', 'twittercard'); - $seo->writePage($html, $this->vdir); - if ($page == 1) { - $seo->writePage($html, $this->vdir, 'index.html'); + $res = []; + foreach ($vars as $v) { + if (isset($$v)) { + $res[''] = $$v; + } else { + $res[''] = ''; + } + } + $this->_indexVars = $res; } + return $this->_indexVars; } protected function writeIndex() { - foreach ($this->pages as $page => $infos) { - $this->_writeIndex($page); + if ($this->book->parametres->seoVersion) { + foreach ($this->pages as $page => $infos) { + $this->_writeIndex($page); + } + } else { + $this->_writeIndex(1); } } @@ -648,7 +674,11 @@ class wsHTML5Compiler $style = ''; $vars = array('titre', 'style', 'script'); foreach ($vars as $v) { - $whtml = str_replace('', $$v, $whtml); + if (isset($$v)) { + $whtml = str_replace('', $$v, $whtml); + } else { + $whtml = str_replace('', '', $whtml); + } } $this->vdir->file_put_contents('widget.html', $whtml); } diff --git a/inc/ws/Util/html5/master/class.ws.html5.links.php b/inc/ws/Util/html5/master/class.ws.html5.links.php index ce364a27c..58eee0cd9 100644 --- a/inc/ws/Util/html5/master/class.ws.html5.links.php +++ b/inc/ws/Util/html5/master/class.ws.html5.links.php @@ -25,6 +25,7 @@ class wsHTML5Link public $in_popup = false; public $display_area; public $read_mode; + public $group; public $infobulle; public $extra; public $id; diff --git a/inc/ws/Util/html5/master/class.ws.html5.seo.php b/inc/ws/Util/html5/master/class.ws.html5.seo.php index 4f7c72424..d9cb36c68 100644 --- a/inc/ws/Util/html5/master/class.ws.html5.seo.php +++ b/inc/ws/Util/html5/master/class.ws.html5.seo.php @@ -158,7 +158,8 @@ class wsHTML5SeoPage 'robots' => $this->robots ? '' : '', 'statsfooter' => $this->footer, 'ga' => $this->ua, - 'seoContent' => $this->getSEOContent()]; + 'seoContent' => $this->getSEOContent(), + 'startpage' => '' . "\n"]; foreach ($vars as $k => $var) { $html = str_replace('', $var, $html); -- 2.39.5