}\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
$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
$__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
--- /dev/null
+<?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
$__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
--- /dev/null
+<?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
$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
$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