function qtrans_split($text, $quicktags = true)
 {
     return qtranxf_split($text);
 }
Example #2
0
function qtranxf_updateTermLibraryJoin()
{
    global $q_config;
    if (!isset($_POST['action'])) {
        return;
    }
    $action = $_POST['action'];
    if (!isset($_POST['qtrans_term_field_name'])) {
        return;
    }
    $field = $_POST['qtrans_term_field_name'];
    $default_name_original = $_POST['qtrans_term_field_default_name'];
    //qtranxf_dbg_log('$_POST:',$_POST);
    $field_value = qtranxf_stripSlashesIfNecessary($_POST[$field]);
    //qtranxf_dbg_log('$field_value='.$field_value);
    $names = qtranxf_split($field_value);
    //qtranxf_dbg_log('names=',$names);
    $default_name = htmlspecialchars($names[$q_config['default_language']], ENT_NOQUOTES);
    $_POST[$field] = $default_name;
    if (empty($default_name)) {
        return;
    }
    //will generate error later from WP
    foreach ($names as $lang => $name) {
        $q_config['term_name'][$default_name_original][$lang] = htmlspecialchars($name, ENT_NOQUOTES);
    }
    if ($default_name_original != $default_name) {
        $q_config['term_name'][$default_name] = $q_config['term_name'][$default_name_original];
        unset($q_config['term_name'][$default_name_original]);
    }
    update_option('qtranslate_term_name', $q_config['term_name']);
}
 function nxs_doQTrans($txt, $lng = '')
 {
     if (!function_exists("qtrans_split") && !function_exists("qtranxf_split")) {
         return $txt;
     }
     $txt = str_ireplace('<3', '&lt;3', $txt);
     $txt = str_ireplace('<(', '&lt;(', $txt);
     //$txt = preg_replace('/\[caption\s[^\]]*\]/', '', $txt);
     $txt = preg_replace('/\\[caption[\\s]{0,}(.*?)\\][\\s]{0,}(<a[\\s]{0,}.*?<\\/a>)[\\s]{0,}(.*?)\\[\\/caption\\]/ims', '<p $1> $2 <snap class="wpimgcaption">$3</snap> </p>', $txt);
     // WP Image with Caption fix
     if (function_exists("qtrans_split") && strpos($txt, '<!--:') !== false) {
         $tta = qtrans_split($txt);
         if ($lng != '') {
             return $tta[$lng];
         } else {
             return reset($tta);
         }
     }
     if (function_exists("qtranxf_split") && (strpos($txt, '<!--:') !== false || strpos($txt, '[:') !== false)) {
         $tta = qtranxf_split($txt);
         if ($lng != '') {
             return $tta[$lng];
         } else {
             return reset($tta);
         }
     }
 }
function qtranxf_updateSettingDateI18N($nm)
{
    global $q_config;
    if (!isset($_POST['submit'])) {
        return;
    }
    $nm_fmt = $nm . '_fmt';
    if (!isset($_POST[$nm]) || !isset($_POST[$nm_fmt])) {
        return;
    }
    if (!is_array($_POST[$nm]) || !is_array($_POST[$nm_fmt])) {
        return;
    }
    //qtranxf_dbg_log('qtranxf_updateSettingDateI18N: $_POST['.$nm.']: ',$_POST[$nm]);
    //qtranxf_dbg_log('qtranxf_updateSettingDateI18N: $_POST['.$nm_fmt.']: ',$_POST[$nm_fmt]);
    if (!isset($q_config[$nm]) || !is_array($q_config[$nm])) {
        $q_config[$nm] = array();
    }
    $date_i18n = array();
    qtranxf_get_date_time_formats($date_format, $time_format);
    //qtranxf_dbg_log('qtranxf_updateSettingDateI18N: $date_format: ',$date_format);
    //qtranxf_dbg_log('qtranxf_updateSettingDateI18N: $time_format: ',$time_format);
    $date_i18n['date_format'] = $date_format;
    $date_i18n['time_format'] = $time_format;
    $_POST[$nm] = wp_unslash($_POST[$nm]);
    $_POST[$nm_fmt] = wp_unslash($_POST[$nm_fmt]);
    foreach ($_POST[$nm] as $k => $v) {
        if (!isset($_POST[$nm_fmt][$k])) {
            continue;
        }
        $f = sanitize_text_field($_POST[$nm_fmt][$k]);
        if (empty($f)) {
            continue;
        }
        $v = sanitize_text_field($v);
        if (empty($v)) {
            continue;
        }
        $v = qtranxf_split($v);
        foreach ($v as $lang => $fmt) {
            if ($fmt == $f || empty($fmt)) {
                unset($v[$lang]);
            }
        }
        if (empty($v)) {
            continue;
        }
        $date_i18n[$f] = $v;
    }
    unset($_POST[$nm]);
    unset($_POST[$nm_fmt]);
    if (!qtranxf_array_compare($q_config[$nm], $date_i18n)) {
        $q_config[$nm] = $date_i18n;
        qtranxf_update_option_value($nm, $date_i18n);
    }
    //qtranxf_dbg_log('qtranxf_updateSettingDateI18N: $q_config['.$nm.']: ',$q_config[$nm]);
    if ($q_config['use_strftime'] == QTX_DATE_WP) {
        qtranxf_updateLanguageDateTimeFormats($date_i18n, $q_config['enabled_languages'], 'date_format', $date_format);
        qtranxf_updateLanguageDateTimeFormats($date_i18n, $q_config['enabled_languages'], 'time_format', $time_format);
    }
}
function qts_UpdateOrder($order_id)
{
    global $wpdb;
    $orders = get_option('qts_orders');
    if (!is_array($orders)) {
        return false;
    }
    foreach ($orders as $key => $order) {
        // search for wanted order
        if ($order['order']['order_id'] != $order_id) {
            continue;
        }
        // query server for updates
        $order['order']['order_url'] = get_option('home');
        $result = qts_queryQS(QTS_RETRIEVE_TRANSLATION, $order['order']);
        if (isset($result['order_comment'])) {
            $orders[$key]['status'] = $result['order_comment'];
        }
        // update db if post is updated
        if (isset($result['order_status']) && $result['order_status'] == QTS_STATE_CLOSED) {
            $order['post_id'] = intval($order['post_id']);
            $p = get_post($order['post_id']);
            $post =& $p;
            $title = qtranxf_split($post->post_title);
            $content = qtranxf_split($post->post_content);
            $title[$order['target_language']] = $result['order_translated_title'];
            $content[$order['target_language']] = $result['order_translated_text'];
            $post->post_title = qtranxf_join_b($title);
            $post->post_content = qtranxf_join_b($content);
            $wpdb->show_errors();
            $wpdb->query($wpdb->prepare('UPDATE ' . $wpdb->posts . ' SET post_title = %s, post_content = %s WHERE ID = %d', $post->post_title, $post->post_content, $post->ID));
            wp_cache_add($post->ID, $post, 'posts');
            unset($orders[$key]);
        }
        update_option('qts_orders', $orders);
        return true;
    }
    return false;
}