function ajaxsearchpro_deactivate_fulltext() { global $wpdb; $fulltext = wpdreams_fulltext::getInstance(); $indexes = array('posts' => array('asp_title', 'asp_content', 'asp_excerpt', 'asp_title_content', 'asp_title_excerpt', 'asp_content_excerpt', 'asp_title_content_excerpt')); $blogs = wpdreams_get_blog_list(0, 'all'); if (is_multisite() && is_array($blogs) && count($blogs)) { foreach ($blogs as $k => $blog) { switch_to_blog($blog['blog_id']); $fulltext->removeIndexes($indexes); } restore_current_blog(); } else { $fulltext->removeIndexes($indexes); } update_option('asp_fulltext_indexed', 0); print "<div class='psuccessMsg'>Indexes removed!</div>"; die; }
/** * Checks if fulltext is available */ function fulltext() { global $wpdb; $fulltext = wpdreamsFulltext::getInstance(); $tables = array('posts'); $blogs = wpdreams_get_blog_list(0, 'all'); update_option('asp_fulltext', $fulltext->isFulltextAvailable()); update_option('asp_fulltext_indexed', 0); }
/** * The search function * * @return array of results */ protected function do_search() { global $wpdb; if (isset($wpdb->base_prefix)) { $_prefix = $wpdb->base_prefix; } else { $_prefix = $wpdb->prefix; } $options = $this->options; $searchData = $this->searchData; $s = $this->s; $_s = $this->_s; $blogresults = array(); if (isset($searchData['searchinblogtitles']) && $searchData['searchinblogtitles'] == 1 && is_multisite()) { $blog_list = wpdreams_get_blog_list(0, 'all'); foreach ($blog_list as $bk => $blog) { $_det = get_blog_details($blog['blog_id']); $blog_list[$bk]['name'] = $_det->blogname; $blog_list[$bk]['siteurl'] = $_det->siteurl; $blog_list[$bk]['match'] = 0; } if (isset($search) && $searchData['exactonly'] != 1) { $_s = explode(" ", $s); foreach ($_s as $keyword) { foreach ($blog_list as $bk => $blog) { if ($blog_list[$bk]['match'] == 1) { continue; } $pos = strpos(strtolower($blog['name']), $keyword); if ($pos !== false) { $blog_list[$bk]['match'] = 1; } } } } foreach ($blog_list as $bk => $blog) { if ($blog_list[$bk]['match'] == 1) { continue; } $pos = strpos(strtolower($blog['name']), $s); if ($pos !== false) { $blog_list[$bk]['match'] = 1; } } foreach ($blog_list as $bk => $blog) { if ($blog_list[$bk]['match'] == 1) { $_blogres = new stdClass(); switch_to_blog($blog['blog_id']); $_blogres->title = $blog['name']; $_blogres->link = get_bloginfo('siteurl'); $_blogres->content = get_bloginfo('description'); $_blogres->author = ""; $_blogres->date = ""; $_blogres->content_type = "blog"; $blogresults[] = $_blogres; } } if ($searchData['blogtitleorderby'] == 'asc') { $blogresults = array_reverse($blogresults); } restore_current_blog(); } $this->results = $blogresults; return $blogresults; }
function getType() { parent::getType(); global $wpdb; $this->processData(); $this->types = wpdreams_get_blog_list(0, 'all'); echo "\r\n <div class='wpdreamsBlogselect'>\r\n <fieldset>\r\n <legend>" . $this->label . "</legend>"; echo '<div class="sortablecontainer"><p>Available blogs</p><ul id="sortable' . self::$_instancenumber . '" class="connectedSortable">'; if ($this->types != null && is_array($this->types)) { foreach ($this->types as $k => $v) { if ($this->selected == null || !in_array($v['blog_id'], $this->selected)) { $_temp = get_blog_details($v['blog_id']); echo '<li class="ui-state-default" bid="' . $v['blog_id'] . '">' . $_temp->blogname . '</li>'; } } } echo "</ul></div>"; echo '<div class="sortablecontainer"><p>Drag here the blogs you want to use!</p><ul id="sortable_conn' . self::$_instancenumber . '" class="connectedSortable">'; if ($this->selected != null && is_array($this->selected)) { foreach ($this->selected as $k => $v) { $echo = ""; foreach ($this->types as $_type) { if ($_type['blog_id'] == $v) { $_temp = get_blog_details($v); $echo = $_temp->blogname; break; } } echo '<li class="ui-state-default" bid="' . $v . '">' . $echo . '</li>'; } } echo "</ul></div>"; echo "\r\n <input isparam=1 type='hidden' value='" . $this->data . "' name='" . $this->name . "'>"; echo "\r\n <input type='hidden' value='wpdreamsBlogselect' name='classname-" . $this->name . "'>"; ?> <script> (function ($) { $(document).ready(function () { $("#sortable<?php echo self::$_instancenumber; ?> , #sortable_conn<?php echo self::$_instancenumber; ?> ").sortable({ connectWith: ".connectedSortable" }, { update: function (event, ui) { parent = $(ui.item).parent(); while (!parent.hasClass('wpdreamsBlogselect')) { parent = $(parent).parent(); } var items = $('ul[id*=sortable_conn] li', parent); var hidden = $('input[name=<?php echo $this->name; ?> ]', parent); var val = ""; items.each(function () { val += "|" + $(this).attr('bid'); }); val = val.substring(1); hidden.val(val); } }).disableSelection(); }); }(jQuery)); </script> <?php echo "\r\n </fieldset>\r\n </div>"; }
function getType() { parent::getType(); global $wpdb; $this->processData(); $this->types = wpdreams_get_blog_list(0, 'all'); echo "\r\n <div class='wpdreamsBlogselect' id='wpdreamsBlogselect" . self::$_instancenumber . "'>\r\n <fieldset>\r\n <legend>" . $this->label . "</legend>"; echo "<div style='text-aling:left; margin: 10px 38px;'><label>Use all blogs? <input type='checkbox' class='use-all-blogs' " . $this->useall . "></label></div>"; echo "<div class='bs-cont'>"; if ($this->useall != "") { echo "<div class='bs-overlay'></div>"; } else { echo "<div class='bs-overlay hiddend'></div>"; } echo '<div class="sortablecontainer"><p>Available blogs</p><ul id="sortable' . self::$_instancenumber . '" class="connectedSortable">'; if ($this->types != null && is_array($this->types)) { foreach ($this->types as $k => $v) { if ($this->selected == null || !in_array($v['blog_id'], $this->selected)) { $_temp = get_blog_details($v['blog_id']); echo '<li class="ui-state-default" bid="' . $v['blog_id'] . '">' . $_temp->blogname . '</li>'; } } } echo "</ul></div>"; echo '<div class="sortablecontainer"><p>Drag here the blogs you want to use!</p><ul id="sortable_conn' . self::$_instancenumber . '" class="connectedSortable">'; if ($this->selected != null && count($this->selected) > 0) { foreach ($this->selected as $k => $v) { $echo = ""; foreach ($this->types as $_type) { if ($_type['blog_id'] == $v) { $_temp = get_blog_details($v); $echo = $_temp->blogname; break; } } echo '<li class="ui-state-default" bid="' . $v . '">' . $echo . '</li>'; } } echo "</ul></div><div class='clear'></div>"; echo "</div>"; echo "\r\n <input isparam=1 type='hidden' value='" . $this->data . "' name='" . $this->name . "'>"; echo "\r\n <input type='hidden' value='wpdreamsBlogselect' name='classname-" . $this->name . "'>"; ?> <script> (function ($) { $(document).ready(function () { var selector = "#sortable<?php echo self::$_instancenumber; ?> , #sortable_conn<?php echo self::$_instancenumber; ?> "; $(selector).sortable({ connectWith: ".connectedSortable" }, { update: function (event, ui) { } }).disableSelection(); $(selector).on('sortupdate', function(event, ui) { if (typeof(ui)!='undefined') parent = $(ui.item).parent(); else parent = $(event.target); while (!parent.hasClass('wpdreamsBlogselect')) { parent = $(parent).parent(); } var items = $('ul[id*=sortable_conn] li', parent); var hidden = $('input[name=<?php echo $this->name; ?> ]', parent); var checkbox = $('.use-all-blogs', parent); var val = ""; items.each(function () { val += "|" + $(this).attr('bid'); }); if (checkbox.prop('checked')) { val = val.substring(1) + "xxx1"; $('.bs-overlay', parent).removeClass('hiddend'); } else { val = val.substring(1); $('.bs-overlay', parent).addClass('hiddend'); } hidden.val(val); }); $("#wpdreamsBlogselect<?php echo self::$_instancenumber; ?> input.use-all-blogs").click(function(){ $(selector).trigger("sortupdate"); }); }); }(jQuery)); </script> <?php echo "\r\n </fieldset>\r\n </div>"; }
function ajaxsearchpro_search($forceMulti = false, $dontGroup = false) { global $wpdb; global $switched; global $search; $multi_posts = array(); // Posts/Custom Posts arranged by Multisite id $perf_options = get_option('asp_performance'); $caching_options = w_boolean_def(get_option('asp_caching'), get_option('asp_caching_def')); if (w_isset_def($perf_options['enabled'], 1)) { $performance = new wpd_Performance('asp_performance_stats'); $performance->start_measuring(); } /*print "in ajaxsearchpro_search();"; print_r(array()); return; */ $s = $_POST['aspp']; $s = apply_filters('asp_search_phrase_before_cleaning', $s); $s = stripcslashes($s); $s = trim($s); $s = preg_replace('/\\s+/', ' ', $s); $s = apply_filters('asp_search_phrase_after_cleaning', $s); $id = (int) $_POST['asid']; $stat = get_option("asp_stat"); if (isset($wpdb->base_prefix)) { $_prefix = $wpdb->base_prefix; } else { $_prefix = $wpdb->prefix; } if ($stat == 1) { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $in = $wpdb->query($wpdb->prepare("UPDATE " . $_prefix . "ajaxsearchpro_statistics SET num=num+1, last_date=%d WHERE (keyword='%s' AND search_id=%d)", time(), strip_tags($s), $id)); if ($in == false) { $wpdb->query($wpdb->prepare("INSERT INTO " . $_prefix . "ajaxsearchpro_statistics (search_id, keyword, num, last_date) VALUES (%d, '%s', 1, %d)", $id, strip_tags($s), time())); } } $def_data = get_option('asp_defaults'); $search = $wpdb->get_row("SELECT * FROM " . $_prefix . "ajaxsearchpro WHERE id=" . $id, ARRAY_A); $search['data'] = json_decode($search['data'], true); $search['data'] = array_merge($def_data, $search['data']); //var_dump(current_user_can("manage_options")); die(); // See if we post the preview data through if (!empty($_POST['asp_preview_options']) && current_user_can("manage_options")) { //$search['data'] = array_merge($search['data'], unserialize(base64_decode($_POST['asp_preview_options']))); $search['data'] = array_merge($search['data'], unserialize(base64_decode($_POST['asp_preview_options']))); } $sd = $search['data']; $search['data']['image_options'] = array('image_cropping' => w_isset_def($caching_options['image_cropping'], 1), 'show_images' => $search['data']['show_images'], 'image_bg_color' => $search['data']['image_bg_color'], 'image_transparency' => $search['data']['image_transparency'], 'image_crop_location' => w_isset_def($search['data']['image_crop_location'], "c"), 'apply_content_filter' => w_isset_def($search['data']['image_apply_content_filter'], 0), 'image_width' => $search['data']['image_width'], 'image_height' => $search['data']['image_height'], 'image_source1' => $search['data']['image_source1'], 'image_source2' => $search['data']['image_source2'], 'image_source3' => $search['data']['image_source3'], 'image_source4' => $search['data']['image_source4'], 'image_source5' => $search['data']['image_source5'], 'image_default' => $search['data']['image_default'], 'image_custom_field' => $search['data']['image_custom_field']); if (isset($_POST['asp_get_as_array'])) { $search['data']['image_options']['show_images'] = 0; } // ----------------- Recalculate image width/height --------------- switch ($search['data']['resultstype']) { case "horizontal": /* Same width as height */ $search['data']['image_options']['image_width'] = wpdreams_width_from_px($search['data']['hreswidth']); $search['data']['image_options']['image_height'] = wpdreams_width_from_px($search['data']['hreswidth']); break; case "polaroid": $search['data']['image_options']['image_width'] = intval($search['data']['preswidth']); $search['data']['image_options']['image_height'] = intval($search['data']['preswidth']); break; case "isotopic": $search['data']['image_options']['image_width'] = intval($search['data']['i_item_width'] * 1.5); $search['data']['image_options']['image_height'] = intval($search['data']['i_item_height'] * 1.5); break; } if (isset($search['data']['selected-imagesettings'])) { $search['data']['settings-imagesettings'] = $search['data']['selected-imagesettings']; } /*if (isset($search) && $search['data']['exactonly']!=1) { $_s = explode(" ", $s); }*/ if (isset($_POST['options'])) { if (is_array($_POST['options'])) { $search['options'] = $_POST['options']; } else { parse_str($_POST['options'], $search['options']); } } $blogresults = array(); $allbuddypresults = array('repliesresults' => array(), 'groupresults' => array(), 'userresults' => array(), 'activityresults' => array()); $alltermsresults = array(); $allpageposts = array(); $pageposts = array(); $repliesresults = array(); $allcommentsresults = array(); $commentsresults = array(); $userresults = array(); $attachment_results = array(); $search['data']['selected-blogs'] = w_isset_def($search['data']['selected-blogs'], array(0 => get_current_blog_id())); if ($search['data']['selected-blogs'] === "all") { if (is_multisite()) { $search['data']['selected-blogs'] = wpdreams_get_blog_list(0, "all", true); } else { $search['data']['selected-blogs'] = array(0 => get_current_blog_id()); } } if (count($search['data']['selected-blogs']) <= 0) { $search['data']['selected-blogs'] = array(0 => get_current_blog_id()); } do_action('asp_before_search', $s); if (is_array($caching_options) && w_isset_def($caching_options['caching'], 0) && ASP_DEBUG != 1) { $filename = ASP_PATH . DIRECTORY_SEPARATOR . "cache" . DIRECTORY_SEPARATOR . md5(json_encode($search['options']) . $s . $_POST['asp_inst_id']) . ".wp"; $textcache = new wpdreamsTextCache($filename, w_isset_def($caching_options['cachinginterval'], 3600) * 60); $cache_content = $textcache->getCache(); if ($cache_content != false) { $cache_content = apply_filters('asp_cached_content', $cache_content); do_action('asp_after_search', $s, json_decode($cache_content, true)); print "cached(" . date("F d Y H:i:s.", filemtime($filename)) . ")"; print_r($cache_content); die; } } // True if only CPT search in the index table is active $search_only_it_posts = w_isset_def($search['data']['search_engine'], 'regular') != 'regular' && w_isset_def($search['data']['return_categories'], 0) == 0 && w_isset_def($search['data']['return_terms'], '') == '' && w_isset_def($search['data']['return_attachments'], 0) == 0; if (is_multisite() && $search_only_it_posts) { // Save huge amounts of server resources by not swapping all the blogs around if ($_POST['asid'] == "") { $_dposts = new wpdreams_searchDemo(array()); $dpageposts = $_dposts->search($s); $allpageposts = array_merge($allpageposts, $dpageposts); } else { $search['options']['switch_on_preprocess'] = 1; $search['options']['dont_group'] = $dontGroup; $params = array('id' => $id, 'data' => $search['data'], 'options' => $search['options']); $_posts = new asp_searchIndexTable($params); $pageposts = $_posts->search($s); do_action('asp_after_pagepost_results', $s, $pageposts); $allpageposts = array_merge($allpageposts, $pageposts); } } else { // Regularly swap through blogs foreach ($search['data']['selected-blogs'] as $blog) { if (is_multisite()) { switch_to_blog($blog); } aspDebug::start('search-blog-' . $blog); if ($_POST['asid'] == "") { $_dposts = new wpdreams_searchDemo(array()); $dpageposts = $_dposts->search($s); $allpageposts = array_merge($allpageposts, $dpageposts); } else { $search['options']['dont_group'] = $dontGroup; $params = array('id' => $id, 'data' => $search['data'], 'options' => $search['options']); $_terms = new wpdreams_searchTerms($params); $termsresults = $_terms->search($s); $alltermsresults = array_merge($alltermsresults, $termsresults); // For exact matches the regular engine is used if (w_isset_def($search['data']['search_engine'], 'regular') == 'regular' || isset($params['options']['set_exactonly'])) { $_posts = new wpdreams_searchContent($params); } else { $_posts = new asp_searchIndexTable($params); } $pageposts = $_posts->search($s); //var_dump($pageposts);die(); $allpageposts = array_merge($allpageposts, $pageposts); if ($forceMulti) { foreach ($pageposts as $kk => $vv) { $pageposts[$kk]->blogid = $blog; } $multi_posts[$blog] = $pageposts; } do_action('asp_after_pagepost_results', $s, $pageposts); $_comments = new wpdreams_searchComments($params); $commentsresults = $_comments->search($s); $allcommentsresults = array_merge($allcommentsresults, $commentsresults); if (w_isset_def($search['data']['return_attachments'], 0)) { $_attachments = new wpdreams_searchAttachments($params); $attachment_results = array_merge($attachment_results, $_attachments->search($s)); } do_action('asp_after_attachment_results', $s, $attachment_results); } } } do_action('asp_after_comments_results', $s, $commentsresults); $_buddyp = new wpdreams_searchBuddyPress($params); $buddypresults = $_buddyp->search($s); // !!! returns array for each result (group, user, reply) !!! foreach ($buddypresults as $k => $v) { $allbuddypresults[$k] = array_merge($allbuddypresults[$k], $v); } do_action('asp_after_buddypress_results', $s, $buddypresults); if (w_isset_def($search['data']['user_search'], 0)) { $_users = new wpdreams_searchUsers($params); $userresults = $_users->search($s); } do_action('asp_after_user_results', $s, $userresults); aspDebug::stop('search-blog-' . $blog); if (is_multisite()) { restore_current_blog(); } $_blogs = new wpdreams_searchBlogs($params); $blogresults = $_blogs->search($s); $alltermsresults = apply_filters('asp_terms_results', $alltermsresults, $id); $allpageposts = apply_filters('asp_pagepost_results', $allpageposts, $id); $allcommentsresults = apply_filters('asp_comment_results', $allcommentsresults, $id); $buddypresults = apply_filters('asp_buddyp_results', $buddypresults, $id); $blogresults = apply_filters('asp_blog_results', $blogresults, $id); $userresults = apply_filters('asp_user_results', $userresults, $id); $attachment_results = apply_filters('asp_attachment_results', $attachment_results, $id); /* Remove the results in polaroid mode */ if ($search['data']['resultstype'] == 'polaroid' && $search['data']['pifnoimage'] == 'removeres') { foreach ($allpageposts as $_k => $_v) { if ($_v->image == null || $_v->image == '') { unset($allpageposts[$_k]); } } foreach ($allcommentsresults as $_k => $_v) { if ($_v->image == null || $_v->image == '') { unset($allcommentsresults[$_k]); } } foreach ($buddypresults as $_k => $_v) { if ($_v->image == null || $_v->image == '') { unset($buddypresults[$_k]); } } foreach ($blogresults as $_k => $_v) { if ($_v->image == null || $_v->image == '') { unset($blogresults[$_k]); } } } // Results as array, unordered $results_arr = array('terms' => $alltermsresults, 'blogs' => $blogresults, 'bp_activities' => $allbuddypresults['activityresults'], 'comments' => $allcommentsresults, 'bp_groups' => $allbuddypresults['groupresults'], 'bp_users' => $userresults, 'post_page_cpt' => $allpageposts, 'attachments' => $attachment_results); $results_order = w_isset_def($search['data']['results_order'], 'terms|blogs|bp_activities|comments|bp_groups|bp_users|post_page_cpt|attachments'); if (strpos($results_order, 'attachments') === false) { $results_order .= "|attachments"; } // These keys are in the right order $results_order_arr = explode('|', $results_order); // Grouping again, respecting ordering if ($search['data']['resultstype'] == 'vertical' && ($search['data']['groupby'] == 1 || $search['data']['groupby'] == 2) && !$forceMulti) { $results = $allpageposts; $results['items'] = array(); $results['grouped'] = 1; // CPM if (count($allpageposts) > 0) { $i = 9000 + strpos($results_order, 'post_page_cpt'); $results['items'][$i] = array(); $results['items'][$i]['data'] = $allpageposts; $results['items'][$i]['digdeeper'] = 1; } // Term results if (count($alltermsresults) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($alltermsresults) . ")" : ""; $i = 9000 + strpos($results_order, 'terms'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("Term group header", w_isset_def($search['data']['term_group_text'], 'Terms')) . $num; $results['items'][$i]['data'] = $alltermsresults; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Blog results if (count($blogresults) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($blogresults) . ")" : ""; $i = 9000 + strpos($results_order, 'blogs'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("Blog results group header", $search['data']['blogresultstext']) . $num; $results['items'][$i]['data'] = $blogresults; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Activity results if (count($allbuddypresults['activityresults']) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($allbuddypresults['activityresults']) . ")" : ""; $i = 9000 + strpos($results_order, 'bp_activities'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("BuddyPress activity group header", $search['data']['bbpressreplytext']) . $num; $results['items'][$i]['data'] = $allbuddypresults['activityresults']; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Comments results if (count($allcommentsresults) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($allcommentsresults) . ")" : ""; $i = 9000 + strpos($results_order, 'comments'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("Group by comments header", $search['data']['commentstext']) . $num; $results['items'][$i]['data'] = $allcommentsresults; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Buddypress groups if (count($allbuddypresults['groupresults']) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($allbuddypresults['groupresults']) . ")" : ""; $i = 9000 + strpos($results_order, 'bp_groups'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("BuddyPress group header", $search['data']['bbpressgroupstext']) . $num; $results['items'][$i]['data'] = $allbuddypresults['groupresults']; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Users if (count($userresults) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($userresults) . ")" : ""; $i = 9000 + strpos($results_order, 'bp_users'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("User group header", $search['data']['bbpressuserstext']) . $num; $results['items'][$i]['data'] = $userresults; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } // Attachments if (count($attachment_results) > 0) { $num = $search['data']['showpostnumber'] == 1 ? " (" . count($attachment_results) . ")" : ""; $i = 9000 + strpos($results_order, 'attachments'); $results['items'][$i] = array(); $results['items'][$i]['name'] = asp_icl_t("Attachment group header", w_isset_def($search['data']['attachment_group_text'], 'Attachments')) . $num; $results['items'][$i]['data'] = $attachment_results; $results['items'][$i]['digdeeper'] = 0; $results['grouped'] = 1; } if (isset($results['items']) && count($results['items']) > 0) { ksort($results['items']); } else { $results = array(); } } else { $results = array(); foreach ($results_order_arr as $rk => $rv) { $results = array_merge($results, $results_arr[$rv]); } } if (count($results) <= 0 && $search['data']['keywordsuggestions']) { $keywords = array(); $types = array(); if ($sd['searchinposts'] == 1) { $types[] = "post"; } if ($sd['searchinpages'] == 1) { $types[] = "page"; } if (isset($sd['selected-customtypes']) && count($sd['selected-customtypes']) > 0) { $types = array_merge($types, $sd['selected-customtypes']); } foreach (w_isset_def($search['data']['selected-keyword_suggestion_source'], array('google')) as $source) { $remaining_count = w_isset_def($sd['keyword_suggestion_count'], 10) - count($keywords); if ($remaining_count <= 0) { break; } $taxonomy = ""; // Check if this is a taxonomy if (strpos($source, 'xtax_') !== false) { $taxonomy = str_replace('xtax_', '', $source); $source = "terms"; } //$class_name = "wpd_" . $source . "KeywordSuggest"; $t = new wpd_keywordSuggest($source, array('maxCount' => $remaining_count, 'maxCharsPerWord' => w_isset_def($sd['keyword_suggestion_length'], 50), 'postTypes' => $types, 'lang' => $sd['keywordsuggestionslang'], 'overrideUrl' => '', 'taxonomy' => $taxonomy)); $keywords = array_merge($keywords, $t->getKeywords($s)); } if ($keywords != false) { $results['keywords'] = $keywords; $results['nores'] = 1; $results = apply_filters('asp_only_keyword_results', $results); } } else { if (count($results > 0)) { $results = apply_filters('asp_only_non_keyword_results', $results); } } $results = apply_filters('asp_results', $results, $id); do_action('asp_after_search', $s, $results, $id); // if (w_isset_def($perf_options['enabled'], 1)) { $performance->stop_measuring(); //$performance->dump_data(); } // If preview, we need the details if (isset($_POST['action']) && $_POST['action'] == "ajaxsearchpro_preview") { print "wassup!"; require_once ASP_PATH . "backend" . DIRECTORY_SEPARATOR . "settings" . DIRECTORY_SEPARATOR . "types.inc.php"; parse_str($_POST['formdata'], $preview_params); $preview_params = wpdreams_parse_params($preview_params); $preview_params = wp_parse_args($preview_params, $search['data']); $html_results = asp_generate_html_results($results, $preview_params, $search['data']['resultstype']); } else { $html_results = asp_generate_html_results($results, $search['data'], $search['data']['resultstype']); } if (is_array($caching_options) && w_isset_def($caching_options['caching'], 0) && ASP_DEBUG != 1) { $cache_content = $textcache->setCache('!!ASPSTART!!' . $html_results . "!!ASPEND!!"); } // Override from hooks.php if (isset($_POST['asp_get_as_array'])) { if ($forceMulti) { $results['_multi'] = $results; } return $results; } /* Clear output buffer, possible warnings */ print "!!ASPSTART!!"; //var_dump($results);die(); //print_r(json_encode($results)); print_r($html_results); print "!!ASPEND!!"; die; }
function fulltext() { global $wpdb; $fulltext = wpdreams_fulltext::getInstance(); $tables = array('posts'); $blogs = wpdreams_get_blog_list(0, 'all'); update_option('asp_fulltext', 0); update_option('asp_fulltext_indexed', 0); if (is_multisite() && is_array($blogs) && count($blogs)) { foreach ($blogs as $k => $blog) { switch_to_blog($blog['blog_id']); if ($fulltext->check($tables)) { update_option('asp_fulltext', 1); } } restore_current_blog(); } else { if ($fulltext->check($tables)) { update_option('asp_fulltext', 1); } } }