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 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");
    }
}
 while ($found_module) {
     $found_module = false;
     if (strpos($bodyTemplate, '[start module ' . ($count_modules + 1) . ']') !== false) {
         $found_module = true;
         $codeModule .= '<div class="insertable"><img src="' . $url_template . $Knews_plugin->post_safe('template') . '/modules/' . ($mobile ? 'm_' : '') . 'module' . $Knews_plugin->post_safe('vp_' . $Knews_plugin->post_safe('template')) . '_' . ($count_modules + 1) . '.jpg" width="220" height="90" alt="" /><div class="html_content">';
         $extracted_module = knews_cut_code('<!--[start module ' . ($count_modules + 1) . ']-->', '<!--[end module ' . ($count_modules + 1) . ']-->', $bodyTemplate, true);
         $codeModule .= $extracted_module . '</div></div>';
         if (strpos($extracted_module, 'dont_cut_module') === false) {
             $bodyTemplate = knews_extract_code('<!--[start module ' . ($count_modules + 1) . ']-->', '<!--[end module ' . ($count_modules + 1) . ']-->', $bodyTemplate, true);
         }
         $count_modules++;
     }
 }
 $containerModulesTemplate = knews_cut_code('<!--[open_insertion_container_start]-->', '<!--[close_insertion_container_start]-->', $bodyTemplate, true) . knews_cut_code('<!--[open_insertion_container_end]-->', '<!--[close_insertion_container_end]-->', $bodyTemplate, true);
 $bodyTemplate = knews_iterative_extract_code('<!--[open_ignore_code]-->', '<!--[close_ignore_code]-->', $bodyTemplate, true);
 $bodyTemplate = knews_iterative_extract_code('<!--[', ']-->', $bodyTemplate, true);
 $codeTemplate = str_replace('  ', ' ', $codeTemplate);
 $date = $Knews_plugin->get_mysql_date();
 if (!knews_is_utf8($bodyTemplate)) {
     $bodyTemplate = utf8_encode($bodyTemplate);
 }
 if (!knews_is_utf8($headTemplate)) {
     $headTemplate = utf8_encode($headTemplate);
 }
 if (!knews_is_utf8($codeModule)) {
     $codeModule = utf8_encode($codeModule);
 }
 $bodyTemplate = esc_sql($Knews_plugin->htmlentities_corrected($bodyTemplate));
 $headTemplate = esc_sql($Knews_plugin->htmlentities_corrected($headTemplate));
 $codeModule = esc_sql($Knews_plugin->htmlentities_corrected($codeModule));
 $sql = "INSERT INTO " . KNEWS_NEWSLETTERS . "(name, created, modified, template, html_mailing, html_head, html_modules, html_container, subject, lang, automated, mobile, id_mobile, newstype) VALUES ('" . $name . "', '" . $date . "', '" . $date . "','" . $template . "','" . $bodyTemplate . "','" . $headTemplate . "','" . $codeModule . "','" . $containerModulesTemplate . "','', '" . $Knews_plugin->post_safe('lang') . "', 0, " . ($mobile ? "1" : "0") . ", 0, '" . $newstype . "')";
                    $theHtml .= substr($cl, 0, $seek) . "\n";
                    $cl = substr($cl, $seek);
                } else {
                    //echo 'no puc tallar';
                    $theHtml .= $cl . "\n";
                    $cl = '';
                }
            }
        }
        $theHtml .= $cl . "\n";
    }
    $used_tokens = array();
    $all_tokens = $Knews_plugin->get_extra_fields();
    $c = count($all_tokens);
    $all_tokens[$c] = new stdClass();
    $all_tokens[$c]->token = '%email%';
    $all_tokens[$c]->id = 0;
    foreach ($all_tokens as $token) {
        if ($token->token != '') {
            preg_match("#\\{" . $token->token . "\\[([^\\]]*)\\]\\}#", $theSubject . $theHtml, $tokenfound);
            if (count($tokenfound) != 0) {
                $used_tokens[] = array('token' => $token->token, 'id' => $token->id, 'defaultval' => $tokenfound[1]);
                $theHtml = str_replace($tokenfound[0], $token->token, $theHtml);
                $theSubject = str_replace($tokenfound[0], $token->token, $theSubject);
            }
        }
    }
    if ($results[0]->mobile == 0 && $results[0]->id_mobile == 0) {
        $theHtml = knews_iterative_extract_code('<!--mobile_block_start-->', '<!--mobile_block_end-->', $theHtml, true);
    }
}