/** * Encode URL $url with language $lang. * @param (string) $url URL to be converted. * @param (string) $lang two-letter language code of the language to convert $url to. * @param (bool) $forceadmin $url is not converted on admin side, unless $forceadmin is set to true. * @param (bool) $showDefaultLanguage When set to true, $url is always encoded with a language, otherwise it senses option "Hide URL language information for default language" to keep $url consistent with the currently active language. * * If you need a URL to switch the language, set $showDefaultLanguage=true, if you need a URL to keep the current language, set it to false. */ function qtranxf_convertURL($url = '', $lang = '', $forceadmin = false, $showDefaultLanguage = false) { global $q_config; if (empty($lang)) { $lang = $q_config['language']; } if (empty($url)) { if ($q_config['url_info']['doing_front_end'] && defined('QTS_VERSION') && $q_config['url_mode'] != QTX_URL_QUERY) { //quick workaround, but need a permanent solution $url = qts_get_url($lang); //qtranxf_dbg_log('qtranxf_convertURL: qts_get_url: url=', $url); if (!empty($url)) { if ($showDefaultLanguage && $q_config['hide_default_language'] && $lang == $q_config['default_language']) { $url = qtranxf_convertURL($url, $lang, $forceadmin, true); } return $url; } } //$url = esc_url($q_config['url_info']['url']); } if (!$q_config['url_info']['doing_front_end'] && !$forceadmin) { return $url; } if (!qtranxf_isEnabled($lang)) { return ''; } if (!$showDefaultLanguage) { $showDefaultLanguage = !$q_config['hide_default_language']; } $showLanguage = $showDefaultLanguage || $lang != $q_config['default_language']; //qtranxf_dbg_log('qtranxf_convertURL('.$url.','.$lang.'): showLanguage=',$showLanguage); $complete = qtranxf_get_url_for_language($url, $lang, $showLanguage); //qtranxf_dbg_log('qtranxf_convertURL: complete: ',$complete); return $complete; }
/** * Adds support for old plugin function * * @package Qtranslate Slug * @subpackage Core * @since 1.1.5 */ function qTranslateSlug_getSelfUrl($lang = false) { // bad naming, I'll keep just in case return qts_get_url($lang); }