Source for file class.acBlockType_ui_slider.php

Documentation is available at class.acBlockType_ui_slider.php

  1. <?php
  2. {
  3.     function __construct(&$content_obj$params array())
  4.     {
  5.         $params['block_type''ui_slider';
  6.         parent::__construct($content_obj$params);
  7.         $slider_params array();
  8.         
  9.         if(isset($params['min']))
  10.             $slider_params['min'intval($params['min']);
  11.         
  12.         if(isset($params['max']))
  13.             $slider_params['max'intval($params['max']);
  14.         
  15.         if(isset($params['orientation']))
  16.             $slider_params['orientation'$params['orientation'];
  17.         
  18.         if(isset($params['range']))
  19.             $slider_params['range'ac_utils::IsTrue($params['range']true $params['range'];
  20.         
  21.         if(isset($params['step']))
  22.             $slider_params['step'intval($params['step']);
  23.         
  24.         $this->SetProperty('slider_params',$slider_params);
  25.         $this->SetProperty('unit',isset($params['unit']$params['unit''');
  26.     }
  27.     
  28.     public function GetInput()
  29.     {
  30.         $slider_params $this->GetProperty('slider_params');
  31.         $diff (isset($slider_params['max']$slider_params['max'10(isset($slider_params['min']$slider_params['min'0);
  32.         $total_steps ceil($diff (isset($slider_params['step']&& $slider_params['step'$slider_params['step'1));
  33.         $width $total_steps >= 100 '100%' $total_steps.'%';
  34.         $ret '
  35. <div id="'$this->GetProperty('id'.'_display">';
  36.  
  37.         if(isset($slider_params['range']))
  38.         {
  39.             $_values explode(',',$this->GetContent());
  40.             if($slider_params['range'=== true || $slider_params['range'=== false)
  41.             {
  42.                 if(count($_values2)
  43.                 {
  44.                     $value_min = isset($slider_params['min']$slider_params['min'0;
  45.                     $value_max intval($_values[0]);
  46.                 }
  47.                 else
  48.                 {
  49.                     $value_min intval($_values[0]);
  50.                     $value_max intval($_values[1]);
  51.                 }
  52.             }
  53.             else if($slider_params['range'== 'min')
  54.             {
  55.                 $value_min = isset($slider_params['min']$slider_params['min'0;
  56.                 $value_max count($_values$_values[0$_values[1];
  57.             }
  58.             else if($slider_params['range'== 'max')
  59.             {
  60.                 $value_min count($_values$_values[0$_values[1];
  61.                 $value_max = isset($slider_params['max']$slider_params['max'10;
  62.             }
  63.             if(isset($slider_params['max']&& $slider_params['max'$value_max)
  64.                 $value_max $slider_params['max'];
  65.             
  66.             if(isset($slider_params['min']&& $slider_params['min'$value_min)
  67.                 $value_min $slider_params['min'];
  68.             
  69.             $ret .= $value_min ' - ' $value_max;
  70.         }
  71.         else
  72.             $ret .= intval($this->GetContent());
  73.         
  74.         $ret .= ' ' $this->GetProperty('unit'
  75. '</div><br />
  76. <div id="'.$this->GetProperty('id').'_slider" style="margin:0.6em;'.(!isset($slider_params['orientation']|| $slider_params['orientation'== 'horizontal' 'width:'.$width '' )'"></div>
  77. <input id="'.$this->GetProperty('id').'" type="hidden" name="' $this->GetProperty('id''" value="' ($this->GetContent($this->GetContent(intval($this->GetContent())) '" />';
  78.         
  79.         return $ret;
  80.     }
  81.     
  82.     public function GetHeaderHTML()
  83.     {
  84.         if($this->_header_html_called)
  85.             return;
  86.         
  87.         $this->_header_html_called true;
  88.         
  89.         $ret '
  90. <script language="javascript" type="text/javascript">
  91. /* <![CDATA[ */
  92. ac_onload.push(function(){
  93.     (function($){';
  94.  
  95.         foreach(acContentBlockManager::GetBlocksByType('ui_slider'as $block_id)
  96.         {
  97.             $contentBlock  &$this->content_obj->GetContentBlock($block_id);
  98.             $slider_params $contentBlock->GetProperty('slider_params');
  99.             $ret .= '
  100.         $("#'.$block_id.'_slider").slider({
  101.             slide: function( event, ui ) {';
  102.         
  103.             if(isset($slider_params['range']))
  104.             {
  105.                 $ret .= '
  106.                 $("#'$block_id .'").val( ui.values );
  107.                 $("#'$block_id .'_display").html( ui.values[0] + \' - \' + ui.values[1] + " '$contentBlock->GetProperty('unit'.'");';
  108.             
  109.             }
  110.             else
  111.             {
  112.                 $ret .= '
  113.                 $("#'$block_id .'").val( ui.value );
  114.                 $("#'$block_id .'_display").html( ui.value + " '$contentBlock->GetProperty('unit'.'");';
  115.             
  116.             }
  117.             
  118.             $ret .= '
  119.             },';
  120.             
  121.             if(isset($slider_params['range']))
  122.             {
  123.                 $_values explode(','$contentBlock->GetContent());
  124.                 if($slider_params['range'=== true || $slider_params['range'=== false)
  125.                 {
  126.                     if(count($_values2)
  127.                     {
  128.                         $value_min = isset($slider_params['min']$slider_params['min'0;
  129.                         $value_max intval($_values[0]);
  130.                     }
  131.                     else
  132.                     {
  133.                         $value_min intval($_values[0]);
  134.                         $value_max intval($_values[1]);
  135.                     }
  136.                 }
  137.                 else if($slider_params['range'== 'min')
  138.                 {
  139.                     $value_min = isset($slider_params['min']$slider_params['min'0;
  140.                     $value_max count($_values$_values[0$_values[1];
  141.                 }
  142.                 else if($slider_params['range'== 'max')
  143.                 {
  144.                     $value_min count($_values$_values[0$_values[1];
  145.                     $value_max = isset($slider_params['max']$slider_params['max'10;
  146.                 }
  147.                 if(isset($slider_params['max']&& $slider_params['max'$value_max)
  148.                     $value_max $slider_params['max'];
  149.                 
  150.                 if(isset($slider_params['min']&& $slider_params['min'$value_min)
  151.                     $value_min $slider_params['min'];
  152.                 
  153.                 $ret .= 'values: [' $value_min ',' $value_max ']';
  154.             }
  155.             else
  156.                 $ret .= 'value: ' intval($contentBlock->GetContent());
  157.             
  158.             if(count($slider_params))
  159.             {
  160.                 $ret .= ',';
  161.                 $slider_settings array();
  162.                 foreach($slider_params as $paramName => $paramValue)
  163.                 {
  164.                     if(is_bool($paramValue))
  165.                         $slider_settings[$paramName ': ' ($paramValue 'true' 'false');
  166.                     else
  167.                         $slider_settings[$paramName ': ' (is_numeric($paramValue$paramValue '"' $paramValue '"');
  168.                 }
  169.                 $ret .= implode(',',$slider_settings);
  170.             }
  171.             $ret .= '
  172.         });';
  173.             
  174.         }
  175.         
  176.         return $ret '
  177.     })(jQuery);
  178. });
  179. /* ]]> */
  180. </script>';
  181.  
  182.     }
  183. }
  184. ?>

Documentation generated on Tue, 09 Oct 2012 16:57:04 +0200 by phpDocumentor 1.4.1