]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 1 Apr 2010 08:10:21 +0000 (08:10 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 1 Apr 2010 08:10:21 +0000 (08:10 +0000)
inc/ws/Controlleur/class.ws.flash.php
inc/ws/DAO/_common.php
inc/ws/DAO/class.ws.dao.icone.php [new file with mode: 0644]
inc/ws/Metier/_common.php
inc/ws/Metier/class.ws.icone.php [new file with mode: 0644]
inc/ws/Metier/class.ws.theme.parametres.php
swf/_src/wsComposer.fla

index 0b2b58a86279b4026cff59cfb219d1df58869dd1..e7ebd2f40735d9da6f66e31eb501c5cb72c6625a 100644 (file)
@@ -143,6 +143,19 @@ class wsFlash extends cubeFlashGateway {
                }\r
        }\r
 \r
+       public function getAllIcones()\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOIcone($core->con);\r
+               $icones = $dao->selectAll();\r
+               foreach($icones as $icone) {\r
+                       $i = $this->xml->addChild('icone');\r
+                       $i->addAttribute('id', $icone->icone_id);\r
+                       $i->addAttribute('nom', $icone->nom);\r
+                       $i->addAttribute('path', ICONS  . $icone->icone_id . '.png');\r
+               }\r
+       }\r
+\r
        protected function _themeToXML($theme)\r
        {\r
                $t = $this->xml->addChild('theme');\r
@@ -157,7 +170,7 @@ class wsFlash extends cubeFlashGateway {
                        $files->addChild($k, $f);\r
                }\r
                $oo = array('on', 'off');\r
-               foreach(wsIcones::$files as $v) {\r
+               foreach(wsIcone::$files as $v) {\r
                        foreach($oo as $o) {\r
                                $f = ICONS . $theme->icones . '/nav-' . $v . '-' . $o . '.png';\r
                                $files->addChild($v . '_' . $o, $f);\r
index 9f766edb75917b3d35a857022002f55ede2a0776..0fbe2cd7fe8cdf9e8b6f6b49e1609a4a36154b06 100644 (file)
@@ -2,5 +2,6 @@
 $__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
+$__autoload['wsDAOIcone'] = dirname(__FILE__) . '/class.ws.dao.icone.php';\r
 \r
 ?>
\ No newline at end of file
diff --git a/inc/ws/DAO/class.ws.dao.icone.php b/inc/ws/DAO/class.ws.dao.icone.php
new file mode 100644 (file)
index 0000000..8bfe03f
--- /dev/null
@@ -0,0 +1,26 @@
+<?php\r
+class wsDAOIcone extends cubeDAO {\r
+       public function singleton($r)\r
+       {\r
+               $icone = new wsIcone();\r
+               $icone->icone_id = $r->icone_id;\r
+               $icone->nom = $r->nom;\r
+               $icone->date = $r->date;\r
+               $icone->makeImage();\r
+               return $icone;\r
+       }\r
+\r
+       public function selectById($icone_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM icones WHERE icone_id=\'' . $this->con->escape($icone_id) . '\'');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function selectAll()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM icones');\r
+               return $this->factory($r);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
index 3a9ee437f4ceae755c85232498a39e15d2c79060..b8c6e7b0d05e982acb8778ba3d699cee95d199d5 100644 (file)
@@ -9,6 +9,6 @@ $__autoload['wsDocument'] = dirname(__FILE__) . '/class.ws.document.php';
 $__autoload['wsLink'] = dirname(__FILE__) . '/class.ws.link.php';\r
 $__autoload['wsDocumentLocalInfos'] = dirname(__FILE__) . '/class.ws.document.localinfos.php';\r
 $__autoload['wsBox'] = dirname(__FILE__) . '/class.ws.box.php';\r
-$__autoload['wsIcones'] = dirname(__FILE__) . '/class.ws.icones.php';\r
+$__autoload['wsIcone'] = dirname(__FILE__) . '/class.ws.icone.php';\r
 \r
 ?>
\ No newline at end of file
diff --git a/inc/ws/Metier/class.ws.icone.php b/inc/ws/Metier/class.ws.icone.php
new file mode 100644 (file)
index 0000000..1991984
--- /dev/null
@@ -0,0 +1,49 @@
+<?php\r
+class wsIcone extends cubeMetier {\r
+       public $icone_id;\r
+       public $nom;\r
+       public $date;\r
+\r
+       public static $files = array('index', 'normal', 'sommaire', 'zoomin', 'zoomout', 'print', 'send', 'bookmark', 'pdf', 'help');\r
+\r
+       public function makeImage()\r
+       {\r
+               $root = ROOT . '/icones/' . $this->icone_id . '/';\r
+               $final = ROOT . '/icones/' . $this->icone_id . '.png';\r
+\r
+               if ($this->date <= filemtime($final)) {\r
+                       return;\r
+               }\r
+\r
+               $h = 0;\r
+               $w = 0;\r
+               $mod = 0;\r
+               foreach(wsIcone::$files as $file) {\r
+                       $image = $root . 'nav-' . $file . '-off.png';\r
+                       $dim = getimagesize($image);\r
+                       $mod = max(filemtime($file), $mod);\r
+                       $h = max($h, $dim[1]);\r
+                       $w += $dim[0];\r
+               }\r
+\r
+               $im = imagecreatetruecolor($w, $h);\r
+               imagelayereffect($im, IMG_EFFECT_REPLACE);\r
+               $color = imagecolorallocatealpha($im, 255, 255, 255, 127);\r
+               imagefill($im, 0 , 0 , $color);\r
+               imagesavealpha($im, true);\r
+               imagealphablending($im, true);\r
+               $x = 0;\r
+               foreach(self::$files as $file) {\r
+                       $image = $root . 'nav-' . $file . '-off.png';\r
+                       $s = imagecreatefrompng($image);\r
+                       $w = imagesx($s);\r
+                       $h = imagesy($s);\r
+                       imagecopy($im, $s , $x , 0 , 0 , 0 , $w , $h);\r
+                       $x += $w;\r
+               }\r
+\r
+               imagepng($im, $final);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
index 1de956a8189c2f375d56f3b93f9567123ad3b89a..a82f9eda0551109513c9657de64f24973be67218 100644 (file)
@@ -24,6 +24,8 @@ class wsThemeParametres extends wsParametres {
                $this->fields['bookShadeAlpha'] = array('type' => 'integer', 'default' => 100, 'editable' => true,\r
                        'label' => __('Intensité de l\'ombre sous le fluidbook'), 'extra' => true, 'grade' => 3,\r
                        'min' => 0, 'max' => 100);\r
+               $this->fields['iconSet'] = array('type' => 'icones', 'default' => 1, 'editable' => true,\r
+                       'label' => __("Jeu d'icônes"), 'extra' => false, 'grade' => 3);\r
                /* */$this->fields['colorizeIcons'] = array('type' => 'boolean', 'default' => false, 'editable' => true,\r
                        'label' => __('Colorier les icônes'), 'extra' => true, 'grade' => 4);\r
                /* */$this->fields['couleurI'] = array('type' => 'couleur', 'default' => 'transparent', 'editable' => true,\r
@@ -81,11 +83,11 @@ class wsThemeParametres extends wsParametres {
                $this->forms['bouton'] = array('label' => __('Personnalisation des boutons'),\r
                        'fieldsnames' => array('couleurA', 'arrowsColor'));\r
                $this->forms['icones'] = array('label' => __('Personnalisation des icônes'),\r
-                       'fieldsnames' => array('colorizeIcons', 'couleurI'));\r
+                       'fieldsnames' => array('iconSet', 'colorizeIcons', 'couleurI'));\r
                $this->forms['pagesbar'] = array('label' => __('Personnalisation de la barre des pages'),\r
                        'fieldsnames' => array('pagesBar', 'sections', 'pagesBarTxtColor'));\r
                $this->forms['book'] = array('label' => __('Personnalisation du fluidbook'),\r
-                       'fieldsnames' => array('displayPageNumber', 'shadeAlpha', 'pageNoReflection', 'usePageEdges','bookShadeColor','bookShadeAlpha'));\r
+                       'fieldsnames' => array('displayPageNumber', 'shadeAlpha', 'pageNoReflection', 'usePageEdges', 'bookShadeColor', 'bookShadeAlpha'));\r
                $this->forms['menubar'] = array('label' => __('Personnalisation de la barre de menu'),\r
                        'fieldsnames' => array('shadeOnMenu', 'menuImage', 'couleurS'));\r
                $this->forms['menu'] = array('label' => __('Personnalisation des menus'),\r
index c0572e7d5cc24419c0243fb6c6ebc20a5f6e9f27..1d92c219db055179c703ca46a2d72ef996b6d82b 100644 (file)
Binary files a/swf/_src/wsComposer.fla and b/swf/_src/wsComposer.fla differ