function qtranxf_collect_translations_posted() { //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST: ', $_REQUEST); //qtranxf_dbg_log('qtranxf_collect_translations_posted: POST: ', $_POST); //qtranxf_dbg_log('qtranxf_collect_translations_posted: count(REQUEST): ', count($_REQUEST, COUNT_RECURSIVE)); $edit_lang = null; if (isset($_REQUEST['qtranslate-fields'])) { //$edit_lang = isset($_COOKIE['qtrans_edit_language']) ? $_COOKIE['qtrans_edit_language'] : qtranxf_getLanguage(); $edit_lang = qtranxf_getLanguageEdit(); foreach ($_REQUEST['qtranslate-fields'] as $nm => &$qfields) { //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST[qtranslate-fields]['.$nm.']: ',$qfields); qtranxf_collect_translations($qfields, $_REQUEST[$nm], $edit_lang); //qtranxf_dbg_log('qtranxf_collect_translations_posted: collected REQUEST['.$nm.']: ',$_REQUEST[$nm]); if (isset($_POST[$nm])) { $_POST[$nm] = $_REQUEST[$nm]; } if (isset($_GET[$nm])) { $_GET[$nm] = $_REQUEST[$nm]; } } unset($_REQUEST['qtranslate-fields']); unset($_POST['qtranslate-fields']); unset($_GET['qtranslate-fields']); } if (defined('DOING_AJAX') && DOING_AJAX) { //parse variables collected as a query string in an option foreach ($_REQUEST as $nm => $val) { if (!is_string($val)) { continue; } if (strpos($val, 'qtranslate-fields') === FALSE) { continue; } $r; parse_str($val, $r); //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST['.$nm.'] $r: ', $r); //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST['.$nm.']: ', $val); if (empty($r['qtranslate-fields'])) { continue; } if (!$edit_lang) { $edit_lang = qtranxf_getLanguageEdit(); } qtranxf_collect_translations($r['qtranslate-fields'], $r, $edit_lang); unset($r['qtranslate-fields']); //qtranxf_dbg_log('qtranxf_collect_translations_posted: $r parsed: ', $r); $q = http_build_query($r); //qtranxf_dbg_log('qtranxf_collect_translations_posted: $q: ', $q); //qtranxf_dbg_log('qtranxf_collect_translations_posted: $v: ', $val); $_REQUEST[$nm] = $q; if (isset($_POST[$nm])) { $_POST[$nm] = $q; } if (isset($_GET[$nm])) { $_GET[$nm] = $q; } } } if (isset($_REQUEST['qtranslate-slugs']) || isset($_REQUEST['qtranslate-terms'])) { //ensure REQUEST has the value of the default language //multilingual slug/term values will be processed later if (!$edit_lang) { $edit_lang = qtranxf_getLanguageEdit(); } global $q_config; $default_language = $q_config['default_language']; $default_lang = qtranxf_getLanguage(); qtranxf_regroup_translations_for('qtranslate-terms', $edit_lang, $default_lang); qtranxf_regroup_translations_for('qtranslate-slugs', $edit_lang, $default_lang); } }
function qtranxf_collect_translations_posted() { //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST: ',$_REQUEST); if (!isset($_REQUEST['qtranslate-fields'])) { return; } //$edit_lang = isset($_COOKIE['qtrans_edit_language']) ? $_COOKIE['qtrans_edit_language'] : qtranxf_getLanguage(); $edit_lang = qtranxf_getLanguageEdit(); foreach ($_REQUEST['qtranslate-fields'] as $nm => &$qfields) { //qtranxf_dbg_log('qtranxf_collect_translations_posted: REQUEST[qtranslate-fields]['.$nm.']: ',$qfields); qtranxf_collect_translations($qfields, $_REQUEST[$nm], $edit_lang); //qtranxf_dbg_log('qtranxf_collect_translations_posted: collected REQUEST['.$nm.']: ',$_REQUEST[$nm]); if (isset($_POST[$nm])) { //qtranxf_dbg_log('qtranxf_collect_translations_posted: POST['.$nm.']: ',$_POST[$nm]); $_POST[$nm] = $_REQUEST[$nm]; } if (isset($_GET[$nm])) { //qtranxf_dbg_log('qtranxf_collect_translations_posted: GET['.$nm.']: ',$_GET[$nm]); $_GET[$nm] = $_REQUEST[$nm]; } } unset($_REQUEST['qtranslate-fields']); unset($_POST['qtranslate-fields']); unset($_GET['qtranslate-fields']); }
function qtranxf_decode_translations_posted() { //quick fix, there must be a better way if (isset($_POST['nav-menu-data'])) { $r = qtranxf_decode_json_name_value($_POST['nav-menu-data']); //qtranxf_dbg_log('qtranxf_collect_translations_posted: $r: ', $r); if (!empty($r['qtranslate-fields'])) { $edit_lang = qtranxf_getLanguageEdit(); qtranxf_collect_translations($r['qtranslate-fields'], $r, $edit_lang); unset($r['qtranslate-fields']); //qtranxf_dbg_log('qtranxf_collect_translations_posted: collected $r: ', $r); foreach ($r as $k => $v) { $_POST[$k] = $v; } unset($_POST['nav-menu-data']); //qtranxf_dbg_log('qtranxf_collect_translations_posted: nav-menu-data decoded $_POST: ', $_POST); } } }