/**
  * 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();
 }
Exemple #2
0
	/**
	 * 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();
		}
	}