From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- framework/Web/UI/WebControls/THead.php | 754 ++++++++++++++++----------------- 1 file changed, 377 insertions(+), 377 deletions(-) (limited to 'framework/Web/UI/WebControls/THead.php') diff --git a/framework/Web/UI/WebControls/THead.php b/framework/Web/UI/WebControls/THead.php index c0042c22..7966f2d3 100644 --- a/framework/Web/UI/WebControls/THead.php +++ b/framework/Web/UI/WebControls/THead.php @@ -1,377 +1,377 @@ - and Qiang Xue - * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2012 PradoSoft - * @license http://www.pradosoft.com/license/ - * @version $Id$ - * @package System.Web.UI - */ - -/** - * THead class - * - * THead displays a head element on a page. It displays the content - * enclosed in its body and the page title set by the - * {@link setTitle Title} property. In addition, stylesheets and JavaScripts registered via - * {@link TClientScriptManager::registerStyleSheet}, {@link TClientScriptManager::registerStyleSheetFile} - * {@link TClientScriptManager::registerHeadJavaScript}, and - * {@link TClientScriptManager::registerHeadJavaScriptFile} will also be displayed - * in the head. - * THead also manages and displays meta tags through its {@link getMetaTags MetaTags} - * property. You can add a meta object to the collection in code dynamically, - * or add it in template using the following syntax, - * - * - * - * - * - * - * - * Note, {@link TPage} has a property {@link TPage::getHead Head} that refers to - * the THead control currently on the page. A page can have at most one THead - * control. Although not required, it is recommended to place a THead on your page. - * Without a THead on the page, stylesheets and javascripts in the current page - * theme will not be rendered. - * - * @author Marcus Nyeholt and Qiang Xue - * @version $Id$ - * @package System.Web.UI - * @since 3.0 - */ -class THead extends TControl -{ - /** - * @var TList list of meta name tags to be loaded by {@link THead} - */ - private $_metaTags=null; - - /** - * Registers the head control with the current page. - * This method is invoked when the control enters 'Init' stage. - * The method raises 'Init' event. - * If you override this method, be sure to call the parent implementation - * so that the event handlers can be invoked. - * @param TEventParameter event parameter to be passed to the event handlers - */ - public function onInit($param) - { - parent::onInit($param); - $this->getPage()->setHead($this); - } - - /** - * Processes an object that is created during parsing template. - * This method adds TMetaTag components into the {@link getMetaTags MetaTags} - * collection of the head control. - * @param string|TComponent text string or component parsed and instantiated in template - * @see createdOnTemplate - */ - public function addParsedObject($object) - { - if($object instanceof TMetaTag) - $this->getMetaTags()->add($object); - else - parent::addParsedObject($object); - } - - /** - * @return string the page title. - */ - public function getTitle() - { - return $this->getViewState('Title',''); - } - - /** - * Sets the page title. - * This title will be rendered only if the {@link TPage::getTitle Title} property - * of the page is empty. - * @param string the page title. - */ - public function setTitle($value) - { - $this->setViewState('Title',$value,''); - } - - /** - * @return string base URL of the page. This URL is rendered as the 'href' attribute of tag. Defaults to ''. - */ - public function getBaseUrl() - { - return $this->getViewState('BaseUrl',''); - } - - /** - * @param string base URL of the page. This URL is rendered as the 'href' attribute of tag. - */ - public function setBaseUrl($url) - { - $this->setViewState('BaseUrl',$url,''); - } - - /** - * @return string the URL for the shortcut icon of the page. Defaults to ''. - */ - public function getShortcutIcon() - { - return $this->getViewState('ShortcutIcon',''); - } - - /** - * @param string the URL for the shortcut icon of the page. - */ - public function setShortcutIcon($url) - { - $this->setViewState('ShortcutIcon',$url,''); - } - - /** - * @return TMetaTagCollection meta tag collection - */ - public function getMetaTags() - { - if(($metaTags=$this->getViewState('MetaTags',null))===null) - { - $metaTags=new TMetaTagCollection; - $this->setViewState('MetaTags',$metaTags,null); - } - return $metaTags; - } - - /** - * Renders the head control. - * @param THtmlWriter the writer for rendering purpose. - */ - public function render($writer) - { - $page=$this->getPage(); - $title=$this->getTitle(); - $writer->write("\n".THttpUtility::htmlEncode($title)."\n"); - if(($baseUrl=$this->getBaseUrl())!=='') - $writer->write('\n"); - if(($icon=$this->getShortcutIcon())!=='') - $writer->write('\n"); - - if(($metaTags=$this->getMetaTags())!==null) - { - foreach($metaTags as $metaTag) - { - $metaTag->render($writer); - $writer->writeLine(); - } - } - $cs=$page->getClientScript(); - $cs->renderStyleSheetFiles($writer); - $cs->renderStyleSheets($writer); - if($page->getClientSupportsJavaScript()) - { - $cs->renderHeadScriptFiles($writer); - $cs->renderHeadScripts($writer); - } - parent::render($writer); - $writer->write("\n"); - } -} - -/** - * TMetaTag class. - * - * TMetaTag represents a meta tag appearing in a page head section. - * You can set its {@link setID ID}, {@link setHttpEquiv HttpEquiv}, - * {@link setName Name}, {@link setContent Content}, {@link setScheme Scheme} - * properties, which correspond to id, http-equiv, name, content, and scheme - * attributes for a meta tag, respectively. - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0 - */ -class TMetaTag extends TComponent -{ - /** - * @var string id of the meta tag - */ - private $_id=''; - /** - * @var string http-equiv attribute of the meta tag - */ - private $_httpEquiv=''; - /** - * @var string name attribute of the meta tag - */ - private $_name=''; - /** - * @var string content attribute of the meta tag - */ - private $_content=''; - /** - * @var string scheme attribute of the meta tag - */ - private $_scheme=''; - - /** - * @return string id of the meta tag - */ - public function getID() - { - return $this->_id; - } - - /** - * @param string id of the meta tag - */ - public function setID($value) - { - $this->_id=$value; - } - - /** - * @return string http-equiv attribute of the meta tag - */ - public function getHttpEquiv() - { - return $this->_httpEquiv; - } - - /** - * @param string http-equiv attribute of the meta tag - */ - public function setHttpEquiv($value) - { - $this->_httpEquiv=$value; - } - - /** - * @return string name attribute of the meta tag - */ - public function getName() - { - return $this->_name; - } - - /** - * @param string name attribute of the meta tag - */ - public function setName($value) - { - $this->_name=$value; - } - - /** - * @return string content attribute of the meta tag - */ - public function getContent() - { - return $this->_content; - } - - /** - * @param string content attribute of the meta tag - */ - public function setContent($value) - { - $this->_content=$value; - } - - /** - * @return string scheme attribute of the meta tag - */ - public function getScheme() - { - return $this->_scheme; - } - - /** - * @param string scheme attribute of the meta tag - */ - public function setScheme($value) - { - $this->_scheme=$value; - } - - /** - * Renders the meta tag. - * @param THtmlWriter writer for the rendering purpose - */ - public function render($writer) - { - if($this->_id!=='') - $writer->addAttribute('id',$this->_id); - if($this->_name!=='') - $writer->addAttribute('name',$this->_name); - if($this->_httpEquiv!=='') - $writer->addAttribute('http-equiv',$this->_httpEquiv); - if($this->_scheme!=='') - $writer->addAttribute('scheme',$this->_scheme); - $writer->addAttribute('content',$this->_content); - $writer->renderBeginTag('meta'); - $writer->renderEndTag(); - } -} - - -/** - * TMetaTagCollection class - * - * TMetaTagCollection represents a collection of meta tags - * contained in a {@link THead} control. - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0 - */ -class TMetaTagCollection extends TList -{ - /** - * Inserts an item at the specified position. - * This overrides the parent implementation by performing type - * check on the item being added. - * @param integer the speicified position. - * @param mixed new item - * @throws TInvalidDataTypeException if the item to be inserted is not a {@link TMetaTag} - */ - public function insertAt($index,$item) - { - if($item instanceof TMetaTag) - parent::insertAt($index,$item); - else - throw new TInvalidDataTypeException('metatagcollection_metatag_invalid'); - } - - /** - * Finds the lowest cardinal index of the meta tag whose id is the one being looked for. - * @param string the ID of the meta tag to be looked for - * @return integer the index of the meta tag found, -1 if not found. - */ - public function findIndexByID($id) - { - $index=0; - foreach($this as $item) - { - if($item->getID()===$id) - return $index; - $index++; - } - return -1; - } - - /** - * Finds the item whose value is the one being looked for. - * @param string the id of the meta tag to be looked for - * @return TMetaTag the meta tag found, null if not found. - */ - public function findMetaTagByID($id) - { - if(($index=$this->findIndexByID($id))>=0) - return $this->itemAt($index); - else - return null; - } -} - -?> + and Qiang Xue + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005-2012 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Id$ + * @package System.Web.UI + */ + +/** + * THead class + * + * THead displays a head element on a page. It displays the content + * enclosed in its body and the page title set by the + * {@link setTitle Title} property. In addition, stylesheets and JavaScripts registered via + * {@link TClientScriptManager::registerStyleSheet}, {@link TClientScriptManager::registerStyleSheetFile} + * {@link TClientScriptManager::registerHeadJavaScript}, and + * {@link TClientScriptManager::registerHeadJavaScriptFile} will also be displayed + * in the head. + * THead also manages and displays meta tags through its {@link getMetaTags MetaTags} + * property. You can add a meta object to the collection in code dynamically, + * or add it in template using the following syntax, + * + * + * + * + * + * + * + * Note, {@link TPage} has a property {@link TPage::getHead Head} that refers to + * the THead control currently on the page. A page can have at most one THead + * control. Although not required, it is recommended to place a THead on your page. + * Without a THead on the page, stylesheets and javascripts in the current page + * theme will not be rendered. + * + * @author Marcus Nyeholt and Qiang Xue + * @version $Id$ + * @package System.Web.UI + * @since 3.0 + */ +class THead extends TControl +{ + /** + * @var TList list of meta name tags to be loaded by {@link THead} + */ + private $_metaTags=null; + + /** + * Registers the head control with the current page. + * This method is invoked when the control enters 'Init' stage. + * The method raises 'Init' event. + * If you override this method, be sure to call the parent implementation + * so that the event handlers can be invoked. + * @param TEventParameter event parameter to be passed to the event handlers + */ + public function onInit($param) + { + parent::onInit($param); + $this->getPage()->setHead($this); + } + + /** + * Processes an object that is created during parsing template. + * This method adds TMetaTag components into the {@link getMetaTags MetaTags} + * collection of the head control. + * @param string|TComponent text string or component parsed and instantiated in template + * @see createdOnTemplate + */ + public function addParsedObject($object) + { + if($object instanceof TMetaTag) + $this->getMetaTags()->add($object); + else + parent::addParsedObject($object); + } + + /** + * @return string the page title. + */ + public function getTitle() + { + return $this->getViewState('Title',''); + } + + /** + * Sets the page title. + * This title will be rendered only if the {@link TPage::getTitle Title} property + * of the page is empty. + * @param string the page title. + */ + public function setTitle($value) + { + $this->setViewState('Title',$value,''); + } + + /** + * @return string base URL of the page. This URL is rendered as the 'href' attribute of tag. Defaults to ''. + */ + public function getBaseUrl() + { + return $this->getViewState('BaseUrl',''); + } + + /** + * @param string base URL of the page. This URL is rendered as the 'href' attribute of tag. + */ + public function setBaseUrl($url) + { + $this->setViewState('BaseUrl',$url,''); + } + + /** + * @return string the URL for the shortcut icon of the page. Defaults to ''. + */ + public function getShortcutIcon() + { + return $this->getViewState('ShortcutIcon',''); + } + + /** + * @param string the URL for the shortcut icon of the page. + */ + public function setShortcutIcon($url) + { + $this->setViewState('ShortcutIcon',$url,''); + } + + /** + * @return TMetaTagCollection meta tag collection + */ + public function getMetaTags() + { + if(($metaTags=$this->getViewState('MetaTags',null))===null) + { + $metaTags=new TMetaTagCollection; + $this->setViewState('MetaTags',$metaTags,null); + } + return $metaTags; + } + + /** + * Renders the head control. + * @param THtmlWriter the writer for rendering purpose. + */ + public function render($writer) + { + $page=$this->getPage(); + $title=$this->getTitle(); + $writer->write("\n".THttpUtility::htmlEncode($title)."\n"); + if(($baseUrl=$this->getBaseUrl())!=='') + $writer->write('\n"); + if(($icon=$this->getShortcutIcon())!=='') + $writer->write('\n"); + + if(($metaTags=$this->getMetaTags())!==null) + { + foreach($metaTags as $metaTag) + { + $metaTag->render($writer); + $writer->writeLine(); + } + } + $cs=$page->getClientScript(); + $cs->renderStyleSheetFiles($writer); + $cs->renderStyleSheets($writer); + if($page->getClientSupportsJavaScript()) + { + $cs->renderHeadScriptFiles($writer); + $cs->renderHeadScripts($writer); + } + parent::render($writer); + $writer->write("\n"); + } +} + +/** + * TMetaTag class. + * + * TMetaTag represents a meta tag appearing in a page head section. + * You can set its {@link setID ID}, {@link setHttpEquiv HttpEquiv}, + * {@link setName Name}, {@link setContent Content}, {@link setScheme Scheme} + * properties, which correspond to id, http-equiv, name, content, and scheme + * attributes for a meta tag, respectively. + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TMetaTag extends TComponent +{ + /** + * @var string id of the meta tag + */ + private $_id=''; + /** + * @var string http-equiv attribute of the meta tag + */ + private $_httpEquiv=''; + /** + * @var string name attribute of the meta tag + */ + private $_name=''; + /** + * @var string content attribute of the meta tag + */ + private $_content=''; + /** + * @var string scheme attribute of the meta tag + */ + private $_scheme=''; + + /** + * @return string id of the meta tag + */ + public function getID() + { + return $this->_id; + } + + /** + * @param string id of the meta tag + */ + public function setID($value) + { + $this->_id=$value; + } + + /** + * @return string http-equiv attribute of the meta tag + */ + public function getHttpEquiv() + { + return $this->_httpEquiv; + } + + /** + * @param string http-equiv attribute of the meta tag + */ + public function setHttpEquiv($value) + { + $this->_httpEquiv=$value; + } + + /** + * @return string name attribute of the meta tag + */ + public function getName() + { + return $this->_name; + } + + /** + * @param string name attribute of the meta tag + */ + public function setName($value) + { + $this->_name=$value; + } + + /** + * @return string content attribute of the meta tag + */ + public function getContent() + { + return $this->_content; + } + + /** + * @param string content attribute of the meta tag + */ + public function setContent($value) + { + $this->_content=$value; + } + + /** + * @return string scheme attribute of the meta tag + */ + public function getScheme() + { + return $this->_scheme; + } + + /** + * @param string scheme attribute of the meta tag + */ + public function setScheme($value) + { + $this->_scheme=$value; + } + + /** + * Renders the meta tag. + * @param THtmlWriter writer for the rendering purpose + */ + public function render($writer) + { + if($this->_id!=='') + $writer->addAttribute('id',$this->_id); + if($this->_name!=='') + $writer->addAttribute('name',$this->_name); + if($this->_httpEquiv!=='') + $writer->addAttribute('http-equiv',$this->_httpEquiv); + if($this->_scheme!=='') + $writer->addAttribute('scheme',$this->_scheme); + $writer->addAttribute('content',$this->_content); + $writer->renderBeginTag('meta'); + $writer->renderEndTag(); + } +} + + +/** + * TMetaTagCollection class + * + * TMetaTagCollection represents a collection of meta tags + * contained in a {@link THead} control. + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TMetaTagCollection extends TList +{ + /** + * Inserts an item at the specified position. + * This overrides the parent implementation by performing type + * check on the item being added. + * @param integer the speicified position. + * @param mixed new item + * @throws TInvalidDataTypeException if the item to be inserted is not a {@link TMetaTag} + */ + public function insertAt($index,$item) + { + if($item instanceof TMetaTag) + parent::insertAt($index,$item); + else + throw new TInvalidDataTypeException('metatagcollection_metatag_invalid'); + } + + /** + * Finds the lowest cardinal index of the meta tag whose id is the one being looked for. + * @param string the ID of the meta tag to be looked for + * @return integer the index of the meta tag found, -1 if not found. + */ + public function findIndexByID($id) + { + $index=0; + foreach($this as $item) + { + if($item->getID()===$id) + return $index; + $index++; + } + return -1; + } + + /** + * Finds the item whose value is the one being looked for. + * @param string the id of the meta tag to be looked for + * @return TMetaTag the meta tag found, null if not found. + */ + public function findMetaTagByID($id) + { + if(($index=$this->findIndexByID($id))>=0) + return $this->itemAt($index); + else + return null; + } +} + +?> -- cgit v1.2.3