Example #1
0
 public function filterLang($text, $lang = NULL)
 {
     if (!empty($lang) && function_exists('qtrans_use')) {
         return qtrans_use($lang, $text);
     }
     if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
         return qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
     }
     return $text;
 }
 function get_post_knews($reply, $id, $type, $lang)
 {
     if (is_array($reply) && isset($reply['skip'])) {
         return $reply;
     }
     global $post, $Knews_plugin, $knewsOptions;
     $post = get_post($id);
     $permalink = get_permalink();
     if (KNEWS_MULTILANGUAGE && $knewsOptions['multilanguage_knews'] == 'qt' && function_exists('qtrans_convertURL')) {
         $post = qtrans_use($lang, $post, false);
         $permalink = qtrans_convertURL($permalink, $lang, true);
     }
     setup_postdata($post);
     $excerpt_length = apply_filters('excerpt_length', 55);
     $excerpt = (string) get_the_excerpt();
     $content = (string) get_the_content();
     if ($knewsOptions['apply_filters_on'] == '1') {
         $content = apply_filters('the_content', $content);
     }
     $content = strip_shortcodes($content);
     $content = knews_iterative_extract_code('<script', '</script>', $content, true);
     $content = knews_iterative_extract_code('<fb:like', '</fb:like>', $content, true);
     $content = str_replace(']]>', ']]>', $content);
     $content = strip_tags($content);
     if ($excerpt == '') {
         $excerpt = $content;
     }
     $words = explode(' ', $content, $excerpt_length + 1);
     if (count($words) > $excerpt_length) {
         array_pop($words);
         //array_push($words, '[...]');
         $excerpt = implode(' ', $words) . '...';
     }
     $content = nl2br($content);
     $words = explode(' ', $excerpt, $excerpt_length + 1);
     if (count($words) > $excerpt_length) {
         array_pop($words);
         //array_push($words, '[...]');
         $excerpt = implode(' ', $words) . '...';
     }
     $featimg = '';
     if ($Knews_plugin->im_pro()) {
         if (has_post_thumbnail($post->ID)) {
             $featimg = knews_get_image_path();
         }
     }
     return array('title' => get_the_title(), 'excerpt' => $excerpt, 'content' => $content, 'permalink' => $permalink, 'image' => $featimg);
 }
function qtrans_showAllSeperated($text)
{
    if (empty($text)) {
        return $text;
    }
    global $q_config;
    $result = "";
    foreach (qtrans_getSortedLanguages() as $language) {
        $result .= $q_config['language_name'][$language] . ":\n" . qtrans_use($language, $text) . "\n\n";
    }
    return $result;
}
function eme_translate($value, $lang = '')
{
    //if (empty($lang))
    //   $lang=eme_detect_lang();
    if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage') && function_exists('qtrans_use')) {
        if (empty($lang)) {
            return qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
        } else {
            return qtrans_use($lang, $value);
        }
    } elseif (function_exists('ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage') && function_exists('ppqtrans_use')) {
        if (empty($lang)) {
            return ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
        } else {
            return ppqtrans_use($lang, $value);
        }
    } elseif (function_exists('qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage') && function_exists('qtranxf_use')) {
        if (empty($lang)) {
            return qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
        } else {
            return qtranxf_use($lang, $value);
        }
    } elseif (function_exists('pll_translate_string') && function_exists('pll__')) {
        if (empty($lang)) {
            return pll__($value);
        } else {
            return pll_translate_string($value, $lang);
        }
    } else {
        return $value;
    }
}
function wppa_qtrans($output, $lang = '')
{
    if ($lang == '') {
        $output = __($output);
        //		if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
        //			$output = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $output );
        //		}
    } else {
        if (function_exists('qtrans_use')) {
            $output = qtrans_use($lang, $output, false);
        }
    }
    return $output;
}
Example #6
0
        the_post();
        ?>


		<div <?php 
        post_class();
        ?>
 id="post-<?php 
        the_ID();
        ?>
">
			<h1 class="content-title">
			<span style="font-family: PTSansBold;">
                        <?php 
        if ($region != "de") {
            $title = translate_title(qtrans_use('en', get_the_title(), false));
        } else {
            $title = get_the_title();
        }
        $s = explode("(", $title);
        $short_title1 = trim($s[0]);
        $short_title2 = "(" . trim($s[1]);
        //check for empty part2
        if ($short_title2 == "(") {
            $short_title2 = "";
        }
        echo $short_title1;
        ?>
                        </span><?php 
        echo $short_title2;
        ?>
Example #7
0
function wordbooker_translate($text)
{
    if (function_exists('qtrans_use')) {
        global $q_config;
        $text = qtrans_use($q_config['language'], $text);
    }
    return $text;
}
Example #8
0
">
			<?php 
    echo str_repeat('&mdash;', $post->qtm_depth) . '&nbsp;' . qtrans_use($_lang, $post->post_title);
    ?>
		</a>
	</td>
	<?php 
    foreach ($qtransMETA->field_names as $field => $field_label) {
        echo '<td>';
        switch ($_view) {
            case 'flags':
                foreach (qtrans_split(get_post_meta($post->ID, "qtrans_meta:{$field}", true)) as $lang => $f) {
                    $class = $f ? 'present' : 'not-present';
                    $title = $f ? $f : '(empty)';
                    echo '<img src="' . WP_PLUGIN_URL . '/qtranslate/flags/' . $q_config['flag'][$lang] . '" alt="' . strtoupper($lang) . '" class="' . $class . '" title="' . $title . '" /> ';
                }
                break;
            case 'text':
                echo qtrans_use($_lang, get_post_meta($post->ID, "qtrans_meta:{$field}", true));
                break;
        }
        echo '</td>';
    }
    echo '</tr>';
}
?>

</table>

</div>
Example #9
0
function qtrans_useDefaultLanguage($content)
{
    global $q_config;
    return qtrans_use($q_config['default_language'], $content, false);
}
 /**
  * Get translated text
  *
  * @access private
  * @param string $origText Original text
  * @param string $locale Language locale
  * @return string Translated text
  */
 private function getTranslatedText($origText, $locale)
 {
     // prepare languages list
     $this->prepareLanguages();
     // initialize
     $text = $origText;
     // translate text
     if (isset($this->languages[$locale])) {
         $text = qtrans_use($this->languages[$locale], $origText, false);
     }
     // exit
     return $text;
 }
