/** * Index admin page * * @return void **/ function admin_index() { include_once dirname(__FILE__) . '/models/search-engine.php'; $options = $this->get_options(); $engine = SearchEngine::get_engine($options, $options['search_engine']); $last = get_option('search_unleashed_last'); $this->render_admin('index', array('total' => $engine->total(), 'options' => $options, 'engine' => $engine)); }
/** * 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(); } }