]> _ Git - cubeextranet.git/commitdiff
wip #4867 @1
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 9 Nov 2021 12:11:06 +0000 (12:11 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 9 Nov 2021 12:11:06 +0000 (12:11 +0000)
inc/commons/DAO/class.common.dao.client.php
inc/commons/DAO/class.common.dao.utilisateur.php
inc/extranet/Controlleur/class.extranet.ajax.php
inc/ws/DAO/class.ws.dao.theme.php
inc/ws/Metier/class.ws.theme.parametres.php
inc/ws/Util/html5/master/class.ws.html5.compiler.php

index 1cf060a9ff2395deea77b79f2db2c957720e05cb..75b459e4681507bbb16660fd4fb851ea024cf9a4 100644 (file)
@@ -38,7 +38,6 @@ class commonDAOClient extends commonDAOUtilisateur {
        public function getListe($orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false)\r
        {\r
                $sql = $this->getQueryList('clients', $orderby, $sens, $limit, $where,$limitedToUserRights);\r
-               fb($sql);\r
                $r = $this->con->select($sql);\r
                return $this->factory($r);\r
        }\r
@@ -104,6 +103,4 @@ class commonDAOClient extends commonDAOUtilisateur {
                $r = $this->con->select('SELECT * FROM clients WHERE entreprise IN(' . implode(',', $entreprises_ids) . ')');\r
                return $this->factory($r);\r
        }\r
-}\r
-\r
-?>
\ No newline at end of file
+}
\ No newline at end of file
index e690b849a459894e7f4b89f7204265c195b1fa57..f828ebb8e18b51115eb08694d787ef5a02342cec 100644 (file)
@@ -93,7 +93,7 @@ class commonDAOUtilisateur extends commonDAO
         $utilisateur->prenom = '';\r
         $utilisateur->email = '';\r
         $utilisateur->password = crypt::createPassword();\r
-        $utilisateur->api_token= CubeIT_Crypt::generateRandomString(60);\r
+        $utilisateur->api_token = CubeIT_Crypt::generateRandomString(60);\r
         $utilisateur->adresse = '';\r
         $utilisateur->code_postal = '';\r
         $utilisateur->ville = '';\r
@@ -249,16 +249,18 @@ class commonDAOUtilisateur extends commonDAO
         $c->e1_mobile = $data['mobile'];\r
         $c->locale = $data['lang'];\r
         $c->company = $data['entreprise'];\r
+        $c->created_ok = 1;\r
         if ($data['grade'] > 0) {\r
             $c->agence = $data['agence'];\r
         }\r
+\r
         try {\r
             // Nouveau client\r
             if ($data['utilisateur_id'] == 'new') {\r
                 $c->id = $this->getNextId();\r
                 $c->insert();\r
                 $core->refreshWSUsersTree();\r
-                return $this->selectById($c->utilisateur_id);\r
+                return $this->selectById($c->id);\r
             } else {\r
                 // Mise à jour d'un client\r
                 $c->update('WHERE id=\'' . $this->con->escape($data['utilisateur_id']) . '\'');\r
@@ -267,6 +269,7 @@ class commonDAOUtilisateur extends commonDAO
             }\r
         } catch (Exception $e) {\r
             echo $e->getMessage();\r
+            exit;\r
         }\r
     }\r
 \r
index d8a62c79a9529499866e9606c4db831d957907ce..196e2cae58dc352021ff3226ee88bfea41122eb8 100644 (file)
 <?php\r
 \r
