From 366329a10de4af1c149000c6258afe7af75dbfaf Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 30 Mar 2010 17:42:43 +0000 Subject: [PATCH] --- inc/ws/Metier/class.ws.parametres.php | 3 +- inc/ws/Metier/class.ws.theme.parametres.php | 57 +++++++++++++------- swf/_src/wsComposer.fla | Bin 2120704 -> 2180096 bytes 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/inc/ws/Metier/class.ws.parametres.php b/inc/ws/Metier/class.ws.parametres.php index b6586d427..bde091b32 100644 --- a/inc/ws/Metier/class.ws.parametres.php +++ b/inc/ws/Metier/class.ws.parametres.php @@ -70,7 +70,7 @@ class wsParametres extends cubeMetier implements Iterator { public function valid() { - return $this->current() !== false; + return $this->_isset($this->key()); } protected function initFields() @@ -101,6 +101,7 @@ class wsParametres extends cubeMetier implements Iterator { $value = ($value == '' || $value == '0' || $value == 'false')?false:true; break; case 'color': + case 'couleur': $value = substr(trim($value, '#'), 0, 6); break; case 'date': diff --git a/inc/ws/Metier/class.ws.theme.parametres.php b/inc/ws/Metier/class.ws.theme.parametres.php index 4affcad4f..1de956a81 100644 --- a/inc/ws/Metier/class.ws.theme.parametres.php +++ b/inc/ws/Metier/class.ws.theme.parametres.php @@ -11,7 +11,7 @@ class wsThemeParametres extends wsParametres { return; } parent::initFields(); - $this->fields['couleurA'] = array('type' => 'couleur', 'default' => '', 'editable' => true, + /* */ $this->fields['couleurA'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur principale (boutons, liens)"), 'extra' => false, 'grade' => 3); $this->fields['couleurB'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur des sous-menus"), 'extra' => false, 'grade' => 3); @@ -19,23 +19,30 @@ class wsThemeParametres extends wsParametres { 'label' => __("Couleur du texte du moteur de recherche"), 'extra' => false, 'grade' => 3); $this->fields['couleurL'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur du fond du loader"), 'extra' => false, 'grade' => 3); - $this->fields['couleurI'] = array('type' => 'couleur', 'default' => 'transparent', 'editable' => true, + $this->fields['bookShadeColor'] = array('type' => 'couleur', 'default' => '000000', 'editable' => true, + 'label' => __("Couleur de l'ombre sous le fluidbook"), 'extra' => false, 'grade' => 3); + $this->fields['bookShadeAlpha'] = array('type' => 'integer', 'default' => 100, 'editable' => true, + 'label' => __('Intensité de l\'ombre sous le fluidbook'), 'extra' => true, 'grade' => 3, + 'min' => 0, 'max' => 100); + /* */$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, 'label' => __("Couleur des icônes"), 'extra' => false, 'grade' => 3); - $this->fields['creditsColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, + /* */$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, 'label' => __("Couleur du fond"), 'extra' => false, 'grade' => 3); - $this->fields['backgroundImage'] = array('type' => 'file', 'default' => 'backgroundImg.jpg', 'editable' => true, + /* */$this->fields['backgroundImage'] = array('type' => 'file', 'default' => 'backgroundImg.jpg', 'editable' => true, 'label' => __('Image de fond'), 'extra' => false, 'grade' => 3, 'path' => 'themes/' . $this->parent->theme_id, 'uploadURL' => SITE_PATH . 'flash/uploadThemeFile/?theme_id=' . $this->parent->theme_id); - $this->fields['repeat'] = array('type' => 'combo', + /* */$this->fields['repeat'] = array('type' => 'combo', 'datas' => array(__('Etirer') => wsTheme::STRETCH, __('Etirer le fond en conservant les proportions') => wsTheme::RATIO, __("Répéter") => wsTheme::REPEAT, __('Ne pas répéter ni étirer') => wsTheme::NONE), 'default' => 0, 'editable' => true, 'label' => __('Affichage du fond'), 'grade' => 3); - $this->fields['shadeOnMenu'] = array('type' => 'boolean', 'default' => true, 'editable' => true, + /* */ $this->fields['shadeOnMenu'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Ombre portée sous la barre du menu'), 'extra' => true, 'grade' => 4); $this->fields['menuImage'] = array('type' => 'file', 'default' => 'menu_back.png', 'editable' => true, 'label' => __('Image de fond'), 'extra' => false, 'grade' => 3, @@ -51,34 +58,44 @@ class wsThemeParametres extends wsParametres { 'uploadURL' => SITE_PATH . 'flash/uploadThemeFile/?theme_id=' . $this->parent->theme_id); $this->fields['pagesBar'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4); - $this->fields['shadeAlpha'] = array('type' => 'integer', 'default' => 100, 'editable' => true, + /* */$this->fields['shadeAlpha'] = array('type' => 'integer', 'default' => 100, 'editable' => true, 'label' => __('Transparence des ombres sur les pages (100 : maximale - 0 : invisible)'), 'extra' => true, 'grade' => 4, 'min' => 0, 'max' => 100); + /* */ $this->fields['pageNoReflection'] = array('type' => 'boolean', 'default' => true, 'editable' => true, + 'label' => __("Masquer le reflet sur la page"), 'extra' => true, 'grade' => 4); $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, + /* */ $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); - $this->fields['pagesBarTxtColor'] = array('type' => 'color', 'default' => 'ffffff', 'editable' => true, + $this->fields['pagesBarTxtColor'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur des numéros de page de la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4); - $this->fields['sections'] = array('type' => 'textarea', 'default' => '', 'editable' => true, + /* */ $this->fields['sections'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Sections"), 'extra' => false, 'grade' => 4); $this->fields['indexColors'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Couleurs des pages de l'index"), '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->forms['background'] = array('label' => __('Personnalisation du fond'), 'fieldsnames' => array('backgroundImage', 'backgroundColor', 'repeat')); - $this->forms['bouton'] = array('label' => __('Personnalisation des boutons'), 'fieldsnames' => array('couleurA', 'arrowsColor')); - $this->forms['icones'] = array('label' => __('Personnalisation des icônes'), 'fieldsnames' => array('couleurI')); - $this->forms['pagebar'] = array('label' => __('Personnalisation de la barre des pages'), + $this->forms['background'] = array('label' => __('Personnalisation du fond'), + 'fieldsnames' => array('backgroundImage', 'backgroundColor', 'repeat')); + $this->forms['bouton'] = array('label' => __('Personnalisation des boutons'), + 'fieldsnames' => array('couleurA', 'arrowsColor')); + $this->forms['icones'] = array('label' => __('Personnalisation des icônes'), + 'fieldsnames' => array('colorizeIcons', 'couleurI')); + $this->forms['pagesbar'] = array('label' => __('Personnalisation de la barre des pages'), 'fieldsnames' => array('pagesBar', 'sections', 'pagesBarTxtColor')); $this->forms['book'] = array('label' => __('Personnalisation du fluidbook'), - 'fieldsnames' => array('displayPageNumber', 'shadeAlpha', 'usePageEdges')); - $this->forms['menubar'] = array('label' => __('Personnalisation de la barre de menu'), 'fieldsnames' => array('shadeOnMenu', 'menuImage', 'couleurS')); - $this->forms['menu'] = array('label' => __('Personnalisation des menus'), 'fieldsnames' => array('couleurB')); - $this->forms['loader'] = array('label' => __('Personnalisation du loader'), 'fieldsnames' => array('couleurL', 'logoLoader')); - $this->forms['logo'] = array('label' => __('Personnalisation du logo'), 'fieldsnames' => array('logo', 'shadeAlpha')); - $this->forms['credits'] = array('label' => __('Personnalisation des crédits'), 'fieldsnames' => array('creditsColor')); + 'fieldsnames' => array('displayPageNumber', 'shadeAlpha', 'pageNoReflection', 'usePageEdges','bookShadeColor','bookShadeAlpha')); + $this->forms['menubar'] = array('label' => __('Personnalisation de la barre de menu'), + 'fieldsnames' => array('shadeOnMenu', 'menuImage', 'couleurS')); + $this->forms['menu'] = array('label' => __('Personnalisation des menus'), + 'fieldsnames' => array('couleurB')); + $this->forms['loader'] = array('label' => __('Personnalisation du loader'), + 'fieldsnames' => array('couleurL', 'logoLoader')); + $this->forms['logo'] = array('label' => __('Personnalisation du logo'), + 'fieldsnames' => array('logo')); + $this->forms['credits'] = array('label' => __('Personnalisation des crédits'), + 'fieldsnames' => array('creditsColor')); } } diff --git a/swf/_src/wsComposer.fla b/swf/_src/wsComposer.fla index ad7cbac7d7711feb6ac7a05fff3e8794951ab588..c0572e7d5cc24419c0243fb6c6ebc20a5f6e9f27 100644 GIT binary patch delta 18292 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

v&>Unz%Kyp(HV=Vs@B&g_iDZ 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 V$&;obRwW|FQ%jdfo~w1}e*x*)o%jF% delta 17577 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