/app/code/core/Mage/Core/Block/Html/Link.php
PHP | 97 lines | 41 code | 7 blank | 49 comment | 2 complexity | 6faffb1a8179e9b4395dc0ace51ea03f MD5 | raw file
- <?php
- /**
- * Magento Enterprise Edition
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Magento Enterprise Edition License
- * that is bundled with this package in the file LICENSE_EE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://www.magentocommerce.com/license/enterprise-edition
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category Mage
- * @package Mage_Core
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
- * @license http://www.magentocommerce.com/license/enterprise-edition
- */
- /**
- * HTML anchor element block
- *
- * @category Mage
- * @package Mage_Core
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Mage_Core_Block_Html_Link extends Mage_Core_Block_Template
- {
- /**
- * Internal constructor
- *
- */
- protected function _construct()
- {
- $this->setTemplate('core/link.phtml');
- parent::_construct();
- }
- /**
- * Prepare link attributes as serialized and formated string
- *
- * @return string
- */
- public function getLinkAttributes()
- {
- $allow = array(
- 'href', 'title', 'charset', 'name', 'hreflang', 'rel', 'rev', 'accesskey', 'shape',
- 'coords', 'tabindex', 'onfocus', 'onblur', // %attrs
- 'id', 'class', 'style', // %coreattrs
- 'lang', 'dir', // %i18n
- 'onclick', 'ondblclick', 'onmousedown', 'onmouseup', 'onmouseover', 'onmousemove',
- 'onmouseout', 'onkeypress', 'onkeydown', 'onkeyup' // %events
- );
- $attributes = array();
- foreach ($allow as $attribute) {
- $value = $this->getDataUsingMethod($attribute);
- if (!is_null($value)) {
- $attributes[$attribute] = $this->htmlEscape($value);
- }
- }
- if (!empty($attributes)) {
- return $this->serialize($attributes);
- }
- return '';
- }
- /**
- * serialize attributes
- *
- * @param array $attributes
- * @param string $valueSeparator
- * @param string $fieldSeparator
- * @param string $quote
- * @return string
- */
- public function serialize($attributes = array(), $valueSeparator='=', $fieldSeparator=' ', $quote='"')
- {
- $res = '';
- $data = array();
- foreach ($attributes as $key => $value) {
- $data[] = $key . $valueSeparator . $quote . $value . $quote;
- }
- $res = implode($fieldSeparator, $data);
- return $res;
- }
- }