]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 7 Jan 2011 16:04:50 +0000 (16:04 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 7 Jan 2011 16:04:50 +0000 (16:04 +0000)
inc/extranet/Controlleur/class.extranet.core.php
inc/extranet/Controlleur/class.extranet.page.php
inc/ws/Controlleur/class.ws.ajax.php
inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.lang.php
inc/ws/Metier/class.ws.lang.php

index 374abfa2e976dbae1180159010a41c604903805a..9a2481566f41481c9390959df902bfb9a88babcc 100644 (file)
@@ -296,10 +296,8 @@ class extranetCore extends cubeCore {
                // $db->themes_droits->reference('fk_themes_droits_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
                // Table des langues\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->font('varchar', 64, false);\r
+               $db->langues->charset('text', 0, false);\r
                $db->langues->traductions('text', 0, false);\r
                // Clés\r
                $db->langues->primary('pk_langues', 'lang_id');\r
index bdde75c3cdb241fc6c72f3d19f63b7ce7566f778..4d870264c5c125a6083c73d8e428bdc71b5dac54 100644 (file)
@@ -147,12 +147,16 @@ class extranetPage {
                return $res;\r
        }\r
 \r
-       public static function bf()\r
+       public static function bf($max=false)\r
        {\r
                $res = '</div></td><td class="b-e"></td>';\r
                $res .= '</tr>';\r
                $res .= '<tr class="b-footer">';\r
-               $res .= '<td class="b-sw"></td><td class="b-s"></td><td class="b-se"></td>';\r
+               $res .= '<td class="b-sw"></td><td class="b-s">';\r
+               if($max){\r
+                       $res.=cubeMedia::spacer(960,1);\r
+               }\r
+               $res.='</td><td class="b-se"></td>';\r
                $res .= '</tr>';\r
                $res .= '</table>';\r
                return $res;\r
index c2bc4baf4c6a161aefe1154a3f1df348fb66ccaf..7040ca7d05e13f45d96bd9bb02d4da49e50684e0 100644 (file)
@@ -59,9 +59,9 @@ class wsAjax extends cubeAjax {
                global $core;\r
                $dao = new wsDAOBook($core->con);\r
                if ($_POST['book'] != '') {\r
-                       $book = $dao->duplicate($_POST['book'], $core->user->utilisateur_id,$_POST['title']);\r
+                       $book = $dao->duplicate($_POST['book'], $core->user->utilisateur_id, $_POST['title']);\r
                } else {\r
-                       $book = $dao->creeEmpty($core->user->utilisateur_id, $core->user->lang,$_POST['title']);\r
+                       $book = $dao->creeEmpty($core->user->utilisateur_id, $core->user->lang, $_POST['title']);\r
                }\r
 \r
                $x->addClosePopup();\r
@@ -82,6 +82,23 @@ class wsAjax extends cubeAjax {
                $x->addClosePopup();\r
                $x->addContent('listeBooks', wsUrl::listeBooks());\r
        }\r
+\r
+       public static function changeLang($args, &$x)\r
+       {\r
+               $x->addContent('formLang', wsUrl::formLang($_POST['lang']));\r
+       }\r
+\r
+       public static function saveLang($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOLang($core->con);\r
+               $data['lang_id'] = $_POST['lang'];\r
+               $data['font'] = $_POST['font'];\r
+               $data['charset'] = $_POST['charset'];\r
+               $data['traductions'] = $_POST['msgid'];\r
+               $dao->sauve($data);\r
+               $x->addAlert(__('Paramètres de la langue et traductions enregistrées'));\r
+       }\r
 }\r
 \r
 ?>
\ No newline at end of file
index b9e1a05791236d82b2eaa6a8d25a2b5c92560b20..b75e79d00f48802ac7d29a654f4cd82a5bc3797c 100644 (file)
@@ -89,12 +89,77 @@ class wsUrl {
        public static function traductions($args)\r
        {\r
                global $core;\r
+\r
+               if (count($args) < 2) {\r
+                       $args[1] = 'fr';\r
+               }\r
+\r
                $res = extranetPage::barre();\r
-               $res .= extranetPage::tMain(null, true);\r
+               $res .= extranetPage::tMain(null, false);\r
+\r
                $res .= extranetPage::bh();\r
-               $res .= cubeLang::translationForm(FLUIDBOOK_SOURCES, 'fr' , WS_L10N);\r
+               $res .= '<form action="changeLang" method="post">';\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><td class="center">' . __('Sélectionnez la langue à configurer') . ' : ' . form::combo('lang', array_flip(cubeLang::getCodes($core->user->lang)), $args[1]) . ' </td></tr>';\r
+               $res .= '<tr class="odd"><td class="right"><a href="#" class="submit">' . $core->typo->Ajouter('OK') . '</a></td></tr>';\r
+               $res .= '</table>';\r
+               $res .= '</form>';\r
                $res .= extranetPage::bf();\r
-               $res .= extranetPage::bMain();\r
+\r
+               $res .= '<div id="formLang">';\r
+               $res .= self::formLang($args[1]);\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bMain(true);\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function formLang($lang_id)\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOLang($core->con);\r
+               $lang = $dao->selectById($lang_id);\r
+               if(is_null($lang))\r
+\r
+               $res = '<form action="saveLang" method="post">';\r
+\r
+               $res .= extranetPage::bh();\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><td>' . __('Police de caractères') . ' : </td><td>' . form::hidden('lang', $lang_id) . form::combo('font', self::getFonts(), $lang->font) . '</td></tr>';\r
+               $res .= '<tr class="odd"><td>' . __('Jeux de caractères') . ' : </td><td>' . form::combo('charset', self::getCharsets(), $lang->charset) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2" class="right"><a href="#" class="submit">' . $core->typo->Ajouter('Valider') . '</a></td></tr>';\r
+               $res .= '</table>';\r
+               $res .= extranetPage::bf();\r
+\r
+               $res .= extranetPage::bh();\r
+               $res .= cubeLang::translationForm(FLUIDBOOK_SOURCES, $lang_id , null, 'liste', array(), $core->typo->Ajouter(__('Enregistrer')), $lang->traductions);\r
+               $res .= extranetPage::bf();\r
+               $res .= '</form>';\r
+               return $res;\r
+       }\r
+\r
+       public static function getFonts()\r
+       {\r
+               $formats = array('ttf', 'otf', 'TTF', 'OTF');\r
+\r
+               $dr = opendir(FONT_PATH);\r
+               $fonts = array();\r
+               while ($file = readdir($dr)) {\r
+                       if ($file == '.' || $file == '..' || !in_array(files::getExtension($file), $formats)) {\r
+                               continue;\r
+                       }\r
+                       $fonts[$file] = $file;\r
+               }\r
+               return $fonts;\r
+       }\r
+\r
+       protected static function getCharsets()\r
+       {\r
+               $sets = cubeFlexFontAsset::getSets();\r
+               $res = array();\r
+               foreach($sets as $k => $v) {\r
+                       $res[$k] = $k;\r
+               }\r
                return $res;\r
        }\r
 \r
@@ -229,7 +294,7 @@ html{height:100%}' . "\n";
        {\r
                $res = '<tr><td colspan="2"><p style="width:600px;text-align:justify;"><em>' . __("Si votre nouvelle publication a des paramètres en commun avec une publication existante, veuillez rechercher cette publication afin d'attribuer par défaut à votre nouvelle publication les paramètres de l'existante") . '</em></p></td></tr>';\r
                $res .= '<tr><td>' . __('Rechercher une publication') . ' : </td><td>' . form::field('book_nom', 64, 1024) . form::hidden('book', '') . '</td></tr>';\r
-       //      $res .= '<tr><td colspan="2"><hr /></td></tr>';\r
+               // $res .= '<tr><td colspan="2"><hr /></td></tr>';\r
                $res .= '<tr><td>' . __('Indiquez le titre de votre nouvelle publication') . '</td><td>' . form::field('title', 64, 1024) . '</td></tr>';\r
                return $res;\r
        }\r
index 9ef04b46d6283b4e1ae1afcc640cb03767cd3ef9..fbda98d310b057f83946632aaee1845d0e44a675 100644 (file)
@@ -4,22 +4,27 @@ class wsDAOLang extends extranetDAO {
        {\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
+               $lang->font = $r->font;\r
+               $lang->charset = $r->charset;\r
 \r
                if ($r->traductions == '') {\r
                        $lang->traductions = array();\r
                } else {\r
-                       $lang->traductions = json_decode($r->traductions);\r
+                       $lang->traductions = json_decode($r->traductions, true);\r
+               }\r
+\r
+               foreach($lang->traductions as $k => $v) {\r
+                       if (is_int($k)) {\r
+                               $lang->traductions = wsLang::getTraductionWithId($lang->traductions);\r
+                       }\r
+                       break;\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
+               $r = $this->con->select('SELECT * FROM langues WHERE lang_id=\'' . $this->con->escape($lang_id) . '\'');\r
                return $this->singleton($r);\r
        }\r
 \r
@@ -28,6 +33,23 @@ class wsDAOLang extends extranetDAO {
                $r = $this->con->select('SELECT * FROM langues ORDER BY public DESC,(CHAR_LENGTH(lang_id)=2) DESC, nom ASC');\r
                return $this->factory($r);\r
        }\r
+\r
+       public function sauve($data)\r
+       {\r
+               $c = $this->con->openCursor('langues');\r
+               $c->lang_id = $data['lang_id'];\r
+               $c->font = $data['font'];\r
+               $c->charset = $data['charset'];\r
+               $c->traductions = json_encode($data['traductions']);\r
+               $r = $this->con->select('SELECT * FROM langues WHERE lang_id=\'' . $this->con->escape($c->lang_id) . '\'');\r
+               if (!$r->count()) {\r
+                       $c->insert();\r
+               } else {\r
+                       $c->update('WHERE lang_id=\'' . $this->con->escape($c->lang_id) . '\'');\r
+               }\r
+\r
+               return $this->selectById($c->lang_id);\r
+       }\r
 }\r
 \r
 ?>
\ No newline at end of file
index 6ba25745a3d1b26d9931664e02d466c04cf85f00..e87db0e2d1b0dd649e3e23b806d1a7988aa20fed 100644 (file)
@@ -63,13 +63,11 @@ class wsLang extends cubeMetier {
                'printing will start automatically when pages are downloaded' => 61,\r
                'no bookmarks added' => 62,\r
                'functionality dont work when in fullscreen mode' => 63,\r
-               "you don't have any bookmark"=>64);\r
+               "you don't have any bookmark" => 64);\r
 \r
        protected $lang_id;\r
-       protected $nom;\r
-       protected $nsis_lang;\r
-       protected $public;\r
-       protected $embeded;\r
+       protected $font;\r
+       protected $charset;\r
        protected $traductions;\r
 \r
        public static function getTraductionWithId($traductions)\r