From: vincent@cubedesigners.com Date: Wed, 23 Jun 2010 17:47:37 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e5e87142a9a246e1340c337c18db1b802abfd78e;p=cubeextranet.git --- diff --git a/importWs.php b/importWs.php index 831a9b3bd..17b55f7d1 100644 --- a/importWs.php +++ b/importWs.php @@ -6,16 +6,23 @@ cubePHP::neverStop(); $utilisateurs = false; $documents = false; $books = false; +$themes = false; +$langues = true; + $tables = array('books', 'book_pages', 'dashboard', 'devis', 'documents', 'document_pages', 'entreprises', 'factures', 'icones', 'langues', 'projets', 'signatures', 'taches', 'themes', 'timereport', 'utilisateurs', 'themes_droits'); foreach($tables as $t) { $core->con->execute('ALTER TABLE ' . $t . ' DISABLE KEYS'); } -$core->con->execute('TRUNCATE TABLE themes_droits'); -$core->con->execute('TRUNCATE TABLE themes'); -$core->con->execute('TRUNCATE TABLE icones'); -$core->con->execute('TRUNCATE TABLE signatures'); -$core->con->execute('TRUNCATE TABLE langues'); +if ($themes) { + $core->con->execute('TRUNCATE TABLE themes_droits'); + $core->con->execute('TRUNCATE TABLE themes'); + $core->con->execute('TRUNCATE TABLE icones'); + $core->con->execute('TRUNCATE TABLE signatures'); +} +if ($langues) { + $core->con->execute('TRUNCATE TABLE langues'); +} if ($books) { $core->con->execute('TRUNCATE TABLE book_pages'); @@ -139,81 +146,87 @@ if ($utilisateurs) { $ws2ext[$r->ws_id] = $r->utilisateur_id; } } -// Importe les signatures -$r = $core->con->select('SELECT * FROM ws.signature'); -while ($r->fetch()) { - $c = $core->con->openCursor('signatures'); - $c->signature_id = $r->sigid; - $c->nom = $r->titre; - $c->fbcredit = $r->fbcredit; - $c->fblink = $r->fblink; - $c->partnercredit = $r->partnercredit; - $c->partnerlink = $r->partnerlink; - $c->insert(); -} -// Importe les jeux d'icones -$r = $core->con->select('SELECT * FROM ws.icones'); -while ($r->fetch()) { - $c = $core->con->openCursor('icones'); - $c->icone_id = $r->iid; - $c->nom = $r->titre; - $c->date = $r->date; - $c->proprietaire = getWsUser($r->proprietaire); - $c->couleur = ''; - // TODO copier les fichiers du thème - $c->insert(); -} -// Import des thèmes -$r = $core->con->select('SELECT * FROM ws.theme'); -$theme = new wsTheme(); -while ($r->fetch()) { - $c = $core->con->openCursor('themes'); - $c->theme_id = $r->tid; - $c->icones = $r->iid; - $c->proprietaire = getWsUser($r->proprietaire); - $c->date = $r->date; - $c->nom = $r->titre; - $c->signature = $r->sigid; - $parametres = new wsThemeParametres($theme); - $parametres->fromRecord($r); - $parametres->iconSet = $r->iid; - $c->parametres = serialize($parametres); - $c->insert(); -} -$r = $core->con->select('SELECT * FROM ws.theme_user'); -$c = $core->con->openCursor('themes_droits'); -while ($r->fetch()) { - $c->utilisateur_id = $r->uid; - $c->theme_id = $r->tid; - try{ - $c->insert(); - }catch(Exception $e){ + +if ($themes) { + // Importe les signatures + $r = $core->con->select('SELECT * FROM ws.signature'); + while ($r->fetch()) { + $c = $core->con->openCursor('signatures'); + $c->signature_id = $r->sigid; + $c->nom = $r->titre; + $c->fbcredit = $r->fbcredit; + $c->fblink = $r->fblink; + $c->partnercredit = $r->partnercredit; + $c->partnerlink = $r->partnerlink; + $c->insert(); } -} -// Importe les langues -$trad = array(); -$r = $core->con->select('SELECT * FROM ws.lang_trad,ws.lang_ord WHERE lang_trad.idlt=lang_ord.idlt'); -while ($r->fetch()) { - $idl = $r->idl; - if (!isset($trad[$idl])) { - $trad[$idl] = array(); + // Importe les jeux d'icones + $r = $core->con->select('SELECT * FROM ws.icones'); + while ($r->fetch()) { + $c = $core->con->openCursor('icones'); + $c->icone_id = $r->iid; + $c->nom = $r->titre; + $c->date = $r->date; + $c->proprietaire = getWsUser($r->proprietaire); + $c->couleur = ''; + // TODO copier les fichiers du thème + $c->insert(); + } + // Import des thèmes + $r = $core->con->select('SELECT * FROM ws.theme'); + $theme = new wsTheme(); + while ($r->fetch()) { + $c = $core->con->openCursor('themes'); + $c->theme_id = $r->tid; + $c->icones = $r->iid; + $c->proprietaire = getWsUser($r->proprietaire); + $c->date = $r->date; + $c->nom = $r->titre; + $c->signature = $r->sigid; + $parametres = new wsThemeParametres($theme); + $parametres->fromRecord($r); + $parametres->iconSet = $r->iid; + $c->parametres = serialize($parametres); + $c->insert(); + } + $r = $core->con->select('SELECT * FROM ws.theme_user'); + $c = $core->con->openCursor('themes_droits'); + while ($r->fetch()) { + $c->utilisateur_id = $r->uid; + $c->theme_id = $r->tid; + try { + $c->insert(); + } + catch(Exception $e) { + } } - $trad[$idl][$r->ord] = $r->text; } +if ($langues) { + // Importe les langues + $trad = array(); + $r = $core->con->select('SELECT * FROM ws.lang_trad,ws.lang_ord WHERE lang_trad.idlt=lang_ord.idlt'); + while ($r->fetch()) { + $idl = $r->idl; + if (!isset($trad[$idl])) { + $trad[$idl] = array(); + } + $trad[$idl][$r->ord] = $r->text; + } -$r = $core->con->select('SELECT * FROM ws.lang'); -while ($r->fetch()) { - ksort($trad[$r->idl]); - $textes = new wsLangueTextes(); - $textes->textes = $trad[$r->idl]; - $c = $core->con->openCursor('langues'); - $c->lang = $r->idl; - $c->nom = $r->idn; - $c->nsis_lang = $r->instlang; - $c->public = $r->active; - $c->embeded = $r->embed; - $c->textes = serialize($trad[$r->idl]); - $c->insert(); + $r = $core->con->select('SELECT * FROM ws.lang'); + while ($r->fetch()) { + ksort($trad[$r->idl]); + $textes = new wsLangueTextes(); + $textes->textes = $trad[$r->idl]; + $c = $core->con->openCursor('langues'); + $c->lang_id = $r->idl; + $c->nom = $r->idn; + $c->nsis_lang = $r->instlang; + $c->public = $r->active; + $c->embeded = $r->embed; + $c->traductions = json_encode($trad[$r->idl]); + $c->insert(); + } } $docs = array(); if ($documents) { diff --git a/inc/extranet/Controlleur/class.extranet.core.php b/inc/extranet/Controlleur/class.extranet.core.php index a209563c9..5117ed40b 100644 --- a/inc/extranet/Controlleur/class.extranet.core.php +++ b/inc/extranet/Controlleur/class.extranet.core.php @@ -292,14 +292,14 @@ class extranetCore extends cubeCore { $db->themes_droits->reference('fk_themes_droits_theme_id', 'theme_id', 'themes', 'theme_id'); $db->themes_droits->reference('fk_themes_droits_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id'); // Table des langues - $db->langues->lang('varchar', 20, false); + $db->langues->lang_id('varchar', 20, false); $db->langues->nom('varchar', 256, false); $db->langues->nsis_lang('varchar', 64, false); $db->langues->public('integer', 1, false); $db->langues->embeded('integer', 1, false); - $db->langues->textes('text', 0, false); + $db->langues->traductions('text', 0, false); // Clés - $db->langues->primary('pk_langues', 'lang'); + $db->langues->primary('pk_langues', 'lang_id'); // . // Table documents $db->documents->document_id('integer', 0, false); diff --git a/inc/ws/Controlleur/class.ws.flash.php b/inc/ws/Controlleur/class.ws.flash.php index 5dc32fd0c..1b5c3c3e5 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -413,9 +413,26 @@ class wsFlash extends cubeFlashGateway { $this->xml->addChild('infos', $res); } - public function listLangs(){ + public function getLangs($book_id = null) + { global $core; + if (isset($this->args['book_id'])) { + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($this->args['book_id']); + } + + $dao = new wsDAOLang($core->con); + $langs = $dao->selectAll(); + + foreach($langs as $lang) { + $l = $this->xml->addChild('lang', json_encode($lang->traductions)); + $l->addAttribute('id', $lang->lang_id); + $l->addAttribute('nom', $lang->nom); + $l->addAttribute('embeded', $lang->embeded); + $l->addAttribute('public', $lang->public); + $l->addAttribute('selected', (isset($book) && $book->lang == $lang->lang_id)?'1':'0'); + } } } diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index cdb8a24b1..9a99c5f54 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -52,7 +52,7 @@ class wsDAOBook extends extranetDAO { $book = new wsBook(); $book->book_id = 'new'; $book->nom = ''; - $book->lang = 1; + $book->lang ='fr'; $book->theme = 1; $book->proprietaire = ''; $book->proprietaire_id = 0; diff --git a/inc/ws/DAO/class.ws.dao.lang.php b/inc/ws/DAO/class.ws.dao.lang.php index e19b921dd..a3be1ab82 100644 --- a/inc/ws/DAO/class.ws.dao.lang.php +++ b/inc/ws/DAO/class.ws.dao.lang.php @@ -1,5 +1,33 @@ lang_id = $r->lang_id; + $lang->nom = $r->nom; + $lang->nsis_lang = $r->nsis_lang; + $lang->public = $r->public; + $lang->embeded = $r->embeded; + + if ($r->traductions == '') { + $lang->traductions = array(); + } else { + $lang->traductions = json_decode($r->traductions); + } + return $lang; + } + + public function selectById($lang_id) + { + $r = $this->con->select('SELECT * FROM langues WHERE lang_id=\'' . $this->con->escape($lang_id) . '\''); + return $this->singleton($r); + } + + public function selectAll() + { + $r = $this->con->select('SELECT * FROM langues'); + return $this->factory($r); + } } ?> \ No newline at end of file diff --git a/inc/ws/Metier/class.ws.lang.php b/inc/ws/Metier/class.ws.lang.php index e69de29bb..9a66ee3db 100644 --- a/inc/ws/Metier/class.ws.lang.php +++ b/inc/ws/Metier/class.ws.lang.php @@ -0,0 +1,11 @@ + \ No newline at end of file