// $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
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
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
$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
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
{\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
{\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
$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
'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