function get_category_links_us()
{
    //echo "Testt";
    global $q_config;
    $oldlang = $q_config['language'];
    $q_config['language'] = 'us';
    //substr('en_EN', 0, 2);
    //print_r(get_the_category());
    $counter = 0;
    $i = 0;
    foreach (get_the_category() as $category) {
        $counter++;
        $CID = $category->cat_ID;
        //$option .= "CID: $CID";
        $childlist = get_category_children($CID);
        //print "CL: $childlist<br>";
        if ($childlist !== "" or $counter == 111) {
            $categories = get_categories("child_of={$CID}");
            //.$this_category->cat_ID);
            $categories_parent = get_categories("parent=1&child_of={$CID}");
            //.$this_category->cat_ID);
            //$categories = wp_list_categories('child_of='.$this_category->cat_ID);
            foreach ($categories as $cat) {
                //remove_filter('get_category','qtrans_useTermLib',0);
                //use translated category names
                global $lang;
                if ($lang == "de") {
                    $category_id = get_cat_ID($cat->cat_name);
                    $cat_link = get_category_link($category->term_id);
                    $cat_link2 = get_category_link($category_id);
                } else {
                    $category_id = qtrans_use('us', get_cat_ID($cat->cat_name));
                    $cat_link = qtrans_use('us', get_category_link($category->term_id));
                    $cat_link2 = qtrans_convertURL(qtrans_use($oldlang, get_category_link($category_id)));
                    $q_config['language'] = $oldlang;
                    //substr('en_EN', 0, 2);
                    $cat_link2 = qtrans_convertURL($cat_link2);
                    $q_config['language'] = 'us';
                    //substr('en_EN', 0, 2);
                }
                //$category_id    = get_cat_ID( $cat->cat_name);
                //echo "<br>CID: ".$category_id;
                //echo "<br>Link: ".$cat_link;
                //echo "<br>Link2: ".$cat_link2;
                //$tcatname = qtrans_use('en', __($cat->cat_name) ,false);
                /*
                echo "<br>TID: ",$category->term_id;
                echo "<br>Link: ".get_category_link($category->term_id );
                echo "<br>Link2:".get_category_link($category_id);
                echo "<br>Name: ".qtrans_use('us',$cat->cat_name);
                echo "<br>TransName: ".$tcatname;
                echo "<br>TransCID: ".qtrans_use('us',$category_id,true);
                echo "<br>Lang: ".qtrans_getLanguage();
                */
                //$locale = $new_locale;
                //echo "<br>Lang: ".$q_config['language'];
                //$q_config['language'] = 'xy'; //substr('en_EN', 0, 2);
                //$option .= "<br>";
                //if (in_category($category_id) == true) $option .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
                //$option .= '<a href="/" class="icon-home icon-category" title="'.$txt_arch_home.'"></a> &gt; ';
                //$option .= '<a href="'.get_category_link($category->term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" itemprop="url">';
                //if (in_category($category_id) == true) $option .= '<span itemprop="title">';
                //7$option .= $category->cat_name;
                //if (in_category($category_id) == true) $option .= '</span>';
                //$option .= '</a>';//.$seperator;
                //$option .= "</div>";
                /*
                $option .= ' &gt; ';
                if (in_category($category_id) == true) $option .= '<span itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
                $option .= '<a href="'.get_category_link($category_id ).'" itemprop="url">';
                if (in_category($category_id) == true) $option .= '<span itemprop="title">';
                $option .= $cat->cat_name;
                if (in_category($category_id) == true) $option .= '</span>';
                $option .= ' ('.$cat->category_count.')</a>';
                	                        if (in_category($category_id) == true) $option .= "</span>";
                	                        if (in_category($category_id) == true) $option .= "</span>";
                */
                //print "I: $i, url:".$cat_link2."<br>";
                $links[$i] = $cat_link2;
                $i++;
            }
        }
    }
    $q_config['language'] = $oldlang;
    //substr('en_EN', 0, 2);
    //echo "Links:<br>";
    //print_r($links);
    return $links;
}
function qs_quote()
{
    global $q_config;
    $mode = 'full';
    if (isset($_POST['mode'])) {
        $mode = $_POST['mode'];
    }
    if ($mode != 'price_only') {
        $mode = 'full';
    }
    $service_id = $_POST['service_id'];
    $translate_from = $_POST['translate_from'];
    $translate_to = $_POST['translate_to'];
    $post =& get_post($_POST['post_id']);
    $post = qtrans_use($translate_from, $post);
    $post_title = $post->post_title;
    $post_content = $post->post_content;
    $post_excerpt = $post->post_excerpt;
    $request = array('order_service_id' => $service_id, 'order_title' => $post_title, 'order_text' => $post_content, 'order_excerpt' => $post_excerpt, 'order_source_language' => $translate_from, 'order_source_locale' => $q_config['locale'][$translate_from], 'order_target_language' => $translate_to, 'order_target_locale' => $q_config['locale'][$translate_to], 'order_confirm_url' => get_admin_url(null, 'edit.php?page=qtranslate_services&confirm=1&post=' . $_POST['post_id'] . '&source_language=' . $translate_from . '&target_language=' . $translate_to . '&service_id=' . $service_id), 'order_failure_url' => get_admin_url(null, 'edit.php?page=qtranslate_services&post=' . $_POST['post_id'] . '&source_language=' . $translate_from . '&target_language=' . $translate_to . '&service_id=' . $service_id));
    $answer = qs_queryQS(QS_QUOTE, $request);
    $price = __('unavailable', 'qtranslate');
    $currency = '';
    $short = '';
    if (isset($answer['price'])) {
        if ($answer['price'] == 0) {
            $price = __('free', 'qtranslate');
        } else {
            if ($answer['price'] < 0) {
                $price = __('unavailable', 'qtranslate');
            } else {
                $price = number_format_i18n($answer['price'], 2);
                $currency = $answer['currency'];
            }
        }
        $content = sprintf(__('<p>Price: %1$s %2$s</p>', 'qtranslate'), $currency, $price);
        $short = sprintf(__('~ %1$s %2$s', 'qtranslate'), $currency, $price);
        if (!empty($answer['paypalurl'])) {
            $content .= '<div class="qs_submit"><a href="' . $answer['paypalurl'] . '"><img src="https://fpdbs.paypal.com/dynamicimageweb?cmd=_dynamic-image&locale=' . $q_config['locale'][$q_config['language']] . '"></a></div>';
        } else {
            $content .= '<div class="qs_submit"><a class="button-primary" onclick="sendorder();">' . __('Request Translation', 'qtranslate') . '</a></div>';
        }
    } else {
        $content = '<p>' . __('An error occured!', 'qtranslate');
        if (isset($answer['error'])) {
            $content .= '<br>' . $answer['message'];
        }
        $content .= '</p>';
    }
    if ($mode == 'full') {
        echo "jQuery('#submitdiv .request').html('";
        echo $content;
        echo "');";
    } else {
        if ($mode == 'price_only') {
            echo "jQuery('.qsprice').html('";
            echo $short;
            echo "');";
        }
    }
    die;
}
function knews_create_news($aj, $pend_posts, $news, $fp, $mobile, $mobile_news_id)
{
    global $Knews_plugin, $knewsOptions, $wpdb;
    $news_mod = $news[0]->html_mailing;
    //Cut the newsletter into modules
    $news_mod = explode('<!--[start module]-->', $news_mod);
    $news_mod2 = array();
    $first = true;
    foreach ($news_mod as $nm) {
        if ($first) {
            $first = false;
            $news_mod2[] = $nm;
        } else {
            $cut_nm = explode('<!--[end module]-->', $nm);
            $news_mod2[] = $cut_nm[0];
            $news_mod2[] = $cut_nm[1];
        }
    }
    $news_mod_map = array();
    $news_mod_map_duplicated = array();
    $total_posts = 0;
    foreach ($news_mod2 as $nm) {
        $found = true;
        $n = 1;
        while ($found) {
            $found = false;
            if (strpos($nm, '%the_title_' . $n . '%') !== false || strpos($nm, '%the_excerpt_' . $n . '%') !== false || strpos($nm, '%the_permalink_' . $n . '%') !== false || strpos($nm, '%the_content_' . $n . '%') !== false) {
                $found = true;
                $n++;
            }
        }
        $news_mod_map[] = $n - 1;
        $news_mod_map_duplicated[] = false;
        $total_posts = $total_posts + $n - 1;
    }
    /*for ($a=1; $a<10; $a++) {
    		$news_mod = str_replace('%the_permalink_' . $a . '%', '%the_permalink%', $news_mod);
    		$news_mod = str_replace('%the_title_' . $a . '%', '%the_title%', $news_mod);
    		$news_mod = str_replace('%the_excerpt_' . $a . '%', '%the_excerpt%', $news_mod);
    		$news_mod = str_replace('%the_content_' . $a . '%', '%the_content%', $news_mod);
    	}*/
    $s = 0;
    while ($total_posts < count($pend_posts) && $total_posts != 0) {
        if ($news_mod_map[$s] != 0 && !$news_mod_map_duplicated[$s]) {
            knews_debug('- enlarging the newsletter, have ' . $total_posts . ' and must have ' . count($pend_posts) . "\r\n");
            array_splice($news_mod2, $s + 1, 0, array('</td></tr><tr class="droppable"><td>' . $news_mod2[$s]));
            array_splice($news_mod_map, $s + 1, 0, array($news_mod_map[$s]));
            array_splice($news_mod_map_duplicated, $s + 1, 0, array(true));
            $total_posts = $total_posts + $news_mod_map[$s];
            knews_debug('- module duplicated, news now can contain ' . $total_posts . " posts inside\r\n");
            $s++;
        }
        $s++;
        if ($s >= count($news_mod_map)) {
            $s = 0;
        }
    }
    if ($total_posts >= count($pend_posts)) {
        $subject = $news[0]->subject;
        $most_recent = 0;
        foreach ($pend_posts as $pp) {
            global $post;
            $post = get_post($pp->ID);
            //qTranslate support
            $permalink = get_permalink();
            if (KNEWS_MULTILANGUAGE && $knewsOptions['multilanguage_knews'] == 'qt' && function_exists('qtrans_convertURL')) {
                $post = qtrans_use($aj->lang, $post, false);
                $permalink = qtrans_convertURL($permalink, $aj->lang, true);
            }
            //End qT
            setup_postdata($post);
            $excerpt_length = apply_filters('excerpt_length', 55);
            $excerpt = (string) get_the_excerpt();
            $content = (string) get_the_content();
            $title = get_the_title();
            knews_debug('- including post: ' . $title . "\r\n");
            if ($knewsOptions['apply_filters_on'] == '1') {
                $content = apply_filters('the_content', $content);
            }
            $content = strip_shortcodes($content);
            $content = knews_iterative_extract_code('<script', '</script>', $content, true);
            $content = knews_iterative_extract_code('<fb:like', '</fb:like>', $content, true);
            $content = str_replace(']]>', ']]>', $content);
            $content = strip_tags($content);
            if ($excerpt == '') {
                $excerpt = $content;
            }
            $words = explode(' ', $content, $excerpt_length + 1);
            if (count($words) > $excerpt_length) {
                array_pop($words);
                //array_push($words, '[...]');
                $excerpt = implode(' ', $words) . '...';
            }
            $content = nl2br($content);
            $words = explode(' ', $excerpt, $excerpt_length + 1);
            if (count($words) > $excerpt_length) {
                array_pop($words);
                //array_push($words, '[...]');
                $excerpt = implode(' ', $words) . '...';
            }
            /*$content = $pp->post_content;
            
            			$excerpt = strip_shortcodes( $content );
            			if ($knewsOptions['apply_filters_on']=='1') $excerpt = apply_filters('the_content', $excerpt);
            			$excerpt = knews_iterative_extract_code('<script', '</script>', $excerpt, true);
            			$excerpt = knews_iterative_extract_code('<fb:like', '</fb:like>', $excerpt, true);
            			$excerpt = str_replace(']]>', ']]>', $excerpt);
            			$excerpt = strip_tags($excerpt);
            			$excerpt_length = apply_filters('excerpt_length', 55);
            			$words = explode(' ', $excerpt, $excerpt_length + 1);
            			if (count($words) > $excerpt_length) {
            				array_pop($words);
            				//array_push($words, '[...]');
            				$excerpt = implode(' ', $words);
            			}
            			//$excerpt = nl2br($excerpt);
            			if ($knewsOptions['apply_filters_on']=='1') $content = apply_filters('the_content', $content);
            			*/
            //$title = $pp->post_title;
            //$permalink = get_permalink($pp->ID);
            $s = 0;
            while ($news_mod_map[$s] == 0 && $s < count($news_mod_map)) {
                $s++;
            }
            $n = 1;
            $found = false;
            while (!$found && $n < 20) {
                if (strpos($news_mod2[$s], '%the_title_' . $n . '%') !== false || strpos($news_mod2[$s], '%the_excerpt_' . $n . '%') !== false || strpos($news_mod2[$s], '%the_permalink_' . $n . '%') !== false) {
                    $found = true;
                } else {
                    $n++;
                }
            }
            if ($found) {
                $news_mod_map[$s]--;
                $news_mod2[$s] = str_replace('%the_permalink_' . $n . '%', $permalink, $news_mod2[$s]);
                $news_mod2[$s] = str_replace('%the_title_' . $n . '%', $title, $news_mod2[$s]);
                $news_mod2[$s] = str_replace('%the_excerpt_' . $n . '%', $excerpt, $news_mod2[$s]);
                $news_mod2[$s] = str_replace('%the_content_' . $n . '%', $content, $news_mod2[$s]);
                $subject = str_replace('%the_title_1%', $title, $subject);
                //pro
                $look_img = explode('<img', $news_mod2[$s]);
                $news_mod2[$s] = '';
                foreach ($look_img as $look_one_img) {
                    $short_look = explode('>', $look_one_img);
                    if (strpos($short_look[0], 'the_feat_img_' . $n) !== false) {
                        //Lets to replace the image
                        $short_look[0] = str_replace(' ', '', $short_look[0]);
                        $short_look[0] = str_replace("'", '"', $short_look[0]);
                        $short_look[0] = strtolower($short_look[0]);
                        $width = knews_cut_code('width="', '"', $short_look[0], true);
                        $height = knews_cut_code('height="', '"', $short_look[0], true);
                        if ($image = knews_automate_img($pp->ID, $width, $height)) {
                            knews_debug('- image resized: ' . $image . "\r\n");
                            $old_src = knews_cut_code('src="', '"', $short_look[0], true);
                            $look_one_img = str_ireplace($old_src, $image, $look_one_img);
                        } else {
                            knews_debug('- image resize failed (or not featured image found) into post: ' . $title . "\r\n");
                        }
                    }
                    if ($news_mod2[$s] != '') {
                        $news_mod2[$s] .= '<img';
                    }
                    $news_mod2[$s] .= $look_one_img;
                }
                //fi pro
                knews_debug('- included: ' . $title . "\r\n");
                if ($most_recent == 0) {
                    $most_recent = $Knews_plugin->sql2time($pp->post_modified);
                }
                if ($most_recent < $Knews_plugin->sql2time($pp->post_modified)) {
                    $most_recent = $Knews_plugin->sql2time($pp->post_modified);
                }
                $query = "INSERT INTO " . KNEWS_AUTOMATED_POSTS . " (id_automated, id_post, when_scheduled, id_news) VALUES (" . $aj->id . ", " . $pp->ID . ", '" . $Knews_plugin->get_mysql_date() . "', " . "0)";
                $result = $wpdb->query($query);
            }
        }
        if ($most_recent != 0) {
            $news_mod = '';
            foreach ($news_mod2 as $nm) {
                $news_mod .= $nm;
            }
            $news_mod = str_replace('<span class="chooser"></span>', '', $news_mod);
            //Netejem exces
            for ($n = 1; $n < 10; $n++) {
                //$news_mod = str_replace('%the_permalink_' . $n . '%', '#', $news_mod);
                $news_mod = str_replace('%the_title_' . $n . '%', '', $news_mod);
                $news_mod = str_replace('%the_excerpt_' . $n . '%', '', $news_mod);
                $news_mod = str_replace('%the_content_' . $n . '%', '', $news_mod);
                $news_mod = knews_iterative_deleteTag('a', '%the_permalink_' . $n . '%', $news_mod);
                $news_mod = knews_iterative_deleteTag('img', 'the_feat_img_' . $n . '%', $news_mod);
            }
            knews_debug('- saving the created newsletter' . "\r\n");
            $sql = "INSERT INTO " . KNEWS_NEWSLETTERS . "(name, subject, created, modified, template, html_mailing, html_head, html_modules, html_container, lang, automated, mobile, id_mobile, newstype) VALUES ('" . esc_sql($news[0]->name) . " (" . date('d/m/Y') . ")', '" . esc_sql($subject) . "', '" . $Knews_plugin->get_mysql_date() . "', '" . $Knews_plugin->get_mysql_date() . "','" . $news[0]->template . "','" . esc_sql($news_mod) . "','" . esc_sql($news[0]->html_head) . "','" . esc_sql($news[0]->html_modules) . "','" . esc_sql($news[0]->html_container) . "', '" . $news[0]->lang . "', 1, " . ($mobile ? '1' : '0') . ", " . $mobile_news_id . ", 'automated')";
            $results = $wpdb->query($sql);
            $id_newsletter = $Knews_plugin->real_insert_id();
            $query = "UPDATE " . KNEWS_AUTOMATED_POSTS . " SET id_news=" . $id_newsletter . " WHERE id_news=0";
            $results = $wpdb->query($query);
            if ($aj->every_mode == 1) {
                $last_run = "'" . $Knews_plugin->get_mysql_date($most_recent) . "'";
            } else {
                $last_run = "'" . $Knews_plugin->get_mysql_date() . "'";
            }
            $query = "UPDATE " . KNEWS_AUTOMATED . " SET last_run=" . $last_run . ", run_yet=1 WHERE id=" . $aj->id . " ";
            $results = $wpdb->query($query);
            if ($mobile) {
                return $id_newsletter;
            }
            knews_debug('- scheduling the submit' . "\r\n");
            $query = "SELECT DISTINCT(" . KNEWS_USERS . ".id) FROM " . KNEWS_USERS . ", " . KNEWS_USERS_PER_LISTS . " WHERE " . KNEWS_USERS . ".id=" . KNEWS_USERS_PER_LISTS . ".id_user AND " . KNEWS_USERS . ".state='2' AND " . KNEWS_USERS_PER_LISTS . ".id_list=" . $aj->target_id;
            $batch_opts = array('minute' => date("i"), 'hour' => date("H"), 'day' => date("d"), 'month' => date("m"), 'year' => date("Y"), 'paused' => $aj->auto == 1 ? 0 : 1, 'priority' => 4, 'strict_control' => '', 'emails_at_once' => $aj->emails_at_once, 'id_smtp' => $aj->id_smtp);
            require KNEWS_DIR . "/includes/submit_batch.php";
            knews_debug('- all done' . "\r\n");
        }
    } else {
        knews_debug('- the newsletter kept more posts of wich there to submit, wait for more' . "\r\n");
    }
}
 public function writeExport($language, $permalink, $slug, $post = null, $qtranslate_slug, $idx = 0, $currentUri = '/', $pageFileName = 'default')
 {
     $plugin_dir = plugin_dir_path(__FILE__);
     if ($post == null) {
         return false;
     }
     if ($post->post_type == 'page') {
         // add 01. style sorting to pages
         $idx_str = str_pad($idx + 1, 2, '0', STR_PAD_LEFT);
         $addedUri = $idx_str . '.' . $this->_getLastPart($permalink) . '/';
     } else {
         // all other types
         $addedUri = $this->_getLastPart($permalink) . '/';
     }
     if (isset($post->pageFileName)) {
         $pageFileName = $post->pageFileName;
     }
     $language_str = $language ? '.' . $language : '';
     $filename = $this->destination . '/' . $currentUri . $addedUri . $pageFileName . $language_str . '.md';
     $dir = $this->destination . '/' . $currentUri . $addedUri;
     if (!is_dir($dir)) {
         wp_mkdir_p($dir);
     } else {
         //            echo "addedUri: $addedUri \n";
     }
     // already generated
     if (is_file($filename)) {
         return $addedUri;
     }
     echo "\n\n<hr><b>generate Page {$addedUri}</b>\n";
     if ($language) {
         echo "\n\n<br>language: {$language}\n";
     }
     echo "<br>permalink: {$permalink}\n";
     echo "<br>page-id {$post->ID}\n";
     if ($language) {
         $title = qtrans_use($language, $post->post_title, false);
         $content = $this->processContent(qtrans_use($language, $post->post_content, false));
     } else {
         $title = get_the_title($post->ID);
         $content = $this->processContent($post->post_content);
     }
     $author_id = $post->post_author;
     echo "<br>title: {$title}\n";
     echo "<br>slug: {$slug}\n";
     echo "<br>author: ";
     echo the_author_meta('display_name', $author_id);
     echo get_the_author();
     echo "\n";
     echo "<br>category_list: ";
     echo strip_tags(get_the_category_list(', ', '', $post->ID));
     echo "\n";
     echo "<br>tag list: ";
     if (get_the_tags($post->ID)) {
         foreach (get_the_tags($post->ID) as $tag) {
             $t[] = $tag->name;
         }
         echo implode(', ', $t);
     }
     // todo: $post->post_status != 'publish'
     // include export template by type
     ob_start();
     include $plugin_dir . '../templates/export/' . $post->post_type . '.md';
     $content = ob_get_contents();
     ob_end_clean();
     file_put_contents($filename, $content);
     $GLOBALS['WP2GRAV_CNT']++;
     $cnt = WP2GRAV_EXPORT_BATCH_SIZE;
     if ($GLOBALS['WP2GRAV_CNT'] > $cnt) {
         echo "<hr>generated {$cnt} pages";
         ?>
         <script type="text/javascript">
             location.reload();
         </script>
         <?php 
         exit;
     }
     return $addedUri;
 }
 /**
  * return all posts by post types
  * @param $posttypes list of post types in array or string with point dilimiter
  */
 static function get_all_posts_by_posttypes($posttypes)
 {
     if (is_string($posttypes)) {
         $posttypes = preg_split('#[\\s,]+#', $posttypes);
     }
     //get all posts by post types
     $posts_result = array();
     $posts_data = new WP_Query(array('post_type' => $posttypes, 'showposts' => -1));
     $currentLang = '';
     //if mqtranslate plugin actived
     while ($posts_data->have_posts()) {
         $posts_data->the_post();
         if (function_exists('qtrans_use')) {
             if (!$currentLang) {
                 $currentLang = qtrans_getLanguage();
             }
             $title = qtrans_use($currentLang, get_the_title(), false);
         } else {
             $title = get_the_title();
         }
         $posts_result[get_the_ID()] = $title;
     }
     return $posts_result;
 }
