install_search_form

Definition:
function install_search_form(){

Display search form for searching plugins.

Source code

function install_search_form(){

	$type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : '';

	$term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';



	?><form id="search-plugins" method="get" action="">

		<input type="hidden" name="tab" value="search" />

		<select name="type" id="typeselector">

			<option value="term"<?php selected('term', $type) ?>><?php _e('Term'); ?></option>

			<option value="author"<?php selected('author', $type) ?>><?php _e('Author'); ?></option>

			<option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>

		</select>

		<input type="text" name="s" value="<?php echo esc_attr($term) ?>" />

		<label class="screen-reader-text" for="plugin-search-input"><?php _e('Search Plugins'); ?></label>

		<?php submit_button( __( 'Search Plugins' ), 'button', 'plugin-search-input', false ); ?>

	</form><?php

}

2049

install_search

Definition:
function install_search($page) {}

Display search results and display as tag cloud.

Parameters

  • string $page

Source code

function install_search($page) {

	$type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : '';

	$term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';



	$args = array();



	switch( $type ){

		case 'tag':

			$args['tag'] = sanitize_title_with_dashes($term);

			break;

		case 'term':

			$args['search'] = $term;

			break;

		case 'author':

			$args['author'] = $term;

			break;

	}



	$args['page'] = $page;



	$api = plugins_api('query_plugins', $args);



	if ( is_wp_error($api) )

		wp_die($api);



	add_action('install_plugins_table_header', 'install_search_form');



	display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);



	return;

}

2047

install_popular_tags

Definition:
function install_popular_tags( $args = array() {}

Retrieve popular WordPress plugin tags.

Parameters

  • array $args

Source code

function install_popular_tags( $args = array() ) {

	$key = md5(serialize($args));

	if ( false !== ($tags = get_site_transient('poptags_' . $key) ) )

		return $tags;



	$tags = plugins_api('hot_tags', $args);



	if ( is_wp_error($tags) )

		return $tags;



	set_site_transient('poptags_' . $key, $tags, 10800); // 3 * 60 * 60 = 10800



	return $tags;

}

2045

install_popular

Definition:
function install_popular($page = 1) {}

Display popular plugins.

Parameters

  • string $page

Source code

function install_popular($page = 1) {

	$args = array('browse' => 'popular', 'page' => $page);

	$api = plugins_api('query_plugins', $args);

	if ( is_wp_error($api) )

		wp_die($api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __('Try again') . '</a>');

	display_plugins_table($api->plugins, $api->info['page'], $api->info['pages']);

}

2043

install_plugin_install_status

Definition:
function install_plugin_install_status($api, $loop = false) {}

Determine the status we can perform on a plugin.

Parameters

  • $api
  • $loop

Source code

function install_plugin_install_status($api, $loop = false) {

	// this function is called recursivly, $loop prevents futhur loops.

	if ( is_array($api) )

		$api = (object) $api;



	//Default to a "new" plugin

	$status = 'install';

	$url = false;



	//Check to see if this plugin is known to be installed, and has an update awaiting it.

	$update_plugins = get_site_transient('update_plugins');

	if ( is_object( $update_plugins ) ) {

		foreach ( (array)$update_plugins->response as $file => $plugin ) {

			if ( $plugin->slug === $api->slug ) {

				$status = 'update_available';

				$update_file = $file;

				$version = $plugin->new_version;

				if ( current_user_can('update_plugins') )

					$url = wp_nonce_url(self_admin_url('update.php?action=upgrade-plugin&plugin=' . $update_file), 'upgrade-plugin_' . $update_file);

				break;

			}

		}

	}



	if ( 'install' == $status ) {

		if ( is_dir( WP_PLUGIN_DIR  . '/' . $api->slug ) ) {

			$installed_plugin = get_plugins('/' . $api->slug);

			if ( empty($installed_plugin) ) {

				if ( current_user_can('install_plugins') )

					$url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $api->slug), 'install-plugin_' . $api->slug);

			} else {

				$key = array_shift( $key = array_keys($installed_plugin) ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers

				if ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '=') ){

					$status = 'latest_installed';

				} elseif ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '<') ) {

					$status = 'newer_installed';

					$version = $installed_plugin[ $key ]['Version'];

				} else {

					//If the above update check failed, Then that probably means that the update checker has out-of-date information, force a refresh

					if ( ! $loop ) {

						delete_site_transient('update_plugins');

						wp_update_plugins();

						return install_plugin_install_status($api, true);

					}

				}

			}

		} else {

			// "install" & no directory with that slug

			if ( current_user_can('install_plugins') )

				$url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $api->slug), 'install-plugin_' . $api->slug);

		}

	}

	if ( isset($_GET['from']) )

		$url .= '&amp;from=' . urlencode(stripslashes($_GET['from']));



	return compact('status', 'url', 'version');

}

2041