]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 9 Mar 2010 11:53:05 +0000 (11:53 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 9 Mar 2010 11:53:05 +0000 (11:53 +0000)
inc/config.inc.php
inc/ws/Controlleur/class.ws.flash.php
inc/ws/DAO/_common.php
inc/ws/DAO/class.ws.dao.theme.php [new file with mode: 0644]
inc/ws/Metier/_common.php
inc/ws/Metier/class.ws.parametres.php
inc/ws/Metier/class.ws.theme.parametres.php
inc/ws/Metier/class.ws.theme.php

index c3e31c4df5ed1dcd76db8944197948fcaf740de0..2be73b44753964ee112a1ac605ca5590ef59f59e 100644 (file)
@@ -35,7 +35,6 @@ if (in_array($_SERVER['HTTP_HOST'], array_merge($localrel, $localabs))) {
        define('FTPROOT', '/home/extranet/ftp/');\r
        define('DEV', false);\r
        define('WINDOWS', false);\r
-\r
        define('CONVERTER_PATH', '/bin:/usr/bin:/usr/local/bin');\r
 }\r
 \r
@@ -74,5 +73,8 @@ define('MAIL_BCC', 'contact@cubedesigners.com');
 define('ZEND', dirname(__FILE__) . '/Zend');\r
 // Timezone\r
 define('TIMEZONE', 'UTC');\r
+// Workshop\r
+define('THEMES', WEBROOT . '/themes/');\r
+define('ICONS', WEBROOT . '/icones/');\r
 \r
 ?>
\ No newline at end of file
index 8fbd3ef885cc50c4033bcda94c7a86a18e113d9d..60e0eb692003d3be0a28b533b96e171a1f2195bb 100644 (file)
@@ -110,16 +110,41 @@ class wsFlash extends cubeFlashGateway {
                $this->xml->addChild('totalDocPage', $p['totalDocPage']);\r
        }\r
 \r
-       public function getTheme(){\r
-                               $this->fields['shadeOnMenu'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Ombre portée sous la barre du menu'), 'extra' => true, 'grade' => 4);\r
-               $this->fields['pagesBar'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4);\r
-               $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);\r
-               $this->fields['usePageEdges'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la bordure des pages"), 'extra' => true, 'grade' => 4);\r
-               $this->fields['arrowsColor'] = array('type' => 'color', 'default' => 'ffffff', 'editable' => true, 'label' => __('Couleur des flèches des boutons de navigation (page suivante, page précédente)'), 'extra' => true, 'grade' => 4);\r
-               $this->fields['pagesBarTxtColor'] = array('type' => 'color', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur des numéros de page de la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4);\r
-               $this->fields['sections'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Sections"), 'extra' => false, 'grade' => 4);\r
-               $this->fields['indexColors'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Couleurs des pages de l'index"), 'extra' => true, 'grade' => 4);\r
-               $this->fields['displayPageNumber'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les numéros de page'), 'extra' => false, 'grade' => 1);\r
+       public function getTheme()\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOTheme($core->con);\r
+               $theme = $dao->getThemeOfBook($this->args['book_id']);\r
+\r
+               $this->_themeToXML($theme);\r
+       }\r
+\r
+       public function getAllThemes()\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOTheme($core->con);\r
+               $themes = $dao->getAllThemes();\r
+               foreach($themes as $theme) {\r
+                       $this->_themeToXML($theme);\r
+               }\r
+       }\r
+\r
+       protected function _themeToXML($theme)\r
+       {\r
+               $t = $this->xml->addChild('theme');\r
+               $t->addAttribute('theme_id', $theme->theme_id);\r
+               $t->addAttribute('icones_id', $theme->icones);\r
+               foreach($theme->parametres as $k => $v) {\r
+                       $t->addChild($k, $v);\r
+               }\r
+               foreach(wsTheme::$files as $k => $v) {\r
+                       $f = ROOT.THEMES . $theme->theme_id . '/' . $v;\r
+                       if (file_exists($f)) {\r
+                               $t->addChild($k, $f);\r
+                       }else{\r
+                               fb($f);\r
+                       }\r
+               }\r
        }\r
 }\r
 \r
index 05a6d0d95ed21a4f191c3794a986cef6f002649c..9f766edb75917b3d35a857022002f55ede2a0776 100644 (file)
@@ -1,5 +1,6 @@
 <?php\r
 $__autoload['wsDAOBook'] = dirname(__FILE__) . '/class.ws.dao.book.php';\r
 $__autoload['wsDAODocument'] = dirname(__FILE__) . '/class.ws.dao.document.php';\r
+$__autoload['wsDAOTheme'] = dirname(__FILE__) . '/class.ws.dao.theme.php';\r
 \r
 ?>
\ No newline at end of file
diff --git a/inc/ws/DAO/class.ws.dao.theme.php b/inc/ws/DAO/class.ws.dao.theme.php
new file mode 100644 (file)
index 0000000..0c5936c
--- /dev/null
@@ -0,0 +1,34 @@
+<?php\r
+class wsDAOTheme extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $theme = new wsTheme();\r
+               $theme->theme_id = $r->theme_id;\r
+               $theme->nom = $r->nom;\r
+               $theme->date = $r->date;\r
+               $theme->proprietaire = $r->proprietaire;\r
+               $theme->signature = $r->signature;\r
+               $theme->icones = $r->icones;\r
+               $p = unserialize($r->parametres);\r
+               if (!$p) {\r
+                       $p = new wsThemeParametres();\r
+               }\r
+               $theme->parametres = $p;\r
+\r
+               return $theme;\r
+       }\r
+\r
+       public function getThemeOfBook($book_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM themes WHERE theme_id IN (SELECT theme FROM books WHERE book_id=\'' . $this->con->escape($book_id) . '\') LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function getAllThemes()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM themes');\r
+               return $this->factory($r);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
index d146463aac0177ebd10d554df4936888030ec378..9d097e2b6e07a04954064442191a7e7d05a8e1c5 100644 (file)
@@ -2,6 +2,7 @@
 $__autoload['wsBook'] = dirname(__FILE__) . '/class.ws.book.php';\r
 $__autoload['wsParametres'] = dirname(__FILE__) . '/class.ws.parametres.php';\r
 $__autoload['wsThemeParametres'] = dirname(__FILE__) . '/class.ws.theme.parametres.php';\r
+$__autoload['wsTheme'] = dirname(__FILE__) . '/class.ws.theme.php';\r
 $__autoload['wsBookParametres'] = dirname(__FILE__) . '/class.ws.book.parametres.php';\r
 $__autoload['wsLangueTextes'] = dirname(__FILE__) . '/class.ws.langue.textes.php';\r
 $__autoload['wsDocument'] = dirname(__FILE__) . '/class.ws.document.php';\r
index 447ee61ff8707a9a181474edb32b02d2140a7990..ad0186c18de032c0a1f2aed156e52824114b0909 100644 (file)
@@ -1,8 +1,8 @@
 <?php\r
-class wsParametres extends cubeMetier {\r
+class wsParametres extends cubeMetier implements Iterator {\r
        protected $datas;\r
        protected $fields;\r
-\r
+       // Magic functions\r
        public function __construct()\r
        {\r
                $this->initFields();\r
@@ -38,6 +38,31 @@ class wsParametres extends cubeMetier {
        {\r
                $this->initFields();\r
        }\r
+       // Iterator functions\r
+       public function rewind()\r
+       {\r
+               reset($this->fields);\r
+       }\r
+\r
+       public function current()\r
+       {\r
+               return $this->get($this->key());\r
+       }\r
+\r
+       public function key()\r
+       {\r
+               return key($this->fields);\r
+       }\r
+\r
+       public function next()\r
+       {\r
+               return next($this->fields);\r
+       }\r
+\r
+       public function valid()\r
+       {\r
+               return $this->current() !== false;\r
+       }\r
 \r
        protected function initFields()\r
        {\r
@@ -85,10 +110,13 @@ class wsParametres extends cubeMetier {
 \r
        protected function get($varname)\r
        {\r
+               if(is_null($varname)){\r
+                       return false;\r
+               }\r
                if (!$this->_isset($varname)) {\r
                        throw new Exception('You are getting an attribute (' . get_class($this) . '::' . $varname . ') which not exists');\r
                }\r
-               if (is_null($this->datas[$varname]) || !isset($this->datas[$varname])) {\r
+               if (!isset($this->datas[$varname]) || is_null($this->datas[$varname])) {\r
                        return $this->fields[$varname]['default'];\r
                }\r
                return $this->datas[$varname];\r
index a9c39f8ee9e29db9a1896b8db29007acfd326366..843ef67ea3b1b7fb402be2d975bfa52383f6b927 100644 (file)
@@ -12,8 +12,9 @@ class wsThemeParametres extends wsParametres {
                $this->fields['couleurB'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur des sous-menus"), 'extra' => false, 'grade' => 3);\r
                $this->fields['couleurS'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur du texte du moteur de recherche"), 'extra' => false, 'grade' => 3);\r
                $this->fields['couleurL'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur du fond du loader"), 'extra' => false, 'grade' => 3);\r
+               $this->fields['couleurI'] = array('type' => 'couleur', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur des icônes"), 'extra' => false, 'grade' => 3);\r
                $this->fields['repeat'] = array('type' => 'combo',\r
-                       'datas' => array(__('Etirer') => '0', __('Etirer le fond') => '2', __("Répéter") => '1'),\r
+                       'datas' => array(__('Etirer') => 0, __('Etirer le fond') => '2', __("Répéter") => '1', __('Ne pas répéter ni étirer') => '3'),\r
                        'default' => '0', 'editable' => true, 'label' => __('Affichage du fond'), 'grade' => 3);\r
                $this->fields['shadeOnMenu'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Ombre portée sous la barre du menu'), 'extra' => true, 'grade' => 4);\r
                $this->fields['pagesBar'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4);\r
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7e80b29d5ae8e28b70d8785dbd18fb71d9b2e39e 100644 (file)
@@ -0,0 +1,19 @@
+<?php\r
+class wsTheme extends cubeMetier {\r
+       const NONE = 3;\r
+       const STRETCH = 0;\r
+       const RATIO = 2;\r
+       const REPEAT = 1;\r
+\r
+       public static $files = array('background' => 'backgroundImg.jpg', 'menu' => 'menu_back.png', 'logo' => 'menu_clientLogo.png');\r
+\r
+       protected $theme_id;\r
+       protected $icones;\r
+       protected $proprietaire;\r
+       protected $signature;\r
+       protected $nom;\r
+       protected $date;\r
+       protected $parametres;\r
+}\r
+\r
+?>
\ No newline at end of file