Example #16
0
function qtrans_use($lang, $text, $show_available = false)
{
    global $q_config;
    // return full string if language is not enabled
    if (!qtrans_isEnabled($lang)) {
        return $text;
    }
    if (is_array($text)) {
        // handle arrays recursively
        foreach ($text as $key => $t) {
            $text[$key] = qtrans_use($lang, $text[$key], $show_available);
        }
        return $text;
    }
    if (is_object($text) || @get_class($text) == '__PHP_Incomplete_Class') {
        foreach (get_object_vars($text) as $key => $t) {
            $text->{$key} = qtrans_use($lang, $text->{$key}, $show_available);
        }
        return $text;
    }
    // prevent filtering weird data types and save some resources
    if (!is_string($text) || $text == '') {
        return $text;
    }
    // get content
    $content = qtrans_split($text);
    // find available languages
    $available_languages = array();
    foreach ($content as $language => $lang_text) {
        $lang_text = trim($lang_text);
        if (!empty($lang_text)) {
            $available_languages[] = $language;
        }
    }
    // if no languages available show full text
    if (sizeof($available_languages) == 0) {
        return $text;
    }
    // if content is available show the content in the requested language
    if (!empty($content[$lang])) {
        return $content[$lang];
    }
    // content not available in requested language (bad!!) what now?
    if (!$show_available) {
        // check if content is available in default language, if not return first language found. (prevent empty result)
        if ($lang != $q_config['default_language']) {
            return "(" . $q_config['language_name'][$q_config['default_language']] . ") " . qtrans_use($q_config['default_language'], $text, $show_available);
        }
        foreach ($content as $language => $lang_text) {
            $lang_text = trim($lang_text);
            if (!empty($lang_text)) {
                return "(" . $q_config['language_name'][$language] . ") " . $lang_text;
            }
        }
    }
    // display selection for available languages
    $available_languages = array_unique($available_languages);
    $language_list = "";
    if (preg_match('/%LANG:([^:]*):([^%]*)%/', $q_config['not_available'][$lang], $match)) {
        $normal_seperator = $match[1];
        $end_seperator = $match[2];
        // build available languages string backward
        $i = 0;
        foreach ($available_languages as $language) {
            if ($i == 1) {
                $language_list = $end_seperator . $language_list;
            }
            if ($i > 1) {
                $language_list = $normal_seperator . $language_list;
            }
            $language_list = "<a href=\"" . qtrans_convertURL('', $language) . "\">" . $q_config['language_name'][$language] . "</a>" . $language_list;
            $i++;
        }
    }
    return "<p>" . preg_replace('/%LANG:([^:]*):([^%]*)%/', $language_list, $q_config['not_available'][$lang]) . "</p>";
}
Example #17
0
 /**
  * Sanitize title as slug, if empty slug
  * 
  * @param $post (object) the post object
  * @param $slug (string) the slug name
  * @param $lang (string) the language
  * @return the slug validated
  *
  * @since 1.0
  */
 public function validate_post_slug($slug, $post, $lang)
 {
     $post_title = trim(qtrans_use($lang, $_POST['post_title']));
     $post_name = get_post_meta($post->ID, $this->get_meta_key($lang), true);
     if (!$post_name) {
         $post_name = $post->post_name;
     }
     $name = $post_title == '' || strlen($post_title) == 0 ? $post_name : $post_title;
     $slug = trim($slug);
     $slug = empty($slug) ? sanitize_title($name) : sanitize_title($slug);
     return htmlspecialchars($slug, ENT_QUOTES);
 }
 /**
  * <[ Helper ]>
  * Getting an excerpt to use for the buttons
  *
  * @since 0.1
  * @author ppfeufer
  *
  * @param string $var_sExcerpt
  * @param int $var_iMaxLength
  * @return string
  */
 private function _get_post_excerpt($var_sExcerpt, $var_iMaxLength)
 {
     if (function_exists('strip_shortcodes')) {
         $var_sExcerpt = strip_shortcodes($var_sExcerpt);
     }
     // END if(function_exists('strip_shortcodes'))
     $var_sExcerpt = trim($var_sExcerpt);
     // Now lets strip any tags which dont have balanced ends
     // Need to put NGgallery tags in there - there are a lot of them and they are all different.
     $array_OpenTag = array('[simage', '[[CP', '[gallery', '[imagebrowser', '[slideshow', '[tags', '[albumtags', '[singlepic', '[album');
     $array_CloseTag = array(']', ']]', ']', ']', ']', ']', ']', ']', ']');
     foreach (array_keys($array_OpenTag) as $var_sKey) {
         if (preg_match_all('/' . preg_quote($array_OpenTag[$var_sKey]) . '(.*?)' . preg_quote($array_CloseTag[$var_sKey]) . '/i', $var_sExcerpt, $array_Matches)) {
             $var_sExcerpt = str_replace($array_Matches[0], "", $var_sExcerpt);
         }
         // END if(preg_match_all('/' . preg_quote($array_OpenTag[$var_sKey]) . '(.*?)' . preg_quote($array_CloseTag[$var_sKey]) . '/i', $var_sExcerpt, $array_Matches))
     }
     // END foreach(array_keys($array_OpenTag) as $var_sKey)
     $var_sExcerpt = preg_replace('#(<wpg.*?>).*?(</wpg2>)#', '$1$2', $var_sExcerpt);
     // Support for qTrans
     if (function_exists('qtrans_use')) {
         global $q_config;
         $var_sExcerpt = qtrans_use($q_config['default_language'], $var_sExcerpt);
     }
     // END if(function_exists('qtrans_use'))
     $var_sExcerpt = strip_tags($var_sExcerpt);
     // Now lets strip off the youtube stuff.
     preg_match_all('#http://(www.youtube|youtube|[A-Za-z]{2}.youtube)\\.com/(watch\\?v=|w/\\?v=|\\?v=)([\\w-]+)(.*?)player_embedded#i', $var_sExcerpt, $array_Matches);
     $var_sExcerpt = str_replace($array_Matches[0], '', $var_sExcerpt);
     preg_match_all('#http://(www.youtube|youtube|[A-Za-z]{2}.youtube)\\.com/(watch\\?v=|w/\\?v=|\\?v=|embed/)([\\w-]+)(.*?)#i', $var_sExcerpt, $array_Matches);
     $var_sExcerpt = str_replace($array_Matches[0], '', $var_sExcerpt);
     if (strlen($var_sExcerpt) > $var_iMaxLength) {
         # If we've got multibyte support then we need to make sure we get the right length - Thanks to Kensuke Akai for the fix
         if (function_exists('mb_strimwidth')) {
             $var_sExcerpt = mb_strimwidth($var_sExcerpt, 0, $var_iMaxLength, ' ...');
         } else {
             $var_sExcerpt = current(explode('SJA26666AJS', wordwrap($var_sExcerpt, $var_iMaxLength, 'SJA26666AJSÄ'))) . ' ...';
         }
         // END if(function_exists('mb_strimwidth'))
     }
     // END if(strlen($var_sExcerpt) > $var_iMaxLength)
     return strip_tags($var_sExcerpt);
 }
