getLayout() == 'form') {
$this->_displayForm($tpl);
return;
}
//get the weblink
$weblink =& $this->get('data');
if ($weblink->url) {
// redirects to url if matching id found
$mainframe->redirect($weblink->url);
}
parent::display($tpl);
}
function _displayForm($tpl)
{
global $mainframe, $option;
$db =& JFactory::getDBO();
$uri =& JFactory::getURI();
$user =& JFactory::getUser();
$model =& $this->getModel();
$lists = array();
//get the weblink
$weblink =& $this->get('data');
$isNew = ($weblink->id < 1);
// fail if checked out not by 'me'
if ($model->isCheckedOut( $user->get('id') )) {
$msg = JText::sprintf( 'DESCBEINGEDITTED', JText::_( 'The weblink' ), $weblink->title );
$mainframe->redirect( 'index.php?option='. $option, $msg );
}
// Edit or Create?
if (!$isNew)
{
$model->checkout( $user->get('id') );
}
else
{
// initialise new record
$weblink->published = 1;
$weblink->approved = 1;
$weblink->order = 0;
$weblink->catid = JRequest::getVar( 'catid', 0, 'post', 'int' );
}
// build the html select list for ordering
$query = 'SELECT ordering AS value, title AS text'
. ' FROM #__weblinks'
. ' WHERE catid = ' . (int) $weblink->catid
. ' ORDER BY ordering';
$lists['ordering'] = JHTML::_('list.specificordering', $weblink, $weblink->id, $query );
// build list of categories
$lists['catid'] = JHTML::_('list.category', 'catid', $option, intval( $weblink->catid ) );
// build the html select list
$lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $weblink->published );
//clean weblink data
JFilterOutput::objectHTMLSafe( $weblink, ENT_QUOTES, 'description' );
$file = JPATH_COMPONENT.DS.'models'.DS.'weblink.xml';
$params = new JParameter( $weblink->params, $file );
$this->assignRef('lists', $lists);
$this->assignRef('weblink', $weblink);
$this->assignRef('params', $params);
parent::display($tpl);
}
}