-class extranetAjax {\r
-\r
-       public static function formClient($args, &$x) {\r
-               global $core;\r
-               if ($args[1] == 'new') {\r
-                       $extra = '';\r
-               } else {\r
-                       $extra = '<p><br /><br /><br /></p><div id="listeContacts">' . extranetUrl::listeContacts($args[1]) . '</div>';\r
-               }\r
-               $extra .= '<p class="right" style="margin-top:10px;margin-right:10px;"><br /><br /><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregistrer')) . '</a><br /><br /></p>';\r
-\r
-               commonAjax::form('saveClient', __("Edition d'un client"), extranetUrl::formClient($args[1]), false, 2, '', $extra);\r
-       }\r
-\r
-       public static function formContact($args, &$x) {\r
-               if (!isset($args[2])) {\r
-                       $args[2] = null;\r
-               }\r
-               commonAjax::form('saveContact', __("Edition d'un contact"), extranetUrl::formContact($args[1], $args[2]));\r
-       }\r
-\r
-       public static function formNotes($args, &$x) {\r
-               global $core;\r
-               commonAjax::form('saveNotes', __('Edition des notes'), extranetUrl::formNotes($args[1]));\r
-       }\r
-\r
-       public static function saveClient($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOEntreprise($core->con);\r
-               $entreprise = $dao->sauve($_POST);\r
-               if ($_POST['entreprise_id'] === 'new') {\r
-                       $data = $_POST['contact'];\r
-                       $data['entreprise'] = $entreprise->entreprise_id;\r
-                       $data['utilisateur_id'] = 'new';\r
-                       $data['adresse'] = $entreprise->adresse;\r
-                       $data['code_postal'] = $entreprise->code_postal;\r
-                       $data['ville'] = $entreprise->ville;\r
-                       $data['pays'] = $entreprise->pays;\r
-                       $data['grade'] = 0;\r
-                       $data['adresse_facturation'] = $entreprise->adresse_facturation;\r
-                       $daoClient = new commonDAOClient($core->con);\r
-                       try {\r
-                               $daoClient->sauve($data);\r
-                       } catch (exception $e) {\r
-                       }\r
-               }\r
-\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-               $x->addClosePopup();\r
-       }\r
-\r
-       public static function saveNotes($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOClient($core->con);\r
-               $dao->sauveNotes($_POST['utilisateur_id'], $_POST['notes']);\r
-               $x->addClosePopup();\r
-       }\r
-\r
-       public static function saveContact($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOClient($core->con);\r
-               $client = $dao->sauve($_POST);\r
-               $x->addClosePopup();\r
-               $x->addContent('devisAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'devis'));\r
-               $x->addContent('factureAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'facture'));\r
-               $x->addContent('listeContacts', extranetUrl::listeContacts($client->entreprise));\r
-               $contacts = array();\r
-               $client_contacts = $dao->getContactsOfEntreprise($client->entreprise);\r
-               foreach ($client_contacts as $c) {\r
-                       $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
-               }\r
-               $x->addContent('contacts_' . $client->entreprise, implode(', ', $contacts));\r
-\r
-               $x->addPopupDimensions();\r
-       }\r
-\r
-       public static function supprimeClient($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOEntreprise($core->con);\r
-               $dao->supprime($args[1]);\r
-\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-       }\r
-\r
-       public static function searchClients($args, &$x) {\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-       }\r
-\r
-       public static function sortClient($args, &$x) {\r
-               commonAjax::sort('clients', $args[1]);\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-       }\r
-\r
-       public static function sortEquipier($args, &$x) {\r
-               commonAjax::sort('equipiers', $args[1]);\r
-               $x->addContent('listeEquipiers', extranetUrl::listeRh());\r
-       }\r
-\r
-       public static function pageClient($args, &$x) {\r
-               commonAjax::page('clients', $args[1]);\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-       }\r
-\r
-       public static function parPageClient($args, &$x) {\r
-               commonAjax::parPage('clients', $_POST['par_page']);\r
-               $x->addContent('listeClients', extranetUrl::listeClients());\r
-       }\r
-\r
-       public static function filtreClients($args, &$x) {\r
-               if (isset($args[1]) && $args[1] == 'efface') {\r
-                       commonAjax::filtre('clients');\r
-                       $x->addReload();\r
-                       return;\r
-               } else {\r
-                       commonAjax::filtre('clients', $_POST);\r
-                       $x->addContent('listeClients', extranetUrl::listeClients());\r
-               }\r
-       }\r
-\r
-       public static function clientDetailCa($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOEntreprise($core->con);\r
-               $client = $dao->selectById($args[1]);\r
-               return commonAjax::form('', __("Détail du chiffre d'affaire de") . ' ' . $client->nom, extranetUrl::clientDetailCa($args[1]), false);\r
-       }\r
-\r
-       public static function clientDetailImpaye($args, &$x) {\r
-               global $core;\r
-               $dao = new commonDAOEntreprise($core->con);\r
-               $client = $dao->selectById($args[1]);\r
-               return commonAjax::form('', __("Détail des impayés de") . ' ' . $client->nom, extranetUrl::clientDetailImpaye($args[1]), false, 4);\r
-       }\r
-\r
-       public static function formProjet($args, &$x) {\r
-               commonAjax::form('saveProjet', __("Edition d'un projet"), extranetUrl::formProjet($args[1]));\r
-       }\r
-\r
-       public static function saveProjet($args, &$x) {\r
-               global $core;\r
-\r
-               $error = false;\r
-               if ($_POST['client'] == '') {\r
-                       $x->addError('client');\r
-                       $error = true;\r
-               } else {\r
-                       $x->addOk('client');\r
-               }\r
-\r
-               if ($error) {\r
-                       return;\r
-               }\r
-\r
-               $dao = new extranetDAOProjet($core->con);\r
-               $id = $dao->sauve($_POST);\r
-\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-               $x->addRedirection(SITE_PATH . 'projet/' . $id);\r
-       }\r
-\r
-       public static function changeProjetStatus($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOProjet($core->con);\r
-               $dao->changeStatus($args[1]);\r
-\r
-               $x->addContent('listeProjet', extranetUrl::listeProjet($args[1]));\r
-       }\r
-\r
-       public static function changeProjetsStatus($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOProjet($core->con);\r
-               $dao->changeStatus($args[1]);\r
-\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets($args[1]));\r
-       }\r
-\r
-       public static function supprimeProjet($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOProjet($core->con);\r
-               $dao->supprime($args[1]);\r
-\r
-               $x->addRedirection(SITE_PATH . 'projets');\r
-       }\r
-\r
-       public static function searchProjets($args, &$x) {\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-       }\r
-\r
-       public static function pageProjet($args, &$x) {\r
-               commonAjax::page('projets', $args[1]);\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-       }\r
-\r
-       public static function parPageProjet($args, &$x) {\r
-               commonAjax::parPage('projets', $_POST['par_page']);\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-       }\r
-\r
-       public static function sortProjet($args, &$x) {\r
-               commonAjax::sort('projets', $args[1]);\r
-               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-       }\r
-\r
-       public static function filtreProjet($args, &$x) {\r
-               if (isset($args[1]) && $args[1] == 'efface') {\r
-                       commonAjax::filtre('projets');\r
-                       $x->addReload();\r
-                       return;\r
-               } else {\r
-                       commonAjax::filtre('projets', $_POST);\r
-                       $x->addContent('listeProjets', extranetUrl::listeProjets());\r
-               }\r
-       }\r
-\r
-       public static function formTacheNormale($args, &$x) {\r
-               $projet = isset($args[2]) ? $args[2] : null;\r
-               commonAjax::form('saveTache', __("Edition d'un tâche"), extranetUrl::formTacheNormale($args[1], $projet));\r
-       }\r
-\r
-       public static function formTacheSousTraitee($args, &$x) {\r
-               $projet = isset($args[2]) ? $args[2] : null;\r
-               commonAjax::form('saveTache', __("Edition d'un tâche sous-traitée"), extranetUrl::formTacheSousTraitee($args[1], $projet));\r
-       }\r
-\r
-       public static function saveTache($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOTache($core->con);\r
-               $dao->sauve($_POST);\r
-\r
-               $x->addContent('listeProjet', extranetUrl::listeProjet($_POST['projet']));\r
-               $x->addClosePopup();\r
-       }\r
-\r
-       public static function supprimeTache($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOTache($core->con);\r
-               $tache = $dao->selectById($args[1]);\r
-\r
-               $dao->supprime($args[1]);\r
-               $x->addContent('listeProjet', extranetUrl::listeProjet($tache->projet));\r
-       }\r
-\r
-       public static function saveTimereport($args, &$x) {\r
-               global $core;\r
-               $date = $args[1];\r
-               $heures = $args[3];\r
-               $tache_id = $args[2];\r
-               $dao = new extranetDAOTimereport($core->con);\r
-\r
-               $x->addValue('t_' . $date . '_' . $tache_id, $dao->sauve($core->user->utilisateur_id, $tache_id, $date, $heures));\r
-               // Mise a jour des valeurs pour le projet et la tâche\r
-               $daoProjet = new extranetDAOProjet($core->con);\r
-               $projet = $daoProjet->getProjetByTache($tache_id);\r
-               foreach ($projet as $p) {\r
-                       $p->progression = !$p->progression ? '-' : $p->progression . '%';\r
-                       $p->jours_consommes = !$p->jours_consommes ? '-' : $p->jours_consommes;\r
-                       foreach ($p->taches as $t) {\r
-                               if ($t->tache_id != $tache_id) {\r
-                                       continue;\r
-                               }\r
-                               $t->progression = !$t->progression ? '-' : $t->progression . '%';\r
-                               $t->jours_consommes = !$t->jours_consommes ? '-' : $t->jours_consommes;\r
-                               break;\r
-                       }\r
-                       $x->addContent('progress_projet_' . $p->projet_id, $p->progression);\r
-                       $x->addContent('consommees_projet_' . $p->projet_id, $p->jours_consommes);\r
-                       $x->addContent('progress_' . $tache_id, $t->progression);\r
-                       $x->addContent('consommees_' . $tache_id, $t->jours_consommes);\r
-               }\r
-       }\r
-\r
-       public static function sortTimereport($args, &$x) {\r
-               commonAjax::sort('timereport', $args[1]);\r
-               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
-       }\r
-\r
-       public static function pageTimereport($args, &$x) {\r
-               commonAjax::page('timereport', $args[1]);\r
-               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
-       }\r
-\r
-       public static function searchTimereport($args, &$x) {\r
-               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
-       }\r
-\r
-       public static function parPageTimereport($args, &$x) {\r
-               commonAjax::parPage('timereport', $_POST['par_page']);\r
-               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
-       }\r
-\r
-       public static function filtreTimereport($args, &$x) {\r
-               if (isset($args[1]) && $args[1] == 'efface') {\r
-                       commonAjax::filtre('timereport');\r
-                       $x->addReload();\r
-                       return;\r
-               } else {\r
-                       commonAjax::filtre('timereport', $_POST);\r
-                       $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
-               }\r
-       }\r
-\r
-       public static function changeDevisStatus($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAODevis($core->con);\r
-               $dao->changeStatus($args[1], $args[2]);\r
-\r
-               if (isset($args[3]) && $args[3] == 'createProjet') {\r
-                       $daoProjet = new extranetDAOProjet($core->con);\r
-                       $projet_id = $daoProjet->createFromDevis($args[1], $core->user->utilisateur_id);\r
-                       $x->addRedirection(SITE_PATH . 'projet/' . $projet_id);\r
-               } else {\r
-                       $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-               }\r
-       }\r
-\r
-       public static function supprimeDevis($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAODevis($core->con);\r
-               $dao->supprime($args[1]);\r
-               @unlink(ROOT . '/docs/devis/' . $args[1] . '.pdf');\r
-\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-       }\r
-\r
-       public static function searchDevis($args, &$x) {\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-       }\r
-\r
-       public static function pageDevis($args, &$x) {\r
-               commonAjax::page('devis', $args[1]);\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-       }\r
-\r
-       public static function parPageDevis($args, &$x) {\r
-               commonAjax::parPage('devis', $_POST['par_page']);\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-       }\r
-\r
-       public static function sortDevis($args, &$x) {\r
-               commonAjax::sort('devis', $args[1]);\r
-               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-       }\r
-\r
-       public static function filtreDevis($args, &$x) {\r
-               if (isset($args[1]) && $args[1] == 'efface') {\r
-                       commonAjax::filtre('devis');\r
-                       $x->addReload();\r
-                       return;\r
-               } else {\r
-                       commonAjax::filtre('devis', $_POST);\r
-                       $x->addContent('listeDevis', extranetUrl::listeDevis());\r
-               }\r
-       }\r
-\r
-       public static function sortDevisClient($args, &$x) {\r
-               commonAjax::sort('devis', $args[1]);\r
-               $x->addContent('listeDevis', extranetUrl::listeDevisClient());\r
-       }\r
-\r
-       public static function expedieDevis($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAODevis($core->con);\r
-               $devis = $dao->selectByID($args[2]);\r
-\r
-               $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
-               $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
-               $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
-\r
-               if ($args[1] == 1) {\r
-                       // Envoie de l'email\r
-                       $mail = new cubeMail();\r
-                       $mail->from = $devis->createur->getEmail();\r
-                       $mail->bcc = MAIL_BCC;\r
-                       $mail->bcc = $devis->createur->getEmail();\r
-                       $mail->to = $devis->client->getEmail();\r
-                       $mail->subject = $devis->email['sujet'];\r
-                       $mail->body = $devis->email['corps'] . "\r\n\r\n" . $devis->createur->getSignature();\r
-                       $mail->addFile('Devis.pdf', ROOT . '/docs/devis/' . $devis->devis_id . '.pdf');\r
-                       $mail->send();\r
-               }\r
-               // On marque le devis comme envoyé\r
-               $dao->changeStatus($devis->devis_id, 1);\r
-               $x->addDownloadFile('/voirdevis/' . $devis->devis_id . '/1');\r
-               $x->addRedirection(SITE_PATH . 'devis');\r
-       }\r
-\r
-       public static function duplicateDevis($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAODevis($core->con);\r
-               $devis = $dao->duplique($args[1], $core->user->utilisateur_id);\r
-               $x->addRedirection(SITE_PATH . 'editedevis/' . $devis->devis_id);\r
-       }\r
-\r
-       public static function changeFactureStatus($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $dao->changeStatus($args[1], $args[2]);\r
-\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function changeFacturePaiement($args, &$x) {\r
-               return commonAjax::form('saveFacturePaiement', __('Informations relatives au paiement de la facture'), extranetUrl::formFacturePaiement($args[1]));\r
-       }\r
-\r
-       public static function saveFacturePaiement($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $dao->savePaiement($_POST);\r
-               $x->addClosePopup();\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function supprimeFacture($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $dao->supprime($args[1]);\r
-               @unlink(ROOT . '/docs/facture/' . $args[1] . '.pdf');\r
-\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function valideFacture($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $id = $dao->valide($args[1]);\r
-\r
-               $x->addTruePopup('/voirfacture/' . $id);\r
-               $x->addRedirection(SITE_PATH . 'factures');\r
-       }\r
-\r
-       public static function searchFactures($args, &$x) {\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function pageFacture($args, &$x) {\r
-               commonAjax::page('factures', $args[1]);\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function parPageFacture($args, &$x) {\r
-               commonAjax::parPage('factures', $_POST['par_page']);\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function sortFacture($args, &$x) {\r
-               commonAjax::sort('factures', $args[1]);\r
-               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-       }\r
-\r
-       public static function filtreFactures($args, &$x) {\r
-               if (isset($args[1]) && $args[1] == 'efface') {\r
-                       commonAjax::filtre('factures');\r
-                       $x->addReload();\r
-                       return;\r
-               } else {\r
-                       commonAjax::filtre('factures', $_POST);\r
-                       $x->addContent('listeFactures', extranetUrl::listeFactures());\r
-               }\r
-       }\r
-\r
-       public static function sauveFactures($args, &$x) {\r
-               global $core;\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $dao->sauve($_POST);\r
-\r
-               $x->addRedirection(SITE_PATH . 'factures');\r
-       }\r
-\r
-       public static function duplicateFacture($args, &$x) {\r
-               global $core;\r
-\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $facture = $dao->duplique($args[1], $core->user->utilisateur_id);\r
-\r
-               $x->addRedirection(SITE_PATH . 'editefacture/' . $facture->facture_id);\r
-       }\r
-\r
-       public static function formPrintFactures($args, &$x) {\r
-               commonAjax::form('printFactures', __('Imprimer des factures'), extranetUrl::formPrintFactures(), __("Lancer l'impression"));\r
-       }\r
-\r
-       public static function printFactures($args, &$x) {\r
-               global $core;\r
-               $factures = cubeArray::parseRange($_POST['factures']);\r
-\r
-               $liste = array();\r
-               foreach ($factures as $f) {\r
-                       if (file_exists(ROOT . '/docs/factures/' . $f . '.pdf')) {\r
-                               $liste[] = ROOT . '/docs/factures/' . $f . '.pdf';\r
-                       }\r
-               }\r
-               $liste[] = 'output';\r
-               $liste[] = ROOT . '/docs/factures/print_' . $core->user->utilisateur_id . '_' . TIME . '.pdf';\r
-\r
-               $pdftk = new cubeCommandLine('pdftk');\r
-               $pdftk->setManualArg(implode(' ', $liste));\r
-               $pdftk->execute();\r
-\r
-               $core->user->saveLastPrint($_POST['factures']);\r
-\r
-               $x->addClosePopup();\r
-               $x->addTruePopup(SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . TIME);\r
-               $core->sauvePreferencesUtilisateur();\r
-       }\r
-\r
-       public static function getAdresseForDevis($args, &$x) {\r
-               $adresse = commonUrl::adresse($args[1], null, 'devis');\r
-               if (!$adresse) {\r
-                       $x->addError('client_nom', '');\r
-               } else {\r
-                       $x->addContent('devisAdresseDisplay', $adresse);\r
-               }\r
-       }\r
-\r
-       public static function getAdresseForFacture($args, &$x) {\r
-               $adresse = commonUrl::adresse(null, $args[1], 'facture');\r
-               if (!$adresse) {\r
-                       $x->addError('projet_nom', '');\r
-               } else {\r
-                       $x->addContent('factureAdresseDisplay', $adresse);\r
-               }\r
-       }\r
-\r
-       public static function saveTrad($args, &$x) {\r
-               $data = cubeLang::dataToFile($_POST);\r
-               file_put_contents(L10N . '/en/main.lang.php', $data);\r
-               $x->addAlert(__('Traductions sauvegardées'));\r
-       }\r
-\r
-       public static function previewDevis($args, &$x) {\r
-               global $core;\r
-\r
-               $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
-               if (is_null($daoUtilisateur->selectById($_POST['client']))) {\r
-                       $x->addError('client_nom');\r
-                       $x->addRedirection('#');\r
-                       return;\r
-               }\r
-\r
-               commonDroits::min(1);\r
-               $dao = new extranetDAODevis($core->con);\r
-               $devis = $dao->sauve($core->user->utilisateur_id, $_POST);\r
-               $dao->saveAsPdf($devis->devis_id);\r
-               $x->addRedirection(SITE_PATH . 'previewDevis/' . $devis->devis_id);\r
-       }\r
-\r
-       public static function previewFacture($args, &$x) {\r
-               global $core;\r
-               commonDroits::min(1);\r
-\r
-               $daoProjet = new extranetDAOProjet($core->con);\r
-               $daoClient = new commonDAOClient($core->con);\r
-               if (is_null($daoProjet->selectById($_POST['projet'])) && (!isset($_POST['client']) || is_null($daoClient->selectById($_POST['client'])))) {\r
-                       $x->addError('projet_nom');\r
-                       $x->addRedirection('#');\r
-                       return;\r
-               }\r
-\r
-               $dao = new extranetDAOFacture($core->con);\r
-               $facture = $dao->sauve($_POST, $core->user->utilisateur_id);\r
-               $dao->saveAsPdf($facture->facture_id);\r
-               $x->addRedirection(SITE_PATH . 'previewFacture/' . $facture->facture_id);\r
-       }\r
-\r
-       public static function chargesDetails($args, &$x) {\r
-               commonAjax::form('', sprintf(__("Détails des charges de l'année %s"), date('Y')), extranetPageChiffres::chargesDetails($args), '', 3, 'liste');\r
-       }\r
-\r
-       public static function makeFavicon($args, &$x) {\r
-               $x->addRedirection(extranetTools::makeFavicon());\r
-       }\r
+class extranetAjax\r
+{\r
+\r
+    public static function formClient($args, &$x)\r
+    {\r
+        global $core;\r
+        if ($args[1] == 'new') {\r
+            $extra = '';\r
+        } else {\r
+            $extra = '<p><br /><br /><br /></p><div id="listeContacts">' . extranetUrl::listeContacts($args[1]) . '</div>';\r
+        }\r
+        $extra .= '<p class="right" style="margin-top:10px;margin-right:10px;"><br /><br /><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregistrer')) . '</a><br /><br /></p>';\r
+\r
+        commonAjax::form('saveClient', __("Edition d'un client"), extranetUrl::formClient($args[1]), false, 2, '', $extra);\r
+    }\r
+\r
+    public static function formContact($args, &$x)\r
+    {\r
+        if (!isset($args[2])) {\r
+            $args[2] = null;\r
+        }\r
+        commonAjax::form('saveContact', __("Edition d'un contact"), extranetUrl::formContact($args[1], $args[2]));\r
+    }\r
+\r
+    public static function formNotes($args, &$x)\r
+    {\r
+        global $core;\r
+        commonAjax::form('saveNotes', __('Edition des notes'), extranetUrl::formNotes($args[1]));\r
+    }\r
+\r
+    public static function saveClient($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOEntreprise($core->con);\r
+        $entreprise = $dao->sauve($_POST);\r
+        if ($_POST['entreprise_id'] === 'new') {\r
+            $data = $_POST['contact'];\r
+            $data['entreprise'] = $entreprise->entreprise_id;\r
+            $data['utilisateur_id'] = 'new';\r
+            $data['adresse'] = $entreprise->adresse;\r
+            $data['code_postal'] = $entreprise->code_postal;\r
+            $data['ville'] = $entreprise->ville;\r
+            $data['pays'] = $entreprise->pays;\r
+            $data['grade'] = 0;\r
+            $data['adresse_facturation'] = $entreprise->adresse_facturation;\r
+            $daoClient = new commonDAOClient($core->con);\r
+            try {\r
+                $daoClient->sauve($data);\r
+            } catch (exception $e) {\r
+            }\r
+        }\r
+\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+        $x->addClosePopup();\r
+    }\r
+\r
+    public static function saveNotes($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOClient($core->con);\r
+        $dao->sauveNotes($_POST['utilisateur_id'], $_POST['notes']);\r
+        $x->addClosePopup();\r
+    }\r
+\r
+    public static function saveContact($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOClient($core->con);\r
+        $client = $dao->sauve($_POST);\r
+        $x->addDebug(print_r($client));\r
+        $x->addClosePopup();\r
+        $x->addContent('devisAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'devis'));\r
+        $x->addContent('factureAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'facture'));\r
+        $x->addContent('listeContacts', extranetUrl::listeContacts($client->entreprise));\r
+        $contacts = array();\r
+        $client_contacts = $dao->getContactsOfEntreprise($client->entreprise);\r
+        foreach ($client_contacts as $c) {\r
+            $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
+        }\r
+        $x->addContent('contacts_' . $client->entreprise, implode(', ', $contacts));\r
+\r
+        $x->addPopupDimensions();\r
+    }\r
+\r
+    public static function supprimeClient($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOEntreprise($core->con);\r
+        $dao->supprime($args[1]);\r
+\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+    }\r
+\r
+    public static function searchClients($args, &$x)\r
+    {\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+    }\r
+\r
+    public static function sortClient($args, &$x)\r
+    {\r
+        commonAjax::sort('clients', $args[1]);\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+    }\r
+\r
+    public static function sortEquipier($args, &$x)\r
+    {\r
+        commonAjax::sort('equipiers', $args[1]);\r
+        $x->addContent('listeEquipiers', extranetUrl::listeRh());\r
+    }\r
+\r
+    public static function pageClient($args, &$x)\r
+    {\r
+        commonAjax::page('clients', $args[1]);\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+    }\r
+\r
+    public static function parPageClient($args, &$x)\r
+    {\r
+        commonAjax::parPage('clients', $_POST['par_page']);\r
+        $x->addContent('listeClients', extranetUrl::listeClients());\r
+    }\r
+\r
+    public static function filtreClients($args, &$x)\r
+    {\r
+        if (isset($args[1]) && $args[1] == 'efface') {\r
+            commonAjax::filtre('clients');\r
+            $x->addReload();\r
+            return;\r
+        } else {\r
+            commonAjax::filtre('clients', $_POST);\r
+            $x->addContent('listeClients', extranetUrl::listeClients());\r
+        }\r
+    }\r
+\r
+    public static function clientDetailCa($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOEntreprise($core->con);\r
+        $client = $dao->selectById($args[1]);\r
+        return commonAjax::form('', __("Détail du chiffre d'affaire de") . ' ' . $client->nom, extranetUrl::clientDetailCa($args[1]), false);\r
+    }\r
+\r
+    public static function clientDetailImpaye($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new commonDAOEntreprise($core->con);\r
+        $client = $dao->selectById($args[1]);\r
+        return commonAjax::form('', __("Détail des impayés de") . ' ' . $client->nom, extranetUrl::clientDetailImpaye($args[1]), false, 4);\r
+    }\r
+\r
+    public static function formProjet($args, &$x)\r
+    {\r
+        commonAjax::form('saveProjet', __("Edition d'un projet"), extranetUrl::formProjet($args[1]));\r
+    }\r
+\r
+    public static function saveProjet($args, &$x)\r
+    {\r
+        global $core;\r
+\r
+        $error = false;\r
+        if ($_POST['client'] == '') {\r
+            $x->addError('client');\r
+            $error = true;\r
+        } else {\r
+            $x->addOk('client');\r
+        }\r
+\r
+        if ($error) {\r
+            return;\r
+        }\r
+\r
+        $dao = new extranetDAOProjet($core->con);\r
+        $id = $dao->sauve($_POST);\r
+\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+        $x->addRedirection(SITE_PATH . 'projet/' . $id);\r
+    }\r
+\r
+    public static function changeProjetStatus($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOProjet($core->con);\r
+        $dao->changeStatus($args[1]);\r
+\r
+        $x->addContent('listeProjet', extranetUrl::listeProjet($args[1]));\r
+    }\r
+\r
+    public static function changeProjetsStatus($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOProjet($core->con);\r
+        $dao->changeStatus($args[1]);\r
+\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets($args[1]));\r
+    }\r
+\r
+    public static function supprimeProjet($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOProjet($core->con);\r
+        $dao->supprime($args[1]);\r
+\r
+        $x->addRedirection(SITE_PATH . 'projets');\r
+    }\r
+\r
+    public static function searchProjets($args, &$x)\r
+    {\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+    }\r
+\r
+    public static function pageProjet($args, &$x)\r
+    {\r
+        commonAjax::page('projets', $args[1]);\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+    }\r
+\r
+    public static function parPageProjet($args, &$x)\r
+    {\r
+        commonAjax::parPage('projets', $_POST['par_page']);\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+    }\r
+\r
+    public static function sortProjet($args, &$x)\r
+    {\r
+        commonAjax::sort('projets', $args[1]);\r
+        $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+    }\r
+\r
+    public static function filtreProjet($args, &$x)\r
+    {\r
+        if (isset($args[1]) && $args[1] == 'efface') {\r
+            commonAjax::filtre('projets');\r
+            $x->addReload();\r
+            return;\r
+        } else {\r
+            commonAjax::filtre('projets', $_POST);\r
+            $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+        }\r
+    }\r
+\r
+    public static function formTacheNormale($args, &$x)\r
+    {\r
+        $projet = isset($args[2]) ? $args[2] : null;\r
+        commonAjax::form('saveTache', __("Edition d'un tâche"), extranetUrl::formTacheNormale($args[1], $projet));\r
+    }\r
+\r
+    public static function formTacheSousTraitee($args, &$x)\r
+    {\r
+        $projet = isset($args[2]) ? $args[2] : null;\r
+        commonAjax::form('saveTache', __("Edition d'un tâche sous-traitée"), extranetUrl::formTacheSousTraitee($args[1], $projet));\r
+    }\r
+\r
+    public static function saveTache($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOTache($core->con);\r
+        $dao->sauve($_POST);\r
+\r
+        $x->addContent('listeProjet', extranetUrl::listeProjet($_POST['projet']));\r
+        $x->addClosePopup();\r
+    }\r
+\r
+    public static function supprimeTache($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOTache($core->con);\r
+        $tache = $dao->selectById($args[1]);\r
+\r
+        $dao->supprime($args[1]);\r
+        $x->addContent('listeProjet', extranetUrl::listeProjet($tache->projet));\r
+    }\r
+\r
+    public static function saveTimereport($args, &$x)\r
+    {\r
+        global $core;\r
+        $date = $args[1];\r
+        $heures = $args[3];\r
+        $tache_id = $args[2];\r
+        $dao = new extranetDAOTimereport($core->con);\r
+\r
+        $x->addValue('t_' . $date . '_' . $tache_id, $dao->sauve($core->user->utilisateur_id, $tache_id, $date, $heures));\r
+        // Mise a jour des valeurs pour le projet et la tâche\r
+        $daoProjet = new extranetDAOProjet($core->con);\r
+        $projet = $daoProjet->getProjetByTache($tache_id);\r
+        foreach ($projet as $p) {\r
+            $p->progression = !$p->progression ? '-' : $p->progression . '%';\r
+            $p->jours_consommes = !$p->jours_consommes ? '-' : $p->jours_consommes;\r
+            foreach ($p->taches as $t) {\r
+                if ($t->tache_id != $tache_id) {\r
+                    continue;\r
+                }\r
+                $t->progression = !$t->progression ? '-' : $t->progression . '%';\r
+                $t->jours_consommes = !$t->jours_consommes ? '-' : $t->jours_consommes;\r
+                break;\r
+            }\r
+            $x->addContent('progress_projet_' . $p->projet_id, $p->progression);\r
+            $x->addContent('consommees_projet_' . $p->projet_id, $p->jours_consommes);\r
+            $x->addContent('progress_' . $tache_id, $t->progression);\r
+            $x->addContent('consommees_' . $tache_id, $t->jours_consommes);\r
+        }\r
+    }\r
+\r
+    public static function sortTimereport($args, &$x)\r
+    {\r
+        commonAjax::sort('timereport', $args[1]);\r
+        $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+    }\r
+\r
+    public static function pageTimereport($args, &$x)\r
+    {\r
+        commonAjax::page('timereport', $args[1]);\r
+        $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+    }\r
+\r
+    public static function searchTimereport($args, &$x)\r
+    {\r
+        $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+    }\r
+\r
+    public static function parPageTimereport($args, &$x)\r
+    {\r
+        commonAjax::parPage('timereport', $_POST['par_page']);\r
+        $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+    }\r
+\r
+    public static function filtreTimereport($args, &$x)\r
+    {\r
+        if (isset($args[1]) && $args[1] == 'efface') {\r
+            commonAjax::filtre('timereport');\r
+            $x->addReload();\r
+            return;\r
+        } else {\r
+            commonAjax::filtre('timereport', $_POST);\r
+            $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+        }\r
+    }\r
+\r
+    public static function changeDevisStatus($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAODevis($core->con);\r
+        $dao->changeStatus($args[1], $args[2]);\r
+\r
+        if (isset($args[3]) && $args[3] == 'createProjet') {\r
+            $daoProjet = new extranetDAOProjet($core->con);\r
+            $projet_id = $daoProjet->createFromDevis($args[1], $core->user->utilisateur_id);\r
+            $x->addRedirection(SITE_PATH . 'projet/' . $projet_id);\r
+        } else {\r
+            $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+        }\r
+    }\r
+\r
+    public static function supprimeDevis($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAODevis($core->con);\r
+        $dao->supprime($args[1]);\r
+        @unlink(ROOT . '/docs/devis/' . $args[1] . '.pdf');\r
+\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+    }\r
+\r
+    public static function searchDevis($args, &$x)\r
+    {\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+    }\r
+\r
+    public static function pageDevis($args, &$x)\r
+    {\r
+        commonAjax::page('devis', $args[1]);\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+    }\r
+\r
+    public static function parPageDevis($args, &$x)\r
+    {\r
+        commonAjax::parPage('devis', $_POST['par_page']);\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+    }\r
+\r
+    public static function sortDevis($args, &$x)\r
+    {\r
+        commonAjax::sort('devis', $args[1]);\r
+        $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+    }\r
+\r
+    public static function filtreDevis($args, &$x)\r
+    {\r
+        if (isset($args[1]) && $args[1] == 'efface') {\r
+            commonAjax::filtre('devis');\r
+            $x->addReload();\r
+            return;\r
+        } else {\r
+            commonAjax::filtre('devis', $_POST);\r
+            $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+        }\r
+    }\r
+\r
+    public static function sortDevisClient($args, &$x)\r
+    {\r
+        commonAjax::sort('devis', $args[1]);\r
+        $x->addContent('listeDevis', extranetUrl::listeDevisClient());\r
+    }\r
+\r
+    public static function expedieDevis($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAODevis($core->con);\r
+        $devis = $dao->selectByID($args[2]);\r
+\r
+        $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
+        $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
+        $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
+\r
+        if ($args[1] == 1) {\r
+            // Envoie de l'email\r
+            $mail = new cubeMail();\r
+            $mail->from = $devis->createur->getEmail();\r
+            $mail->bcc = MAIL_BCC;\r
+            $mail->bcc = $devis->createur->getEmail();\r
+            $mail->to = $devis->client->getEmail();\r
+            $mail->subject = $devis->email['sujet'];\r
+            $mail->body = $devis->email['corps'] . "\r\n\r\n" . $devis->createur->getSignature();\r
+            $mail->addFile('Devis.pdf', ROOT . '/docs/devis/' . $devis->devis_id . '.pdf');\r
+            $mail->send();\r
+        }\r
+        // On marque le devis comme envoyé\r
+        $dao->changeStatus($devis->devis_id, 1);\r
+        $x->addDownloadFile('/voirdevis/' . $devis->devis_id . '/1');\r
+        $x->addRedirection(SITE_PATH . 'devis');\r
+    }\r
+\r
+    public static function duplicateDevis($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAODevis($core->con);\r
+        $devis = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+        $x->addRedirection(SITE_PATH . 'editedevis/' . $devis->devis_id);\r
+    }\r
+\r
+    public static function changeFactureStatus($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $dao->changeStatus($args[1], $args[2]);\r
+\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function changeFacturePaiement($args, &$x)\r
+    {\r
+        return commonAjax::form('saveFacturePaiement', __('Informations relatives au paiement de la facture'), extranetUrl::formFacturePaiement($args[1]));\r
+    }\r
+\r
+    public static function saveFacturePaiement($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $dao->savePaiement($_POST);\r
+        $x->addClosePopup();\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function supprimeFacture($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $dao->supprime($args[1]);\r
+        @unlink(ROOT . '/docs/facture/' . $args[1] . '.pdf');\r
+\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function valideFacture($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $id = $dao->valide($args[1]);\r
+\r
+        $x->addTruePopup('/voirfacture/' . $id);\r
+        $x->addRedirection(SITE_PATH . 'factures');\r
+    }\r
+\r
+    public static function searchFactures($args, &$x)\r
+    {\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function pageFacture($args, &$x)\r
+    {\r
+        commonAjax::page('factures', $args[1]);\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function parPageFacture($args, &$x)\r
+    {\r
+        commonAjax::parPage('factures', $_POST['par_page']);\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function sortFacture($args, &$x)\r
+    {\r
+        commonAjax::sort('factures', $args[1]);\r
+        $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+    }\r
+\r
+    public static function filtreFactures($args, &$x)\r
+    {\r
+        if (isset($args[1]) && $args[1] == 'efface') {\r
+            commonAjax::filtre('factures');\r
+            $x->addReload();\r
+            return;\r
+        } else {\r
+            commonAjax::filtre('factures', $_POST);\r
+            $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+        }\r
+    }\r
+\r
+    public static function sauveFactures($args, &$x)\r
+    {\r
+        global $core;\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $dao->sauve($_POST);\r
+\r
+        $x->addRedirection(SITE_PATH . 'factures');\r
+    }\r
+\r
+    public static function duplicateFacture($args, &$x)\r
+    {\r
+        global $core;\r
+\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $facture = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+\r
+        $x->addRedirection(SITE_PATH . 'editefacture/' . $facture->facture_id);\r
+    }\r
+\r
+    public static function formPrintFactures($args, &$x)\r
+    {\r
+        commonAjax::form('printFactures', __('Imprimer des factures'), extranetUrl::formPrintFactures(), __("Lancer l'impression"));\r
+    }\r
+\r
+    public static function printFactures($args, &$x)\r
+    {\r
+        global $core;\r
+        $factures = cubeArray::parseRange($_POST['factures']);\r
+\r
+        $liste = array();\r
+        foreach ($factures as $f) {\r
+            if (file_exists(ROOT . '/docs/factures/' . $f . '.pdf')) {\r
+                $liste[] = ROOT . '/docs/factures/' . $f . '.pdf';\r
+            }\r
+        }\r
+        $liste[] = 'output';\r
+        $liste[] = ROOT . '/docs/factures/print_' . $core->user->utilisateur_id . '_' . TIME . '.pdf';\r
+\r
+        $pdftk = new cubeCommandLine('pdftk');\r
+        $pdftk->setManualArg(implode(' ', $liste));\r
+        $pdftk->execute();\r
+\r
+        $core->user->saveLastPrint($_POST['factures']);\r
+\r
+        $x->addClosePopup();\r
+        $x->addTruePopup(SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . TIME);\r
+        $core->sauvePreferencesUtilisateur();\r
+    }\r
+\r
+    public static function getAdresseForDevis($args, &$x)\r
+    {\r
+        $adresse = commonUrl::adresse($args[1], null, 'devis');\r
+        if (!$adresse) {\r
+            $x->addError('client_nom', '');\r
+        } else {\r
+            $x->addContent('devisAdresseDisplay', $adresse);\r
+        }\r
+    }\r
+\r
+    public static function getAdresseForFacture($args, &$x)\r
+    {\r
+        $adresse = commonUrl::adresse(null, $args[1], 'facture');\r
+        if (!$adresse) {\r
+            $x->addError('projet_nom', '');\r
+        } else {\r
+            $x->addContent('factureAdresseDisplay', $adresse);\r
+        }\r
+    }\r
+\r
+    public static function saveTrad($args, &$x)\r
+    {\r
+        $data = cubeLang::dataToFile($_POST);\r
+        file_put_contents(L10N . '/en/main.lang.php', $data);\r
+        $x->addAlert(__('Traductions sauvegardées'));\r
+    }\r
+\r
+    public static function previewDevis($args, &$x)\r
+    {\r
+        global $core;\r
+\r
+        $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
+        if (is_null($daoUtilisateur->selectById($_POST['client']))) {\r
+            $x->addError('client_nom');\r
+            $x->addRedirection('#');\r
+            return;\r
+        }\r
+\r
+        commonDroits::min(1);\r
+        $dao = new extranetDAODevis($core->con);\r
+        $devis = $dao->sauve($core->user->utilisateur_id, $_POST);\r
+        $dao->saveAsPdf($devis->devis_id);\r
+        $x->addRedirection(SITE_PATH . 'previewDevis/' . $devis->devis_id);\r
+    }\r
+\r
+    public static function previewFacture($args, &$x)\r
+    {\r
+        global $core;\r
+        commonDroits::min(1);\r
+\r
+        $daoProjet = new extranetDAOProjet($core->con);\r
+        $daoClient = new commonDAOClient($core->con);\r
+        if (is_null($daoProjet->selectById($_POST['projet'])) && (!isset($_POST['client']) || is_null($daoClient->selectById($_POST['client'])))) {\r
+            $x->addError('projet_nom');\r
+            $x->addRedirection('#');\r
+            return;\r
+        }\r
+\r
+        $dao = new extranetDAOFacture($core->con);\r
+        $facture = $dao->sauve($_POST, $core->user->utilisateur_id);\r
+        $dao->saveAsPdf($facture->facture_id);\r
+        $x->addRedirection(SITE_PATH . 'previewFacture/' . $facture->facture_id);\r
+    }\r
+\r
+    public static function chargesDetails($args, &$x)\r
+    {\r
+        commonAjax::form('', sprintf(__("Détails des charges de l'année %s"), date('Y')), extranetPageChiffres::chargesDetails($args), '', 3, 'liste');\r
+    }\r
+\r
+    public static function makeFavicon($args, &$x)\r
+    {\r
+        $x->addRedirection(extranetTools::makeFavicon());\r
+    }\r
 \r
 }\r
 \r
index b10f61ee977142445527885f0e3c570a34322d70..e7cae3433ac319fe8d31552d2da73c4b5353d01c 100644 (file)
@@ -10,7 +10,6 @@ class wsDAOTheme extends commonDAO
         $theme->nom = $a['name'];\r
         $theme->date = time();\r
         $theme->proprietaire = $a['owner'];\r
-        $theme->signature = 0;\r
         $theme->icones = 15;\r
         $theme->parametres = new wsThemeParametres($theme);\r
         $theme->parametres->initFromArray($a);\r
@@ -25,7 +24,6 @@ class wsDAOTheme extends commonDAO
             $theme->nom = $r->name;\r
             $theme->date = strtotime($r->created_at);\r
             $theme->proprietaire = $r->owner;\r
-            $theme->signature = 0;\r
             $theme->icones = 15;\r
             $theme->parametres = new wsThemeParametres($theme);\r
             $theme->parametres->initFromWS3Data($r);\r
@@ -40,7 +38,6 @@ class wsDAOTheme extends commonDAO
             if ($r->exists('proprietaire_nom')) {\r
                 $theme->proprietaire_nom = $r->proprietaire_nom;\r
             }\r
-            $theme->signature = $r->signature;\r
             $theme->icones = $r->icones;\r
             if (CubeIT_Util_Json::isJson($r->parametres)) {\r
                 $p = new wsThemeParametres($theme);\r
index 580050fe8ccc5273750ee9208d92a5ff91577033..40ba8d1f9a09c04839613389ff8d86e18dd38130 100644 (file)
@@ -21,7 +21,7 @@ class wsThemeParametres extends wsParametres
         global $core;\r
         $r = $core->con->select('SELECT * FROM `fluidbook_toolbox`.`fluidbook_iconset` WHERE created_ok=1 ORDER BY id');\r
         while ($r->fetch()) {\r
-            $iconSets[$r->names] = $r->id;\r
+            $iconSets[$r->name] = $r->id;\r
         }\r
 \r
         parent::initFields();\r
index 8c7587281e764ff4b2fcc2998a1e0639657b5ced..cae1d201ce3d71f2c4f8625c001e8e727fe0b4e5 100644 (file)
@@ -995,7 +995,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
         if (file_exists($e[0])) {
             return $path;
         }
-            return $this->wdir . $path;
+        return $this->wdir . $path;
 
     }
 
@@ -1010,8 +1010,8 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
         }
 
         if (preg_match('/^page\/(.+)$/', $k, $matches)) {
-            $matches[1]=CubeIT_Util_Text::removeAccents($matches[1]);
-            $matches[1]=mb_strtolower($matches[1]);
+            $matches[1] = CubeIT_Util_Text::removeAccents($matches[1]);
+            $matches[1] = mb_strtolower($matches[1]);
             if (isset($this->pageLabels[$matches[1]])) {
                 return 'page/' . $this->pageLabels[$matches[1]];
             }