Source for file sliders.php

Documentation is available at sliders.php

  1. <?php
  2. /**
  3.  * @package     Joomla.Libraries
  4.  * @subpackage  HTML
  5.  *
  6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
  7.  * @license     GNU General Public License version 2 or later; see LICENSE
  8.  */
  9.  
  10. defined('JPATH_PLATFORM'or die;
  11.  
  12. /**
  13.  * Utility class for Sliders elements
  14.  *
  15.  * @package     Joomla.Libraries
  16.  * @subpackage  HTML
  17.  * @since       1.6
  18.  */
  19. abstract class JHtmlSliders
  20. {
  21.     /**
  22.      * Creates a panes and loads the javascript behavior for it.
  23.      *
  24.      * @param   string  $group   The pane identifier.
  25.      * @param   array   $params  An array of options.
  26.      *
  27.      * @return  string 
  28.      *
  29.      * @since   1.6
  30.      */
  31.     public static function start($group 'sliders'$params array())
  32.     {
  33.         static::loadBehavior($group$params);
  34.  
  35.         return '<div id="' $group '" class="pane-sliders"><div style="display:none;"><div>';
  36.     }
  37.  
  38.     /**
  39.      * Close the current pane.
  40.      *
  41.      * @return  string  hTML to close the pane
  42.      *
  43.      * @since   1.6
  44.      */
  45.     public static function end()
  46.     {
  47.         return '</div></div></div>';
  48.     }
  49.  
  50.     /**
  51.      * Begins the display of a new panel.
  52.      *
  53.      * @param   string  $text  Text to display.
  54.      * @param   string  $id    Identifier of the panel.
  55.      *
  56.      * @return  string  HTML to start a panel
  57.      *
  58.      * @since   1.6
  59.      */
  60.     public static function panel($text$id)
  61.     {
  62.         return '</div></div><div class="panel"><h3 class="pane-toggler title" id="' $id '"><a href="javascript:void(0);"><span>' $text
  63.             . '</span></a></h3><div class="pane-slider content">';
  64.     }
  65.  
  66.     /**
  67.      * Load the JavaScript behavior.
  68.      *
  69.      * @param   string  $group   The pane identifier.
  70.      * @param   array   $params  Array of options.
  71.      *
  72.      * @return  void 
  73.      *
  74.      * @since   1.6
  75.      */
  76.     protected static function loadBehavior($group$params array())
  77.     {
  78.         static $loaded array();
  79.  
  80.         if (!array_key_exists($group$loaded))
  81.         {
  82.             // Get the JInput object
  83.             $input JFactory::getApplication()->input;
  84.  
  85.             $loaded[$grouptrue;
  86.  
  87.             // Include mootools framework.
  88.             JHtml::_('behavior.framework'true);
  89.  
  90.             $document JFactory::getDocument();
  91.  
  92.             $display (isset($params['startOffset']&& isset($params['startTransition']&& $params['startTransition'])
  93.                 ? (int) $params['startOffset'null;
  94.             $show (isset($params['startOffset']&& !(isset($params['startTransition']&& $params['startTransition']))
  95.                 ? (int) $params['startOffset'null;
  96.  
  97.             $opt['onActive'"\\function(toggler, i) {toggler.addClass('pane-toggler-down');" .
  98.                 "toggler.removeClass('pane-toggler');i.addClass('pane-down');i.removeClass('pane-hide');Cookie.write('jpanesliders_"
  99.                 . $group "',$$('div#" $group ".pane-sliders > .panel > h3').indexOf(toggler));}";
  100.             $opt['onBackground'"\\function(toggler, i) {toggler.addClass('pane-toggler');" .
  101.                 "toggler.removeClass('pane-toggler-down');i.addClass('pane-hide');i.removeClass('pane-down');if($$('div#"
  102.                 . $group ".pane-sliders > .panel > h3').length==$$('div#" $group
  103.                 . ".pane-sliders > .panel > h3.pane-toggler').length) Cookie.write('jpanesliders_" $group "',-1);}";
  104.             $opt['duration'(isset($params['duration'])) ? (int) $params['duration'300;
  105.             $opt['display'(isset($params['useCookie']&& $params['useCookie']$input->cookie->get('jpanesliders_' $group$display'integer')
  106.                 : $display;
  107.             $opt['show'(isset($params['useCookie']&& $params['useCookie']$input->cookie->get('jpanesliders_' $group$show'integer'$show;
  108.             $opt['opacity'(isset($params['opacityTransition']&& ($params['opacityTransition'])) 'true' 'false';
  109.             $opt['alwaysHide'(isset($params['allowAllClose']&& (!$params['allowAllClose'])) 'false' 'true';
  110.  
  111.             $options JHtml::getJSObject($opt);
  112.  
  113.             $js "window.addEvent('domready', function(){ new Fx.Accordion($$('div#" $group
  114.                 . ".pane-sliders > .panel > h3.pane-toggler'), $$('div#" $group ".pane-sliders > .panel > div.pane-slider'), " $options
  115.                 . "); });";
  116.  
  117.             $document->addScriptDeclaration($js);
  118.         }
  119.     }
  120. }

Documentation generated on Tue, 19 Nov 2013 15:13:57 +0100 by phpDocumentor 1.4.3