в не измененном виде выдает ошибку 500 при переходе в редактирование материала а в измененном(
показывает каракулю и ломает страницу как это было когда то при создании котегорий на Joomla 1.6 в zoo 2.4 beta
<?php
/**
* @package ZOO Component
* @file weblink.php
* @version 2.0.1 May 2010
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2010 YOOtheme GmbH
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
// include assets css
JHTML::stylesheet('download.css', 'administrator/components/com_zoo/elements/download/assets/css/');
// register yoo gallery class
JLoader::register('ElementRepeatable', ZOO_ADMIN_PATH.'/elements/repeatable/repeatable.php');
/*
Class: ElementWeblink
The weblink element class
*/
class ElementWeblink extends ElementRepeatable {
/*
Function: _hasValue
Checks if the repeatables element's value is set.
Parameters:
$params - render parameter
Returns:
Boolean - true, on success
*/
protected function _hasValue($params) {
$weblink = $this->_data->get('value', '');
$text = $this->getText();
return !empty($weblink) && !empty($text);
}
/*
Function: getText
Gets the weblink text.
Returns:
String - text
*/
public function getText() {
// init vars
$use_weblink_as_text = $this->_config->get('use_weblink_as_text');
$default_text = $this->_config->get('default_text');
if ($use_weblink_as_text) {
return $this->_data->get('value', '');
} else if (!empty($default_text)) {
return $default_text;
} else {
return $this->_data->get('text', '');
}
}
/*
Function: getRel
Gets the weblink rel.
Returns:
String - rel
*/
public function getRel() {
// init vars
$default_rel = $this->_config->get('default_rel');
if (empty($default_rel)) {
return $this->_data->get('rel', '');
} else {
return $default_rel;
}
}
/*
Function: getTitle
Gets the weblink title.
Returns:
String - title
*/
public function getTitle() {
// init vars
$custom_title = $this->_config->get('custom_title');
if ($custom_title) {
return $this->_data->get('custom_title', '');
} else {
return $this->getText();
}
}
/*
Function: render
Renders the repeatable element.
Parameters:
$params - render parameter
Returns:
String - html
*/
/* Оригинальный вид вывода
protected function _render($params = array()) {
$target = ($this->_data->get('target', ''))? 'target="_blank"' : '';
$rel = ($this->getRel())? 'rel="' . $this->getRel().'"' : '';
return '<a href="'.JRoute::_($this->_data->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
} */
protected function _render($params = array()) {
$target = ($this->_data->get('target', ''))? 'target="_blank"' : 'target="_blank"';
$rel = ($this->getRel())? 'rel="' . $this->getRel().'"' : '';
return '<noindex><div class="pos-button"><a class="yoo-zoo element-download-button" href="'.JRoute::_($this->_data->get('value', '')).'" title="'.$this->getText().'" '.$target.' '. $rel .'><span><span>'.$this->getTitle().'</span></span></a></div></noindex>';
}
/*
Function: _edit
Renders the repeatable edit form field.
Returns:
String - html
*/
protected function _edit(){
// init vars
$use_weblink_as_text = $this->_config->get('use_weblink_as_text');
$default_text = $this->_config->get('default_text');
$custom_title = $this->_config->get('custom_title');
$default_rel = $this->_config->get('default_rel');
// create html
$html = '<table>';
// weblink text
if (!$use_weblink_as_text && empty($default_text)) {
$html .= JHTML::_('element.editrow', JText::_('Text'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][text]', $this->getText(), 'size="20" maxlength="255"'));
}
// weblink
$html .= JHTML::_('element.editrow', JText::_('Weblink'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][value]', $this->_data->get('value', ''), 'size="20" maxlength="255"'));
// target
$html .= JHTML::_('element.editrow', JText::_('New window'), JHTML::_('select.booleanlist', 'elements[' . $this->identifier . ']['.$this->index().'][target]', $this->_data->get('target', ''), $this->_data->get('target', '')));
// custom title
if ($custom_title) {
$html .= JHTML::_('element.editrow', JText::_('Title'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][custom_title]', $this->getTitle(), 'size="20" maxlength="255"'));
}
// rel
if (empty($default_rel)) {
$html .= JHTML::_('element.editrow', JText::_('Rel'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][rel]', $this->getRel(), 'size="20" maxlength="255"'));
}
$html .= '</table>';
return $html;
}
}