Source for file language.php

Documentation is available at language.php

  1. <?php
  2. /**
  3.  * @package    FrameworkOnFramework
  4.  * @subpackage form
  5.  * @copyright  Copyright (C) 2010 - 2012 Akeeba Ltd. All rights reserved.
  6.  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  7.  */
  8. // Protect from unauthorized access
  9. defined('_JEXEC'or die;
  10.  
  11. if (!class_exists('JFormFieldLanguage'))
  12. {
  13.     require_once JPATH_LIBRARIES '/joomla/form/fields/language.php';
  14. }
  15.  
  16. /**
  17.  * Form Field class for FOF
  18.  * Available site languages
  19.  *
  20.  * @package  FrameworkOnFramework
  21.  * @since    2.0
  22.  */
  23. {
  24.     protected $static;
  25.  
  26.     protected $repeatable;
  27.     
  28.     /** @var   FOFTable  The item being rendered in a repeatable form field */
  29.     public $item;
  30.     
  31.     /** @var int A monotonically increasing number, denoting the row number in a repeatable view */
  32.     public $rowid;
  33.  
  34.     /**
  35.      * Method to get certain otherwise inaccessible properties from the form field object.
  36.      *
  37.      * @param   string  $name  The property name for which to the the value.
  38.      *
  39.      * @return  mixed  The property value or null.
  40.      *
  41.      * @since   2.0
  42.      */
  43.     public function __get($name)
  44.     {
  45.         switch ($name)
  46.         {
  47.             case 'static':
  48.                 if (empty($this->static))
  49.                 {
  50.                     $this->static = $this->getStatic();
  51.                 }
  52.  
  53.                 return $this->static;
  54.                 break;
  55.  
  56.             case 'repeatable':
  57.                 if (empty($this->repeatable))
  58.                 {
  59.                     $this->repeatable = $this->getRepeatable();
  60.                 }
  61.  
  62.                 return $this->static;
  63.                 break;
  64.  
  65.             default:
  66.                 return parent::__get($name);
  67.         }
  68.     }
  69.  
  70.     /**
  71.      * Method to get the field options.
  72.      *
  73.      * @since 2.0
  74.      *
  75.      * @return  array  The field option objects.
  76.      */
  77.     protected function getOptions()
  78.     {
  79.         $options parent::getOptions();
  80.  
  81.         $noneoption $this->element['none'$this->element['none'null;
  82.  
  83.         if ($noneoption)
  84.         {
  85.             array_unshift($optionsJHtml::_('select.option''*'JText::_($noneoption)));
  86.         }
  87.  
  88.         return $options;
  89.     }
  90.  
  91.     /**
  92.      * Get the rendering of this field type for static display, e.g. in a single
  93.      * item view (typically a "read" task).
  94.      *
  95.      * @since 2.0
  96.      *
  97.      * @return  string  The field HTML
  98.      */
  99.     public function getStatic()
  100.     {
  101.         $class $this->element['class'' class="' . (string) $this->element['class''"' '';
  102.  
  103.         return '<span id="' $this->id '" ' $class '>' .
  104.             htmlspecialchars(FOFFormFieldList::getOptionName($this->getOptions()$this->value)ENT_COMPAT'UTF-8'.
  105.             '</span>';
  106.     }
  107.  
  108.     /**
  109.      * Get the rendering of this field type for a repeatable (grid) display,
  110.      * e.g. in a view listing many item (typically a "browse" task)
  111.      *
  112.      * @since 2.0
  113.      *
  114.      * @return  string  The field HTML
  115.      */
  116.     public function getRepeatable()
  117.     {
  118.         $class $this->element['class'? (string) $this->element['class''';
  119.  
  120.         return '<span class="' $this->id ' ' $class '">' .
  121.             htmlspecialchars(FOFFormFieldList::getOptionName($this->getOptions()$this->value)ENT_COMPAT'UTF-8'.
  122.             '</span>';
  123.     }
  124. }

Documentation generated on Tue, 19 Nov 2013 15:06:32 +0100 by phpDocumentor 1.4.3