]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 30 Aug 2011 14:05:07 +0000 (14:05 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 30 Aug 2011 14:05:07 +0000 (14:05 +0000)
12 files changed:
inc/commons/class.common.core.php
inc/ws/Controlleur/class.ws.ajax.php
inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/DAO/class.ws.dao.demande.php
inc/ws/Metier/class.ws.book.php
inc/ws/Metier/class.ws.demande.php
inc/ws/Util/packager/class.ws.packager.html.php
inc/ws/Util/packager/class.ws.packager.mac.exe.php
inc/ws/Util/packager/class.ws.packager.php
inc/ws/Util/packager/class.ws.packager.win.exe.php
inc/ws/Util/packager/class.ws.packager.win.inst.php

index 34b180072f5a4eaa393060952c30250150e7e8ab..a313f92e50c55f00e23fa3c1a3cef5084784467d 100644 (file)
@@ -376,6 +376,8 @@ class commonCore extends cubeCore {
                $db->books->compiledate('integer', 0, false);\r
                $db->books->version('integer', 0, false, 2);\r
                $db->books->composition_update('integer', 0, false);\r
+               $db->books->dir_references('varchar', 256, false);\r
+               $db->books->dir_hosting('varchar', 256, false);\r
                // Clés\r
                $db->books->primary('pk_books', 'book_id');\r
                $db->books->index('index_books_nom', 'BTREE', 'nom');\r
index c0064b9deeca36105390097e8cee87b93de60039..9f1a95ec761f5ec0a018efd25cf196e6166e2083 100644 (file)
@@ -218,6 +218,61 @@ class wsAjax extends cubeAjax {
                $x->addRedirection($url);\r
        }\r
 \r
+       public static function instbook($args, &$x) {\r
+               global $core;\r
+               $book_id = $args[1];\r
+               $server = $args[2];\r
+\r
+               $dao = new wsDAOBook($core->con);\r
+               $book = $dao->selectById($book_id);\r
+\r
+               if (!in_array($book->proprietaire_id, explode(',', $core->user->ws_rights))) {\r
+                       commonDroits::error();\r
+               }\r
+               if (!isset($_POST['dir'])) {\r
+                       $popup = commonAjax::form('instbook/' . $book_id . '/' . $server, __('Installation du Fluidbook'), wsUrl::formInstall($book, $server), __('Installer'), 2, '', '', true);\r
+                       $x->addOpenPopup($popup);\r
+                       return;\r
+               }\r
+\r
+               $package = wsPackager::package($book_id, 'html', false);\r
+\r
+               if ($server == 'references') {\r
+                       $root = '/home/fluidbook/dev/references';\r
+                       $url = 'http://www.fluidbook.com/references/';\r
+               } else if ($server == 'hosting') {\r
+                       $root = '/home/fluidbook/hosting';\r
+                       $url = 'http://hosting.fluidbook.com/';\r
+               }\r
+\r
+               $e = explode('/', $_POST['dir']);\r
+               $f = array();\r
+               foreach ($e as $d) {\r
+                       if ($d == '..' || $d == '') {\r
+                               continue;\r
+                       }\r
+                       $f[] = cubeText::str2URL($d);\r
+               }\r
+               $dir = implode('/', $f);\r
+\r
+               $dao->setInstallDir($book_id, $dir, $server);\r
+\r
+               $finalDir = $root . '/' . $dir;\r
+               if (!file_exists($finalDir)) {\r
+                       mkdir($finalDir, 0777, true);\r
+               }\r
+\r
+               $cp = new cubeCommandLine('cp');\r
+               $cp->setPath(CONVERTER_PATH);\r
+               $cp->setArg('r');\r
+               $cp->setArg(null, $package . '*');\r
+               $cp->setArg(null, $finalDir);\r
+               $cp->execute();\r
+\r
+               $x->addClosePopup();\r
+               $x->addTruePopup($url . $dir.'/');\r
+       }\r
+\r
        public static function statusBook($args, &$x) {\r
                global $core;\r
 \r
@@ -457,9 +512,9 @@ class wsAjax extends cubeAjax {
                if (!isset($_POST['detail'])) {\r
                        $_POST['detail'] = $_POST['details'];\r
                }\r
-               \r
-               if(!isset($_POST['site'])){\r
-                       $_POST['site']=$_POST['site_internet'];\r
+\r
+               if (!isset($_POST['site'])) {\r
+                       $_POST['site'] = $_POST['site_internet'];\r
                }\r
                file_put_contents(ROOT . '/cache/demandeDevis.txt', print_r($_POST, true));\r
                // Validation des champs de formulaires\r
@@ -543,35 +598,9 @@ class wsAjax extends cubeAjax {
                $mail->from = FROM_NAME . '<' . FROM_EMAIL . '>';\r
                $mail->subject = '[' . EMAIL_SUBJECT . '] ' . __('Demande de devis');\r
 \r
-               $body = "\r\n---- " . __('Demande') . ' ----' . "\r\n";\r
-               $fields = array('type' => __('Type'),\r
-                       'pages' => __('Pages'),\r
-                       'liens' => __('Liens'),\r
-                       'langues' => __('Langues'),\r
-                       'details' => __('Commentaires'));\r
-               foreach ($fields as $p => $t) {\r
-                       if ($demande->$p != '') {\r
-                               $body .= ' * ' . $t . ' : ' . $demande->$p . "\r\n";\r
-                       }\r
-               }\r
+               $demande->type = $core->demandes_type[$demande->type];\r
 \r
-               $body .= "\r\n" . '---- ' . __('Coordonnées') . ' ----' . "\r\n";\r
-               $fields = array('prenom' => __('Prenom'),\r
-                       'nom' => __('Nom'),\r
-                       'rs' => __('Entreprise'),\r
-                       'adresse' => __('Adresse'),\r
-                       'code_postal' => __('Code postal'),\r
-                       'ville' => __('Ville'),\r
-                       'pays' => 'Pays');\r
-               foreach ($fields as $p => $t) {\r
-                       if ($utilisateur->$p != '') {\r
-                               if ($p == 'pays') {\r
-                                       $body .= ' * ' . $t . ' : ' . cubeCountry::getCountry($utilisateur->$p, $revendeur->lang) . "\r\n";\r
-                               } else {\r
-                                       $body .= ' * ' . $t . ' : ' . $utilisateur->$p . "\r\n";\r
-                               }\r
-                       }\r
-               }\r
+               $body = wsDemande::asMailBody($demande, $utilisateur);\r
 \r
                $body .= "\r\n";\r
                $body .= __('Afin de nous confirmer que vous prenez en compte cette demande, veuillez cliquer sur le lien ci-dessous') . " : \r\n";\r
@@ -580,9 +609,8 @@ class wsAjax extends cubeAjax {
                $body .= __("Si dans un délai de deux jours ouvrés, vous n'avez pas accepté cette demande, nous nous réservons le droit de la prendre en charge.") . "\r\n";\r
 \r
                $mail->body = $body;\r
-               //$mail->to = 'tech@fluidbook.com';\r
-               $mail->to = $r->email;\r
-               $mail->bcc='tech@fluidbook.com';\r
+               $mail->to = $revendeur->email;\r
+               $mail->bcc = 'tech@fluidbook.com';\r
                $mail->send();\r
        }\r
 \r
@@ -606,9 +634,12 @@ class wsAjax extends cubeAjax {
                        $dao->accepteDemande($demande_id, $revendeur_id);\r
                }\r
 \r
-               $x->addAlert(__('Votre choix a bien été prise en compte.'));\r
                if (!isset($args[4])) {\r
-                       $x->addRedirection(SITE_PATH);\r
+                       if ($response == '0') {\r
+                               $x->addRedirection(SITE_PATH);\r
+                       } else {\r
+                               $x->addReload();\r
+                       }\r
                } else {\r
                        $x->addContent('listeDemandes', wsUrl::listeDemandes());\r
                }\r
index 89e8d773f9719698c3cc34600553cf62c57990e5..ebae1ddc6dac0126e0957926e8ed4f425430ce95 100644 (file)
@@ -58,13 +58,14 @@ class wsUrl {
 \r
                $res = '';\r
 \r
-               $res .= self::contextBookDownload($context_download_id);\r
+               $res .= self::contextBookDownload($context_download_id, $droits);\r
                $res .= self::contextBookStatus($context_status_id);\r
                $res .= self::contextBookView($context_view_id);\r
 \r
                $res .= '<table class="liste">';\r
                $res .= '<tr><th>' . commonUrl::orderby('#', 'book_id', $settings, 'sort' . $change) . '</th>';\r
                $res .= '<th>' . commonUrl::orderby(__('Titre de la publication'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . commonUrl::orderby(__('Date'), 'date', $settings, 'sort' . $change) . '</th>';\r
                $res .= '<th>' . commonUrl::orderby(__(''), 'lang', $settings, 'sort' . $change) . '</th>';\r
                $res .= '<th>' . __('Pages') . '</th>';\r
                if ($droits->revendeur) {\r
@@ -96,6 +97,7 @@ class wsUrl {
                        $res .= '<tr' . $odd . '>';\r
                        $res .= '<td>' . $book->book_id . '</td>';\r
                        $res .= '<td>' . html::escapeHTML($book->nom) . '</td>';\r
+                       $res .= '<td>' . date('Y-m-d', $book->date) . '</td>';\r
                        $res .= '<td>' . mb_strtoupper($book->lang) . '</td>';\r
                        $res .= '<td>' . $book->parametres->pages . '</td>';\r
 \r
@@ -149,7 +151,7 @@ class wsUrl {
 \r
                if (!isset($settings['search']) || is_null($settings['search'])) {\r
                        $odd = cubeMath::isOdd($i) ? ' class="odd"' : '';\r
-                       $res .= '<tr' . $odd . '><td colspan="13">';\r
+                       $res .= '<tr' . $odd . '><td colspan="14">';\r
                        $res .= commonPage::pager($settings['page'], $dao->count($core->user), $settings['par_page'], 'page' . $change . '/%d');\r
                        $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('publications'), false);\r
                        $res .= '</td></tr>';\r
@@ -158,7 +160,7 @@ class wsUrl {
                return $res;\r
        }\r
 \r
-       public static function contextBookDownload($id) {\r
+       public static function contextBookDownload($id, $droits) {\r
                global $core;\r
 \r
                $versions = array();\r
@@ -168,12 +170,23 @@ class wsUrl {
                $versions['mac-exe'] = array('title' => __('Version offline') . ' - ' . __('Exécutable Mac OS X'), 'icon' => cubeMedia::image(IMG . '/macos.png'));\r
                $versions['win-cd'] = array('title' => __('Version offline') . ' - ' . __('CD-ROM') . ' / ' . __('Clé USB'), 'icon' => cubeMedia::silk('cd.png'));\r
 \r
+\r
                $res = '<div class="contextMenu downbookContextMenu" id="' . $id . '">';\r
                $res .= '<ul>';\r
                $res .= '<li class="head">' . __("Sélectionnez une version") . '</li>';\r
                foreach ($versions as $k => $v) {\r
                        $res .= '<li><a href="#" rel="downbook/$1/' . $k . '" class="ajax">' . $v['icon'] . $v['title'] . '</a></li>';\r
                }\r
+               if ($droits->admin) {\r
+                       $res .= '<li class="head">' . __("Installer sur ...") . '</li>';\r
+                       $versions = array();\r
+                       $versions['hosting'] = array('title' => __("Le serveur d'hébergement"), 'icon' => cubeMedia::silk('server_go.png'));\r
+                       $versions['references'] = array('title' => __("L'espace références"), 'icon' => cubeMedia::silk('server_add.png'));\r
+\r
+                       foreach ($versions as $k => $v) {\r
+                               $res .= '<li><a href="#" rel="instbook/$1/' . $k . '" class="ajax">' . $v['icon'] . $v['title'] . '</a></li>';\r
+                       }\r
+               }\r
                $res .= '</ul></div>';\r
                return $res;\r
        }\r
@@ -540,7 +553,7 @@ html{height:100%}' . "\n";
                exit;\r
        }\r
 \r
-       public static function editComposition($book_id,$hash) {\r
+       public static function editComposition($book_id, $hash) {\r
 \r
                $fv = array(session_name() => session_id(),\r
                        'book_id' => $book_id,\r
@@ -863,12 +876,30 @@ html{height:100%}' . "\n";
        public static function valideDownload() {\r
                global $core;\r
 \r
-               $res .= '<tr><td>' . __("Le téléchargement du fluidbook implique qu'il a été testé et définitivement validé.") . '<br />' . __("Si vous le téléchargez, il vous sera facturé selon les conditions stipulées dans votre contrat.") . '</td></tr>';\r
+               $res = '<tr><td>' . __("Le téléchargement du fluidbook implique qu'il a été testé et définitivement validé.") . '<br />' . __("Si vous le téléchargez, il vous sera facturé selon les conditions stipulées dans votre contrat.") . '</td></tr>';\r
                $res .= '<tr><td class="right"><label>' . __("Oui, ce fluidbook est validé, je souhaite le télécharger et il me sera facturé.") . ' ' . form::checkbox('valide', 1, false) . '</label></td></tr>';\r
 \r
                return $res;\r
        }\r
 \r
+       public static function formInstall($book, $server) {\r
+               if ($server == 'references') {\r
+                       $s = __('Espace des références');\r
+                       $dir = $book->dir_references;\r
+               } elseif ($server == 'hosting') {\r
+                       $s = __("Serveur d'hébergement");\r
+                       $dir = $book->dir_hosting;\r
+               }\r
+\r
+               if ($dir == '') {\r
+                       $dir = cubeText::str2URL($book->parametres->title);\r
+               }\r
+\r
+               $res = '<tr><td>' . __("Dossier d'installation") . '</td><td><em>' . $s . '</em> / ' . form::field('dir', 50, 50, $dir) . '</td></tr>';\r
+               $res.='<tr><td colspan="2">' . __("A l'issue de l'installation, vous serez dirigé vers le serveur sur lequel la publication a été installée") . '</td></tr>';\r
+               return $res;\r
+       }\r
+\r
        public static function testAS($args) {\r
                global $core;\r
                commonDroits::min(5);\r
@@ -1402,11 +1433,13 @@ html{height:100%}' . "\n";
                $res .= '<h2>' . $core->typo->Titre(__('Prendre en charge une demande de devis')) . '</h2>';\r
                $res .= '<br /><br />';\r
 \r
-               if ($demande->revendeur != $revendeur_id || $demande->revendeur != $core->user->utilisateur_id) {\r
+               if ($demande->revendeur != $revendeur_id || $demande->revendeur != $core->user->utilisateur_id || $demande->status == 0) {\r
                        $res.='<p class="center">' . __('Cette demande de devis ne vous est pas adressée.') . '</p>';\r
+               } else if ($demande->status == 2) {\r
+                       $res.='<p class="center">' . __('Merci ! Nous avons bien pris en compte votre réponse.') . '<br /><br />';\r
+                       $res.='<a href="' . $dao->getMailto($demande_id) . '">' . __("Ouvrir l'email de réponse") . '</a>';\r
+                       $res.='</p>';\r
                } else {\r
-\r
-\r
                        $res .= '<p>' . __('Si vous acceptez de traiter la demande suivante, veuillez cliquer sur le bouton "Accepter la demande" situé à droite de la description.');\r
                        $res .= ' ' . __('Vous avez également la possibilité de décliner la demande en cliquant sur le bouton "Décliner la demande"') . "</p>";\r
                        $res .= '<br /><br />';\r
@@ -1415,11 +1448,12 @@ html{height:100%}' . "\n";
                        $res .= '<tr><th class="left" colspan="2">' . __("Détails de la demande") . '</th><th class="left" style="width:40%">' . __('Votre action') . '</th></tr>';\r
                        $res .= '<tr><td>' . __('Numéro de demande') . '</td><td>' . $demande->demande_id . '</td>';\r
                        $res .= '<td>' . '<a href="#" class="ajax" rel="reponseDemande/' . $demande_id . '/' . $revendeur_id . '/1" >' . cubeMedia::cssRollover($core->typo->BookTelecharger(__('Accepter la demande'), '', false)) . '</a>' . '</td></tr>';\r
-                       $res .= '<tr><td>' . __('Date de la demande') . '</td><td>' . date(__('d/m/Y H:i'), $demande->date) . '</td>';\r
-                       $res .= '<td>' . '<a href="#" class="ajax" rel="reponseDemande/' . $demande_id . '/' . $revendeur_id . '/0">' . cubeMedia::cssRollover($core->typo->Supprimer(__('Décliner la demande'), '', false)) . '</a>' . '</td>';\r
+                       $res .= '<tr><td>' . __('Date de la demande') . '</td><td>' . date(__('d/m/Y H:i'), $demande->date) . '</td></tr>';\r
                        $res .= '</tr>';\r
                        $res .= '<tr><td>' . __('Client') . ' / ' . __('Prospect') . '</td><td><a href="#" class="popup" rel="formClient/' . $demande->entreprise . '">' . $demande->utilisateur_nom . '</a></td></tr>';\r
-                       $res .= '<tr><td>' . __('Nombre de pages') . '</td><td>' . $demande->pages . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Nombre de pages') . '</td><td>' . $demande->pages . '</td>';\r
+                       $res .= '<td>' . '<a href="#" class="ajax" rel="reponseDemande/' . $demande_id . '/' . $revendeur_id . '/0">' . cubeMedia::cssRollover($core->typo->Supprimer(__('Décliner la demande'), '', false)) . '</a>' . '</td>';\r
+                       $res .='</tr>';\r
                        $res .= '<tr><td>' . __('Nombre de liens') . '</td><td>' . $demande->liens . '</td></tr>';\r
                        $res .= '<tr><td>' . __('Nombre de langues') . '</td><td>' . $demande->langues . '</td></tr>';\r
                        $res .= '<tr><td>' . __('Détails') . '</td><td>' . $demande->details . '</td></tr>';\r
index b9617e1b08f7346bdca9a39fe1b3c592c8ebd0aa..081cd310c06f302a89c49715941f85a00d7d5972 100644 (file)
@@ -38,6 +38,8 @@ class wsDAOBook extends commonDAO {
                $book->projet = $r->projet;\r
                $book->version = $r->version;\r
                $book->composition_update = $r->composition_update;\r
+               $book->dir_references = $r->dir_references;\r
+               $book->dir_hosting = $r->dir_hosting;\r
 \r
                return $book;\r
        }\r
@@ -536,7 +538,7 @@ class wsDAOBook extends commonDAO {
                        return false;\r
                }\r
 \r
-               $checks = array($r->changedate, cubeFiles::filemtimeRecursive(WS_COMPILE_ASSETS . '/_html5'),  cubeFiles::filemtimeRecursive(ROOT.'/inc/ws/Util/html5'));\r
+               $checks = array($r->changedate, cubeFiles::filemtimeRecursive(WS_COMPILE_ASSETS . '/_html5'), cubeFiles::filemtimeRecursive(ROOT . '/inc/ws/Util/html5'));\r
                $reffile = WS_BOOKS . '/html5/' . $book_id;\r
 \r
                if (!file_exists($reffile)) {\r
@@ -600,6 +602,14 @@ class wsDAOBook extends commonDAO {
                $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
        }\r
 \r
+       public function setInstallDir($book_id, $dir, $server) {\r
+               $col = 'dir_' . $server;\r
+\r
+               $c = $this->con->openCursor('books');\r
+               $c->$col = $dir;\r
+               $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
+       }\r
+\r
        public function makeTextsIndexes($book_id, &$index, &$textes) {\r
                $pages = $this->getPagesOfBook($book_id);\r
                $index = array();\r
index 44867a15a491f9bc45b96c86b07bcd3d0c85c8a4..d618695898faa25c47f8447f3e33c3c75331a0f5 100644 (file)
@@ -1,10 +1,13 @@
 <?php\r
+\r
 class wsDAODemande extends commonDAO {\r
-       protected function singleton($r)\r
-       {\r
+\r
+       protected function singleton($r) {\r
+               global $core;\r
                $demande = new wsDemande();\r
                $demande->demande_id = $r->demande_id;\r
                $demande->type = $r->type;\r
+               $demande->type_nom = $core->demandes_type[$r->type];\r
                $demande->pages = $r->pages;\r
                $demande->liens = $r->liens;\r
                $demande->langues = $r->langues;\r
@@ -23,20 +26,17 @@ class wsDAODemande extends commonDAO {
                return $demande;\r
        }\r
 \r
-       protected function getNextId()\r
-       {\r
+       protected function getNextId() {\r
                $r = $this->con->select('SELECT MAX(demande_id) AS demande_id FROM demandes');\r
                return $r->demande_id + 1;\r
        }\r
 \r
-       public function selectById($demande_id = null)\r
-       {\r
+       public function selectById($demande_id = null) {\r
                $r = $this->con->select('SELECT * FROM demandes_vue WHERE demande_id=\'' . $this->con->escape($demande_id) . '\' LIMIT 1');\r
                return $this->singleton($r);\r
        }\r
 \r
-       public function getListe($orderby = null, $sens = null, $limit = null)\r
-       {\r
+       public function getListe($orderby = null, $sens = null, $limit = null) {\r
                global $core;\r
                if (!is_null($this->q)) {\r
                        $where = '';\r
@@ -48,17 +48,16 @@ class wsDAODemande extends commonDAO {
                        $where = $this->makeWhereFromFiltres();\r
                }\r
 \r
-               $orderby = is_null($orderby)?'demande_id':$orderby;\r
-               $sens = is_null($sens)?'DESC':$sens;\r
-               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+               $orderby = is_null($orderby) ? 'demande_id' : $orderby;\r
+               $sens = is_null($sens) ? 'DESC' : $sens;\r
+               $limit = is_null($limit) ? '' : $this->con->limit($limit[0], $limit[1]);\r
 \r
                $sql = 'SELECT * FROM demandes_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
                $r = $this->con->select($sql);\r
                return $this->factory($r);\r
        }\r
 \r
-       public function sauve($data)\r
-       {\r
+       public function sauve($data) {\r
                global $core;\r
 \r
                $c = $this->con->openCursor('demandes');\r
@@ -84,15 +83,27 @@ class wsDAODemande extends commonDAO {
                return $this->selectById($demande_id);\r
        }\r
 \r
-       public function setAdministrateur($demande_id, $administrateur)\r
-       {\r
+       public function getMailto($demande_id) {\r
+\r
+               $demande = $this->selectById($demande_id);\r
+\r
+               $daoUtilisateur = new commonDAOClient($this->con);\r
+               $user = $daoUtilisateur->selectById($demande->utilisateur);\r
+\r
+               $res = 'mailto:';\r
+               $res .= rawurlencode($user->prenom . ' ' . $user->nom . '<' . $user->email . '>');\r
+               $res.='?subject=' . rawurlencode('Re: [Fluidbook] ' . __('Demande de devis'));\r
+               $res.='&body=' . rawurlencode(wsDemande::asMailBody($demande, $user));\r
+               return $res;\r
+       }\r
+\r
+       public function setAdministrateur($demande_id, $administrateur) {\r
                $c = $this->con->openCursor('demandes');\r
                $c->administrateur = $administrateur;\r
                $c->update('WHERE demande_id=\'' . $this->con->escape($demande_id) . '\'');\r
        }\r
 \r
-       public function reinitDemande($demande_id)\r
-       {\r
+       public function reinitDemande($demande_id) {\r
                $c = $this->con->openCursor('demandes');\r
                $c->administrateur = 0;\r
                $c->revendeur = 0;\r
@@ -100,8 +111,7 @@ class wsDAODemande extends commonDAO {
                $c->update('WHERE demande_id=\'' . $this->con->escape($demande_id) . '\'');\r
        }\r
 \r
-       public function accepteDemande($demande_id, $revendeur)\r
-       {\r
+       public function accepteDemande($demande_id, $revendeur) {\r
                $c = $this->con->openCursor('demandes');\r
                $c->status = 2;\r
                $c->update('WHERE demande_id=\'' . $this->con->escape($demande_id) . '\'');\r
@@ -113,8 +123,7 @@ class wsDAODemande extends commonDAO {
                return $demande;\r
        }\r
 \r
-       public function setRevendeur($demande_id, $revendeur)\r
-       {\r
+       public function setRevendeur($demande_id, $revendeur) {\r
                // Mets à jour l'entreprise\r
                $c = $this->con->openCursor('demandes');\r
                $c->revendeur = $revendeur;\r
@@ -125,19 +134,16 @@ class wsDAODemande extends commonDAO {
                return $demande;\r
        }\r
 \r
-       public function count()\r
-       {\r
+       public function count() {\r
                $r = $this->con->select('SELECT COUNT(*) AS nb FROM demandes WHERE ' . $this->makeWhereFromFiltres());\r
                return $r->nb;\r
        }\r
 \r
-       public function supprime($demande_id)\r
-       {\r
+       public function supprime($demande_id) {\r
                $this->con->execute('DELETE FROM demandes WHERE demande_id=\'' . $this->con->escape($demande_id) . '\'');\r
        }\r
 \r
-       protected function makeWhereFromFiltres()\r
-       {\r
+       protected function makeWhereFromFiltres() {\r
                global $core;\r
                if (!is_null($this->filtres)) {\r
                        $w = array('1=1');\r
@@ -147,7 +153,7 @@ class wsDAODemande extends commonDAO {
                        if (commonFiltre::test('demande_moi', $this->filtres)) {\r
                                $keys = array_keys($this->filtres['demande_moi']);\r
 \r
-                               foreach($keys as $k) {\r
+                               foreach ($keys as $k) {\r
                                        if ($k == 'moi') {\r
                                                $w[] = 'revendeur=' . $core->user->utilisateur_id;\r
                                        } elseif ($k == 'autres') {\r
@@ -160,6 +166,7 @@ class wsDAODemande extends commonDAO {
                        return '1=1';\r
                }\r
        }\r
+\r
 }\r
 \r
 ?>
\ No newline at end of file
index 131840c1a90821010458f6d7e21cc25106532cda..bf14ca7c6eaf95e84376f2ed604bddca19f6b0cd 100644 (file)
@@ -30,7 +30,8 @@ class wsBook extends cubeMetier {
        protected $compiledate;\r
        protected $composition_update;\r
        protected $version;\r
-       \r
+       protected $dir_references;\r
+       protected $dir_hosting;\r
 \r
        public function __get($varname) {\r
                if (!property_exists($this, $varname)) {\r
@@ -39,8 +40,8 @@ class wsBook extends cubeMetier {
                        throw new Exception($msg);\r
                }\r
 \r
-               $classic = array('chapters', 'specialLinks','specialRulers', 'traductions');\r
-               $assoc=array('specialLinks','specialRulers');\r
+               $classic = array('chapters', 'specialLinks', 'specialRulers', 'traductions');\r
+               $assoc = array('specialLinks', 'specialRulers');\r
 \r
                if (in_array($varname, $classic)) {\r
                        if (is_array($this->$varname) || is_object($this->$varname)) {\r
@@ -49,7 +50,7 @@ class wsBook extends cubeMetier {
                        if ($this->$varname == '') {\r
                                $this->$varname = array();\r
                        } else {\r
-                               $this->$varname = json_decode($this->$varname,in_array($varname,$assoc));\r
+                               $this->$varname = json_decode($this->$varname, in_array($varname, $assoc));\r
                        }\r
                        return $this->$varname;\r
                }\r
index a04f7d04f0a2ef2a2c4f610fe8c29dc3e41fd70c..30bd75acc52a02f395123972cc5f7fd9db880b49 100644 (file)
@@ -1,23 +1,54 @@
 <?php\r
+\r
 class wsDemande extends cubeMetier {\r
+\r
        protected $demande_id;\r
        protected $type;\r
+       protected $type_nom;\r
        protected $pages;\r
        protected $liens;\r
        protected $langues;\r
        protected $details;\r
-\r
        protected $date;\r
        protected $status;\r
-\r
        protected $revendeur;\r
        protected $utilisateur;\r
        protected $administrateur;\r
-\r
        protected $utilisateur_nom;\r
        protected $revendeur_nom;\r
        protected $entreprise;\r
        protected $administrateur_nom;\r
+\r
+       public static function asMailBody($demande, $utilisateur) {\r
+               $body = "\r\n---- " . __('Demande') . ' ----' . "\r\n";\r
+               $fields = array('type_nom' => __('Type'),\r
+                       'pages' => __('Pages'),\r
+                       'liens' => __('Liens'),\r
+                       'langues' => __('Langues'),\r
+                       'details' => __('Commentaires'));\r
+               foreach ($fields as $p => $t) {\r
+                       if ($demande->$p != '') {\r
+                               $body .= ' * ' . $t . ' : ' . $demande->$p . "\r\n";\r
+                       }\r
+               }\r
+\r
+               $body .= "\r\n" . '---- ' . __('Coordonnées') . ' ----' . "\r\n";\r
+               $fields = array('email' => __('Email'),\r
+                       'prenom' => __('Prenom'),\r
+                       'nom' => __('Nom'),\r
+                       'rs' => __('Entreprise'),\r
+                       'adresse' => __('Adresse'),\r
+                       'code_postal' => __('Code postal'),\r
+                       'ville' => __('Ville'),\r
+                       'pays' => 'Pays');\r
+               foreach ($fields as $p => $t) {\r
+                       if ($utilisateur->$p != '') {\r
+                               $body .= ' * ' . $t . ' : ' . $utilisateur->$p . "\r\n";\r
+                       }\r
+               }\r
+               return $body;\r
+       }\r
+\r
 }\r
 \r
 ?>
\ No newline at end of file
index 75df04b9d79c8dff8da1593d916fd18d6cbbcc1c..f31b6bc234ba55474fe22c112f2067f56f190949 100644 (file)
@@ -1,20 +1,20 @@
 <?php\r
+\r
 class wsPackagerHTML extends wsPackager {\r
+\r
        protected $origHTML;\r
 \r
-       public function __construct($book_id)\r
-       {\r
+       public function __construct($book_id) {\r
                parent::__construct($book_id);\r
                $this->version = 'html';\r
        }\r
 \r
-       protected function preparePackage()\r
-       {\r
+       protected function preparePackage() {\r
                parent::preparePackage();\r
 \r
                if ($this->book->parametres->offlineExport) {\r
                        $versions = array('win-ins' => 'exe', 'mac-exe' => 'zip');\r
-                       foreach($versions as $v => $ext) {\r
+                       foreach ($versions as $v => $ext) {\r
                                $a = wsPackager::package($this->book_id, $v);\r
                                rename(ROOT . $a, $this->vdir . '/data/document.' . $ext);\r
                        }\r
@@ -55,7 +55,7 @@ class wsPackagerHTML extends wsPackager {
                $nav = $this->makeHTMLNav(false);\r
                $footer = $this->makeHTMLFooter();\r
 \r
-               foreach($this->pages as $page => $infos) {\r
+               foreach ($this->pages as $page => $infos) {\r
                        $pathToIndex = 'index.swf';\r
                        $pathToGetflash = 'getflash.gif';\r
                        $redirectScript = '';\r
@@ -83,7 +83,7 @@ class wsPackagerHTML extends wsPackager {
                        }\r
                        $alt .= $footer;\r
 \r
-                       $data = str_replace('$alt', $alt , $this->origHTML);\r
+                       $data = str_replace('$alt', $alt, $this->origHTML);\r
                        $data = str_replace('$pathToIndex', $pathToIndex, $data);\r
                        $data = str_replace('$pathToGetflash', $pathToGetflash, $data);\r
                        $data = str_replace('$redirectScript', $redirectScript, $data);\r
@@ -92,16 +92,17 @@ class wsPackagerHTML extends wsPackager {
                }\r
        }\r
 \r
-       public function makePackage()\r
-       {\r
-               parent::makePackage();\r
-               return $this->zip();\r
+       public function makePackage($zip) {\r
+               parent::makePackage($zip);\r
+               if ($zip) {\r
+                       return $this->zip();\r
+               }\r
+               return $this->vdir;\r
        }\r
 \r
-       protected function makeHTMLNav($root)\r
-       {\r
+       protected function makeHTMLNav($root) {\r
                $res = '<ul id="nav">';\r
-               foreach($this->pages as $page => $infos) {\r
+               foreach ($this->pages as $page => $infos) {\r
                        if ($page == 1) {\r
                                if ($root) {\r
                                        $url = 'index.html';\r
@@ -121,26 +122,22 @@ class wsPackagerHTML extends wsPackager {
                return $res;\r
        }\r
 \r
-       protected function escape($txt)\r
-       {\r
+       protected function escape($txt) {\r
                return htmlentities($txt, ENT_COMPAT, 'UTF-8');\r
        }\r
 \r
-       protected function makeHTMLFooter()\r
-       {\r
+       protected function makeHTMLFooter() {\r
                $res = '<div class="footer">';\r
                $res .= '<h2><a href="http://www.fluidbook.com">Fluidbook : Solution de catalogues interactifs et brochures en ligne</a></h2>';\r
                $res .= '</div>';\r
                return $res;\r
        }\r
 \r
-       protected function replaceHTML($toReplace)\r
-       {\r
+       protected function replaceHTML($toReplace) {\r
                return $this->replaceContents($this->origHTML, $toReplace);\r
        }\r
 \r
-       protected function mergeJavascript()\r
-       {\r
+       protected function mergeJavascript() {\r
                $dest = WS_COMPILE_ASSETS . '/fluidbook.js';\r
                $orig = WS_COMPILE_ASSETS . '/_js/';\r
                $files = array('swfobject.js' => false, 'swfaddress.js' => false, 'fluidbook.js' => true);\r
@@ -148,7 +145,7 @@ class wsPackagerHTML extends wsPackager {
                $refresh = false;\r
                if (file_exists($dest)) {\r
                        $mtime = filemtime($dest);\r
-                       foreach($files as $file => $min) {\r
+                       foreach ($files as $file => $min) {\r
                                if (filemtime($orig . $file) > $mtime) {\r
                                        $refresh = true;\r
                                        break;\r
@@ -162,7 +159,7 @@ class wsPackagerHTML extends wsPackager {
                }\r
 \r
                $minjs = "\n\n";\r
-               foreach($files as $file => $min) {\r
+               foreach ($files as $file => $min) {\r
                        $c = file_get_contents($orig . $file);\r
                        if ($min) {\r
                                $c = JSMin::minify($c);\r
@@ -172,6 +169,7 @@ class wsPackagerHTML extends wsPackager {
                }\r
                file_put_contents($dest, $minjs);\r
        }\r
+\r
 }\r
 \r
 ?>
\ No newline at end of file
index 6374f6a34fbf0616f8ab2467088611baaf317b6d..b26f7c80765067f110effb7548187a5c10ff6a1a 100644 (file)
@@ -18,7 +18,7 @@ class wsPackagerMacEXE extends wsPackager {
                $this->copyOtherFiles(array('Fluidbook.app.zip'));\r
        }\r
 \r
-       public function makePackage()\r
+       public function makePackage($zip)\r
        {\r
                parent::makePackage();\r
                $res=$this->zip($this->vdir . 'Fluidbook.app.zip');\r
index 564e37987be82c8292b7a1ef00c553a6598a4a02..3a6cc62a8044cf979c6104d3e159535b341e6b30 100644 (file)
@@ -11,8 +11,11 @@ class wsPackager {
        protected $book_id;\r
        protected $themeRoot;\r
        protected $daoBook;\r
+       protected $zip;\r
 \r
-       public static function package($book_id, $version) {\r
+       public static function package($book_id, $version,$zip=true) {\r
+               global $packager;\r
+               \r
                cubePHP::neverStop();\r
                if ($version == 'html') {\r
                        $packager = new wsPackagerHTML($book_id);\r
@@ -26,7 +29,7 @@ class wsPackager {
                        $packager = new wsPackagerMacEXE($book_id);\r
                }\r
 \r
-               return $packager->makePackage();\r
+               return $packager->makePackage($zip);\r
        }\r
 \r
        public function __construct($book_id) {\r
@@ -53,7 +56,7 @@ class wsPackager {
                $this->initTempDir();\r
        }\r
 \r
-       public function makePackage() {\r
+       public function makePackage($zip) {\r
                $this->preparePackage();\r
        }\r
 \r
index 3c8515e7465cc4b6330874e9b3ef7b51b6e13393..76f836d66398a9c6ca20cd209ebea82f568a39f1 100644 (file)
@@ -18,7 +18,7 @@ class wsPackagerWinEXE extends wsPackager {
                $this->copyOtherFiles(array('Fluidbook.exe' => $this->exeName));\r
        }\r
 \r
-       public function makePackage() {\r
+       public function makePackage($zip) {\r
                parent::makePackage();\r
                $res = $this->zip();\r
                $this->postPackage();\r
index d5f9b872025973d9e99d50a9c29fb20a0fdbadeb..f14e557cdd9bbc828ad72643c7a12f49944352a8 100644 (file)
@@ -1,15 +1,15 @@
 <?php\r
+\r
 class wsPackagerWinINST extends wsPackagerWinEXE {\r
+\r
        protected $nsi;\r
 \r
-       public function __construct($book_id)\r
-       {\r
+       public function __construct($book_id) {\r
                parent::__construct($book_id);\r
                $this->version = 'win-ins';\r
        }\r
 \r
-       protected function preparePackage()\r
-       {\r
+       protected function preparePackage() {\r
                parent::preparePackage();\r
 \r
                $this->copyFluidbookFiles();\r
@@ -18,12 +18,11 @@ class wsPackagerWinINST extends wsPackagerWinEXE {
                $this->makeNSI();\r
        }\r
 \r
-       protected function makeNSI()\r
-       {\r
+       protected function makeNSI() {\r
                global $core;\r
 \r
                $winvdir = trim($this->vdir, '/');\r
-               $winvdir = str_replace('/', '\\' , $winvdir);\r
+               $winvdir = str_replace('/', '\\', $winvdir);\r
                $winvdir = "\\" . $winvdir;\r
 \r
                $daoLang = new wsDAOLang($core->con);\r
@@ -41,19 +40,19 @@ class wsPackagerWinINST extends wsPackagerWinEXE {
 \r
                $this->nsi = $nsi;\r
        }\r
-       public function makePackage()\r
-       {\r
+\r
+       public function makePackage($zip) {\r
                $this->preparePackage();\r
-               $url = 'http://installer.fluidbook.com/make.php?nsi=' . base64_encode($this->nsi) ;\r
-               fb($url);\r
+               $url = 'http://installer.fluidbook.com/make.php?nsi=' . base64_encode($this->nsi);\r
 \r
                file_get_contents('http://installer.fluidbook.com/make.php?nsi=' . base64_encode($this->nsi) . '&junk=' . TIME);\r
                return $this->getURLBase('exe');\r
        }\r
 \r
-       public function __destruct()\r
-       {\r
+       public function __destruct() {\r
+               \r
        }\r
+\r
 }\r
 \r
 ?>
\ No newline at end of file