$this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Centrer la publication sur les couvertures'), 'grade' => 2);
$this->fields['correctCenter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Corriger les lignes blanches entre les pages'), 'grade' => 2);
$this->fields['maxResolution'] = array('type' => 'combo', 'default' => 300, 'editable' => true, 'datas' => array('300dpi' => 300, '150dpi' => 150), 'grade' => 2, 'label' => __('Résolution maximale des pages'));
+ $this->fields['dynamicBackgroundColor'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Couleur de fond dynamique', 'grade' => 3];
$this->forms['3d_mode'] = array('label' => __('Options de visualisation'),
- 'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'maxResolution'));
+ 'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'dynamicBackgroundColor', '|', 'maxResolution'));
$this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'grade' => 3);
$style = array();
foreach ($sheets as $sheet) {
- $style[] = '<link type="text/css" rel="stylesheet" media="screen" href="' . $sheet . '?j='.TIME.'">';
+ $style[] = '<link type="text/css" rel="stylesheet" media="screen" href="' . $sheet . '?j=' . TIME . '">';
}
$style = implode("\n\t\t", $style);
$beginbody = implode("\n", array_unique($this->beginBody));
- $jstime="?j=".TIME;
+ $jstime = "?j=" . TIME;
$iscript = '';
if (count($this->htmlmultimedia)) {
$iscript .= '</script>' . "\n";
}
- $script = '<script type="text/javascript" charset="utf-8" src="data/datas.js'.$jstime.'"></script>' . "\n";
+ $script = '<script type="text/javascript" charset="utf-8" src="data/datas.js' . $jstime . '"></script>' . "\n";
foreach ($this->jsLibs as $jsLib => $files) {
- $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/' . $jsLib . '.js'.$jstime.'"></script>' . "\n";
+ $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/' . $jsLib . '.js' . $jstime . '"></script>' . "\n";
}
if ($this->book->parametres->scorm_enable) {
- $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/scorm.js'.$jstime.'"></script>' . "\n";
+ $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/scorm.js' . $jstime . '"></script>' . "\n";
}
if (count($this->specialJsFiles)) {
- $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/special.js'.$jstime.'"></script>' . "\n";
+ $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/special.js' . $jstime . '"></script>' . "\n";
}
foreach ($this->pluginJs as $p) {
- $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="' . $p . $jstime.'"></script>' . "\n";
+ $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="' . $p . $jstime . '"></script>' . "\n";
}
$script .= $iscript;
protected function beforeWriteConfig()
{
+ // Dynamic background
+ $dbc = [];
+ $p = $this->parseVariables($this->book->parametres->dynamicBackgroundColor);
+ foreach ($p as $range => $color) {
+ $pages = cubeArray::parseRange($range);
+ foreach ($pages as $page) {
+ $dbc[$page] = $color;
+ }
+ }
+ $this->config->dynamicBackgroundColor = $dbc;
+
+ // Content locks
uasort($this->content_lock, function ($a, $b) {
return $a['page'] - $b['page'];
});
$this->beforeWriteConfig();
$config = $this->writeConfig();
+
$this->vdir->file_put_contents('data/datas.js', $config);
$finals = $this->jsLibs;
if ($this->book->parametres->scorm_enable) {