]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 23 Jun 2010 17:47:37 +0000 (17:47 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 23 Jun 2010 17:47:37 +0000 (17:47 +0000)
importWs.php
inc/extranet/Controlleur/class.extranet.core.php
inc/ws/Controlleur/class.ws.flash.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/DAO/class.ws.dao.lang.php
inc/ws/Metier/class.ws.lang.php

index 831a9b3bd45a06169caf213e11f3614045cdca91..17b55f7d1ef209e1b57fdddcd323cd2adf783199 100644 (file)
@@ -6,16 +6,23 @@ cubePHP::neverStop();
 $utilisateurs = false;\r
 $documents = false;\r
 $books = false;\r
+$themes = false;\r
+$langues = true;\r
+\r
 $tables = array('books', 'book_pages', 'dashboard', 'devis', 'documents', 'document_pages', '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
 \r
-$core->con->execute('TRUNCATE TABLE themes_droits');\r
-$core->con->execute('TRUNCATE TABLE themes');\r
-$core->con->execute('TRUNCATE TABLE icones');\r
-$core->con->execute('TRUNCATE TABLE signatures');\r
-$core->con->execute('TRUNCATE TABLE langues');\r
+if ($themes) {\r
+       $core->con->execute('TRUNCATE TABLE themes_droits');\r
+       $core->con->execute('TRUNCATE TABLE themes');\r
+       $core->con->execute('TRUNCATE TABLE icones');\r
+       $core->con->execute('TRUNCATE TABLE signatures');\r
+}\r
+if ($langues) {\r
+       $core->con->execute('TRUNCATE TABLE langues');\r
+}\r
 \r
 if ($books) {\r
        $core->con->execute('TRUNCATE TABLE book_pages');\r
@@ -139,81 +146,87 @@ if ($utilisateurs) {
                $ws2ext[$r->ws_id] = $r->utilisateur_id;\r
        }\r
 }\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
-$r = $core->con->select('SELECT * FROM ws.icones');\r
-while ($r->fetch()) {\r
-       $c = $core->con->openCursor('icones');\r
-       $c->icone_id = $r->iid;\r
-       $c->nom = $r->titre;\r
-       $c->date = $r->date;\r
-       $c->proprietaire = getWsUser($r->proprietaire);\r
-       $c->couleur = '';\r
-       // TODO copier les fichiers du thème\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->icones = $r->iid;\r
-       $c->proprietaire = getWsUser($r->proprietaire);\r
-       $c->date = $r->date;\r
-       $c->nom = $r->titre;\r
-       $c->signature = $r->sigid;\r
-       $parametres = new wsThemeParametres($theme);\r
-       $parametres->fromRecord($r);\r
-       $parametres->iconSet = $r->iid;\r
-       $c->parametres = serialize($parametres);\r
-       $c->insert();\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
-       }catch(Exception $e){\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
-}\r
-// Importe les langues\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 = $r->idl;\r
-       if (!isset($trad[$idl])) {\r
-               $trad[$idl] = array();\r
+       // Importe les jeux d'icones\r
+       $r = $core->con->select('SELECT * FROM ws.icones');\r
+       while ($r->fetch()) {\r
+               $c = $core->con->openCursor('icones');\r
+               $c->icone_id = $r->iid;\r
+               $c->nom = $r->titre;\r
+               $c->date = $r->date;\r
+               $c->proprietaire = getWsUser($r->proprietaire);\r
+               $c->couleur = '';\r
+               // TODO copier les fichiers du thème\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->icones = $r->iid;\r
+               $c->proprietaire = getWsUser($r->proprietaire);\r
+               $c->date = $r->date;\r
+               $c->nom = $r->titre;\r
+               $c->signature = $r->sigid;\r
+               $parametres = new wsThemeParametres($theme);\r
+               $parametres->fromRecord($r);\r
+               $parametres->iconSet = $r->iid;\r
+               $c->parametres = serialize($parametres);\r
+               $c->insert();\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
-       $trad[$idl][$r->ord] = $r->text;\r
 }\r
+if ($langues) {\r
+       // Importe les langues\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 = $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
-       ksort($trad[$r->idl]);\r
-       $textes = new wsLangueTextes();\r
-       $textes->textes = $trad[$r->idl];\r
-       $c = $core->con->openCursor('langues');\r
-       $c->lang = $r->idl;\r
-       $c->nom = $r->idn;\r
-       $c->nsis_lang = $r->instlang;\r
-       $c->public = $r->active;\r
-       $c->embeded = $r->embed;\r
-       $c->textes = serialize($trad[$r->idl]);\r
-       $c->insert();\r
+       $r = $core->con->select('SELECT * FROM ws.lang');\r
+       while ($r->fetch()) {\r
+               ksort($trad[$r->idl]);\r
+               $textes = new wsLangueTextes();\r
+               $textes->textes = $trad[$r->idl];\r
+               $c = $core->con->openCursor('langues');\r
+               $c->lang_id = $r->idl;\r
+               $c->nom = $r->idn;\r
+               $c->nsis_lang = $r->instlang;\r
+               $c->public = $r->active;\r
+               $c->embeded = $r->embed;\r
+               $c->traductions = json_encode($trad[$r->idl]);\r
+               $c->insert();\r
+       }\r
 }\r
 $docs = array();\r
 if ($documents) {\r
index a209563c9abbb13b9c2c586cc9f9b0f156b2535a..5117ed40b08a6ba0b63b58edfd7cb6129cc49ab4 100644 (file)
@@ -292,14 +292,14 @@ class extranetCore extends cubeCore {
                $db->themes_droits->reference('fk_themes_droits_theme_id', 'theme_id', 'themes', 'theme_id');\r
                $db->themes_droits->reference('fk_themes_droits_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
                // Table des langues\r
-               $db->langues->lang('varchar', 20, false);\r
+               $db->langues->lang_id('varchar', 20, false);\r
                $db->langues->nom('varchar', 256, false);\r
                $db->langues->nsis_lang('varchar', 64, false);\r
                $db->langues->public('integer', 1, false);\r
                $db->langues->embeded('integer', 1, false);\r
-               $db->langues->textes('text', 0, false);\r
+               $db->langues->traductions('text', 0, false);\r
                // Clés\r
-               $db->langues->primary('pk_langues', 'lang');\r
+               $db->langues->primary('pk_langues', 'lang_id');\r
                // .\r
                // Table documents\r
                $db->documents->document_id('integer', 0, false);\r
index 5dc32fd0cb6e00e926377901f221cb4b60a43d4d..1b5c3c3e50f63f765d27ddd9ca98c8190a9e0304 100644 (file)
@@ -413,9 +413,26 @@ class wsFlash extends cubeFlashGateway {
                $this->xml->addChild('infos', $res);\r
        }\r
 \r
-       public function listLangs(){\r
+       public function getLangs($book_id = null)\r
+       {\r
                global $core;\r
 \r
+               if (isset($this->args['book_id'])) {\r
+                       $dao = new wsDAOBook($core->con);\r
+                       $book = $dao->selectById($this->args['book_id']);\r
+               }\r
+\r
+               $dao = new wsDAOLang($core->con);\r
+               $langs = $dao->selectAll();\r
+\r
+               foreach($langs as $lang) {\r
+                       $l = $this->xml->addChild('lang', json_encode($lang->traductions));\r
+                       $l->addAttribute('id', $lang->lang_id);\r
+                       $l->addAttribute('nom', $lang->nom);\r
+                       $l->addAttribute('embeded', $lang->embeded);\r
+                       $l->addAttribute('public', $lang->public);\r
+                       $l->addAttribute('selected', (isset($book) && $book->lang == $lang->lang_id)?'1':'0');\r
+               }\r
        }\r
 }\r
 \r
index cdb8a24b10ab9fed8887d7392b7573a31a9647ec..9a99c5f548bb95a6f9020117245b5dd0e11aadf5 100644 (file)
@@ -52,7 +52,7 @@ class wsDAOBook extends extranetDAO {
                $book = new wsBook();\r
                $book->book_id = 'new';\r
                $book->nom = '';\r
-               $book->lang = 1;\r
+               $book->lang ='fr';\r
                $book->theme = 1;\r
                $book->proprietaire = '';\r
                $book->proprietaire_id = 0;\r
index e19b921dde5be9e1099944128b1cac3946580fff..a3be1ab82cf69394755eb7cd8d4f684acf258599 100644 (file)
@@ -1,5 +1,33 @@
 <?php\r
 class wsDAOLang extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $lang = new wsLang();\r
+               $lang->lang_id = $r->lang_id;\r
+               $lang->nom = $r->nom;\r
+               $lang->nsis_lang = $r->nsis_lang;\r
+               $lang->public = $r->public;\r
+               $lang->embeded = $r->embeded;\r
+\r
+               if ($r->traductions == '') {\r
+                       $lang->traductions = array();\r
+               } else {\r
+                       $lang->traductions = json_decode($r->traductions);\r
+               }\r
+               return $lang;\r
+       }\r
+\r
+       public function selectById($lang_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM langues WHERE lang_id=\'' . $this->con->escape($lang_id) . '\'');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function selectAll()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM langues');\r
+               return $this->factory($r);\r
+       }\r
 }\r
 \r
 ?>
\ No newline at end of file
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9a66ee3dbb50bbcd6691d40de9f56672e1ad6d8e 100644 (file)
@@ -0,0 +1,11 @@
+<?php\r
+class wsLang extends cubeMetier {\r
+       protected $lang_id;\r
+       protected $nom;\r
+       protected $nsis_lang;\r
+       protected $public;\r
+       protected $embeded;\r
+       protected $traductions;\r
+}\r
+\r
+?>
\ No newline at end of file