From f4a2ee202ecf2590880affad38103616fd99f17a Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Mon, 26 Apr 2010 07:46:40 +0000 Subject: [PATCH] --- importWs.php | 2 +- inc/ws/Controlleur/class.ws.flash.php | 1 + inc/ws/Metier/class.ws.icone.php | 26 +++++++++++++++----- inc/ws/Metier/class.ws.parametres.php | 6 ++++- inc/ws/Metier/class.ws.theme.parametres.php | 20 +++++++++++---- swf/_src/wsComposer.fla | Bin 664064 -> 664064 bytes 6 files changed, 42 insertions(+), 13 deletions(-) diff --git a/importWs.php b/importWs.php index edf1a8e1c..db233aa9b 100644 --- a/importWs.php +++ b/importWs.php @@ -166,7 +166,6 @@ while ($r->fetch()) { $r = $core->con->select('SELECT * FROM ws.theme'); $theme=new wsTheme(); while ($r->fetch()) { - //$r->iconSet = $r->iid; $c = $core->con->openCursor('themes'); $c->theme_id = $r->tid; $c->icones = $r->iid; @@ -176,6 +175,7 @@ while ($r->fetch()) { $c->signature = $r->sigid; $parametres = new wsThemeParametres($theme); $parametres->fromRecord($r); + $parametres->iconSet=$r->iid; $c->parametres = serialize($parametres); $c->insert(); } diff --git a/inc/ws/Controlleur/class.ws.flash.php b/inc/ws/Controlleur/class.ws.flash.php index 2e8216eb1..49621096b 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -178,6 +178,7 @@ class wsFlash extends cubeFlashGateway { $i = $this->xml->addChild('icone'); $i->addAttribute('id', $icone->icone_id); $i->addAttribute('nom', $icone->nom); + $i->addAttribute('newSet', $icone->isNew()); $i->addAttribute('path', ICONS . $icone->icone_id . '.png'); } } diff --git a/inc/ws/Metier/class.ws.icone.php b/inc/ws/Metier/class.ws.icone.php index 1991984d0..c2f9532f9 100644 --- a/inc/ws/Metier/class.ws.icone.php +++ b/inc/ws/Metier/class.ws.icone.php @@ -4,24 +4,38 @@ class wsIcone extends cubeMetier { public $nom; public $date; + protected $_is_new = null; + public static $files = array('index', 'normal', 'sommaire', 'zoomin', 'zoomout', 'print', 'send', 'bookmark', 'pdf', 'help'); + public static $files_new = array('index', 'normal', 'sommaire', 'print', 'sendfriend', 'bookmark', 'fullscreen', 'normalscreen', 'pdf', 'help'); + + public function isNew() + { + if (is_null($this->_is_new)) { + $this->_is_new = !file_exists(ROOT . '/icones/' . $this->icone_id . '/nav-index-off.png'); + } + return $this->_is_new; + } public function makeImage() { $root = ROOT . '/icones/' . $this->icone_id . '/'; $final = ROOT . '/icones/' . $this->icone_id . '.png'; - if ($this->date <= filemtime($final)) { + if (file_exists($final) && $this->date <= filemtime($final)) { return; } $h = 0; $w = 0; $mod = 0; - foreach(wsIcone::$files as $file) { - $image = $root . 'nav-' . $file . '-off.png'; + + $liste = ($this->isNew())?wsIcone::$files_new:wsIcones::$files; + + foreach($liste as $file) { + $image = $this->isNew()?$root . 'nav-' . $file . '.png':$root . 'nav-' . $file . '-off.png'; $dim = getimagesize($image); - $mod = max(filemtime($file), $mod); + $mod = max(filemtime($image), $mod); $h = max($h, $dim[1]); $w += $dim[0]; } @@ -33,8 +47,8 @@ class wsIcone extends cubeMetier { imagesavealpha($im, true); imagealphablending($im, true); $x = 0; - foreach(self::$files as $file) { - $image = $root . 'nav-' . $file . '-off.png'; + foreach($liste as $file) { + $image = $this->isNew()?$root . 'nav-' . $file . '.png':$root . 'nav-' . $file . '-off.png'; $s = imagecreatefrompng($image); $w = imagesx($s); $h = imagesy($s); diff --git a/inc/ws/Metier/class.ws.parametres.php b/inc/ws/Metier/class.ws.parametres.php index aaa43df28..30efeb20c 100644 --- a/inc/ws/Metier/class.ws.parametres.php +++ b/inc/ws/Metier/class.ws.parametres.php @@ -128,7 +128,11 @@ class wsParametres extends cubeMetier implements Iterator { throw new Exception('You are getting an attribute (' . get_class($this) . '::' . $varname . ') which not exists'); } if (!isset($this->datas[$varname]) || is_null($this->datas[$varname])) { - return $this->fields[$varname]['default']; + if (substr($this->fields[$varname]['default'], 0, 1) == '$') { + return $this->get(substr($this->fields[$varname]['default'],1)); + } else { + return $this->fields[$varname]['default']; + } } return $this->datas[$varname]; } diff --git a/inc/ws/Metier/class.ws.theme.parametres.php b/inc/ws/Metier/class.ws.theme.parametres.php index 26567a6c8..06984986d 100644 --- a/inc/ws/Metier/class.ws.theme.parametres.php +++ b/inc/ws/Metier/class.ws.theme.parametres.php @@ -12,7 +12,7 @@ class wsThemeParametres extends wsParametres { } parent::initFields(); $this->fields['couleurA'] = array('type' => 'couleur', 'default' => '', 'editable' => true, - 'label' => __("Couleur principale (boutons, liens)"), 'extra' => false, 'grade' => 3); + 'label' => __("Couleur de fond"), 'extra' => false, 'grade' => 3); $this->fields['couleurB'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur de fond"), 'extra' => false, 'grade' => 3); $this->fields['subTextColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, @@ -40,8 +40,10 @@ class wsThemeParametres extends wsParametres { 'label' => __("Jeu d'icônes"), 'extra' => false, 'grade' => 3); $this->fields['colorizeIcons'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Colorier les icônes'), 'extra' => true, 'grade' => 4); - $this->fields['couleurI'] = array('type' => 'couleur', 'default' => 'transparent', 'editable' => true, + $this->fields['couleurI'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur des icônes"), 'extra' => false, 'grade' => 3); + $this->fields['iconShadColor'] = array('type' => 'couleur', 'default' => '000000', 'editable' => true, + 'label' => __("Couleur de l'effet de rollover"), 'extra' => false, 'grade' => 3); $this->fields['creditsColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur du texte"), 'extra' => false, 'grade' => 3); $this->fields['backgroundColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, @@ -86,9 +88,13 @@ class wsThemeParametres extends wsParametres { $this->fields['usePageEdges'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la bordure des pages"), 'extra' => true, 'grade' => 4); $this->fields['arrowsColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, - 'label' => __('Couleur des flèches des boutons de navigation (page suivante, page précédente)'), 'extra' => true, 'grade' => 4); + 'label' => __('Couleur des flèches'), 'extra' => true, 'grade' => 4); $this->fields['displayPageNumber'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les numéros de page'), 'extra' => false, 'grade' => 1); + $this->fields['colorPageNumber'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, + 'label' => __('Couleur des numéros de page'), 'extra' => true, 'grade' => 4); + $this->fields['linksColor'] = array('type' => 'couleur', 'default' => '$couleurA', 'editable' => true, + 'label' => __('Couleur des liens'), 'extra' => true, 'grade' => 4); $this->fields['invertMenuPosition'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Intervertir la position des icônes et du logo'), 'extra' => false, 'grade' => 1); @@ -99,11 +105,15 @@ class wsThemeParametres extends wsParametres { $this->forms['bouton'] = array('label' => __('Personnalisation des boutons'), 'fieldsnames' => array('couleurA', 'arrowsColor')); $this->forms['icones'] = array('label' => __('Personnalisation des icônes'), - 'fieldsnames' => array('iconSet', 'colorizeIcons', 'couleurI')); + 'fieldsnames' => array('iconSet','iconShadColor','|', 'colorizeIcons', 'couleurI')); $this->forms['pagesbar'] = array('label' => __('Personnalisation de la barre des pages'), 'fieldsnames' => array('pagesBar')); $this->forms['book'] = array('label' => __('Personnalisation du fluidbook'), - 'fieldsnames' => array('pageReflection', 'shadeAlpha', '|', 'usePageEdges', '|', 'bookShadeColor', 'bookShadeAlpha', '|', 'displayPageNumber')); + 'fieldsnames' => array('pageReflection', 'shadeAlpha', + '|', 'usePageEdges', + '|', 'bookShadeColor', 'bookShadeAlpha', + '|', 'displayPageNumber', 'colorPageNumber', + '|', 'linksColor')); $this->forms['menubar'] = array('label' => __('Personnalisation de la barre de menu'), 'fieldsnames' => array('menuColor', '|', 'useMenuImage', 'menuImage', '|', 'shadeOnMenu', '|', 'invertMenuPosition')); $this->forms['menu'] = array('label' => __('Personnalisation des menus'), diff --git a/swf/_src/wsComposer.fla b/swf/_src/wsComposer.fla index dc2757b7f413d4ac0f09a880bdd22d07b088f974..9843fff86b818c5cda6b35d1bf1acf6729826a37 100644 GIT binary patch delta 9515 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 S{$lVKi@&&V=DPSpFZ=^O7!Fea -- 2.39.5