/wp-plugins/wp-abs/wp-abs.php
PHP | 186 lines | 107 code | 22 blank | 57 comment | 12 complexity | b55122c79f614a2cf341af11b5d9d8b2 MD5 | raw file
- <?php
- /*
- Plugin Name: Add Browser Search
- Plugin URI: http://undolibrary.googlecode.com/svn/trunk/wp-plugins/wp-abs/wp-abs.php
- Description: Add you WordPress Blog search to Browser menu. See <a href="options-general.php?page=wp-abs.php">configuration panel</a> for more settings. Visit my Blog <a href="http://www.undolog.com">Undolog.com</a> for others plugin
- Version: 1.12
- Author: Giovambattista Fazioli
- Author URI: http://www.undolog.com/
- Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
- */
-
- /*
- Copyright 2008 Giovambattista Fazioli (email : g.fazioli@undolog.com)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- */
-
- define('OPENSEARCH_XML', 'opensearch.xml');
- define('WPABS_OPTIONSKEY', 'wp_abs_settings');
- define('WPABS_VERSION', '1.12');
-
- add_action("wp_head", 'abs_wp_header', 1);
- add_action('parse_query', 'abs_parse_query', 1);
-
- // ________________________________________________________________________________ INIT OPTIONS
-
- // setting start default value
- $wb_abs_init_options = array(
- 'wp_abs_blogname' => get_option( 'blogname' ),
- 'wp_abs_description' => get_option( 'blogdescription' ),
- 'wp_abs_favicon' => get_option( 'home' ).'/favicon.ico',
- 'wp_abs_searchurl' => get_option( 'home' ).'/?s={searchTerms}',
- 'wp_abs_searchform' => get_option( 'home' )
- );
- // add to database
- add_option(WPABS_OPTIONSKEY,$wb_abs_init_options,'WP ABS Options');
- // retrive: load setting
- $wb_abs_options = get_option( WPABS_OPTIONSKEY );
-
-
- /**
- * Add link rel search
- */
- function abs_wp_header() {
- $o = '<!-- Start Of Script Generated By WP-ABS '.WPABS_VERSION.' -->'."\n".
- '<link rel="search" type="application/opensearchdescription+xml" href="'.get_option('home').'/'.OPENSEARCH_XML.'" title="'.get_option('blogname').'" />'."\n".
- '<!-- End Of Script Generated By WP-ABS '.WPABS_VERSION.' -->'."\n";
- echo $o;
- }
-
- /**
- * Parse the query string
- *
- * @param Object WP query
- */
- function abs_parse_query( $query ) {
- if( $query->query_vars['pagename'] == OPENSEARCH_XML ) {
- add_action('template_redirect', 'abs_template_redirect', 1);
- }
- }
-
- /**
- * Overwrite standard template
- */
- function abs_template_redirect() {
- global $wb_abs_options;
- //
- ob_end_clean();
- //
- header("HTTP/1.0 200 OK");
- header("Content-type: text/html; charset=utf-8");
- //
- $o = '<?xml version="1.0" encoding="utf-8"?>'."\n".
- '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"'."\n".
- ' xmlns:moz="http://www.mozilla.org/2006/browser/search/">'."\n".
- '<ShortName>'.$wb_abs_options['wp_abs_blogname'].'</ShortName>'."\n".
- '<Description>'.$wb_abs_options['wp_abs_description'].'</Description>'."\n".
- '<Image height="16" width="16" type="image/x-icon">'.$wb_abs_options['wp_abs_favicon'].'</Image>'."\n".
- '<Url type="text/html" method="get" template="'.$wb_abs_options['wp_abs_searchurl'].'"/>'."\n".
- '<moz:SearchForm>'.$wb_abs_options['wp_abs_searchform'].'</moz:SearchForm>'."\n".
- '</OpenSearchDescription>';
- echo $o;
- exit();
- }
-
- // ________________________________________________________________________________________ OPTIONS
-
- /**
- * Add callback for adding options panel
- */
- function abs_add_options_page() {
- if (function_exists('add_options_page')) {
- add_options_page('WP Add Browser Search', 'WP Add Browser Search', 8, basename(__FILE__), 'abs_options_subpanel');
- }
- }
-
- /**
- * Draw Option Panel
- */
- function abs_options_subpanel() {
- global $wb_abs_options, $_POST;
- //
- $any_error = "";
- // check for save setting
- if( isset($_POST['wp_abs_blogname'] ) ) {
- $any_error = 'Your settings have been saved.';
- // check any error
- if( $_POST['wp_abs_blogname'] == '' ||
- $_POST['wp_abs_description'] == '' ||
- $_POST['wp_abs_searchurl'] == '' ||
- $_POST['wp_abs_searchform'] == '' ) {
-
- $any_error = 'Some field is empty! Check and try again!';
- } else {
- $wb_abs_options['wp_abs_blogname'] = $_POST['wp_abs_blogname'];
- $wb_abs_options['wp_abs_description'] = $_POST['wp_abs_description'];
- $wb_abs_options['wp_abs_favicon'] = $_POST['wp_abs_favicon'];
- $wb_abs_options['wp_abs_searchurl'] = $_POST['wp_abs_searchurl'];
- $wb_abs_options['wp_abs_searchform'] = $_POST['wp_abs_searchform'];
- update_option(WPABS_OPTIONSKEY,$wb_abs_options);
- }
- }
- // show error or OK
- if( $any_error != '') echo '<div id="message" class="updated fade"><p>' . $any_error . '</p></div>';
- // show interface
- $o = '<style type="text/css">'.
- '.wrap h3 { color: black; background-color: #e5f3ff; padding: 4px 8px; }'.
- '</style>'.
- '<div class="wrap">'.
- '<h2>WP-ABS Settings</h2>'.
- '<p><strong>Set some info for OpenSearch file</strong></p>'.
- '<form action="" method="post">'.
-
- '<p><label for="wp_abs_blogname">Blog Name: '.
- '<input name="wp_abs_blogname" id="wp_abs_blogname" type="text" size="45" value="'.htmlentities($wb_abs_options['wp_abs_blogname']).'" />'.
- '</label> (Your blog name)</p>'.
-
- '<p><label for="wp_abs_description">Blog Search Description: '.
- '<input name="wp_abs_description" id="wp_abs_description" type="text" size="45" value="'.htmlentities($wb_abs_options['wp_abs_description']).'" />'.
- '</label> (Your search engine description)</p>'.
-
- '<p><label for="wp_abs_favicon">Favicon URL: '.
- '<input name="wp_abs_favicon" id="wp_abs_favicon" type="text" size="45" value="'.htmlentities($wb_abs_options['wp_abs_favicon']).'" />'.
- '</label> optional (Favicon address: used in browser menu )</p>'.
-
- '<hr/><p><label for="wp_abs_searchurl">Search URL: '.
- '<input name="wp_abs_searchurl" id="wp_abs_searchurl" type="text" size="65" value="'.htmlentities($wb_abs_options['wp_abs_searchurl']).'" />'.
- '</label> (Search URL)</p>'.
- '<strong>Note:</strong>'.
- '<p>This Search URL can be setting to others URL address, like <strong>Google AdSense for Search</strong> for Examples. '.
- 'For do this, look for URL Address Bar in your browser when you search with <strong>Google AdSense for Search</strong> and <strong>Copy the URL</strong>. '.
- 'Look for "q" parameter in this string and replace it with q={searchTerms}. That\'s all!'.
- '</p>'.
-
- '<hr/><p><label for="wp_abs_searchform">Search Form Page: '.
- '<input name="wp_abs_searchform" id="wp_abs_searchform" type="text" size="45" value="'.htmlentities($wb_abs_options['wp_abs_searchform']).'" />'.
- '</label> (Page with your search Form)</p>'.
-
- '<p><input type="submit" value="Save" /></p>'.
- '</form>'.
-
- '<h3>Support and Donate</h3>'.
- '<p>Thanks for using WP Add Browser Search: '.
- '<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_s-xclick"><input type="image" src="http://www.undolog.com/images/paypal.png" border="0" name="submit" alt="PayPal - Il sistema di pagamento online pi? facile e sicuro!"><img alt="" border="0" src="https://www.paypal.com/it_IT/i/scr/pixel.gif" width="1" height="1"><input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----"></form>'.
- '<h3>Links</h3>'.
- '<p>Visit <a target="_blank" href="http://www.undolog.com">Undolog.com</a> for more information about author and WordPress Plugin</a>'.
- '</div>';
- echo $o;
- }
-
- add_action('admin_menu', 'abs_add_options_page');
-
- ?>