* Copyright (C) 2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/admin/translation.php * \brief Page to show translation information */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'; $langs->load("companies"); $langs->load("products"); $langs->load("admin"); $langs->load("sms"); $langs->load("other"); $langs->load("errors"); if (!$user->admin) accessforbidden(); $id=GETPOST('rowid','int'); $action=GETPOST('action','alpha'); $langcode=GETPOST('langcode','alpha'); $transkey=GETPOST('transkey','alpha'); $transvalue=GETPOST('transvalue','alpha'); /* * Actions */ if ($action == 'add' || (GETPOST('add') && $action != 'update')) { $error=0; if (empty($langcode)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Language")), null, 'errors'); $error++; } if ($transkey == '') { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Key")), null, 'errors'); $error++; } if ($transvalue == '') { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Value")), null, 'errors'); $error++; } if (! $error) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."overwrite_trans(lang, transkey, transvalue) VALUE ('".$db->escape($langcode)."','".$db->escape($transkey)."','".$db->escape($transvalue)."')"; $result = $db->query($sql); if ($result > 0) { setEventMessages($langs->trans("RecordSaved"), null, 'mesgs'); $action=""; $transkey=""; $transvalue=""; } else { dol_print_error($db); $action=''; } } } // Delete line from delete picto if ($action == 'delete') { $sql = "DELETE FROM ".MAIN_DB_PREFIX."overwrite_trans WHERE rowid = ".$db->escape($id); $result = $db->query($sql); if ($result >= 0) { setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs'); } else { dol_print_error($db); } } /* * View */ $formadmin = new FormAdmin($db); $wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración'; llxHeader('',$langs->trans("Setup"),$wikihelp); print load_fiche_titre($langs->trans("TranslationSetup"),'','title_setup'); print $langs->trans("TranslationDesc")."
\n"; print "
\n"; print $langs->trans("CurrentUserLanguage").': '.$langs->defaultlang.'
'; print '
'; print img_info().' '.$langs->trans("SomeTranslationAreUncomplete").'
'; $urlwikitranslatordoc='http://wiki.dolibarr.org/index.php/Translator_documentation'; print $langs->trans("SeeAlso").': '.$urlwikitranslatordoc.'
'; print '
'; print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("Value"))."
\n"; print '
'; print '
entity) && $debug)?'?debug=1':'').'" method="POST">'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if (! empty($conf->multicompany->enabled) && !$user->entity) print ''; print ''; print "\n"; // Line to add new record $var=false; print "\n"; print ''."\n"; print ''; // Limit to superadmin if (! empty($conf->multicompany->enabled) && !$user->entity) { print ''; print '\n"; print ''; // Show constants $sql = "SELECT"; $sql.= " rowid"; $sql.= ", lang"; $sql.= ", transkey"; $sql.= ", transvalue"; //$sql.= ", entity"; $sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans"; $sql.= " WHERE 1 = 1"; //$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")"; //if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug //else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits //if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name')); //$sql.= " ORDER BY entity, name ASC"; $sql.= " ORDER BY lang ASC, transkey ASC"; dol_syslog("translation::select from table", LOG_DEBUG); $result = $db->query($sql); if ($result) { $num = $db->num_rows($result); $i = 0; $var=false; while ($i < $num) { $obj = $db->fetch_object($result); $var=!$var; print "\n"; print ''; print ''."\n"; print ''."\n"; // Value print ''; print ''; print "\n"; print "\n"; $i++; } } print '
'.$langs->trans("Language").' (en_US, es_MX, ...)'.$langs->trans("Key").''.$langs->trans("Value").''.$langs->trans("Entity").'
'; print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1); //print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; } else { print ''; print ''; } print ''; print "
'.$obj->lang.''.$obj->transkey.''; /*print ''; print ''; print ''; print ''; */ print $obj->transvalue; print ''; print ''.img_delete().''; print '
'; print "
\n"; llxFooter(); $db->close();