/** * Internal update comment function * Called to re-index a comment * * @param string Comment ID * @param object Comment * @param array Search Unleashed options * @return void **/ function update_comment($comment_ID, $comment, $options) { include_once dirname(__FILE__) . '/models/spider.php'; include_once dirname(__FILE__) . '/models/search-engine.php'; $spider = new SearchSpider($options); $engine = SearchEngine::get_engine($options, $options['search_engine']); $this->disable_filters($options['disabled_filters']); $engine->remove($comment_ID, 'comment'); if (!empty($comment) && $spider->is_allowed(get_post($comment->comment_post_ID))) { $engine->store($comment->comment_post_ID, $spider->gather_for_comment($comment), $comment); } $engine->flush(); }
/** * Re-index * Current index offset - $_POST['offset'] * Index limit - $_POST['limit'] * * @return void **/ function su_index() { if ( current_user_can( 'administrator' ) && check_ajax_referer( 'searchunleashed-index' ) ) { require dirname( __FILE__ ).'/models/spider.php'; require dirname( __FILE__ ).'/models/search-engine.php'; ob_start(); $spider = new SearchSpider( $this->options ); $engine = SearchEngine::get_engine( $this->options, $this->options['search_engine'] ); $offset = intval( $_POST['offset'] ); if ( $offset == 0 ) $engine->reset(); $this->plugin->disable_filters( $this->options['disabled_filters'] ); // Return string formatted: 0|1 Status // Where 0 = more data to come // 1 = finished // Status = Status message list( $remaining, $total ) = $spider->index( $offset, intval( $_POST['limit'] ), $engine ); ob_end_clean(); $percent = 100; if ($total > 0) $percent = ( ( $total - $remaining ) / $total ) * 100; if ( $remaining > 0 ) echo sprintf('%d %d%% ', $remaining, $percent).sprintf( __( '%d of %d / %d%%', 'search-unleashed'), $total - $remaining, $total, $percent ); else { echo '0 100% '.__('Finished!', 'search-unleashed'); $engine->flush( true ); } die(); } }