$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
+ $idl =getLangCode($r->idl);\r
if (!isset($trad[$idl])) {\r
$trad[$idl] = array();\r
}\r
\r
$r = $core->con->select('SELECT * FROM ws.lang');\r
while ($r->fetch()) {\r
- ksort($trad[$r->idl]);\r
+ ksort($trad[$idl]);\r
$textes = new wsLangueTextes();\r
- $textes->textes = $trad[$r->idl];\r
+ $textes->textes = $trad[$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->traductions = json_encode(getLangCode($r->idl));\r
$c->insert();\r
}\r
}\r
return 1;\r
}\r
\r
+function getLangCode($lang){\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($this->args['book_id'])) {\r
$dao = new wsDAOBook($core->con);\r
$book = $dao->selectById($this->args['book_id']);\r
+ $book->traductions=wsLang::checkTranslations($book->traductions);\r
+ fb($book->traductions);\r
if ($book->traductions != array()) {\r
$bookLang = $this->xml->addChild('book_lang', json_encode($book->traductions));\r
}\r
$langs = $dao->selectAll();\r
\r
foreach($langs as $lang) {\r
+ $nom = cubeLang::getNameByCode($lang->lang_id, $core->user->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('nom', $nom);\r
if ((isset($bookLang) && isset($book) && $book->lang == $lang->lang_id)) {\r
$l->addAttribute('selected', '1');\r
$bookLang->addAttribute('id', $lang->lang_id);\r
- $bookLang->addAttribute('nom', $lang->nom . ' (' . __('modifié') . ')');\r
- $bookLang->addAttribute('embeded', $lang->embeded);\r
- $bookLang->addAttribute('public', $lang->public);\r
+ $bookLang->addAttribute('nom', $nom . ' (' . __('modifié') . ')');\r
}\r
}\r
}\r
$res .= extranetPage::tMain(null, false);\r
\r
$res .= extranetPage::bh();\r
- $res .= '<form action="changeLang" method="post">';\r
+ $res .= '<form action="changeLang" method="post" class="submitonchange">';\r
$res .= '<table class="liste">';\r
$res .= '<tr><td class="center">' . __('Sélectionnez la langue à configurer') . ' : ' . form::combo('lang', $langs, $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 .= '<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
{\r
$c = $this->con->openCursor('books');\r
$c->lang = $base;\r
- $c->traductions = json_encode(json_decode($traductions, false));\r
+ $c->traductions = json_encode(json_decode($traductions, true));\r
$c->changedate = TIME;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
$flexLight->addVariable('datas', $book->parametres->toStandardObject(), false, true, 'JSONObject');\r
$flexLight->addVariable('id', $book_id, false, true, 'uint');\r
\r
- $flex->addVariable('traductions', wsLang::getTraductionWithId($book->traductions), false, true, 'JSONObject');\r
+ $flex->addVariable('traductions', $book->traductions, false, true, 'JSONObject');\r
$flex->addVariable('chapters', $book->chapters, false, true, 'JSONObject');\r
$flex->addVariable('extras', '<extras>' . $book->extras . '</extras>', false, true, 'XML');\r
$flex->addVariable('numerotation', $book->numerotation, false, true, 'String');\r
protected function singleton($r)\r
{\r
$lang = new wsLang();\r
- $lang->lang_id = $r->lang_id;\r
+ $lang->lang_id = mb_strtolower($r->lang_id);\r
$lang->font = $r->font;\r
$lang->charset = $r->charset;\r
\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
+ $lang->traductions=wsLang::checkTranslations($lang->traductions);\r
return $lang;\r
}\r
\r
\r
public function selectAll()\r
{\r
- $r = $this->con->select('SELECT * FROM langues ORDER BY public DESC,(CHAR_LENGTH(lang_id)=2) DESC');\r
+ $r = $this->con->select('SELECT * FROM langues WHERE CHAR_LENGTH(lang_id)=2');\r
return $this->factory($r);\r
}\r
\r
\r
protected $proprietaire;\r
protected $proprietaire_id;\r
-\r
- //protected $facturable;\r
- //protected $facturable_id;\r
-\r
+ // protected $facturable;\r
+ // protected $facturable_id;\r
protected $hash;\r
protected $compteur_visites;\r
\r
throw new Exception($msg);\r
}\r
\r
- $classic = array('chapters', 'traductions');\r
+ $classic = array('chapters');\r
\r
if (in_array($varname, $classic)) {\r
if (is_array($this->$varname) || is_object($this->$varname)) {\r
}\r
return $this->$varname;\r
}\r
+ if ($varname == 'traductions') {\r
+ if (is_array($this->$varname) || is_object($this->$varname)) {\r
+ return $this->$varname;\r
+ }\r
+ if ($this->$varname == '') {\r
+ $this->$varname = array();\r
+ } else {\r
+ $this->$varname = json_decode($this->$varname, true);\r
+ }\r
+ return $this->$varname;\r
+ }\r
if ($varname == 'parametres') {\r
if ($this->parametres instanceof wsBookParametres) {\r
return $this->parametres;\r
}\r
return $res;\r
}\r
+\r
+ public static function checkTranslations($traductions)\r
+ {\r
+ foreach($traductions as $k => $v) {\r
+ if (is_int($k)) {\r
+ $traductions = wsLang::getTraductionWithId($traductions);\r
+ }\r
+ break;\r
+ }\r
+ return $traductions;\r
+ }\r
}\r
\r
?>
\ No newline at end of file