+++ /dev/null
-<?php\r
-include('inc/prepend.php');\r
-\r
-try {\r
- $utilisateurs = true;\r
- $documents = true;\r
- $books = true;\r
- $themes = true;\r
- $langues = true;\r
-\r
- if ($utilisateurs) {\r
- $books = true;\r
- }\r
- if ($books) {\r
- $documents = true;\r
- }\r
-\r
- define('MYSQL_BIN', '/usr/local/mysql/bin/');\r
- // Copie de la base extranet vers extranet_dev\r
- cubeDb::truncateDatabase('extranet_workshop');\r
- cubeDb::mysqlDump('localhost', 'extranet' , DB_USER , DB_PASSWORD , dirname(__FILE__) . '/dump.sql', false, 0);\r
- cubeDb::mysqlRestore('localhost', DB_NAME, DB_USER , DB_PASSWORD , dirname(__FILE__) . '/dump.sql', false);\r
- unlink(dirname(__FILE__) . '/dump.sql');\r
-\r
- touch(ROOT . '/cache/DB_TODO');\r
- $core->dbSync();\r
- cubeDb::mysqlConvert($core->con);\r
-\r
- $grades = array(0 => 1, 0.4 => 1, '0.4' => 1, 0.5 => 1, '0.5' => 1, 1 => 1, 2 => 2, 3 => 3, 4 => 5);\r
-\r
- $tables = array('books', 'book_pages', 'dashboard', 'devis', 'documents', 'entreprises', 'factures', 'icones', 'langues', 'projets', 'signatures', 'taches', 'themes', 'timereport', 'utilisateurs'/*, 'themes_droits'*/);\r
- foreach($tables as $t) {\r
- $core->con->execute('ALTER TABLE ' . $t . ' DISABLE KEYS');\r
- }\r
- // Copie des dossiers\r
- `/bin/cp /home/extranet/_www/devis/* /home/extranet/www/devis/`;\r
- `/bin/cp /home/extranet/_www/factures/* /home/extranet/www/factures/`;\r
- `/bin/cp -r /home/ws/www/themes/* /home/extranet/www/fluidbook/themes/`;\r
- `/bin/rm -rf /home/extranet/www/fluidbook/docs`;\r
-\r
- $core->con->execute('UPDATE entreprises SET ws_grade=0, ws_admin=1');\r
-\r
- if ($utilisateurs) {\r
- // Importe les entreprises\r
- // Contrôle des entreprises déjà dans la base extranet\r
- $entreprises = array();\r
- $entreprise_id = 0;\r
- $r = $core->con->select('SELECT entreprise_id,nom FROM entreprises');\r
- while ($r->fetch()) {\r
- $nom = mb_strtolower(trim($r->nom));\r
- $nom = cubeText::str2URL($nom);\r
- $entreprises[$nom] = $r->entreprise_id;\r
- $entreprise_id = max($entreprise_id, $r->entreprise_id);\r
- }\r
-\r
- $utilisateurs_entreprises = array();\r
- $r = $core->con->select('SELECT entreprise,utilisateur_id FROM utilisateurs');\r
- while ($r->fetch()) {\r
- $utilisateurs_entreprises[$r->utilisateur_id] = $r->entreprise;\r
- }\r
-\r
- $entreprise_id++;\r
- // Obtient les emails des utilisateurs\r
- $utilisateur_id = 0;\r
- $utilisateurs = array();\r
- $r = $core->con->select('SELECT utilisateur_id,email FROM utilisateurs');\r
- while ($r->fetch()) {\r
- $utilisateur_id = max($r->utilisateur_id, $utilisateur_id);\r
- $utilisateurs[trim(mb_strtolower($r->email))] = $r->utilisateur_id;\r
- }\r
- $utilisateur_id++;\r
- // Importe les entreprises et utilisateurs du WS dont les membres n'ont pas été reliés à l'extranet\r
- $r = $core->con->select('SELECT * FROM ws.user WHERE extranet=0 AND (uid IN (SELECT uid FROM ws.book) OR grade>=3) ORDER BY rs');\r
- $ws2ext = array();\r
- while ($r->fetch()) {\r
- // On s'occupe de l'entreprise\r
- $email = trim(mb_strtolower($r->email));\r
-\r
- $rs = trim($r->rs);\r
- if ($rs == '') {\r
- $rs = trim($r->prenom . ' ' . $r->nom);\r
- }\r
- $nom = mb_strtolower($rs);\r
-\r
- $nom = cubeText::str2URL($nom);\r
-\r
- if (isset($utilisateurs[$email])) {\r
- $newid = $utilisateurs[$email];\r
- $e = $utilisateurs_entreprises[$newid];\r
- $update = true;\r
- } elseif (isset($entreprises[$nom])) {\r
- $e = $entreprises[$nom];\r
- $update = true;\r
- } else {\r
- $c = $core->con->openCursor('entreprises');\r
- $c->entreprise_id = $entreprise_id;\r
- $c->nom = $rs;\r
- $c->adresse = $r->adresse;\r
- $c->code_postal = $r->code_postal;\r
- $c->ville = $r->ville;\r
- $c->pays = $r->pays;\r
- $c->date_creation = $r->date;\r
- $c->ws_grade = $grades[$r->grade];\r
- $c->insert();\r
- $e = $entreprises[$nom] = $entreprise_id;\r
- $entreprise_id++;\r
- $update = false;\r
- }\r
-\r
- if ($update) {\r
- $c = $core->con->openCursor('entreprises');\r
- $c->ws_grade = $grades[$r->grade];\r
- $c->update('WHERE entreprise_id=\'' . $e . '\'');\r
- }\r
- // Puis de l'utilisateur\r
- if (isset($utilisateurs[$email])) {\r
- $c = $core->con->openCursor('utilisateurs');\r
- $c->ws_password = $r->password;\r
- $c->ws_id = $r->uid;\r
- $c->update('WHERE utilisateur_id=\'' . $utilisateurs[$email] . '\'');\r
- $ws2ext[$r->uid] = $utilisateurs[$email];\r
- $utilisateurs_entreprises[$utilisateurs[$email]] = $e;\r
- } else {\r
- $c = $core->con->openCursor('utilisateurs');\r
- $c->utilisateur_id = $utilisateur_id;\r
- $c->entreprise = $e;\r
- $c->nom = $r->nom;\r
- $c->prenom = $r->prenom;\r
- $c->email = $r->email;\r
- $c->password = $r->password;\r
- $c->adresse = $r->adresse;\r
- $c->code_postal = $r->code_postal;\r
- $c->ville = $r->ville;\r
- $c->pays = $r->pays;\r
- $c->lang = $r->lang;\r
- $c->telephone = $r->telephone;\r
- $c->date_creation = $r->date;\r
- $c->notes = 'Inséré à la migration du Fluidbook Workshop';\r
- $c->ws_password = $r->password;\r
- $c->ws_id = $r->uid;\r
- $c->insert();\r
- $ws2ext[$r->uid] = $utilisateur_id;\r
- $utilisateurs_entreprises[$utilisateur_id] = $e;\r
- $utilisateur_id++;\r
- }\r
- }\r
-\r
- $lastuid = 1;\r
-\r
- for($i = 4;$i >= 1;$i--) {\r
- $c = $core->con->openCursor('entreprises');\r
- $c->nom = 'Entreprise Test - Grade ' . $i;\r
- $c->ws_grade = $i;\r
- $c->ws_admin = $lastuid;\r
- $c->entreprise_id = $entreprise_id;\r
- $c->pays = 'FR';\r
- $c->insert();\r
-\r
- $c = $core->con->openCursor('utilisateurs');\r
- $c->prenom = 'Utilisateur Test';\r
- $c->nom = 'Grade ' . $i;\r
- $c->email = 'grade' . $i . "@fluidbook.com";\r
- $c->password = 'atacama';\r
- $c->utilisateur_id = $utilisateur_id;\r
- $c->entreprise = $entreprise_id;\r
-\r
- $c->lang = 'fr';\r
- $c->insert();\r
-\r
- $lastuid = $utilisateur_id;\r
-\r
- $entreprise_id++;\r
- $utilisateur_id++;\r
- }\r
- // Mets à jour les utilisateurs reliés à l'extranet\r
- $r = $core->con->select('SELECT * FROM ws.user WHERE extranet!=0');\r
- while ($r->fetch()) {\r
- $rr = $core->con->select('SELECT entreprise FROM utilisateurs WHERE utilisateur_id=\'' . $r->extranet . '\'');\r
- $e = $rr->entreprise;\r
-\r
- $c = $core->con->openCursor('utilisateurs');\r
- $c->ws_password = $r->password;\r
- $c->ws_id = $r->uid;\r
- $c->update('WHERE utilisateur_id=\'' . $r->extranet . '\'');\r
-\r
- $c = $core->con->openCursor('entreprises');\r
- $c->ws_grade = $grades[$r->grade];\r
- $c->ws_admin = 1;\r
- $c->update('WHERE entreprise_id=' . $e);\r
-\r
- $utilisateurs_entreprises[$r->extranet] = $e;\r
- $ws2ext[$r->uid] = $r->extranet;\r
- }\r
- // Mets à jour les liens revendeur->client\r
- $r = $core->con->select('SELECT * FROM ws.user u ORDER BY grade DESC,date ASC');\r
- while ($r->fetch()) {\r
- if (!isset($ws2ext[$r->uid])) {\r
- continue;\r
- }\r
-\r
- if (!isset($ws2ext[$r->admin])) {\r
- $ws2ext[$r->admin] = 1;\r
- }\r
- $c = $core->con->openCursor('entreprises');\r
- $c->ws_admin = $ws2ext[$r->admin];\r
- $c->update('WHERE entreprise_id=\'' . $utilisateurs_entreprises[$ws2ext[$r->uid]] . '\'');\r
- }\r
- // Set cubedesigners AS admin\r
- $core->con->execute('UPDATE entreprises SET ws_grade=5, ws_admin=1 WHERE entreprise_id=7');\r
- // Some entreprises are themeselves revendeurs. It's not normal\r
- $core->con->execute('UPDATE entreprises e SET ws_admin=1 WHERE ws_admin IN (SELECT utilisateur_id FROM utilisateurs u WHERE e.entreprise_id=u.entreprise)');\r
- } else {\r
- $ws2ext = array();\r
- $r = $core->con->select('SELECT ws_id,utilisateur_id,entreprise FROM utilisateurs WHERE ws_id IS NOT NULL');\r
- while ($r->fetch()) {\r
- $ws2ext[$r->ws_id] = $r->utilisateur_id;\r
- $utilisateurs_entreprises[$r->utilisateur_id] = $r->entreprise;\r
- }\r
- }\r
-\r
- if ($themes) {\r
- // Importe les signatures\r
- $r = $core->con->select('SELECT * FROM ws.signature');\r
- while ($r->fetch()) {\r
- $c = $core->con->openCursor('signatures');\r
- $c->signature_id = $r->sigid;\r
- $c->nom = $r->titre;\r
- $c->fbcredit = $r->fbcredit;\r
- $c->fblink = $r->fblink;\r
- $c->partnercredit = $r->partnercredit;\r
- $c->partnerlink = $r->partnerlink;\r
- $c->insert();\r
- }\r
- // Importe les jeux d'icones\r
- for($i = 1;$i <= 2;$i++) {\r
- $c = $core->con->openCursor('icones');\r
- $c->icone_id = $i;\r
- $c->nom = 'Vectoriel';\r
- $c->date = TIME;\r
- $c->proprietaire = getWsUser(5);\r
- $c->insert();\r
- }\r
- // Import des thèmes\r
- $r = $core->con->select('SELECT * FROM ws.theme');\r
- $theme = new wsTheme();\r
- while ($r->fetch()) {\r
- $c = $core->con->openCursor('themes');\r
- $c->theme_id = $r->tid;\r
- $c->proprietaire = getWsUser($r->proprietaire);\r
- $c->date = $r->date;\r
- $c->nom = $r->titre;\r
-\r
- $parametres = new wsThemeParametres($theme);\r
- $parametres->fromRecord($r);\r
- $c->icones = oldIconesToColor($r->iid, $parametres);\r
- $c->parametres = serialize($parametres);\r
- $c->insert();\r
-\r
- $signatures[$r->tid] = $r->sigid;\r
- }\r
- $r = $core->con->select('SELECT * FROM ws.theme_user');\r
- $c = $core->con->openCursor('themes_droits');\r
- while ($r->fetch()) {\r
- $c->utilisateur_id = $r->uid;\r
- $c->theme_id = $r->tid;\r
- try {\r
- $c->insert();\r
- }\r
- catch(Exception $e) {\r
- }\r
- }\r
- }\r
- if ($langues) {\r
- // Importe les langues\r
- $allTrads = array();\r
- $trad = array();\r
- $r = $core->con->select('SELECT * FROM ws.lang_trad,ws.lang_ord WHERE lang_trad.idlt=lang_ord.idlt');\r
- while ($r->fetch()) {\r
- $idl = getLangCode($r->idl);\r
- if (!isset($trad[$idl])) {\r
- $trad[$idl] = array();\r
- }\r
- $trad[$idl][$r->ord] = $r->text;\r
- }\r
-\r
- $r = $core->con->select('SELECT * FROM ws.lang');\r
- while ($r->fetch()) {\r
- $idl = getLangCode($r->idl);\r
- ksort($trad[$idl]);\r
-\r
- $traductions = wsLang::getTraductionWithId($trad[$idl]);\r
- $allTrads[$idl] = $traductions;\r
-\r
- if (strlen($idl) > 2) {\r
- continue;\r
- }\r
-\r
- $c = $core->con->openCursor('langues');\r
- $c->lang_id = $idl;\r
- $c->charset = 'Latin1';\r
- $c->font = 'Fluidbook.otf';\r
- $c->traductions = json_encode($traductions);\r
- $c->insert();\r
- }\r
- }\r
- $docs = array();\r
- if ($documents) {\r
- // Importe les documents\r
- $r = $core->con->select('SELECT * FROM ws.document ORDER BY did');\r
- while ($r->fetch()) {\r
- $c = $core->con->openCursor('documents');\r
- $c->document_id = $r->did;\r
- $c->pages = $r->pages;\r
- $c->version = 1;\r
- $c->insert();\r
- // TODO Copie des fichiers\r
- $docs[$r->did] = true;\r
- /*if (!file_exists(dirname(__FILE__) . '/docs/' . $r->did)) {\r
- mkdir(dirname(__FILE__) . '/docs/' . $r->did, 0777, true);\r
- }*/\r
- }\r
- // Importe les pages des documents\r
- } else {\r
- $r = $core->con->select('SELECT document_id FROM documents');\r
- while ($r->fetch()) {\r
- $docs[$r->document_id] = true;\r
- }\r
- }\r
-\r
- if ($books) {\r
- // Importe les fluidbooks\r
- $r = $core->con->select('SELECT * FROM ws.book ORDER BY bid');\r
- if ($r->count() == 0) {\r
- break;\r
- }\r
- // .\r
- $books_proprietaires = array();\r
- while ($r->fetch()) {\r
- $c = $core->con->openCursor('books');\r
- $c->book_id = $r->bid;\r
- $c->nom = $r->titre;\r
- $c->lang = substr(getLangCode($r->lang), 0, 2);\r
- $c->theme = $r->tid;\r
- if (strlen($r->lang) > 2) {\r
- $c->traductions = json_encode($allTrads[mb_strtolower($r->lang)]);\r
- } else {\r
- $c->traductions = '';\r
- }\r
- $books_proprietaires[$r->bid] = $c->proprietaire = getWsUser($r->uid);\r
- $c->status = $r->status;\r
- $c->date_status = $r->date_status;\r
- $c->hash = $r->code;\r
- $c->compteur_visites = 20;\r
- $c->date = $r->date;\r
- $parametres = new wsBookParametres(new stdClass());\r
- $parametres->fromRecord($r);\r
-\r
- $xml = @simplexml_load_string('<extras>' . $r->extras . '</extras>');\r
- if ($xml !== false) {\r
- $parametres->fromXML($xml);\r
- } else {\r
- fb('error on extras (Fluidbook # ' . $r->bid);\r
- }\r
-\r
- $n = array();\r
- // Pages sans numéro\r
- $offset = $r->first_page_nr-1;\r
- for($i = 0;$i < $offset;$i++) {\r
- $n[] = '';\r
- }\r
- // Pages avec numero\r
- for($j = 1;$j + $offset <= $r->pages;$j++) {\r
- $n[] = $j;\r
- }\r
- $c->numerotation = implode(',', $n);\r
-\r
- $parametres->signature = $signatures[$r->tid];\r
- $parametres->title = $r->titre;\r
- $parametres->visualisationMode = '0';\r
- $c->parametres = serialize($parametres);\r
- $c->insert();\r
- }\r
- // Importe les pages des fluidbooks\r
- $r = $core->con->select('SELECT bid,did FROM ws.book_pages GROUP BY did');\r
- while ($r->fetch()) {\r
- if (!isset($docs[$r->did])) {\r
- $c = $core->con->openCursor('documents');\r
- $c->proprietaire = $books_proprietaires[$r->bid];\r
- $c->insert();\r
- $docs[$r->did] = true;\r
- }\r
- }\r
-\r
- $core->con->execute('INSERT INTO book_pages (book_id,book_page,document_id,document_page) SELECT bid,bpid,did,dpid FROM ws.book_pages');\r
- }\r
-\r
- $core->refreshWSUsersTree();\r
-\r
- foreach($tables as $t) {\r
- $core->con->execute('ALTER TABLE ' . $t . ' ENABLE KEYS');\r
- }\r
-}\r
-catch(Exception $e) {\r
- print_r($e);\r
- fb($e);\r
-}\r
-\r
-function oldIconesToColor($iid, &$parametres)\r
-{\r
- global $oldIconesColors;\r
- if (!isset($oldIconesColors)) {\r
- $oldIconesColors = array();\r
- $fp = fopen(dirname(__FILE__).'/icones.csv', 'rb');\r
- $i = 1;\r
- while ($line = fgetcsv($fp, 1000, ';', '"')) {\r
- $oldIconesColors[$i] = array('color' => trim($line[0]), 'iid' => trim($line[1]));\r
- $i++;\r
- }\r
- }\r
- $line = $oldIconesColors[$iid];\r
- if ($line['iid'] != '') {\r
- $parametres->iconSet = $line['iid'];\r
- $parametres->iconsHMargin = $line['iid'] == 1?20:0;\r
- $parametres->menuHeight=39;\r
- $parametres->colorizeIcons = false;\r
- $parametres->couleurI = 'ffffff';\r
- return $line['iid'];\r
- }\r
- $parametres->iconSet = 1;\r
- $parametres->colorizeIcons = 1;\r
- $parametres->iconsHMargin = 20;\r
- $parametres->menuHeight=39;\r
- $parametres->couleurI = $line['color'];\r
-\r
- return 1;\r
-}\r
-\r
-function getLangCode($lang)\r
-{\r
- $lang = strtolower($lang);\r
- if ($lang == 'cz') {\r
- $lang = 'cs';\r
- }\r
- return $lang;\r
-}\r
-\r
-function getWsUser($oldid)\r
-{\r
- global $ws2ext;\r
- if (!isset($ws2ext[$oldid])) {\r
- $ws2ext[$oldid] = 5;\r
- }\r
- return $ws2ext[$oldid];\r
-}\r
-\r
-?>
\ No newline at end of file
<?php\r
\r
class extranetDAODevis extends commonDAO {\r
+\r
/**\r
* extranetDAODevis::singleton()\r
*\r
* @param recordSet $r\r
* @return extranetDevis\r
*/\r
- protected function singleton($r)\r
- {\r
+ protected function singleton($r) {\r
$devis = new extranetDevis();\r
$devis->devis_id = $r->devis_id;\r
$devis->nom = $r->nom;\r
*\r
* @return extranetDevis\r
*/\r
- public function cree()\r
- {\r
+ public function cree() {\r
$devis = new extranetDevis();\r
$devis->devis_id = 'new';\r
$devis->nom = '';\r
*\r
* @return integer\r
*/\r
- protected function getNextId()\r
- {\r
+ protected function getNextId() {\r
$r = $this->con->select('SELECT MAX(devis_id) AS devis_id FROM devis');\r
return $r->devis_id + 1;\r
}\r
* @param integer $devis_id\r
* @return extranetDevis\r
*/\r
- public function duplique($devis_id, $createur)\r
- {\r
+ public function duplique($devis_id, $createur) {\r
$devis = $this->selectById($devis_id);\r
\r
$c = $this->con->openCursor('devis');\r
* @param integer $id\r
* @return extranetDevis\r
*/\r
- public function selectById($devis_id = null)\r
- {\r
+ public function selectById($devis_id = null) {\r
if (is_null($devis_id)) {\r
return $this->cree();\r
}\r
* @param boolean $search_id\r
* @return array\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
$where = $this->makeWhereFromFiltres();\r
}\r
\r
- $orderby = is_null($orderby)?'devis_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) ? 'devis_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 devis_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
$r = $this->con->select($sql);\r
return $this->factory($r);\r
}\r
\r
- public function getListeValidesLibres($except)\r
- {\r
+ public function getListeValidesLibres($except) {\r
$sql = 'SELECT * FROM devis_vue WHERE devis_id NOT IN (SELECT devis FROM projets WHERE projet_id!=\'' . $except . '\') AND status=2';\r
$r = $this->con->select($sql);\r
return $this->factory($r);\r
}\r
\r
- public function getListeForClient($client_id, $orderby, $sens)\r
- {\r
+ public function getListeForClient($client_id, $orderby, $sens) {\r
$sql = 'SELECT * FROM devis_vue WHERE client_id=\'' . $this->con->escape($client_id) . '\' AND status>0 ORDER BY ' . $orderby . ' ' . $sens;\r
$r = $this->con->select($sql);\r
return $this->factory($r);\r
}\r
\r
- public function getListeForEntreprise($entreprise_id, $orderby, $sens)\r
- {\r
+ public function getListeForEntreprise($entreprise_id, $orderby, $sens) {\r
$sql = 'SELECT * FROM devis_vue WHERE client_id IN (SELECT utilisateur_id FROM utilisateurs WHERE entreprise=\'' . $this->con->escape($entreprise_id) . '\') AND status>0 ORDER BY ' . $orderby . ' ' . $sens;\r
$r = $this->con->select($sql);\r
return $this->factory($r);\r
* @param array $data\r
* @return extranetDevis\r
*/\r
- public function sauve($createur, $data)\r
- {\r
+ public function sauve($createur, $data) {\r
global $core;\r
\r
$lignes = array();\r
- foreach($data['montant'] as $i => $montant) {\r
+ foreach ($data['montant'] as $i => $montant) {\r
$ligne = array('titre' => $data['titre'][$i], 'description' => $data['description'][$i], 'montant' => $data['montant'][$i]);\r
if ($ligne['titre'] == '' && $ligne['description'] == '' && $ligne['montant'] == '') {\r
continue;\r
$c->date_creation = time();\r
$c->total_ht = 0;\r
$c->adresse = $data['adresse'];\r
- foreach($lignes as $d) {\r
- $c->total_ht += (float)$d['montant'];\r
+ foreach ($lignes as $d) {\r
+ $c->total_ht += (float) $d['montant'];\r
}\r
\r
if ($data['devis_id'] == 'new' || $data['devis_id'] == '') {\r
return $this->selectById($devis_id);\r
}\r
\r
- public function saveAsPdf($devis_id)\r
- {\r
- /*\r
- $facture = $this->selectById($facture_id);\r
- $daoUtilisateur = new commonDAOUtilisateur($this->con);\r
- $facture->client = $daoUtilisateur->selectById($facture->client_id);\r
- $facture->createur = $daoUtilisateur->selectById($facture->createur_id);\r
- if ($facture->status == 4) {\r
- $facture->avoir = $this->selectById($facture->avoir);\r
- }\r
- // Chargement des paramètres de la langue du client\r
- cubeLang::set($facture->client->lang);\r
- $pdf = $facture->saveAsPDF();\r
- if (file_exists(ROOT . '/factures/' . $facture->facture_id . '.pdf')) {\r
- rename(ROOT . '/factures/' . $facture->facture_id . '.pdf', ROOT . '/factures/' . $facture->facture_id . '_' . filemtime(ROOT . '/factures/' . $facture->facture_id . '.pdf') . '.pdf');\r
- }\r
- $pdf->Output(ROOT . '/factures/' . $facture->facture_id . '.pdf');\r
- */\r
-\r
+ public function saveAsPdf($devis_id) {\r
$devis = $this->selectById($devis_id);\r
\r
$daoUtilisateur = new commonDAOUtilisateur($this->con);\r
// Chargement des paramètres de la langue du client\r
cubeLang::set($devis->client->lang);\r
$pdf = $devis->saveAsPDF();\r
- if (file_exists(ROOT . '/devis/' . $devis->devis_id . '.pdf')) {\r
- rename(ROOT . '/devis/' . $devis->devis_id . '.pdf', ROOT . '/devis/' . $devis->devis_id . '_' . filemtime(ROOT . '/devis/' . $devis->devis_id . '.pdf') . '.pdf');\r
+ if (file_exists(ROOT . '/docs/devis/' . $devis->devis_id . '.pdf')) {\r
+ rename(ROOT . '/docs/devis/' . $devis->devis_id . '.pdf', ROOT . '/docs/devis/' . $devis->devis_id . '_' . filemtime(ROOT . '/docs/devis/' . $devis->devis_id . '.pdf') . '.pdf');\r
}\r
- $pdf->Output(ROOT . '/devis/' . $devis->devis_id . '.pdf');\r
+ $pdf->Output(ROOT . '/docs/devis/' . $devis->devis_id . '.pdf');\r
// Restaure les paramètres de langue de l'utilisateur\r
global $core;\r
cubeLang::set($core->user->lang);\r
* @param integer $devis_id\r
* @return boolean\r
*/\r
- public function changeStatus($devis_id, $status = 'next')\r
- {\r
+ public function changeStatus($devis_id, $status = 'next') {\r
if (!$status) {\r
return;\r
}\r
* @param integer $devis_id\r
* @return boolean\r
*/\r
- public function supprime($devis_id)\r
- {\r
+ public function supprime($devis_id) {\r
return $this->con->execute('DELETE FROM devis WHERE devis_id=\'' . $this->con->escape($devis_id) . '\'');\r
}\r
\r
*\r
* @return integer\r
*/\r
- public function count()\r
- {\r
- $filters=$this->makeWhereFromFiltres();\r
- if($filters=='1=1'){\r
- $table='devis';\r
- }else{\r
- $table='devis_vue';\r
+ public function count() {\r
+ $filters = $this->makeWhereFromFiltres();\r
+ if ($filters == '1=1') {\r
+ $table = 'devis';\r
+ } else {\r
+ $table = 'devis_vue';\r
}\r
- $r = $this->con->select('SELECT COUNT(*) AS nb FROM '.$table.' WHERE ' . $filters);\r
+ $r = $this->con->select('SELECT COUNT(*) AS nb FROM ' . $table . ' WHERE ' . $filters);\r
return $r->nb;\r
}\r
\r
- protected function makeWhereFromFiltres()\r
- {\r
+ protected function makeWhereFromFiltres() {\r
if (!is_null($this->filtres)) {\r
$w = array('1=1');\r
if (commonFiltre::test('annee_facture', $this->filtres)) {\r
return '1=1';\r
}\r
}\r
+\r
}\r
\r
?>
\ No newline at end of file