/** * Delete sub-language. * In order to avoid deletion of main laguages, we check the existence of a parent * @param Integer The parent id * @return bool True on success, false on error */ public static function remove_sub_language($parent_id, $sub_language_id) { if (empty($parent_id) or intval($parent_id) != $parent_id or empty($sub_language_id) or intval($sub_language_id) != $sub_language_id) { return false; } $tbl_admin_languages = Database::get_main_table(TABLE_MAIN_LANGUAGE); $sql = 'SELECT dokeos_folder FROM ' . $tbl_admin_languages . ' WHERE parent_id = ' . $parent_id . ' and id = ' . $sub_language_id; $res = Database::query($sql); if ($res === false or Database::num_rows($res) < 1) { return false; } $row = Database::fetch_assoc($res); $res = SubLanguageManager::remove_language_directory($row['dokeos_folder']); if ($res === false) { return false; } //can't delete dir, so do not delete language record $sql = 'DELETE FROM ' . $tbl_admin_languages . ' WHERE id="' . Database::escape_string($sub_language_id) . '" '; $res = Database::query($sql); return $res; }
if ($index_information == 'execute_add' && $value_information === true) { $allow_insert_info = true; } } if (strlen($original_name) > 0 && strlen($english_name) > 0 && strlen($isocode) > 0) { if ($allow_insert_info === true && $language_id_exist === true) { $english_name = str_replace(' ', '_', $english_name); //Fixes BT#1636 $english_name = api_strtolower($english_name); $isocode = str_replace(' ', '_', $isocode); $str_info = '<br/>' . get_lang('OriginalName') . ' : ' . $original_name . '<br/>' . get_lang('EnglishName') . ' : ' . $english_name . '<br/>' . get_lang('PlatformCharsetTitle') . ' : ' . $isocode; $mkdir_result = SubLanguageManager::add_language_directory($english_name); if ($mkdir_result) { $sl_id = add_sub_language($original_name, $english_name, $isocode, $sublanguage_available, $parent_id); if ($sl_id === false) { SubLanguageManager::remove_language_directory($english_name); $msg .= Display::return_message(get_lang('LanguageDirectoryNotWriteableContactAdmin'), 'error'); } else { // Here we build the confirmation message and we send the user to the sub language terms definition page, using a little hack - see #3712 $_SESSION['msg'] = Display::return_message(get_lang('TheNewSubLanguageHasBeenAdded') . $str_info . $link, 'confirm', false); unset($interbreadcrumb); $_GET['sub_language_id'] = $_REQUEST['sub_language_id'] = $sl_id; require 'sub_language.php'; exit; } } else { $msg .= Display::return_message(get_lang('LanguageDirectoryNotWriteableContactAdmin'), 'error'); } } else { if ($language_id_exist === false) { $msg .= Display::return_message(get_lang('LanguageParentNotExist'), 'error');