Sådan benyttes komponenten Googlebox klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Googlebox.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Googlebox::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Googlebox($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Googlebox klassen
Den fulde PHP kildekode for Googlebox klassen
<?php/** * @package component * @see HTML_COMPONENT_PAGE_PATH.'/Googlebox.php' * @copyright (c) http://Finn-Rasmussen.com * @license http://Finn-Rasmussen.com/license/ myPHP License conditions * @author http://Finn-Rasmussen.com * @version 1.11 * @since 27-nov-2009 *//** * The required files */require_once(HTML_BASE_COMMON_PATH.'/Html.php');require_once(HTML_FORM_COMPONENT_PATH.'/Input.php');require_once(HTML_FORM_COMPONENT_PATH.'/Text.php');require_once(HTML_FORM_COMPONENT_PATH.'/Hidden.php');require_once(HTML_FORM_COMPONENT_PATH.'/SubmitButton.php');require_once(HTML_BASE_UTIL_PATH.'/Link.php');require_once(HTML_BASE_UTIL_PATH.'/Images.php');require_once(HTML_BASE_UTIL_PATH.'/Span.php');if (defined('HTML_GOOGLE_ADS_PAGE_PATH')) { require_once(HTML_GOOGLE_ADS_PAGE_PATH.'/Googlesearch.php');}if (defined('HTML_LANGUAGE_UTIL_PATH')) { require_once(HTML_LANGUAGE_UTIL_PATH.'/Translate.php');}/** * Generates a Googlebox * <code> * Usage: * $google = new Googlebox(); * print $google->getData(); * </code> * @package menu */class Googlebox extends Html { /** * @var String $text The Google search text */ protected $text = ''; /** * @var String $class The CSS class name for the Google search text */ protected $class = ''; /** * Constructor * @param String $text The default search pattern * @param String $class The CSS class name */ function __construct($text='', $class='') { parent::__construct(); $this->class = $class; if ($this->text=='' && !empty($_GET[REQUEST_PAGE_KEYWORD])) { $this->text = $_GET[REQUEST_PAGE_KEYWORD]; } if ($this->text=='' && !empty($_POST[REQUEST_PAGE_KEYWORD])) { $this->text = $_POST[REQUEST_PAGE_KEYWORD]; } if ($this->text=='') { $this->text = $text; } if ($this->text=='') { $this->text = empty($GLOBALS[GLOBAL_PAGE_KEYWORD_NAME])?'':$GLOBALS[GLOBAL_PAGE_KEYWORD_NAME]; } if ($this->text=='') { $this->text = defined('PAGE_KEYWORD')?PAGE_KEYWORD:''; } if ($this->text=='') { $this->text = empty($GLOBALS['pageKeyword'])?'':$GLOBALS['pageKeyword']; } if ($this->text=='') { $this->text = GOOGLE_TEXT; } if ($this->text != '' && defined('HTML_LANGUAGE_UTIL_PATH')) { $this->text = ucfirst(Translate::get($this->text)); } } /** * Builds the custom sponsor Google logo * @return String The html */ function getSponsor() { $html = ''; if (defined('COMPONENT_SHOW') && COMPONENT_SHOW & COMPONENT_SHOW_GOOGLE || defined('LINK_SHOW') && LINK_SHOW & LINK_SHOW_GOOGLE_TOP) { $cof = new Hidden(REQUEST_GOOGLE_COF,"LW:468;L:http:/"."/www.".DOMAIN_NAME_SOURCE_CODE."/images/logo.gif;LH:60;AH:left;AWFID:b0a3b67522da2caa;"); $domains = new Hidden(REQUEST_GOOGLE_DOMAINS,"www.".DOMAIN_NAME_SOURCE_CODE); $sitesearch = new Hidden(REQUEST_GOOGLE_SITESEARCH,""); // Disable hidden debug information// TODO-5 protected// $html .= $cof->debug = false;// $html .= $domains->debug = false;// $html .= $sitesearch->debug = false; // Get the html $html .= $cof->getHtml(); $html .= $domains->getHtml(); $html .= $sitesearch->getHtml(); } return $html; } /** * Return the google letters with the right color as an object * @param String $class The css class name * @param String $char The char to colorize * @return Object The letter */ function newChar($class, $char) { return new Span($char, $class); } /** * Builds the html for a Google search box, and return it * This function assumes that you already have a table like: * <code> * <table ...><tr><td>...</td> ... <google> ... <td>...</td></tr></table> * </code> * @return String The google seach box as html */ function getHtml() { $html = $this->html; if (defined('COMPONENT_SHOW') && COMPONENT_SHOW & COMPONENT_SHOW_GOOGLE || defined('LINK_SHOW') && LINK_SHOW & LINK_SHOW_GOOGLE_TOP) { $class = "$this->class"; $image = new Images(IMAGE_BLANK,'1','10'); $html .= ' <td valign="top" class="'.$class.'">'.$image->getHtml()."</td>\r\n"; $image = new Images(IMAGE_TRIANGLE,'','','', $class); $html .= ' <td valign="top" class="'.$class.'">'.$image->getHtml()."</td>\r\n"; $href = "http:/"."/www.google.com/search"; $title = "Powered by Google"; $link = new Link('', $href, $class, $title); $letters = array('G','o','o','g','l','e',); $classes = array("MISSING",); if (defined('CSS_BLUE')) { $classes = array(CSS_BLUE,CSS_RED,CSS_YELLOW,CSS_BLUE,CSS_GREEN,CSS_RED,); } foreach($letters as $key=>$letter) { $charClass = "MISSING"; if (array_key_exists($key, $classes)) { $charClass = $classes[$key]; } else { // TODO what? } $link->add($this->newChar($charClass, $letter)); } $html .= ' <td valign="middle" class="'.$class.'">'.$link->getHtml()."</td>\r\n"; if (defined('HTML_GOOGLE_ADS_PAGE_PATH')) { $layout = GOOGLE_SEARCH_LAYOUT_TD | GOOGLE_SEARCH_LAYOUT_SHORT; $googlesearch = new Googlesearch($layout, $class, $this->text); $html .= $googlesearch->getSearch(); } else { $html .= ' <td valign="middle" class="'.$class.'">'; $q = new Text(REQUEST_GOOGLE_Q, $this->text,CSS_X_SMALL." ".CSS_BORDER,"10","255"); $html .= $q->getHtml(); $html .= " </td>\r\n"; $html .= ' <td class="'.$class.'"> '."</td>\r\n"; $html .= ' <td valign="middle" class="'.$class.'">'; $text = defined('BUTTON_GOOGLE_TEXT')?BUTTON_GOOGLE_TEXT:' Go '; $go = new SubmitButton(REQUEST_GOOGLE, $text,CSS_SEARCH_SUBMIT." ".CSS_BORDER,'','','Powered by Google Search'); $html .= $go->getHtml(); $html .= $this->getSponsor(); $html .= " </td>\r\n"; } } else { $html .= "<!-- ".$this->getClassName()." Data disabled -->\r\n"; } return $html; }}?>
Den fulde HTML kildekode for Googlebox klassen
<? <!-- DEBUG: Table --> <!-- DEBUG: TableHeader --> <!-- No text in TableHeader --> <table width="100%" class="theTable" border="0" cellpadding="2" cellspacing="0"> <tr> <!-- DEBUG: Googlebox --> <td valign="top" class=""><!-- DEBUG: Images --> <img src="http://finnrasmussen.dk/images/blank.gif" width="1" height="10" alt="blank.gif" /></td> <td valign="top" class=""><!-- DEBUG: Images --> <img src="http://finnrasmussen.dk/images/triangle.gif" width="10" height="10" alt="triangle.gif" /></td> <td valign="middle" class=""><!-- DEBUG: Link --> <a class="baseLinkColor" href="http://www.google.com/search" title="Powered by Google"><span class="menuBlue">G</span><span class="menuRed">o</span><span class="menuYellow">o</span><span class="menuBlue">g</span><span class="menuGreen">l</span><span class="menuRed">e</span></a></td> <td valign="middle"><!-- DEBUG: Label --> <!-- Label->getHtml() Text for the label is empty --> <!-- DEBUG: Text --> <input type="text" name="q" id="Label1" class="formXSmall baseBorder" maxlength="255" value="Googlebox" title="Skriv dine søgeord" tabindex="1" /><br /> <!-- DEBUG: Hidden --> <input type="hidden" name="client" value="pub-3894654089466394" /> <!-- DEBUG: Hidden --> <input type="hidden" name="forid" value="1" /> <!-- DEBUG: Hidden --> <input type="hidden" name="ie" value="ISO-8859-1" /> <!-- DEBUG: Hidden --> <input type="hidden" name="oe" value="ISO-8859-1" /> <!-- DEBUG: Hidden --> <input type="hidden" name="cof" value="GALT:#000000;GL:1;DIV:#ff0000;VLC:ff0000;AH:left;BGC:ffffff;LBGC:ffffff;ALC:ff0000;LC:0000ff;T:000000;GFNT:000066;GIMP:ff0000;FORID:11;" /> <!-- DEBUG: Hidden --> <input type="hidden" name="hl" value="da" /> <!-- DEBUG: Hiddens --> </td> <td valign="middle"><!-- DEBUG: SubmitButton --> <input type="submit" class="formSearchSubmit baseBorder" value=" - Go" title="Powered by Google Search" tabindex="2" accesskey="G" /> </td> </tr> </table> ?>
Her er 'klasse metoderne' for Googlebox klassen:
Her er 'objekt variable' for Googlebox klassen: