From f123e95de406c9b810e01d3269993f19ff5d7394 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Fri, 30 Apr 2010 16:34:16 +0000 Subject: [PATCH] --- inc/ws/Controlleur/class.ws.flash.php | 33 ++++++++++++++++++++-- inc/ws/DAO/class.ws.dao.book.php | 2 +- inc/ws/Metier/class.ws.book.parametres.php | 25 ++++++++-------- inc/ws/Metier/class.ws.parametres.php | 4 +++ 4 files changed, 49 insertions(+), 15 deletions(-) diff --git a/inc/ws/Controlleur/class.ws.flash.php b/inc/ws/Controlleur/class.ws.flash.php index fb28ae4f3..9fce86717 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -137,9 +137,10 @@ class wsFlash extends cubeFlashGateway { $this->_themeToXML($theme); } - public function saveTheme(){ + public function saveTheme() + { global $core; - $dao=new wsDAOTheme($core->con); + $dao = new wsDAOTheme($core->con); $dao->sauve($this->args); } @@ -264,16 +265,42 @@ class wsFlash extends cubeFlashGateway { } } - public function getFluidbookForm() + public function getFluidbookForms() { global $core; $dao = new wsDAOBook($core->con); $book = $dao->selectById($this->args['book_id']); + fb($book->parametres->getForms()); foreach($book->parametres->getForms() as $name) { $f = $this->xml->addChild('form', json_encode($book->parametres->getForm($name))); $f->addAttribute('name', $name); } } + + public function getBookInfos() + { + global $core; + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($this->args['book_id']); + $res = 'Nombre de pages :' . "\n"; + $res .= '76 pages' . "\n"; + $res .= "\n"; + $res .= 'Dimensions :' . "\n"; + $res .= '651.97 x 822.05 pt' . "\n"; + $res .= "\n"; + $res .= 'Taille totale des pages : ' . "\n"; + $res .= '7898 Ko' . "\n"; + $res .= "\n"; + $res .= 'Taille moyenne des pages :' . "\n"; + $res .= '198 Ko' . "\n"; + $res .= "\n"; + $res .= 'Taille du PDF:' . "\n"; + $res .= '7898 Ko' . "\n"; + $res .= "\n"; + $res .= 'Qualité de conversion :' . "\n"; + $res .= '150dpi (qualité 85%)' . "\n"; + $this->xml->addChild('infos', $res); + } } ?> \ No newline at end of file diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index f11febee8..46a831ba4 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -19,7 +19,7 @@ class wsDAOBook extends extranetDAO { $book->pages = array(); $p = unserialize($r->parametres); - if (!$p) { + if (!$p || $p->isEmpty()) { $p = new wsBookParametres($book); } else { $p->setParent($book); diff --git a/inc/ws/Metier/class.ws.book.parametres.php b/inc/ws/Metier/class.ws.book.parametres.php index f912fb93a..e22e1065c 100644 --- a/inc/ws/Metier/class.ws.book.parametres.php +++ b/inc/ws/Metier/class.ws.book.parametres.php @@ -12,31 +12,36 @@ class wsBookParametres extends wsParametres { return; } // . - $this->fields['general'] = __('Informations générales'); $this->fields['pages'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Nombre de pages'), 'extra' => false, 'grade' => 0); $this->fields['width'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Largeur'), 'extra' => false, 'grade' => 0); $this->fields['height'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Hauteur'), 'extra' => false, 'grade' => 0); - $this->fields['first_page_nr'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('La numérotation débute à la page'), 'extra' => false, 'grade' => 1); - $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'extra' => false, 'grade' => 1); - $this->fields['reading_dir'] = array('type' => 'combo', - 'datas' => array(__('De la gauche vers la droite') => 'ltr', __('De la droite vers la gauche') => 'rtl'), - 'default' => 'ltr', 'editable' => true, 'label' => __('Sens de lecture'), 'extra' => false, 'grade' => 1); // . - $this->fields['fonctions_generales'] = __('Fonctionnalités générales'); $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Impression'), 'extra' => false, 'grade' => 1); $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Moteur de recherche'), 'extra' => false, 'grade' => 1); $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Marques-pages'), 'extra' => false, 'grade' => 1); $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du lien de retour au site"), 'extra' => false, 'grade' => 1); + $this->forms['general'] = array('label' => __('Fonctionnalités générales'), + 'fieldsnames' => array('print', 'search', 'bookmark', 'url_link')); + // . + $this->fields['first_page_nr'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('La numérotation débute à la page'), 'extra' => false, 'grade' => 1); + $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'extra' => false, 'grade' => 1); + $this->fields['reading_dir'] = array('type' => 'combo', + 'datas' => array(__('De la gauche vers la droite') => 'ltr', __('De la droite vers la gauche') => 'rtl'), + 'default' => 'ltr', 'editable' => true, 'label' => __('Sens de lecture'), 'extra' => false, 'grade' => 1); + $this->forms['general_settings'] = array('label' => __('Paramètres généraux'), + 'fieldsnames' => array('preload', 'reading_dir')); // . - $this->fields['fonctions_pdf'] = __('Fonction Export PDF'); $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Export PDF'), 'extra' => false, 'grade' => 1); $this->fields['optimizepdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Optimiser le PDF'), 'extra' => false, 'grade' => 4); $this->fields['pdfComplex'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Export PDF avancé'), 'extra' => false, 'grade' => 3); + $this->forms['pdf'] = array('label' => __('Fonction Export PDF'), + 'fieldsnames' => array('pdf', 'optimizepdf', 'pdfComplex')); // . - $this->fields['fonctions_zoom'] = __('Zoom'); $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Zoom par défaut (atteint au clic)'), 'extra' => false, 'grade' => 1); $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Zoom maximal (atteint à l'aide de la molette)"), 'extra' => false, 'grade' => 1); $this->fields['fixedZoom'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Zoom magnétique'), 'extra' => true, 'grade' => 4); + $this->forms['zoom'] = array('label' => __('Zoom'), + 'fieldsnames' => array('zoom', 'zoomw', 'fixedZoom')); // . $this->fields['fonctions_friend'] = __('Fonction Envoyer à un ami et partage'); $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Envoyer à un ami'), 'extra' => false, 'grade' => 1); @@ -80,8 +85,6 @@ class wsBookParametres extends wsParametres { // . $this->fields['fonctions_diverses'] = __('Fonctions diverses'); $this->fields['immediateResize'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Redimensionner immédiatement la fenêtre"), 'extra' => true, 'grade' => 4); - - $this->forms['fluidbook'] = array('label' => __('Paramètres du fluidbook'), 'fieldsnames' => array_keys($this->fields)); } } diff --git a/inc/ws/Metier/class.ws.parametres.php b/inc/ws/Metier/class.ws.parametres.php index 144cb5642..dfd93309b 100644 --- a/inc/ws/Metier/class.ws.parametres.php +++ b/inc/ws/Metier/class.ws.parametres.php @@ -12,6 +12,10 @@ class wsParametres extends cubeMetier implements Iterator { $this->datas = array(); } + public function isEmpty(){ + return count($this->datas)==0; + } + public function setParent($parent) { $this->parent = $parent; -- 2.39.5