Source for file actions.php
Documentation is available at actions.php
* @package FrameworkOnFramework
* @copyright Copyright (C) 2010 - 2012 Akeeba Ltd. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
// Protect from unauthorized access
require_once JPATH_LIBRARIES .
'/joomla/form/fields/list.php';
* Form Field class for FOF
* Supports a generic list of options.
* @package FrameworkOnFramework
/** @var int A monotonically increasing number, denoting the row number in a repeatable view */
/** @var FOFTable The item being rendered in a repeatable form field */
* Method to get certain otherwise inaccessible properties from the form field object.
* @param string $name The property name for which to the the value.
* @return mixed The property value or null.
public function __get($name)
return parent::__get($name);
* Get the field configuration
// If no custom options were defined let's figure out which ones of the
// defaults we shall use...
if (isset
($this->element['show_published']))
if (isset
($this->element['show_unpublished']))
if (isset
($this->element['show_archived']))
if (isset
($this->element['show_trash']))
if (isset
($this->element['show_all']))
* Method to get the field options.
* @return array The field option objects.
* @param string $enabledFieldName Name of the enabled/published field
* @return FOFFormFieldPublished Field
'name' =>
$enabledFieldName,
$attributes['publish_up'] = (string)
$this->element['publish_up'];
if ($this->element['publish_down'])
$attributes['publish_down'] = (string)
$this->element['publish_down'];
foreach ($attributes as $name =>
$value)
$renderedAttributes[] =
$name .
'="' .
$value .
'"';
$publishedXml =
new SimpleXMLElement('<field ' .
implode(' ', $renderedAttributes) .
' />');
// Pass required objects to the field
$publishedField->item =
$this->item;
$publishedField->rowid =
$this->rowid;
$publishedField->setup($publishedXml, $this->item->{$enabledFieldName});
* Get the rendering of this field type for static display, e.g. in a single
* item view (typically a "read" task).
* @return string The field HTML
throw
new Exception(__CLASS__ .
' cannot be used in single item display forms');
* Get the rendering of this field type for a repeatable (grid) display,
* e.g. in a view listing many item (typically a "browse" task)
* @return string The field HTML
throw
new Exception(__CLASS__ .
' needs a FOFTable to act upon');
$html =
'<div class="btn-group">';
// Render a published field
if ($publishedFieldName =
$this->item->getColumnAlias('enabled'))
if ($config['published'] ||
$config['unpublished'])
// Generate a FOFFormFieldPublished field
// Render the publish button
$archived =
$this->item->{$publishedFieldName} ==
2 ?
true :
false;
$action =
$archived ?
'unarchive' :
'archive';
JHtml::_('actionsdropdown.' .
$action, 'cb' .
$this->rowid, $prefix);
$trashed =
$this->item->{$publishedFieldName} == -
2 ?
true :
false;
$action =
$trashed ?
'untrash' :
'trash';
JHtml::_('actionsdropdown.' .
$action, 'cb' .
$this->rowid, $prefix);
if ($config['archived'] ||
$config['trash'])
$html .=
JHtml::_('actionsdropdown.render', $this->item->title);
Documentation generated on Tue, 19 Nov 2013 14:53:20 +0100 by phpDocumentor 1.4.3