title = $this->get_config('title', $this->title); $propbag->add('name', PLUGIN_GOOGLE_QS_GOOGLE . ' ' . QUICKSEARCH); $propbag->add('description', SEARCH_FOR_ENTRY . ' (' . PLUGIN_GOOGLE_QS_GOOGLE . ')'); $propbag->add('stackable', false); $propbag->add('author', 'Wesley Hwang-Chung'); $propbag->add('version', '1.6'); $propbag->add('configuration', array('submit', 'adsense', 'background', 'text', 'border', 'title_s', 'faint_text', 'url', 'logo_background', 'visited_url', 'logo_place', 'logo_url', 'logo_height', 'logo_width')); $propbag->add('groups', array('FRONTEND_EXTERNAL_SERVICES')); $this->protected = TRUE; // If set to TRUE, only allows the owner of the plugin to modify its configuration $propbag->add('legal', array( 'services' => array( 'google.com' => array( 'url' => 'https://www.google.com/', 'desc' => 'You know Google.' ), ), 'frontend' => array( 'Embeds a quicksearch form, which submits all entered data to google (search term, and request metadata like visitor IP etc.)', ), 'backend' => array( ), 'cookies' => array( ), 'stores_user_input' => false, 'stores_ip' => false, 'uses_ip' => false, 'transmits_user_input' => true )); } function introspect_config_item($name, &$propbag) { switch($name) { case 'submit': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_GOOGLE_QS_SUBMIT); $propbag->add('default', 'false'); break; case 'adsense': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_ADSENSE); $propbag->add('description', PLUGIN_GOOGLE_QS_ADSENSE_DESC); $propbag->add('default', ''); break; case 'background': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_BACKGROUND); $propbag->add('default', 'FFFFFF'); break; case 'text': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_TEXT); $propbag->add('default', '000000'); break; case 'border': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_BORDER); $propbag->add('default', '336699'); break; case 'title_s': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_TITLE); $propbag->add('default', '0000FF'); break; case 'faint_text': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_FAINT_TEXT); $propbag->add('default', '0000FF'); break; case 'url': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_URL); $propbag->add('default', '008000'); break; case 'logo_background': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_LOGO_BACKGROUND); $propbag->add('default', '336699'); break; case 'visited_url': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_VISITED_URL); $propbag->add('default', '663399'); break; case 'logo_place': $select = array('0' => PLUGIN_GOOGLE_QS_ABOVE, '1' => PLUGIN_GOOGLE_QS_LEFT); $propbag->add('type', 'select'); $propbag->add('select_values', $select); $propbag->add('name', PLUGIN_GOOGLE_QS_LOGO_PLACE); $propbag->add('default', '0'); break; case 'logo_url': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_GOOGLE_QS_LOGO_URL); $propbag->add('default', ''); break; case 'logo_height': $propbag->add('type', 'string'); $propbag->add('name', SORT_ORDER_HEIGHT); $propbag->add('default', ''); break; case 'logo_width': $propbag->add('type', 'string'); $propbag->add('name', SORT_ORDER_WIDTH); $propbag->add('default', ''); break; default: return false; } return true; } function generate_content(&$title) { global $serendipity; $title = $this->title; /* Buffering the differences between s9y and Google language options */ $language = $serendipity['lang']; $adsense = $this->get_config('adsense', ''); switch ($language) { case 'zh': case 'cn': $language = 'zh-cn'; break; case 'tw': case 'tn': $language = 'zh-tw'; break; case 'cz': $language = 'cs'; break; case 'is': case 'bg': case 'ro': case 'fa': $language = 'en'; break; } /* Output search box */ echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if ($this->get_config('submit', 'false') == 'true') { echo ''; } echo '
'; } } ?>