Source for file media.php

Documentation is available at media.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('JFormFieldMedia'))
  12. {
  13.     require_once JPATH_LIBRARIES '/joomla/form/fields/media.php';
  14. }
  15.  
  16. /**
  17.  * Form Field class for the FOF framework
  18.  * Media selection field.
  19.  *
  20.  * @package  FrameworkOnFramework
  21.  * @since    2.0
  22.  */
  23. class FOFFormFieldMedia extends JFormFieldMedia implements FOFFormField
  24. {
  25.     protected $static;
  26.  
  27.     protected $repeatable;
  28.     
  29.     /** @var   FOFTable  The item being rendered in a repeatable form field */
  30.     public $item;
  31.     
  32.     /** @var int A monotonically increasing number, denoting the row number in a repeatable view */
  33.     public $rowid;
  34.  
  35.     /**
  36.      * Method to get certain otherwise inaccessible properties from the form field object.
  37.      *
  38.      * @param   string  $name  The property name for which to the the value.
  39.      *
  40.      * @return  mixed  The property value or null.
  41.      *
  42.      * @since   2.0
  43.      */
  44.     public function __get($name)
  45.     {
  46.         switch ($name)
  47.         {
  48.             case 'static':
  49.                 if (empty($this->static))
  50.                 {
  51.                     $this->static = $this->getStatic();
  52.                 }
  53.  
  54.                 return $this->static;
  55.                 break;
  56.  
  57.             case 'repeatable':
  58.                 if (empty($this->repeatable))
  59.                 {
  60.                     $this->repeatable = $this->getRepeatable();
  61.                 }
  62.  
  63.                 return $this->static;
  64.                 break;
  65.  
  66.             default:
  67.                 return parent::__get($name);
  68.         }
  69.     }
  70.  
  71.     /**
  72.      * Get the rendering of this field type for static display, e.g. in a single
  73.      * item view (typically a "read" task).
  74.      *
  75.      * @since 2.0
  76.      *
  77.      * @return  string  The field HTML
  78.      */
  79.     public function getStatic()
  80.     {
  81.         $imgattr array(
  82.             'id' => $this->id
  83.         );
  84.  
  85.         if ($this->element['class'])
  86.         {
  87.             $imgattr['class'= (string) $this->element['class'];
  88.         }
  89.  
  90.         if ($this->element['style'])
  91.         {
  92.             $imgattr['style'= (string) $this->element['style'];
  93.         }
  94.  
  95.         if ($this->element['width'])
  96.         {
  97.             $imgattr['width'= (string) $this->element['width'];
  98.         }
  99.  
  100.         if ($this->element['height'])
  101.         {
  102.             $imgattr['height'= (string) $this->element['height'];
  103.         }
  104.  
  105.         if ($this->element['align'])
  106.         {
  107.             $imgattr['align'= (string) $this->element['align'];
  108.         }
  109.  
  110.         if ($this->element['rel'])
  111.         {
  112.             $imgattr['rel'= (string) $this->element['rel'];
  113.         }
  114.  
  115.         if ($this->element['alt'])
  116.         {
  117.             $alt JText::_((string) $this->element['alt']);
  118.         }
  119.         else
  120.         {
  121.             $alt null;
  122.         }
  123.  
  124.         if ($this->element['title'])
  125.         {
  126.             $imgattr['title'JText::_((string) $this->element['title']);
  127.         }
  128.  
  129.         if ($this->value && file_exists(JPATH_ROOT '/' $this->value))
  130.         {
  131.             $src JURI::root($this->value;
  132.         }
  133.         else
  134.         {
  135.             $src '';
  136.         }
  137.  
  138.         return JHtml::image($src$alt$imgattr);
  139.     }
  140.  
  141.     /**
  142.      * Get the rendering of this field type for a repeatable (grid) display,
  143.      * e.g. in a view listing many item (typically a "browse" task)
  144.      *
  145.      * @since 2.0
  146.      *
  147.      * @return  string  The field HTML
  148.      */
  149.     public function getRepeatable()
  150.     {
  151.         return $this->getStatic();
  152.     }
  153. }

Documentation generated on Tue, 19 Nov 2013 15:07:42 +0100 by phpDocumentor 1.4.3