function qs_service()
{
    global $q_config, $qs_public_key, $qs_error_messages;
    if (!isset($_REQUEST['post'])) {
        echo '<script type="text/javascript">document.location="edit.php";</script>';
        printf(__('To translate a post, please go to the <a href="%s">edit posts overview</a>.', 'qtranslate'), 'edit.php');
        exit;
    }
    $post_id = intval($_REQUEST['post']);
    $translate_from = '';
    if (isset($_REQUEST['source_language']) && qtrans_isEnabled($_REQUEST['source_language'])) {
        $translate_from = $_REQUEST['source_language'];
    }
    if (isset($_REQUEST['target_language']) && qtrans_isEnabled($_REQUEST['target_language'])) {
        $translate_to = $_REQUEST['target_language'];
    }
    if ($translate_to == $translate_from) {
        $translate_to = '';
    }
    $post =& get_post($post_id);
    if (!$post) {
        printf(__('Post with id "%s" not found!', 'qtranslate'), $post_id);
        return;
    }
    $default_service = intval(get_option('qs_default_service'));
    $service_settings = get_option('qs_service_settings');
    // Detect available Languages and possible target languages
    $available_languages = qtrans_getAvailableLanguages($post->post_content);
    if (sizeof($available_languages) == 0) {
        $error = __('The requested Post has no content, no Translation possible.', 'qtranslate');
    }
    // try to guess source and target language
    if (!in_array($translate_from, $available_languages)) {
        $translate_from = '';
    }
    $missing_languages = array_diff($q_config['enabled_languages'], $available_languages);
    if (empty($translate_from) && in_array($q_config['default_language'], $available_languages) && $translate_to != $q_config['default_language']) {
        $translate_from = $q_config['default_language'];
    }
    if (empty($translate_to) && sizeof($missing_languages) == 1) {
        $translate_to = $missing_languages[0];
    }
    if (in_array($translate_to, $available_languages)) {
        $message = __('The Post already has content for the selected target language. If a translation request is send, the current text for the target language will be overwritten.', 'qtranslate');
    }
    if (sizeof($available_languages) == 1) {
        if ($available_languages[0] == $translate_to) {
            $translate_to = '';
        }
        $translate_from = $available_languages[0];
    } elseif ($translate_from == '' && sizeof($available_languages) > 1) {
        $languages = qtrans_getSortedLanguages();
        foreach ($languages as $language) {
            if ($language != $translate_to && in_array($language, $available_languages)) {
                $translate_from = $language;
                break;
            }
        }
    }
    // link to current page with get variables
    $url_link = add_query_arg('post', $post_id);
    if (!empty($translate_to)) {
        $url_link = add_query_arg('target_language', $translate_to, $url_link);
    }
    if (!empty($translate_from)) {
        $url_link = add_query_arg('source_language', $translate_from, $url_link);
    }
    // get correct title and content
    $post_title = qtrans_use($translate_from, $post->post_title);
    $post_content = qtrans_use($translate_from, $post->post_content);
    if (isset($translate_from) && isset($translate_to)) {
        $title = sprintf('Translate &quot;%1$s&quot; from %2$s to %3$s', htmlspecialchars($post_title), $q_config['language_name'][$translate_from], $q_config['language_name'][$translate_to]);
    } elseif (isset($translate_from)) {
        $title = sprintf('Translate &quot;%1$s&quot; from %2$s', htmlspecialchars($post_title), $q_config['language_name'][$translate_from]);
    } else {
        $title = sprintf('Translate &quot;%1$s&quot;', htmlspecialchars($post_title));
    }
    // Check data
    if (isset($_POST['service_id'])) {
        $service_id = intval($_POST['service_id']);
        $default_service = $service_id;
        update_option('qs_default_service', $service_id);
        $order_key = substr(md5(time() . AUTH_KEY), 0, 20);
        $request = array('order_service_id' => $service_id, 'order_url' => get_option('home'), 'order_key' => $order_key, 'order_title' => $post_title, 'order_text' => $post_content, 'order_source_language' => $translate_from, 'order_source_locale' => $q_config['locale'][$translate_from], 'order_target_language' => $translate_to, 'order_target_locale' => $q_config['locale'][$translate_to]);
        // check for additional fields
        if (is_array($service_settings[$service_id])) {
            $request['order_required_field'] = array();
            foreach ($service_settings[$service_id] as $setting => $value) {
                $request['order_required_field'][$setting] = $value;
            }
        }
        $answer = qs_queryQS(QS_INIT_TRANSLATION, $request);
        if (isset($answer['error'])) {
            $error = sprintf(__('An error occured: %s', 'qtranslate'), $qs_error_messages[$answer['error']]);
            if ($answer['message'] != '') {
                $error .= '<br />' . sprintf(__('Additional information: %s', 'qtranslate'), qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($answer['message']));
            }
        }
        if (isset($answer['order_id'])) {
            $orders = get_option('qs_orders');
            if (!is_array($orders)) {
                $orders = array();
            }
            $orders[] = array('post_id' => $post_id, 'service_id' => $service_id, 'source_language' => $translate_from, 'target_language' => $translate_to, 'order' => array('order_key' => $order_key, 'order_id' => $answer['order_id']));
            update_option('qs_orders', $orders);
            if (empty($answer['message'])) {
                $order_completed_message = '';
            } else {
                $order_completed_message = htmlspecialchars($answer['message']);
            }
            qs_UpdateOrder($answer['order_id']);
        }
    }
    if (isset($error)) {
        ?>
<div class="wrap">
<h2><?php 
        _e('qTranslate Services', 'qtranslate');
        ?>
</h2>
<div id="message" class="error fade"><p><?php 
        echo $error;
        ?>
</p></div>
<p><?php 
        printf(__('An serious error occured and qTranslate Services cannot proceed. For help, please visit the <a href="%s">Support Forum</a>', 'qtranslate'), 'http://www.qianqin.de/qtranslate/forum/');
        ?>
</p>
</div>
<?php 
        return;
    }
    if (isset($order_completed_message)) {
        ?>
<div class="wrap">
<h2><?php 
        _e('qTranslate Services', 'qtranslate');
        ?>
</h2>
<div id="message" class="updated fade"><p><?php 
        _e('Order successfully sent.', 'qtranslate');
        ?>
</p></div>
<p><?php 
        _e('Your translation order has been successfully transfered to the selected service.', 'qtranslate');
        ?>
</p>
<?php 
        if (!empty($order_completed_message)) {
            ?>
<p><?php 
            printf(__('The service returned this message: %s', 'qtranslate'), $order_completed_message);
            ?>
</p>
<?php 
        }
        ?>
<p><?php 
        _e('Feel free to choose an action:', 'qtranslate');
        ?>
</p>
<ul>
	<li><a href="<?php 
        echo add_query_arg('target_language', null, $url_link);
        ?>
"><?php 
        _e('Translate this post to another language.', 'qtranslate');
        ?>
</a></li>
	<li><a href="edit.php"><?php 
        _e('Translate a different post.', 'qtranslate');
        ?>
</a></li>
	<li><a href="options-general.php?page=qtranslate#qtranslate_service_settings"><?php 
        _e('View all open orders.', 'qtranslate');
        ?>
</a></li>
	<li><a href="options-general.php?page=qtranslate&qs_cron=true#qtranslate_service_settings"><?php 
        _e('Let qTranslate Services check if any open orders are finished.', 'qtranslate');
        ?>
</a></li>
	<li><a href="<?php 
        echo get_permalink($post_id);
        ?>
 "><?php 
        _e('View this post.', 'qtranslate');
        ?>
</a></li>
</ul>
</div>
<?php 
        return;
    }
    ?>
<div class="wrap">
<h2><?php 
    _e('qTranslate Services', 'qtranslate');
    ?>
</h2>
<?php 
    if (!empty($message)) {
        ?>
<div id="message" class="updated fade"><p><?php 
        echo $message;
        ?>
</p></div>
<?php 
    }
    ?>
<h3><?php 
    echo $title;
    ?>
</h3>
<form action="edit.php?page=qtranslate_services" method="post" id="qtranslate-services-translate">
<p><?php 
    if (sizeof($available_languages) > 1) {
        $available_languages_name = array();
        foreach (array_diff($available_languages, array($translate_from)) as $language) {
            $available_languages_name[] = '<a href="' . add_query_arg('source_language', $language, $url_link) . '">' . $q_config['language_name'][$language] . '</a>';
        }
        $available_languages_names = join(", ", $available_languages_name);
        printf(__('Your article is available in multiple languages. If you do not want to translate from %1$s, you can switch to one of the following languages: %2$s', 'qtranslate'), $q_config['language_name'][$translate_from], $available_languages_names);
    }
    ?>
</p>
<input type="hidden" name="post" value="<?php 
    echo $post_id;
    ?>
"/>
<input type="hidden" name="source_language" value="<?php 
    echo $translate_from;
    ?>
"/>
<?php 
    if (empty($translate_to)) {
        ?>
<p><?php 
        _e('Please choose the language you want to translate to:', 'qtranslate');
        ?>
</p>
<ul>
<?php 
        foreach ($q_config['enabled_languages'] as $language) {
            if ($translate_from == $language) {
                continue;
            }
            ?>
	<li><label><input type="radio" name="target_language" value="<?php 
            echo $language;
            ?>
" /> <?php 
            echo $q_config['language_name'][$language];
            ?>
</li>
<?php 
        }
        ?>
</ul>
	<p class="submit">
		<input type="submit" name="submit" class="button-primary" value="<?php 
        _e('Continue', 'qtranslate');
        ?>
" />
	</p>
<?php 
    } else {
        ?>
<p><?php 
        printf(__('Please review your article and <a href="%s">edit</a> it if needed.', 'qtranslate'), 'post.php?action=edit&post=' . $post_id);
        ?>
</p>
<textarea name="qs_content_preview" id="qs_content_preview" readonly="readonly"><?php 
        echo $post_content;
        ?>
</textarea>
<?php 
        $timestamp = time();
        if ($timestamp != qs_queryQS(QS_VERIFY, $timestamp)) {
            ?>
<p class="error"><?php 
            _e('ERROR: Could not connect to qTranslate Services. Please try again later.', 'qtranslate');
            ?>
</p>
<?php 
            return;
        }
        ?>
<h4><?php 
        _e('Use the following Translation Service:', 'qtranslate');
        ?>
</h4>
<ul>
<?php 
        if ($services = qs_queryQS(QS_GET_SERVICES)) {
            foreach ($services as $service_id => $service) {
                // check if we have data for all required fields
                $requirements_matched = true;
                foreach ($service['service_required_fields'] as $field) {
                    if (!isset($service_settings[$service_id][$field['name']]) || $service_settings[$service_id][$field['name']] == '') {
                        $requirements_matched = false;
                    }
                }
                if (!$requirements_matched) {
                    ?>
<li>
	<label><input type="radio" name="service_id" disabled="disabled" /> <b><?php 
                    echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($service['service_name']);
                    ?>
</b> ( <a href="<?php 
                    echo $service['service_url'];
                    ?>
" target="_blank"><?php 
                    _e('Website', 'qtranslate');
                    ?>
</a> )</label>
	<p class="error"><?php 
                    printf(__('Cannot use this service, not all <a href="%s">required fields</a> filled in for this service.', 'qtranslate'), 'options-general.php?page=qtranslate#qs_service_' . $service_id);
                    ?>
</p>
	<p class="service_description"><?php 
                    echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($service['service_description']);
                    ?>
</p>
</li>
<?php 
                } else {
                    ?>
<li><label><input type="radio" name="service_id" <?php 
                    if ($default_service == $service['service_id']) {
                        echo 'checked="checked"';
                    }
                    ?>
 value="<?php 
                    echo $service['service_id'];
                    ?>
" /> <b><?php 
                    echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($service['service_name']);
                    ?>
</b> ( <a href="<?php 
                    echo $service['service_url'];
                    ?>
" target="_blank"><?php 
                    _e('Website', 'qtranslate');
                    ?>
</a> )</label><p class="service_description"><?php 
                    echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($service['service_description']);
                    ?>
</p></li>
<?php 
                }
            }
            ?>
</ul>
<p><?php 
            _e('Your article will be SSL encrypted and securly sent to qTranslate Services, which will forward your text to the chosen Translation Service. Once qTranslate Services receives the translated text, it will automatically appear on your blog.', 'qtranslate');
            ?>
</p>
	<p class="submit">
		<input type="hidden" name="target_language" value="<?php 
            echo $translate_to;
            ?>
"/>
		<input type="submit" name="submit" class="button-primary" value="<?php 
            _e('Request Translation', 'qtranslate');
            ?>
" />
	</p>
<?php 
        }
    }
    ?>
</div>
</form>
<?php 
}
 /**
  * ajax handle for quering posts
  */
 public function _hw_query_posts()
 {
     if (!wp_verify_nonce($_REQUEST['nonce'], "hw_query_posts_nonce")) {
         exit("hacked!");
     }
     //valid
     if (!isset($_REQUEST['widget_id_base']) || !isset($_REQUEST['widget_id'])) {
         return;
     }
     //get params
     $id_base = isset($_REQUEST['widget_id_base']) ? $_REQUEST['widget_id_base'] : '';
     $id = isset($_REQUEST['widget_id']) ? $_REQUEST['widget_id'] : '';
     //data
     $args = array('showposts' => '-1');
     if (!empty($_REQUEST['widget-' . $id_base][$id])) {
         $data = $_REQUEST['widget-' . $id_base][$id];
         //query posts data
         if (isset($data['posttype'])) {
             $args['posttype'] = join(',', $data['posttype']);
         }
         //post types
         if (isset($data['tax'])) {
             $args['taxonomy'] = $data['tax'];
         }
         //filter by taxonomy
         if (isset($data['cat_']) && isset($args['taxonomy'])) {
             //filter by taxonomy
             $args['tax_query'] = array('relation' => 'AND', array('taxonomy' => $args['taxonomy'], 'field' => 'slug', 'terms' => array($data['cat_']), 'operator' => 'IN'));
         }
         //filter by author
         if (isset($data['author'])) {
             if (is_numeric($data['author']) && $data['author'] != '-1') {
                 $args['author'] = $data['author'];
             } elseif ($data['author'] == 'logined_user' && is_user_logged_in()) {
                 $args['author'] = get_current_user_id();
             }
         }
     }
     if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
         $result = array();
         $data = array();
         //query posts
         $query = new WP_Query($args);
         while ($query->have_posts()) {
             $query->the_post();
             //get post title if the plugin qtranslate is installed
             if (function_exists('qtrans_use')) {
                 if (!isset($currentLang)) {
                     $currentLang = qtrans_getLanguage();
                 }
                 $title = qtrans_use($currentLang, get_the_title(), false);
             } else {
                 $title = get_the_title();
             }
             $data[get_the_ID()] = $title;
         }
         wp_reset_query();
         $result['posts'] = $data;
         $result['args'] = $args;
         echo json_encode($result);
     } else {
         header("Location: " . $_SERVER["HTTP_REFERER"]);
     }
     die;
 }
Example #21
0
// Response headers
if ($format == 'excel') {
    header('Content-type: application/vnd.ms-excel; charset=utf-8');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Content-Disposition: attachment; filename="META-Summary-' . strtoupper($lang) . '.xls"');
}
//Begin table
echo '<table border="1">';
//Column headings
echo '<tr>';
echo '<th>' . __('Post Title', 'qtranslate-meta') . ' (' . qtrans_getLanguageName($lang) . ')' . '</th>';
foreach ($qtransMETA->field_names as $field => $field_label) {
    echo '<th>' . esc_html($field_label) . '</th>';
}
echo '</tr>';
//Posts
$pages = $qtransMETA->get_post_meta('page');
foreach ($pages as $post) {
    echo '<tr>';
    //Post Title
    echo '<td>' . __($post->post_title) . '</td>';
    //use defult language, NOT language of META info
    //META stuff
    foreach ($qtransMETA->field_names as $field => $field_label) {
        echo '<td>' . qtrans_use($lang, get_post_meta($post->ID, "qtrans_meta:{$field}", true)) . '</td>';
    }
    echo '</tr>';
}
//End table
echo '</table>';