0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
3.2.0-5
/
standard
/
htdocs
/
[
Home
]
File: tiki-interactive_trans.php
<?php require_once ('tiki-setup.php'); if ($prefs['lang_use_db'] != 'y') { $smarty->assign('msg', tra("This feature is disabled").": lang_use_db"); $smarty->assign('error', 'y'); $smarty->display("tiki-interactive_trans.tpl"); die; } if ($tiki_p_edit_languages != 'y') { $smarty->assign('errortype', 401); $smarty->assign('msg', tra("Permission denied to use this feature")); $smarty->assign('error', 'y'); $smarty->display("tiki-interactive_trans.tpl"); die; } if (isset($_REQUEST['src'])) $_REQUEST['content']=$_REQUEST['src']; $smarty->assign('analysed_word', $_REQUEST['content']); function update_trans($add_tran_source,$add_tran_tran,$edit_language){ global $tikilib,$smarty; $i=0; $query="select * from `tiki_language` where `lang`=? and `source` = ?"; $result=$tikilib->query($query,array($edit_language,$add_tran_source)); if (!$result->numRows()){ $query = "insert into `tiki_language` values(binary ?,?,binary ? )"; $result= $tikilib->query($query,array($add_tran_source,$edit_language,$add_tran_tran)); }else { if (strlen($add_tran_tran)==0){ $query="delete from `tiki_language` where `source`=binary ? and `lang`=?"; $result=$tikilib->query($query,array($add_tran_source,$edit_language)); }else{ $query = "update `tiki_language` set `tran`=binary ? where `source`=binary ? and `lang`=?"; $result=$tikilib->query($query,array($add_tran_tran,$add_tran_source,$edit_language)); } } if (!isset($result)){ $smarty->assign('msg', tra("Error writing in the databse: $query")); $smarty->assign('error', 'y'); $smarty->display("tiki-interactive_trans.tpl"); } } function getTrans($trans,$lang){ global $tikilib,$smarty,$entries; //First do the exact matching $query="select * from `tiki_language` where `lang`=? and (`source` = ? or `tran` = ?) order by lang"; $result=$tikilib->query($query,array($lang,$trans,$trans)); $compteur=0; $exact=false; while ($res = $result->fetchRow()) { $compteur++; $exact=true; $entry=array(); $entry["lang"] = $res["lang"]; $entry["source"] = $res["source"]; $entry["urlsource"] = urlencode($res["source"]); $entry["trans"] = $res["tran"].""; $entries[]=$entry; } $query="select * from `tiki_language` where `lang`=? and (`source` like ? or `tran` like ?) order by lang"; $result=$tikilib->query($query,array($lang,"%".$trans."%","%".$trans."%")); while ($res = $result->fetchRow()) if (strlen($res["source"])!=strlen($trans)){ $compteur++; $entry=array(); $entry["lang"] = $res["lang"]; $entry["source"] = $res["source"]; $entry["urlsource"] = urlencode($res["source"]); $entry["trans"] = $res["tran"]; $entries[]=$entry; } if (!$exact){ $compteur++; $entry=array(); $entry["lang"] = $lang; $entry["source"] = $trans; $entry["urlsource"] = urlencode($trans); $entry["trans"] = ""; $entries[]=$entry; } } function getLanguages(){ global $tikilib; $query = "select `lang` from `tiki_languages`"; $result=$tikilib->query($query); $languages = array(); while ($row = $result->fetchRow()) $languages[] = $row["lang"]; return $languages; } //Update the translation if (!isset($_REQUEST['dst']))$_REQUEST['dst']=""; if (isset($_REQUEST['src'])&&isset($_REQUEST['lang'])){ $_REQUEST['src']=urldecode($_REQUEST['src']); $_REQUEST['dst']=urldecode($_REQUEST['dst']); $_REQUEST['src'] = htmlentities($_REQUEST['src'], ENT_NOQUOTES, "UTF-8"); $_REQUEST['dst'] = htmlentities($_REQUEST['dst'], ENT_NOQUOTES, "UTF-8"); update_trans( $_REQUEST['src'],$_REQUEST['dst'],$_REQUEST['lang']); $smarty->assign('update', 'y'); $smarty->display("tiki-interactive_trans.tpl"); die; } //Main windows $languages= getLanguages(); $entries=array(); foreach ($languages as $key => $value) getTrans(urldecode($_REQUEST['content']),$value); $smarty->assign('languages', $languages); $smarty->assign('entries', $entries); $smarty->display("tiki-interactive_trans.tpl"); ?>