public function __construct() { global $lC_Language, $breadcrumb_string; $this->_page_title = $lC_Language->get('heading_title'); $breadcrumb_array = array(lc_link_object(lc_href_link_admin(FILENAME_DEFAULT, $this->_module), $lC_Language->get('heading_title'))); if (!empty($_GET[$this->_module]) && is_numeric($_GET[$this->_module]) && lC_Languages_Admin::exists($_GET[$this->_module])) { $this->_page_title = lC_Languages_Admin::get($_GET[$this->_module], 'name'); $this->_page_contents = 'groups.php'; $breadcrumb_array[] = lc_link_object(lc_href_link_admin(FILENAME_DEFAULT, $this->_module . '=' . $this->_page_contents), $this->_page_title); if (isset($_GET['group']) && !empty($_GET['group']) && lC_Languages_Admin::isDefinitionGroup($_GET[$this->_module], $_GET['group'])) { $this->_page_title = $_GET['group']; $this->_page_contents = 'definitions.php'; $breadcrumb_array[] = lc_link_object(lc_href_link_admin(FILENAME_DEFAULT, $this->_module . '=' . $this->_page_contents), $this->_page_title); } } $breadcrumb_string = '<ul>'; foreach ($breadcrumb_array as $key => $value) { $breadcrumb_string .= '<li>' . lc_output_utf8_decoded($value) . '</li>'; } $breadcrumb_string .= '</ul>'; if (!isset($_GET['action'])) { $_GET['action'] = ''; } if (!empty($_GET['action'])) { switch ($_GET['action']) { case 'import': $lang = isset($_GET['language_import']) && $_GET['language_import'] != NULL ? $_GET['language_import'] : $_POST['language_import']; $type = isset($_GET['import_type']) && $_GET['import_type'] != NULL ? $_GET['import_type'] : $_POST['import_type']; try { lC_Languages_Admin::import($lang, $type); } catch (Exception $e) { $_SESSION['error'] = true; $_SESSION['errmsg'] = $lC_Language->get('ms_error_action_not_performed'); } break; case 'export': lC_Languages_Admin::export($_GET['lid'], $_POST['groups'], isset($_POST['include_data']) && $_POST['include_data'] == 'on'); break; } } }
public static function update($id, $data, $default = false) { global $lC_Database; $error = false; $lC_Database->startTransaction(); $name = $data['charset'] == 'utf-8' ? lc_output_utf8_decoded($data['name']) : $data['name']; $Qlanguage = $lC_Database->query('update :table_languages set name = :name, code = :code, locale = :locale, charset = :charset, date_format_short = :date_format_short, date_format_long = :date_format_long, time_format = :time_format, text_direction = :text_direction, currencies_id = :currencies_id, numeric_separator_decimal = :numeric_separator_decimal, numeric_separator_thousands = :numeric_separator_thousands, parent_id = :parent_id, sort_order = :sort_order where languages_id = :languages_id'); $Qlanguage->bindTable(':table_languages', TABLE_LANGUAGES); $Qlanguage->bindValue(':name', $name); $Qlanguage->bindValue(':code', $data['code']); $Qlanguage->bindValue(':locale', str_replace('P_CENT', '%', $data['locale'])); $Qlanguage->bindValue(':charset', str_replace('P_CENT', '%', $data['charset'])); $Qlanguage->bindValue(':date_format_short', str_replace('P_CENT', '%', $data['date_format_short'])); $Qlanguage->bindValue(':date_format_long', str_replace('P_CENT', '%', $data['date_format_long'])); $Qlanguage->bindValue(':time_format', str_replace('P_CENT', '%', $data['time_format'])); $Qlanguage->bindValue(':text_direction', str_replace('P_CENT', '%', $data['text_direction'])); $Qlanguage->bindInt(':currencies_id', $data['currencies_id']); $Qlanguage->bindValue(':numeric_separator_decimal', str_replace('P_CENT', '%', $data['numeric_separator_decimal'])); $Qlanguage->bindValue(':numeric_separator_thousands', str_replace('P_CENT', '%', $data['numeric_separator_thousands'])); $Qlanguage->bindInt(':parent_id', $data['parent_id']); $Qlanguage->bindInt(':sort_order', $data['sort_order']); $Qlanguage->bindInt(':languages_id', $id); $Qlanguage->setLogging($_SESSION['module'], $id); $Qlanguage->execute(); if ($lC_Database->isError()) { $error = true; } if ($error === false) { if (isset($data['default']) && $data['default'] == 'on') { $default = true; } if ($default === true) { $Qupdate = $lC_Database->query('update :table_configuration set configuration_value = :configuration_value where configuration_key = :configuration_key'); $Qupdate->bindTable(':table_configuration', TABLE_CONFIGURATION); $Qupdate->bindValue(':configuration_value', $data['code']); $Qupdate->bindValue(':configuration_key', 'DEFAULT_LANGUAGE'); $Qupdate->setLogging($_SESSION['module'], $id); $Qupdate->execute(); if ($lC_Database->isError() === false) { if ($Qupdate->affectedRows()) { lC_Cache::clear('configuration'); } } else { $error = true; } } } if ($error === false) { $lC_Database->commitTransaction(); lC_Cache::clear('languages'); return true; } else { $lC_Database->rollbackTransaction(); } return false; }