1038 lines
		
	
	
		
			61 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			1038 lines
		
	
	
		
			61 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @version		6.2.6 tabulizer $
 | |
|  * @package		tabulizer
 | |
|  * @copyright	Copyright © 2011 - All rights reserved.
 | |
|  * @license		GNU/GPL
 | |
|  * @author		Dimitrios Mourloukos
 | |
|  * @author mail	info@alterora.gr
 | |
|  * @website		www.tabulizer.com
 | |
|  * 
 | |
|  */
 | |
| 
 | |
| 
 | |
| // no direct access
 | |
| defined('_JEXEC') or die('Restricted access');
 | |
| 
 | |
| jimport( 'joomla.application.component.view' );
 | |
| 
 | |
| class tabulizerViewRule extends JViewLegacy
 | |
| {
 | |
| 	function __construct(){
 | |
| 		// add tabulizer CSS to override form styling
 | |
| 		$doc=JFactory::getDocument();
 | |
| 		$cssfile = TabulizerPath::getURLPath('tabulizer.css', 'admin_css');		
 | |
| 		$doc->addStyleSheet($cssfile);
 | |
| 		
 | |
| 		parent::__construct();		
 | |
| 	}
 | |
| 
 | |
| 	function display($tpl = null){				
 | |
| 		parent::display($tpl);
 | |
| 	}	
 | |
| 	
 | |
| 	function displayNew($tpl = null) {
 | |
| 		global $option, $mainframe;
 | |
| 
 | |
|         $return_urls = array();
 | |
| 		
 | |
| 		$model = $this->getModel();
 | |
| 		$ruleset = $model->getRuleset();				
 | |
| 		$model->getReturnURLs($return_urls);				
 | |
| 		
 | |
| 		$rule = array(
 | |
| 			'edit'=> false,			
 | |
| 			'rule_id' => count($ruleset['rules']),
 | |
| 			'ruleset_name' => $ruleset['name'],  
 | |
| 			'filename' => $ruleset['filename']						
 | |
| 		);
 | |
| 		$lists = $this->getEditRuleLists($rule);																
 | |
| 		
 | |
| 		$this->assignRef('lists', $lists);			
 | |
| 		$this->assignRef('return_urls', $return_urls);			
 | |
| 		
 | |
| 		parent::display($tpl);	
 | |
| 	}
 | |
| 
 | |
| 	function displayEdit($tpl = null){		
 | |
| 		global $option, $mainframe;
 | |
| 
 | |
|         $return_urls = array();
 | |
| 		
 | |
| 		$model = $this->getModel();
 | |
| 		$rule = $model->getRule();		
 | |
| 		$model->getReturnURLs($return_urls);				
 | |
| 		
 | |
| 		$rule['edit'] = true;
 | |
| 		$lists = $this->getEditRuleLists($rule);
 | |
| 		
 | |
| 		$this->assignRef('lists', $lists);			
 | |
| 		$this->assignRef('return_urls', $return_urls);			
 | |
| 		
 | |
| 		parent::display($tpl);
 | |
| 	}	
 | |
| 	
 | |
| 	function getEditRuleLists($rule){		
 | |
| 		$lists = array();					
 | |
| 		
 | |
| 		$select_selected = 'selected="selected"';
 | |
| 		$checkbox_selected = 'checked="checked"';
 | |
| 				
 | |
| 		$row_selected = $column_selected = $cell_selected = '';
 | |
| 		$element_value = $element_section = $range_value = $style_value = $graph_value = $prepend_value = $append_value = '';
 | |
| 		$split_value = $filter_value = $column_filter_value = $sort_value = $pagination_value = $scroll_value = $theme_value = $responsive_value = $format_value = $calculation_value = $modification_value = $add_files = null;
 | |
| 		$data_type = DATA_TYPE_UNDEFINED; 
 | |
| 		$data_type_params = '';
 | |
| 		$autospan_selected = false;
 | |
|         $th_tag_selected = false;
 | |
|         $remove_selected = false;
 | |
| 		$range_key = 0;
 | |
|         $priority = 0;
 | |
| 		
 | |
| 		# element
 | |
| 		$selected_value = (empty($rule['element']))?'row':$rule['element'];
 | |
| 		$options = array('none'=>JText::_('COM_TABULIZER_ELEMENT_TYPE_SELECT'), 'row'=>JText::_('COM_TABULIZER_ROW'), 'column'=>JText::_('COM_TABULIZER_COLUMN'), 'cell'=>JText::_('COM_TABULIZER_CELL'), 'table'=>JText::_('COM_TABULIZER_TABLE'));
 | |
| 		$attributes = array('onchange'=>'updateElementType(this)');
 | |
| 		$lists['element'] = TabulizerForm::getSelectCtrl('element', $selected_value, $options,$attributes);				
 | |
| 		$lists['element_type_value'] = $selected_value;
 | |
| 				
 | |
| 		# element section
 | |
| 		if (!empty($rule['element_section'])) {				
 | |
| 			$element_section = $rule['element_section'];												
 | |
| 		}
 | |
| 		$lists['element_section'] = TabulizerForm::getTextCtrl('element_section', $element_section);
 | |
| 				
 | |
| 		# range		
 | |
| 		if (!empty($rule['range'])) {				
 | |
| 			$range_value = $rule['range'];												
 | |
| 		}
 | |
| 		$lists['range'] = TabulizerForm::getTextCtrl('range', $range_value);
 | |
| 		
 | |
| 		# range key
 | |
| 		if (!empty($rule['range_key'])) {
 | |
| 			$range_key = $rule['range_key'];												
 | |
| 		}
 | |
| 		$lists['range_key'] = TabulizerForm::getTextCtrl('range_key', $range_key);
 | |
| 
 | |
|         # priority
 | |
|         if (!empty($rule['priority'])) {
 | |
|             $priority = $rule['priority'];
 | |
|         }
 | |
|         $lists['priority'] = TabulizerForm::getTextCtrl('priority', $priority);
 | |
| 		
 | |
| 		# style		
 | |
| 		if (!empty($rule['style'])) {
 | |
| 			$style_value = $rule['style'];		
 | |
| 		}		
 | |
| 		$lists['style'] = TabulizerForm::getTextCtrl('style', $style_value);
 | |
| 
 | |
|         # attribute
 | |
|         if (!empty($rule['attribute'])) {
 | |
|             list($attribute_name,$attribute_value) = explode(ATTRIBUTE_SEPARATOR,$rule['attribute'],2);
 | |
|         } else {
 | |
|             $attribute_name = $attribute_value = '';
 | |
|         }
 | |
|         $lists['attribute'] = '<div class="data_format_params"><table><tbody><tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ELEMENT_ATTRIBUTE_NAME').':</td><td>'.TabulizerForm::getTextCtrl('attribute_name', $attribute_name).'</td></tr><tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ELEMENT_ATTRIBUTE_VALUE').':</td><td>'.TabulizerForm::getTextCtrl('attribute_value', $attribute_value).'</td></tr></tbody></table></div>';
 | |
| 		
 | |
| 		# autospan
 | |
| 		if (!empty($rule['autospan'])) {
 | |
| 			$autospan_selected = true;	
 | |
| 		}					
 | |
| 		$lists['autospan'] = TabulizerForm::getCheckboxCtrl('autospan', '1', $autospan_selected) . JText::_('COM_TABULIZER_AUTOSPAN_SELECTED');
 | |
| 
 | |
|         # th tag
 | |
|         if (!empty($rule['th_tag'])) {
 | |
|             $th_tag_selected = true;
 | |
|         }
 | |
|         $lists['th_tag'] = TabulizerForm::getCheckboxCtrl('th_tag', '1', $th_tag_selected) . JText::_('COM_TABULIZER_TH_TAG_SELECTED');
 | |
| 
 | |
|         # remove
 | |
|         if (!empty($rule['remove'])) {
 | |
|             $remove_selected = true;
 | |
|         }
 | |
|         $lists['remove'] = TabulizerForm::getCheckboxCtrl('remove', '1', $remove_selected) . JText::_('COM_TABULIZER_REMOVE_SELECTED');
 | |
| 
 | |
| 		# format
 | |
| 		$format_vars = array('text_format','numeric_decimals', 'numeric_dec_point', 'numeric_thousands_sep', 'currency_decimals', 'currency_dec_point', 'currency_thousands_sep', 'currency_symbol', 'currency_symbol_order','date_format');
 | |
| 		foreach ($format_vars as $format_var) {
 | |
| 			$$format_var = null;
 | |
| 		}
 | |
| 		
 | |
| 		if (!empty($rule['format'])) {
 | |
| 			$format_value = $rule['format'];
 | |
| 			list($data_type,$data_type_params) = explode(DATA_TYPE_SEPARATOR,$format_value);
 | |
| 			$data_type_params = html_entity_decode($data_type_params,ENT_QUOTES,'UTF-8');
 | |
| 			
 | |
| 			switch ($data_type) {
 | |
| 				case DATA_TYPE_TEXT: 					
 | |
| 					$text_format = $data_type_params;
 | |
| 					break;
 | |
| 				case DATA_TYPE_NUMERIC: 
 | |
| 					list($numeric_decimals, $numeric_dec_point, $numeric_thousands_sep) = explode(FORMAT_NUMERIC_SEPARATOR, $data_type_params);
 | |
| 					break;
 | |
| 				case DATA_TYPE_CURRENCY: 
 | |
| 					list($currency_decimals, $currency_dec_point, $currency_thousands_sep, $currency_symbol, $currency_symbol_order) = explode(FORMAT_CURRENCY_SEPARATOR, $data_type_params);
 | |
| 					break;
 | |
| 				case DATA_TYPE_DATE: 
 | |
| 					$date_format = $data_type_params;
 | |
| 					break;
 | |
| 			}
 | |
| 		}						
 | |
| 					
 | |
| 		$lists['format'] = '';	
 | |
| 			
 | |
| 		$options = array(DATA_TYPE_UNDEFINED => JText::_('COM_TABULIZER_DATA_TYPE_UNDEFINED'), 
 | |
| 						DATA_TYPE_TEXT => JText::_('COM_TABULIZER_DATA_TYPE_TEXT'), 
 | |
| 						DATA_TYPE_NUMERIC => JText::_('COM_TABULIZER_DATA_TYPE_NUMERIC'), 
 | |
| 						DATA_TYPE_CURRENCY => JText::_('COM_TABULIZER_DATA_TYPE_CURRENCY'), 
 | |
| 						DATA_TYPE_DATE => JText::_('COM_TABULIZER_DATA_TYPE_DATE'));	
 | |
| 		$selected_value = empty($data_type)?DATA_TYPE_UNDEFINED:$data_type;
 | |
| 		$attributes = array('onChange'=>'updateDataType(this)');
 | |
| 		$lists['format'] .= TabulizerForm::getSelectCtrl('format_data_type',$selected_value,$options,$attributes);				
 | |
| 		
 | |
| 		$format_text_params_div_class = $format_numeric_params_div_class = $format_currency_params_div_class = $format_date_params_div_class = 'hidden_span';
 | |
| 		switch ($data_type) {
 | |
| 			case DATA_TYPE_TEXT: $format_text_params_div_class = ''; break;
 | |
| 			case DATA_TYPE_NUMERIC: $format_numeric_params_div_class = ''; break;
 | |
| 			case DATA_TYPE_CURRENCY: $format_currency_params_div_class = ''; break;
 | |
| 			case DATA_TYPE_DATE: $format_date_params_div_class = ''; break; 			
 | |
| 		}		
 | |
| 			
 | |
| 		$options = array(FORMAT_TEXT_UPPERCASE => JText::_('COM_TABULIZER_FORMAT_TEXT_UPPERCASE'),
 | |
| 						FORMAT_TEXT_LOWERCASE => JText::_('COM_TABULIZER_FORMAT_TEXT_LOWERCASE'),
 | |
| 						FORMAT_TEXT_UCFIRST => JText::_('COM_TABULIZER_FORMAT_TEXT_UCFIRST'),
 | |
| 						FORMAT_TEXT_UCWORDS => JText::_('COM_TABULIZER_FORMAT_TEXT_UCWORDS'));	
 | |
| 		$selected_value = empty($text_format)?FORMAT_TEXT_UPPERCASE:$text_format;
 | |
| 		$format_text_params_options = $this->getSelectOptions($options, $selected_value);					
 | |
| 		
 | |
| 		$numeric_decimals_options = '';
 | |
| 		$currency_decimals_options = '';
 | |
| 		for ($i=0;$i<10;$i++) {
 | |
| 			if ($i==$numeric_decimals) {
 | |
| 				$numeric_decimals_options .= '<option value="'.$i.'" '.$select_selected.'>'.$i.'</option>';
 | |
| 			} else {
 | |
| 				$numeric_decimals_options .= '<option value="'.$i.'">'.$i.'</option>';
 | |
| 			}	
 | |
| 			if ($i==$currency_decimals) {
 | |
| 				$currency_decimals_options .= '<option value="'.$i.'" '.$select_selected.'>'.$i.'</option>';
 | |
| 			} else {
 | |
| 				$currency_decimals_options .= '<option value="'.$i.'">'.$i.'</option>';
 | |
| 			}	
 | |
| 		}				
 | |
| 					
 | |
| 		$options = array(FORMAT_NUMERIC_DEC_POINT_COMMA => JText::_('COM_TABULIZER_FORMAT_NUMERIC_DEC_POINT_COMMA'), FORMAT_NUMERIC_DEC_POINT_PERIOD => JText::_('COM_TABULIZER_FORMAT_NUMERIC_DEC_POINT_PERIOD'));
 | |
| 		
 | |
| 		$selected_value = empty($numeric_dec_point)?FORMAT_NUMERIC_DEC_POINT_PERIOD:$numeric_dec_point;
 | |
| 		$numeric_dec_point_options = $this->getSelectOptions($options, $selected_value);				
 | |
| 		
 | |
| 		$selected_value = empty($numeric_thousands_sep)?FORMAT_NUMERIC_DEC_POINT_COMMA:$numeric_thousands_sep;
 | |
| 		$numeric_thousands_sep_options = $this->getSelectOptions($options, $selected_value);	
 | |
| 		
 | |
| 		$selected_value = empty($currency_dec_point)?FORMAT_NUMERIC_DEC_POINT_PERIOD:$currency_dec_point;
 | |
| 		$currency_dec_point_options = $this->getSelectOptions($options, $selected_value);		
 | |
| 		
 | |
| 		$selected_value = empty($currency_thousands_sep)?FORMAT_NUMERIC_DEC_POINT_COMMA:$currency_thousands_sep;
 | |
| 		$currency_thousands_sep_options = $this->getSelectOptions($options, $selected_value);
 | |
| 		
 | |
| 		$currency_symbol = empty($currency_symbol)?'€':$currency_symbol;
 | |
| 			
 | |
| 		$options = array(FORMAT_CURRENCY_SYMBOL_ORDER_NONE => JText::_('COM_TABULIZER_FORMAT_CURRENCY_SYMBOL_ORDER_NONE'), FORMAT_CURRENCY_SYMBOL_ORDER_BEFORE => JText::_('COM_TABULIZER_FORMAT_CURRENCY_SYMBOL_ORDER_BEFORE'), FORMAT_CURRENCY_SYMBOL_ORDER_AFTER => 	JText::_('COM_TABULIZER_FORMAT_CURRENCY_SYMBOL_ORDER_AFTER'));
 | |
| 		$selected_value = empty($currency_symbol_order)?FORMAT_CURRENCY_SYMBOL_ORDER_NONE:$currency_symbol_order;
 | |
| 		$currency_symbol_order_options = $this->getSelectOptions($options, $selected_value);			
 | |
| 		
 | |
| 		$options = array(FORMAT_DATE_DDMMYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYY_1'),
 | |
| 						FORMAT_DATE_DDMMYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYY_2'),
 | |
|                         FORMAT_DATE_DDMMYY_3 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYY_3'),
 | |
| 						FORMAT_DATE_MMDDYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_MMDDYY_1'),
 | |
| 						FORMAT_DATE_MMDDYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_MMDDYY_2'),									
 | |
| 						FORMAT_DATE_DDMMYYYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYYYY_1'),
 | |
| 						FORMAT_DATE_DDMMYYYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYYYY_2'),
 | |
|                         FORMAT_DATE_DDMMYYYY_4 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYYYY_4'),
 | |
| 						FORMAT_DATE_DDMMYYYY_3 => JText::_('COM_TABULIZER_FORMAT_DATE_DDMMYYYY_3'),
 | |
| 						FORMAT_DATE_MMDDYYYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_MMDDYYYY_1'),									
 | |
| 						FORMAT_DATE_MMDDYYYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_MMDDYYYY_2'),
 | |
| 						FORMAT_DATE_MMDDYYYY_3 => JText::_('COM_TABULIZER_FORMAT_DATE_MMDDYYYY_3'),
 | |
| 						FORMAT_DATE_dDDMMYYYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DDDMMYYYY_1'),
 | |
| 						FORMAT_DATE_dDDMMYYYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_DDDMMYYYY_2'),									
 | |
| 						FORMAT_DATE_dMMDDYYYY_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DMMDDYYYY_1'),
 | |
| 						FORMAT_DATE_dMMDDYYYY_2 => JText::_('COM_TABULIZER_FORMAT_DATE_DMMDDYYYY_2'),
 | |
| 						FORMAT_DATE_dDDm_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DDDM_1'),
 | |
| 						FORMAT_DATE_dmDD_1 => JText::_('COM_TABULIZER_FORMAT_DATE_DMDD_1'));
 | |
| 		$selected_value = empty($date_format)?FORMAT_DATE_DDMMYY_1:$date_format;				
 | |
| 		$format_date_params_options = $this->getSelectOptions($options, $selected_value);				
 | |
| 						
 | |
| 		$lists['format'] .= '<br/>
 | |
| 		<div id="format_params_div" style="display: block; margin-top: 10px;">
 | |
| 		
 | |
| 		<span id="format_text_params_div" class="'.$format_text_params_div_class.'">
 | |
| 		<div class="data_type_params"><table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_TEXT').':</td><td><select name="format_text_params" id="format_text_params">'.$format_text_params_options.'</select></td></tr>' .		
 | |
| 		'</table></div>
 | |
| 		</span>
 | |
| 
 | |
| 		<span id="format_numeric_params_div" class="'.$format_numeric_params_div_class.'">
 | |
| 		<div class="data_type_params"><table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_NUMERIC_DECIMALS').':</td><td><select name="format_numeric_decimals" id="format_numeric_decimals">'.$numeric_decimals_options.'</select></td></tr>' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_NUMERIC_DEC_POINT'). ':</td><td><select name="format_numeric_dec_point" id="format_numeric_dec_point">'.$numeric_dec_point_options.'</select></td></tr>' . 
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_NUMERIC_THOUSANDS_SEP'). ':</td><td><select name="format_numeric_thousands_sep" id="format_numeric_thousands_sep">'.$numeric_thousands_sep_options.'</select></td></tr>' .
 | |
| 			'</table></div>
 | |
| 		</span>
 | |
| 		
 | |
| 		<span id="format_currency_params_div" class="'.$format_currency_params_div_class.'">
 | |
| 		<div class="data_type_params"><table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_CURRENCY_DECIMALS').':</td><td><select name="format_currency_decimals" id="format_currency_decimals">'.$currency_decimals_options.'</select></td></tr>' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_CURRENCY_DEC_POINT'). ':</td><td><select name="format_currency_dec_point" id="format_currency_dec_point">'.$currency_dec_point_options.'</select></td></tr>' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_CURRENCY_THOUSANDS_SEP'). ':</td><td><select name="format_currency_thousands_sep" id="format_currency_thousands_sep">'.$currency_thousands_sep_options.'</select></td></tr>' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_CURRENCY_SYMBOL').':</td><td><input type="text" name="format_currency_symbol" id="format_currency_symbol" length="6" maxlength="24" value="'.htmlspecialchars($currency_symbol,ENT_COMPAT,'UTF-8').'"></td></tr>' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_CURRENCY_SYMBOL_ORDER').':</td><td><select name="format_currency_symbol_order" id="format_currency_symbol_order">'.$currency_symbol_order_options.'</select></td></tr>' .
 | |
| 			'</table></div>
 | |
| 		</span>				
 | |
| 		
 | |
| 		<span id="format_date_params_div" class="'.$format_date_params_div_class.'">
 | |
| 		<div class="data_type_params"><table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FORMAT_DATE').':</td><td><select name="format_date_params" id="format_date_params">'.$format_date_params_options.'</select></td></tr>' .		
 | |
| 		'</table></div>
 | |
| 		</span>
 | |
| 		
 | |
| 		</div>';
 | |
| 		
 | |
| 		$lists['format'] .= '<input type="hidden" name="format_data_type_params" id="format_data_type_params" value="'.$data_type_params.'">';							
 | |
| 				
 | |
| 		# replacement
 | |
| 		$replace_cs = 'checked="checked"';
 | |
| 		$replace_from = $replace_to = '';
 | |
| 		if (!empty($rule['replacement'])) {
 | |
| 			list($case_sensitive, $replace_from, $replace_to) = explode(REPLACEMENT_SEPARATOR, $rule['replacement'], 3);
 | |
| 			if ($case_sensitive) $replace_cs = 'checked="checked"'; else $replace_cs = '';
 | |
| 			if (!empty($replace_from)) $replace_from = htmlspecialchars($replace_from,ENT_QUOTES,'UTF-8'); 
 | |
| 			if (!empty($replace_to)) $replace_to = htmlspecialchars($replace_to,ENT_QUOTES,'UTF-8'); 
 | |
| 		}	
 | |
| 										
 | |
| 		$lists['replacement'] = '<div class="data_format_params"><table><tr class="tr_hi"><td class="fieldlabel2">'. JText::_('COM_TABULIZER_REPLACEMENT_FROM'). ':</td><td><input type="text" name="replace_from" id="replace_from" value="'.$replace_from.'" > <span class="tip">'.JText::_('COM_TABULIZER_ELEMENT_REPLACEMENT_BASE64_ENCODE_TIP').$this->getEncodingMenu('replace_from').'</span></td></tr>' .
 | |
| 								'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_REPLACEMENT_TO'). ':</td><td><input type="text" name="replace_to" id="replace_to" value="'.$replace_to.'" > <span class="tip">'.JText::_('COM_TABULIZER_ELEMENT_REPLACEMENT_BASE64_ENCODE_TIP').$this->getEncodingMenu('replace_to').'</span></td></tr>' .
 | |
| 								'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_REPLACEMENT_CS'). ':</td><td><input type="checkbox" name="replace_cs" id="replace_cs" value="1" '.$replace_cs.' > '.JText::_('COM_TABULIZER_YES').'</td></tr></table></div>';
 | |
| 
 | |
|         # table modification
 | |
|         if (!empty($rule['modification'])) {
 | |
|             $modification_value = $rule['modification'];
 | |
|         }
 | |
|         $lists['modification'] = $this->getModificationHTML($modification_value);
 | |
| 
 | |
| 		# calculation
 | |
| 		if (!empty($rule['calculation'])) {
 | |
| 			$calculation_value = $rule['calculation'];
 | |
| 		}		
 | |
| 		$lists['calculation'] = $this->getCalculationHTML($calculation_value);
 | |
| 		
 | |
| 		# prepend table
 | |
| 		if (!empty($rule['prepend'])) {
 | |
| 			$prepend_value = $rule['prepend'];
 | |
| 		}
 | |
| 		$lists['prepend'] = TabulizerForm::getTextareaCtrl('table_prepend',$prepend_value,array('class'=>'textarea_param'));
 | |
| 
 | |
| 		# append table
 | |
| 		if (!empty($rule['append'])) {
 | |
| 			$append_value = $rule['append'];
 | |
| 		}
 | |
| 		$lists['append'] = TabulizerForm::getTextareaCtrl('table_append',$append_value,array('class'=>'textarea_param'));
 | |
| 
 | |
|         # add files
 | |
|         if (!empty($rule['add_files'])) {
 | |
|             $add_files_value = $rule['add_files'];
 | |
|         } else {
 | |
|             $add_files_value = '';
 | |
|         }
 | |
|         $lists['add_files'] = $this->getAddFilesHTML($add_files_value);
 | |
| 		
 | |
| 		TabulizerPath::requireLib('ruleset','common');
 | |
|         $ruleset = new RulesetLoader();
 | |
| 				
 | |
| 		# split table
 | |
| 		if (!empty($rule['split'])) {
 | |
| 			if (!$ruleset->parseSplitValue($rule['split'], $split_value)) $split_value = null;
 | |
| 		}
 | |
| 		$lists['split'] = $this->getSplitHTML('table_split',$split_value);
 | |
| 		
 | |
| 		# sort
 | |
| 		if (!empty($rule['sort'])) {
 | |
| 			if (!$ruleset->parseSortValue($rule['sort'],$sort_value)) $sort_value = null;
 | |
| 		}
 | |
| 		$lists['sort'] = $this->getSortHTML('table_sort',$sort_value);
 | |
| 		
 | |
| 		# pagination
 | |
| 		if (!empty($rule['pagination'])) {
 | |
| 			if (!$ruleset->parsePaginationValue($rule['pagination'],$pagination_value)) $pagination_value = null;
 | |
| 		}
 | |
| 		$lists['pagination'] = $this->getPaginationHTML('table_pagination',$pagination_value);
 | |
| 		
 | |
| 		# scroll
 | |
| 		if (!empty($rule['scroll'])) {
 | |
| 			if (!$ruleset->parseScrollValue($rule['scroll'],$scroll_value)) $scroll_value = null;
 | |
| 		}
 | |
| 		$lists['scroll'] = $this->getScrollHTML('table_scroll',$scroll_value);
 | |
| 				
 | |
| 		# filter
 | |
| 		if (!empty($rule['filter'])) {
 | |
| 			if (!$ruleset->parseFilterValue($rule['filter'],$filter_value)) $filter_value = null;
 | |
| 		}
 | |
|         if (!empty($rule['column_filter'])) {
 | |
|             if (!$ruleset->parseColumnFilterValue($rule['column_filter'],$column_filter_value)) $column_filter_value = null;
 | |
|         }
 | |
| 		$lists['filter'] = $this->getFilterHTML('table_filter',$filter_value,'table_column_filter',$column_filter_value);
 | |
| 
 | |
|         if (!empty($rule['theme'])) {
 | |
|             if (!$ruleset->parseThemeValue($rule['theme'],$theme_value)) $theme_value = null;
 | |
|         }
 | |
|         $lists['theme'] = $this->getThemeHTML('table_theme',$theme_value);
 | |
| 		
 | |
| 		# responsive
 | |
| 		if (!empty($rule['responsive'])) {
 | |
| 			if (!$ruleset->parseResponsiveValue($rule['responsive'],$responsive_value)) $responsive_value = null;
 | |
| 		}
 | |
| 		$lists['responsive'] = $this->getResponsiveHTML('table_responsive',$responsive_value);
 | |
| 		
 | |
| 		# export table data
 | |
|         $export_table_value = null;
 | |
| 		if (!empty($rule['export_table'])) {
 | |
| 			if (!$ruleset->parseExportTableValue($rule['export_table'],$export_table_value)) $export_table_value = null;
 | |
| 		}
 | |
| 		$lists['export_table'] = $this->getExportTableHTML('table_export_table',$export_table_value);				
 | |
| 		
 | |
| 		# convert table to graph
 | |
| 		if (!empty($rule['graph'])) {
 | |
| 			$graph_value = $rule['graph'];		
 | |
| 		}		
 | |
| 		$lists['graph'] = '<input type="text" name="table_graph" id="table_graph" value="'.$graph_value.'" />';				
 | |
| 		
 | |
| 		$lists['base64_tools'] = $this->getBase64Tools();
 | |
| 		
 | |
| 		# edit flag
 | |
| 		$lists['edit'] = $rule['edit'];																	
 | |
| 		
 | |
| 		$lists['rule_id'] = '<input type="hidden" name="rule_id" value="'.$rule['rule_id'].'" />';
 | |
| 		$lists['ruleset_name'] = '<input type="hidden" name="ruleset_name" value="'.htmlspecialchars($rule['ruleset_name'],ENT_COMPAT,'UTF-8').'" />';
 | |
| 		$lists['filename'] = '<input type="hidden" name="archive_filename" value="'.htmlspecialchars($rule['filename'],ENT_COMPAT,'UTF-8').'" />';
 | |
| 		
 | |
| 		$lists['rule_id_value'] = $rule['rule_id'];
 | |
| 		$lists['ruleset_name_value'] = $rule['ruleset_name']; // $ruleset['name'];
 | |
| 		$lists['filename_value'] = $rule['filename'];
 | |
| 		
 | |
| 		return $lists;
 | |
| 	}	
 | |
| 	
 | |
| 	function getCalculationHTML($calculation_value) {
 | |
| 
 | |
| 		$function_name = null;				
 | |
| 		$arg_range = null;	
 | |
| 		$custom_arg = null;
 | |
| 											
 | |
| 		if (!empty($calculation_value)) {			
 | |
| 
 | |
| 			// backward compatibility
 | |
| 			if (is_numeric($calculation_value)) {	
 | |
| 				switch ($calculation_value) {
 | |
| 					case CALCULATION_ADD_ABOVE: $function_name = 'add'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_ADD_BELOW: $function_name = 'add'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_ADD_LEFT: $function_name = 'add'; $element = 'column'; $arg_range = '[SAME],[1-P1]'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_ADD_RIGHT: $function_name = 'add'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					case CALCULATION_MUL_ABOVE: $function_name = 'mul'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_MUL_BELOW: $function_name = 'mul'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_MUL_LEFT: $function_name = 'mul'; $element = 'column'; $arg_range = '[SAME],[1-P1'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_MUL_RIGHT: $function_name = 'mul'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					case CALCULATION_AVG_ABOVE: $function_name = 'avg'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_AVG_BELOW: $function_name = 'avg'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_AVG_LEFT: $function_name = 'avg'; $element = 'column'; $arg_range = '[SAME],[1-P1'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_AVG_RIGHT: $function_name = 'avg'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					case CALCULATION_MED_ABOVE: $function_name = 'med'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_MED_BELOW: $function_name = 'med'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_MED_LEFT: $function_name = 'med'; $element = 'column'; $arg_range = '[SAME],[1-P1'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_MED_RIGHT: $function_name = 'med'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					case CALCULATION_MIN_ABOVE: $function_name = 'min'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_MIN_BELOW: $function_name = 'min'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_MIN_LEFT: $function_name = 'min'; $element = 'column'; $arg_range = '[SAME],[1-P1'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_MIN_RIGHT: $function_name = 'min'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					case CALCULATION_MAX_ABOVE: $function_name = 'max'; $element = 'row'; $arg_range = '[1-P1],[SAME]'; $custom_arg = 'above';  break;
 | |
| 					case CALCULATION_MAX_BELOW: $function_name = 'max'; $element = 'row'; $arg_range = '[N1-L1],[SAME]'; $custom_arg = 'below';  break;
 | |
| 					case CALCULATION_MAX_LEFT: $function_name = 'max'; $element = 'column'; $arg_range = '[SAME],[1-P1'; $custom_arg = 'left';  break;
 | |
| 					case CALCULATION_MAX_RIGHT: $function_name = 'max'; $element = 'column'; $arg_range = '[SAME],[N1-L1]'; $custom_arg = 'right';  break;
 | |
| 					default: return null;
 | |
| 				}
 | |
| 				
 | |
| 				$calculation_value = $function_name.CALCULATION_SEP.CALCULATION_SEP.$arg_range.CALCULATION_SEP.$custom_arg;
 | |
| 			}			
 | |
| 		
 | |
| 			$parts = explode(CALCULATION_SEP,$calculation_value);
 | |
| 			if (count($parts)==3) {
 | |
| 				$function_name = $parts[0];
 | |
| 				$arg_range = $parts[1];								
 | |
| 				$custom_arg = $parts[2];
 | |
| 			}	
 | |
| 		}			
 | |
| 						
 | |
| 		$html = '<div class="data_format_params"><table>' . 
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_CALCULATION_FUNCTION').':</td><td><input type="input" name="calc_function_name" id="calc_function_name" value="'.$function_name.'" ></td></tr>' . "\n" .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_CALCULATION_ARG_RANGE').':</td><td><input type="input" name="calc_arg_range" id="calc_arg_range" value="'.$arg_range.'" ></td></tr>' . "\n" .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_CALCULATION_CUSTOM_ARG').':</td><td><input type="input" name="calc_custom_arg" id="calc_custom_arg" value="'.$custom_arg.'" ></td></tr>' . "\n" .
 | |
| 			'</table></div>' . 
 | |
| 			TabulizerForm::getHiddenCtrl('calculation','');
 | |
| 		
 | |
| 		return $html;		
 | |
| 		
 | |
| 	}
 | |
| 
 | |
|     # table modification
 | |
|     function getModificationHTML($modification_value) {
 | |
|         $function_name = '';
 | |
|         $function_args = '';
 | |
| 
 | |
|         $parts = explode(MODIFICATION_SEP,$modification_value);
 | |
|         if (count($parts)==2) {
 | |
|             $function_name = $parts[0];
 | |
|             $function_args = $parts[1];
 | |
|         }
 | |
| 
 | |
|         $html = '<div class="data_format_params"><table>' .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_MODIFICATION_FUNCTION_NAME').':</td><td><input type="input" name="modification_function_name" id="modification_function_name" value="'.$function_name.'" ></td></tr>' . "\n" .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_MODIFICATION_FUNCTION_ARGS').':</td><td><input type="input" name="modification_function_args" id="modification_function_args" value="'.TabulizerString::makeHTMLSafe($function_args).'" ></td></tr>' . "\n" .
 | |
|             '</table></div>' .
 | |
|             TabulizerForm::getHiddenCtrl('modification','');
 | |
| 
 | |
|         return $html;
 | |
|     }
 | |
| 
 | |
|     # add files
 | |
|     function getAddFilesHTML($add_files_value) {
 | |
| 
 | |
|         $add_files_css =  $add_files_js = '';
 | |
|         $add_jquery_support = 0;
 | |
|         $add_jqueryui_support = 0;
 | |
|         $add_scroll_support = 0;
 | |
| 
 | |
|         $file_types = array('js','css','jquery','jquery-ui','scroll-support');
 | |
|         foreach ($file_types as $file_type) {
 | |
|             if (preg_match('/'.$file_type.'\[([^\]]+)\]/i',$add_files_value,$matches)) {
 | |
|                 if ($file_type == 'css') $add_files_css = $matches[1];
 | |
|                 else if ($file_type == 'js') $add_files_js = $matches[1];
 | |
|                 else if ($file_type == 'jquery') $add_jquery_support = 1;
 | |
|                 else if ($file_type == 'jquery-ui') $add_jqueryui_support = 1;
 | |
|                 else if ($file_type == 'scroll-support') $add_scroll_support = 1;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         $html = '<div class="data_format_params"><table>' .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ADD_FILES_CSS').':</td><td>'.TabulizerForm::getTextCtrl('add_files_css',$add_files_css).'</td></tr>' . "\n" .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ADD_FILES_JS').':</td><td>'.TabulizerForm::getTextCtrl('add_files_js',$add_files_js).'</td></tr>' . "\n" .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ADD_FILES_JQUERY_SUPPORT').':</td><td>'.TabulizerForm::getCheckboxCtrl('add_jquery_support',1,$add_jquery_support).'</td></tr>' . "\n" .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ADD_FILES_JQUERYUI_SUPPORT').':</td><td>'.TabulizerForm::getCheckboxCtrl('add_jqueryui_support',1,$add_jqueryui_support).'</td></tr>' . "\n" .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_ADD_FILES_SCROLL_SUPPORT').':</td><td>'.TabulizerForm::getCheckboxCtrl('add_scroll_support',1,$add_scroll_support).'</td></tr>' . "\n" .
 | |
|             '</table></div>'.
 | |
|             TabulizerForm::getHiddenCtrl('add_files','');
 | |
| 
 | |
|         return $html;
 | |
|     }
 | |
| 	
 | |
| 	# split	
 | |
| 	function getSplitHTML($name,$value) {
 | |
| 		$html = '';
 | |
| 		
 | |
| 		$split_type = 0;
 | |
| 		$split_rows = 0;
 | |
|         $split_groupby = 0;
 | |
| 		$split_top_header = 0;		
 | |
| 		$split_bottom_header = 0;				
 | |
| 		$split_index = 0;
 | |
| 		$split_caption = '';						
 | |
| 		
 | |
| 		if (!empty($value)) {			
 | |
| 			$split_type = $value['type'];
 | |
| 			$split_rows = $value['rows'];
 | |
|             $split_groupby = $value['groupby'];
 | |
| 			if (!empty($value['top_header'])) $split_top_header = $value['top_header']; 
 | |
| 			if (!empty($value['bottom_header'])) $split_bottom_header = $value['bottom_header']; 
 | |
| 			if (!empty($value['index'])) $split_index = $value['index']; 
 | |
| 			if (!empty($value['caption'])) $split_caption = $value['caption']; 
 | |
| 		}										
 | |
| 		
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'),SPLIT_MULTIPART=>JText::_('COM_TABULIZER_SPLIT_MULTIPART'),SPLIT_MULTIPAGE=>JText::_('COM_TABULIZER_SPLIT_MULTIPAGE'),SPLIT_HIDE=>JText::_('COM_TABULIZER_SPLIT_HIDE'));
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_TYPE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_type',$split_type,$options,array('onchange'=>'updateSplitType(this)')).'</td></tr>'."\n";
 | |
| 		
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'));
 | |
| 		for ($i=1;$i<=SPLIT_MAX_ROWS_SELECTION;) {
 | |
| 			$options[$i] = $i;			
 | |
| 			if ($i<10) $i=$i+1;
 | |
| 			else if ($i<30) $i=$i+5;
 | |
| 			else $i = $i + 10;
 | |
| 		}
 | |
|         $options2 = array(0=>JText::_('COM_TABULIZER_NONE'));
 | |
|         for ($i=1;$i<=SPLIT_MAX_GROUPBY_SELECTION;$i++) {
 | |
|             $options2[$i] = $i;
 | |
|         }
 | |
| 
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.
 | |
|             JText::_('COM_TABULIZER_SPLIT_ROWS_TYPE').':</td><td>'.
 | |
|             '<table class="fieldtable1">
 | |
|             <tr><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_ROWS_HEADER').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_rows',$split_rows,$options,array('onchange'=>'updateSplitBy(\'rows\')')).'</td></tr>
 | |
|             <tr><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_GROUPBY_HEADER').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_groupby',$split_groupby,$options2,array('onchange'=>'updateSplitBy(\'groupby\')')).'</td></tr>
 | |
|             </table>'.
 | |
|             '</td></tr>'."\n";
 | |
| 
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_TOP_HEADER').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_top_header',$split_top_header,$options).'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_BOTTOM_HEADER').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_bottom_header',$split_bottom_header,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         $tr_split_index_class = ($split_type == SPLIT_MULTIPAGE)?'hidden_tr':'tr_hi';
 | |
| 		$html .= '<tr class="'.$tr_split_index_class.'" id="tr_split_index"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_INDEX').':</td><td>'.TabulizerForm::getCheckboxCtrl($name.'_index', '1', $split_index).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SPLIT_CAPTION').':</td><td>'.TabulizerForm::getTextCtrl($name.'_caption', $split_caption).' <span class="tip">'.JText::_('COM_TABULIZER_SPLIT_CAPTION_BASE64_ENCODE_TIP').$this->getEncodingMenu($name.'_caption').'</span></td></tr>'."\n";
 | |
| 		
 | |
| 		$html = '<div class="data_format_params"><table>' . $html . '</table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 	
 | |
| 	# sort	
 | |
| 	function getSortHTML($name,$value) {
 | |
| 		$html = '';
 | |
| 
 | |
|         $enabled = 0;
 | |
| 		$orderby_id = 0;
 | |
| 		$orderby_direction = 'asc';
 | |
|         $header_size = 1;
 | |
|         $footer_size = 0;
 | |
|         $header_top = 'auto';
 | |
|         $exclude = '';
 | |
|         $datatypes = '';
 | |
| 		if (!empty($value)) {
 | |
|             if (!empty($value['enabled'])) $enabled = 1;
 | |
|             $orderby_id = $value['orderby']['id'];
 | |
| 			$orderby_direction = $value['orderby']['direction'];
 | |
|             if (!empty($value['header_size'])) $header_size = $value['header_size'];
 | |
|             if (!empty($value['header_top'])) $header_top = $value['header_top'];
 | |
|             if (!empty($value['footer_size'])) $footer_size = $value['footer_size'];
 | |
|             if (!empty($value['exclude_str'])) $exclude = str_replace(' ','',$value['exclude_str']);
 | |
|             if (!empty($value['datatypes_str'])) $datatypes = str_replace(' ','',$value['datatypes_str']);
 | |
| 		}
 | |
| 
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_enabled','1',$enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
| 
 | |
| 		$options = array();
 | |
|         $options[-1] = JText::_('COM_TABULIZER_SORT_NO_INITIAL_ORDER');
 | |
| 		for ($i=1;$i<=SORT_MAX_ORDERBYID_SELECTION;$i++) $options[$i] = $i;
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_ORDERBYID').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_id',$orderby_id,$options).'</td></tr>'."\n";
 | |
| 		
 | |
| 		$options = array('asc'=>JText::_('COM_TABULIZER_SORT_ASC'),'desc'=>JText::_('COM_TABULIZER_SORT_DESC'));		
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_ORDERBYDIRECTION').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_direction',$orderby_direction,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         $options = array();
 | |
|         for ($i=1;$i<=SORT_MAX_DATATABLES_HEADERS;$i++) $options[$i] = $i;
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_HEADER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_header_size',$header_size,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         $options = array('auto'=>JText::_('COM_TABULIZER_SORT_HEADER_TOP_AUTO'),'true'=>JText::_('COM_TABULIZER_SORT_HEADER_TOP_TRUE'),'false'=>JText::_('COM_TABULIZER_SORT_HEADER_TOP_FALSE'));
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_HEADER_TOP').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_header_top',$header_top,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         $options = array();
 | |
|         for ($i=0;$i<=SORT_MAX_DATATABLES_HEADERS;$i++) $options[$i] = $i;
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_FOOTER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_footer_size',$footer_size,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_EXCLUDE_COLUMNS').':</td><td>'.TabulizerForm::getTextCtrl($name.'_exclude', $exclude).'</td></tr>'."\n";
 | |
| 
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SORT_DATATYPES_COLUMNS').':</td><td>'.TabulizerForm::getTextCtrl($name.'_datatypes', $datatypes).'</td></tr>'."\n";
 | |
| 		
 | |
| 		$html = '<div class="data_format_params"><table>' . $html . '</table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 	
 | |
| 	# pagination
 | |
| 	function getPaginationHTML($name,$value) {
 | |
| 		$html = '';				
 | |
| 		
 | |
| 		$enabled = 0;
 | |
| 		$type = 0;
 | |
|         $position_vertical = 'bottom';
 | |
|         $position_horizontal = 'right';
 | |
|         $header_size = 0;
 | |
|         $footer_size = 0;
 | |
| 		$limit = 10;
 | |
|         $limitchange = array('vertical'=>'top','horizontal'=>'left');
 | |
|         $info = array('vertical'=>'bottom','horizontal'=>'left');
 | |
| 				
 | |
| 		if (!empty($value)) {
 | |
| 			$enabled = $value['enabled'];
 | |
| 			if ($enabled) {
 | |
| 				if (!empty($value['limit'])) $limit = $value['limit'];
 | |
|                 if (empty($value['limitchange'])) $limitchange = 0;
 | |
|                 if (empty($value['info'])) $info = 0;
 | |
| 				if (!empty($value['type'])) $type = $value['type'];
 | |
| 				if (!empty($value['position'])) {
 | |
| 					if (!empty($value['position']['vertical'])) $position_vertical = $value['position']['vertical'];
 | |
| 					if (!empty($value['position']['horizontal'])) $position_horizontal = $value['position']['horizontal'];
 | |
| 				}
 | |
|                 if (!empty($value['header_size'])) $header_size = $value['header_size'];
 | |
|                 if (!empty($value['footer_size'])) $footer_size = $value['footer_size'];
 | |
| 			} else {
 | |
| 				$type = 0;
 | |
| 			}	
 | |
| 		}				
 | |
| 
 | |
|         // type
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'),'basic'=>JText::_('COM_TABULIZER_PAGINATION_TYPE_BASIC'),'full'=>JText::_('COM_TABULIZER_PAGINATION_TYPE_FULL'));
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_TYPE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_type',$type,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // position
 | |
| 		$position_value = $position_vertical.'-'.$position_horizontal;
 | |
| 		$options = array('top-left'=>JText::_('COM_TABULIZER_POSITION_TOP_LEFT'),'top-right'=>JText::_('COM_TABULIZER_POSITION_TOP_RIGHT'),
 | |
| 								  'bottom-left'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_LEFT'),'bottom-right'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_RIGHT'));
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_POSITION').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_position',$position_value,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // limit (rows/table)
 | |
|         $user_preferences = TabulizerInfo::getUserPreferences($error_msg);
 | |
|         if ($user_preferences) {
 | |
|             $menu_length_values = explode(',',$user_preferences['pagination_length_menu']);
 | |
|         } else {
 | |
|             $menu_length_values = explode(',',PAGINATION_LENGTH_MENU);
 | |
|         }
 | |
|         $options = array(0=>JText::_('COM_TABULIZER_DEFAULT'));
 | |
|         foreach ($menu_length_values as $i) {
 | |
|             $options[$i] = $i;
 | |
|         }
 | |
|         $options[-1] = JText::_('COM_TABULIZER_ALL');
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_LIMIT').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_limit',$limit,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // change limit
 | |
|         $position_value = empty($limitchange)?0:$limitchange['vertical'].'-'.$limitchange['horizontal'];
 | |
|         $options = array(0=>JText::_('COM_TABULIZER_NONE'),'top-left'=>JText::_('COM_TABULIZER_POSITION_TOP_LEFT'),'top-right'=>JText::_('COM_TABULIZER_POSITION_TOP_RIGHT'),
 | |
|             'bottom-left'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_LEFT'),'bottom-right'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_RIGHT'));
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_LIMITCHANGE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_limitchange',$position_value,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // info (page # or total)
 | |
|         $position_value = empty($info)?0:$info['vertical'].'-'.$info['horizontal'];
 | |
|         $options = array(0=>JText::_('COM_TABULIZER_NONE'),'top-left'=>JText::_('COM_TABULIZER_POSITION_TOP_LEFT'),'top-right'=>JText::_('COM_TABULIZER_POSITION_TOP_RIGHT'),
 | |
|             'bottom-left'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_LEFT'),'bottom-right'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_RIGHT'));
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_INFO').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_info',$position_value,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // header size
 | |
|         $options = array();
 | |
|         for ($i=0;$i<=PAGINATION_MAX_DATATABLES_HEADERS;$i++) $options[$i] = $i;
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_HEADER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_header_size',$header_size,$options).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_PAGINATION_FOOTER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_footer_size',$footer_size,$options).'</td></tr>'."\n";
 | |
| 
 | |
|         // combine all together
 | |
| 		$html = '<div class="data_format_params"><table>' . $html . '</table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 	
 | |
| 	# scroll
 | |
| 	function getScrollHTML($name,$value) {
 | |
| 
 | |
| 		$xaxis_scroll = $yaxis_scroll = '';
 | |
|         $xaxis_enabled = $yaxis_enabled = false;
 | |
| 		
 | |
| 		if (!empty($value)) {
 | |
| 			if (!empty($value['xaxis'])) { $xaxis_scroll = $value['xaxis']; $xaxis_enabled = true; }
 | |
| 			if (!empty($value['yaxis'])) { $yaxis_scroll = $value['yaxis']; $yaxis_enabled = true; }
 | |
| 		}
 | |
| 
 | |
|         $html = '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_yaxis_enabled','1',$yaxis_enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SCROLL_SIZE').':</td><td>'.TabulizerForm::getTextCtrl($name.'_yaxis',$yaxis_scroll).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td colspan="2"><span class="tip2">'.JText::_('COM_TABULIZER_SCROLL_YAXIS_TIP').'</span></td></tr>';
 | |
|         $vertical_scroll_html = '<table class="fieldtable1">' . $html. '</table>';
 | |
| 
 | |
|         $html = '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_xaxis_enabled','1',$xaxis_enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_SCROLL_SIZE').':</td><td>'.TabulizerForm::getTextCtrl($name.'_xaxis',$xaxis_scroll).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td colspan="2"><span class="tip2">'.sprintf(JText::_('COM_TABULIZER_SCROLL_XAXIS_TIP'),JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_1')).'</span></td></tr>';
 | |
|         $horizontal_scroll_html = '<table class="fieldtable1">' . $html. '</table>';
 | |
| 
 | |
|         $html = '<div class="data_format_params"><table><tr class="tr_hi"><td class="fieldlabel3">' . JText::_('COM_TABULIZER_SCROLL_YAXIS') . '</td><td class="fieldlabel3">' . JText::_('COM_TABULIZER_SCROLL_XAXIS') . '</td></tr><tr><td>' . $vertical_scroll_html . '</td><td>' . $horizontal_scroll_html . '</td></tr></table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 			
 | |
| 	# filter
 | |
| 	function getFilterHTML($filter_name,$filter_value,$column_filter_name,$column_filter_value) {
 | |
| 
 | |
|         $options_0 = array();
 | |
|         $options_1 = array();
 | |
|         for ($i=0;$i<=FILTER_MAX_DATATABLES_HEADERS;$i++) {
 | |
|             $options_0[$i] = $i;
 | |
|             if ($i>0) $options_1[$i] = $i;
 | |
|         }
 | |
| 
 | |
|         // table wide filtering (all columns)
 | |
|         $html = '';
 | |
| 
 | |
|         $name = $filter_name;
 | |
| 		$value = $filter_value;
 | |
| 
 | |
| 		$enabled = 0;
 | |
|         $header_size = 1;
 | |
|         $footer_size = 0;
 | |
| 		$position_vertical = 'top';
 | |
| 		$position_horizontal = 'right';
 | |
|         $highlight = 0;
 | |
| 		if (!empty($value)) {
 | |
| 			$enabled = $value['enabled'];
 | |
|             if (!empty($value['header_size'])) $header_size = $value['header_size'];
 | |
|             if (!empty($value['footer_size'])) $footer_size = $value['footer_size'];
 | |
| 			if (!empty($value['position'])) {
 | |
| 				if (!empty($value['position']['vertical'])) $position_vertical = $value['position']['vertical'];
 | |
| 				if (!empty($value['position']['horizontal'])) $position_horizontal = $value['position']['horizontal'];
 | |
| 			}
 | |
|             if (!empty($value['highlight'])) $highlight = $value['highlight'];
 | |
| 		}
 | |
| 		$position_value = $position_vertical.'-'.$position_horizontal;
 | |
| 		$position_options = array('top-left'=>JText::_('COM_TABULIZER_POSITION_TOP_LEFT'),'top-right'=>JText::_('COM_TABULIZER_POSITION_TOP_RIGHT'),
 | |
| 								  'bottom-left'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_LEFT'),'bottom-right'=>JText::_('COM_TABULIZER_POSITION_BOTTOM_RIGHT'));
 | |
| 		
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_enabled','1',$enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_POSITION').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_position',$position_value,$position_options).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_HIGHLIGHT').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_highlight','1',$highlight).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_HEADER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_header_size',$header_size,$options_0).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_FOOTER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_footer_size',$footer_size,$options_0).'</td></tr>'."\n";
 | |
| 
 | |
|         $filter_html = '<table class="fieldtable1">' . $html. '</table>';
 | |
| 
 | |
|         // specific column filtering
 | |
|         $html = '';
 | |
|         $name = $column_filter_name;
 | |
|         $value = $column_filter_value;
 | |
| 
 | |
|         $enabled = 0;
 | |
|         $headerrow = 1;
 | |
|         $header_size = 1;
 | |
|         $footer_size = 0;
 | |
|         $columns = '';
 | |
|         if (!empty($value)) {
 | |
|             $enabled = $value['enabled'];
 | |
|             if (!empty($value['headerrow'])) $headerrow = $value['headerrow'];
 | |
|             if (!empty($value['header_size'])) $header_size = $value['header_size'];
 | |
|             if (!empty($value['footer_size'])) $footer_size = $value['footer_size'];
 | |
|             if (!empty($value['columns'])) {
 | |
|                 $columns = $value['columns_str'];
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_enabled','1',$enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_HEADER_ROW').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_headerrow',$headerrow,$options_1).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_COLUMN_LIST').':</td><td>'.TabulizerForm::getTextCtrl($name.'_columns',$columns).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_HEADER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_header_size',$header_size,$options_1).'</td></tr>'."\n";
 | |
|         $html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_FILTER_FOOTER_SIZE').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_footer_size',$footer_size,$options_0).'</td></tr>'."\n";
 | |
|         $column_filter_html = '<table class="fieldtable1">' . $html. '</table>';
 | |
| 		
 | |
| 		$html = '<div class="data_format_params"><table><tr class="tr_hi"><td class="fieldlabel3">' . JText::_('COM_TABULIZER_FILTER_ALL_TABLE') . '</td><td class="fieldlabel3">' . JText::_('COM_TABULIZER_FILTER_SPECIFIC_COLUMNS') . '</td></tr><tr><td>' . $filter_html . '</td><td>' . $column_filter_html . '</td></tr></table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($filter_name, '');
 | |
|         $html .= TabulizerForm::getHiddenCtrl($column_filter_name, '');
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 
 | |
|     # theme
 | |
|     function getThemeHTML($name,$value) {
 | |
|         $options = array(0=>JText::_('COM_TABULIZER_NONE'));
 | |
|         $dir = TabulizerPath::getDirPath('themes');
 | |
|         if (is_dir($dir)) {
 | |
|             if ($dh = opendir($dir)) {
 | |
|                 while (($file = readdir($dh)) !== false) {
 | |
|                     if (is_file($dir . $file)) {
 | |
|                         if (preg_match('/css$/i',$file)) {
 | |
|                             $parts = pathinfo($file);
 | |
|                             $options[$file] = ucwords(preg_replace('/a-z/i',' ',$parts['filename']));
 | |
|                         }
 | |
|                     }
 | |
|                 }
 | |
|                 closedir($dh);
 | |
|             }
 | |
|         }
 | |
|         $options['themeroller'] = 'Themeroller - jQuery UI';
 | |
| 
 | |
|         $html = TabulizerForm::getSelectCtrl($name,$value,$options);
 | |
| 
 | |
|         return $html;
 | |
|     }
 | |
| 	
 | |
| 	# responsive
 | |
| 	function getResponsiveHTML($name,$value) {
 | |
| 		$html = '';				
 | |
| 		
 | |
| 		$pattern_id = 0;
 | |
|         $pattern_params = null;
 | |
| 		$params = array(RESPONSIVE_PATTERN_1 => array('width'=>'','height'=>'','nicescroll'=>0,'zoom'=>0,'touch'=>0,'cursor'=>array('display'=>1,'width'=>0,'color'=>'')),
 | |
|                         RESPONSIVE_PATTERN_3 => array('priorities'=>array(1=>'essential',2=>'essential',3=>'optional',4=>'optional',5=>'optional')),
 | |
| 						RESPONSIVE_PATTERN_4 => array('expand'=>1, 'hides'=>array(2=>'phone',3=>'phone',4=>'tablet',5=>'tablet'))
 | |
| 						);
 | |
| 		
 | |
| 		if (!empty($value)) {		
 | |
| 			$pattern_id = $value['pattern'];			
 | |
| 			if (!empty($value['params'])) $pattern_params = $value['params'];
 | |
| 		}
 | |
| 
 | |
|         $pattern_1_div_class = $pattern_3_div_class = $pattern_4_div_class = 'hidden_span';
 | |
| 		switch ($pattern_id) {
 | |
|             case RESPONSIVE_PATTERN_1: $pattern_1_div_class = ''; $params[$pattern_id] = $pattern_params; break;
 | |
| 			case RESPONSIVE_PATTERN_3: $pattern_3_div_class = ''; $params[$pattern_id] = $pattern_params; break;
 | |
| 			case RESPONSIVE_PATTERN_4: $pattern_4_div_class = ''; $params[$pattern_id] = $pattern_params; break;
 | |
| 		}
 | |
| 
 | |
|         // pattern #1 params
 | |
|         $pattern_scrollbars_params = '';
 | |
|         $pattern_scrollbars_params .= '<tr class="tr_hi"><td class="fieldlabel3">'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_WIDTH').':</td><td>'.TabulizerForm::getTextCtrl($name.'_width',$params[RESPONSIVE_PATTERN_1]['width'],array('class'=>'short_param')).' <span class="tip">'.JText::_('COM_TABULIZER_OPTIONAL_INPUT_FIELD').'</span></td></tr>';
 | |
|         $pattern_scrollbars_params .= '<tr class="tr_hi"><td class="fieldlabel3">'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_HEIGHT').':</td><td>'.TabulizerForm::getTextCtrl($name.'_height',$params[RESPONSIVE_PATTERN_1]['height'],array('class'=>'short_param')).' <span class="tip">'.JText::_('COM_TABULIZER_OPTIONAL_INPUT_FIELD').'</span></td></tr>';
 | |
| 
 | |
|         $nicescroll_enabled = empty($params[RESPONSIVE_PATTERN_1]['nicescroll'])?0:1;
 | |
|         if ($nicescroll_enabled) {
 | |
|             $nicescroll_tr_class = 'tr_hi';
 | |
|         } else {
 | |
|             $nicescroll_tr_class = 'hidden';
 | |
|         }
 | |
| 
 | |
|         $cursor_width_options = array(0=>JText::_('COM_TABULIZER_DEFAULT'));
 | |
|         for ($i=1;$i<15;$i++) $cursor_width_options[$i] = "{$i}px";
 | |
|         $cursor_options = '<table class="fieldtable1">'.
 | |
|             '<tr><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_CURSOR_DISPLAY').':</td><td>'.TabulizerForm::getCheckboxCtrl($name.'_cursor_display','1',$params[RESPONSIVE_PATTERN_1]['cursor']['display']).' '.JText::_('COM_TABULIZER_YES').'</td></tr>' .
 | |
|             '<tr><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_CURSOR_WIDTH').':</td><td>'. TabulizerForm::getSelectCtrl($name.'_cursor_width',$params[RESPONSIVE_PATTERN_1]['cursor']['width'],$cursor_width_options).'</td></tr>' .
 | |
|             '<tr><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_CURSOR_COLOR').':</td><td>'.TabulizerForm::getTextCtrl($name.'_cursor_color',$params[RESPONSIVE_PATTERN_1]['cursor']['color'],array('class'=>'short_param')).' <span class="tip">'.JText::_('COM_TABULIZER_OPTIONAL_INPUT_FIELD').'</span></td></tr>' .
 | |
|             '</table>';
 | |
| 
 | |
|         $nicescroll_params = '
 | |
|         <table id="responsive_1_nicescroll_tbl">
 | |
|             <tr id="ncflg" class="tr_hi"><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_NICESCROLL_ENABLED').'</td><td>'.TabulizerForm::getCheckboxCtrl($name.'_nicescroll','1',$params[RESPONSIVE_PATTERN_1]['nicescroll'],array('onclick'=>'showHideNicescrollParams(this)')).' '.JText::_('COM_TABULIZER_YES').'</td></tr>
 | |
|             <tr id="ncp_1" class="'.$nicescroll_tr_class.'"><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_ZOOM').':</td><td>'.TabulizerForm::getCheckboxCtrl($name.'_zoom','1',$params[RESPONSIVE_PATTERN_1]['zoom']).' '.JText::_('COM_TABULIZER_YES').'</td></tr>
 | |
|             <tr id="ncp_2" class="'.$nicescroll_tr_class.'"><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_TOUCH').':</td><td>'.TabulizerForm::getCheckboxCtrl($name.'_touch','1',$params[RESPONSIVE_PATTERN_1]['touch']).' '.JText::_('COM_TABULIZER_YES').'</td></tr>
 | |
|             <tr id="ncp_3" class="'.$nicescroll_tr_class.'"><td>'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_CURSOR').':</td><td>'.$cursor_options.'</td></tr>
 | |
|         </table>';
 | |
| 
 | |
|         $pattern_scrollbars_params .= '<tr class="tr_hi"><td class="fieldlabel3">'.JText::_('COM_TABULIZER_RESPONSIVE_SCROLLBAR_NICESCROLL').':</td><td>'.$nicescroll_params.'</td></tr>';
 | |
| 
 | |
|         $pattern_scrollbars_params = '<table width="100%">'.$pattern_scrollbars_params.'</table>';
 | |
| 
 | |
|         $pattern_scrollbars_params_html = '<span id="responsive_'.RESPONSIVE_PATTERN_1.'_params_div" class="'.$pattern_1_div_class.'">
 | |
| 		<table width="100%">' .
 | |
|             '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_RESPONSIVE_PARAMS_1').':</td><td>'.$pattern_scrollbars_params.'</td></tr>' .
 | |
|             '</table>
 | |
|             </span>';
 | |
| 
 | |
|         // pattern #3 params
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'), 'persist'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_PERSIST'), 'essential'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_ESSENTIAL'), 'optional'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_OPTIONAL'),'invisible_column'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_INVISIBLE'));
 | |
| 		$top_row = $bottom_row = '';
 | |
| 		for ($i=1;$i<=RESPONSIVE_PATTERN_PARAMS_MAX_COLUMNS;$i++) {
 | |
| 			$column_value = (isset($params[RESPONSIVE_PATTERN_3]['priorities'][$i]))?$params[RESPONSIVE_PATTERN_3]['priorities'][$i]:0;
 | |
| 			$column_selection = TabulizerForm::getSelectCtrl($name.'_header_selection_params_'.$i,$column_value,$options);			
 | |
| 			$top_row .= '<td>'.sprintf(JText::_('COM_TABULIZER_RESPONSIVE_COLUMN_PRIORITY'),$i).'</td>';
 | |
| 			$bottom_row .= '<td>'.$column_selection.'</td>';
 | |
| 		}
 | |
| 		$pattern_header_selection_params = '<table><tr>'.$top_row.'</tr><tr>'.$bottom_row.'</tr></table>';
 | |
| 		
 | |
| 		$pattern_header_selection_params_html = '<span id="responsive_'.RESPONSIVE_PATTERN_3.'_params_div" class="'.$pattern_3_div_class.'">
 | |
| 		<table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_RESPONSIVE_PARAMS_3').':</td><td>'.$pattern_header_selection_params.'</td></tr>' .		
 | |
| 		'</table>
 | |
| 		</span>';		
 | |
| 
 | |
| 		// pattern #4 params
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'), 'expand'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_EXPAND'), 'phone'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_PHONE'), 'tablet'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_TABLET'),'all'=>JText::_('COM_TABULIZER_RESPONSIVE_PRIORITY_ALL'));
 | |
| 		$top_row = $bottom_row = '';
 | |
| 		for ($i=1;$i<=RESPONSIVE_PATTERN_PARAMS_MAX_COLUMNS;$i++) {
 | |
| 			if (!empty($params[RESPONSIVE_PATTERN_4]['expand'])&&($params[RESPONSIVE_PATTERN_4]['expand'] == $i)) $column_value = 'expand'; 
 | |
| 			else $column_value = (isset($params[RESPONSIVE_PATTERN_4]['hides'][$i]))?$params[RESPONSIVE_PATTERN_4]['hides'][$i]:0;			
 | |
| 			$column_selection = TabulizerForm::getSelectCtrl($name.'_expand_params_'.$i,$column_value,$options);			
 | |
| 			$top_row .= '<td>'.sprintf(JText::_('COM_TABULIZER_RESPONSIVE_COLUMN_PRIORITY'),$i).'</td>';
 | |
| 			$bottom_row .= '<td>'.$column_selection.'</td>';
 | |
| 		}
 | |
| 		$pattern_expand_params = '<table><tr>'.$top_row.'</tr><tr>'.$bottom_row.'</tr></table>';
 | |
| 		
 | |
| 		$pattern_expand_params_html = '<span id="responsive_'.RESPONSIVE_PATTERN_4.'_params_div" class="'.$pattern_4_div_class.'">
 | |
| 		<table width="100%">' .
 | |
| 			'<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_RESPONSIVE_PARAMS_4').':</td><td>'.$pattern_expand_params.'</td></tr>' .
 | |
| 		'</table>
 | |
| 		</span>';
 | |
| 					
 | |
| 		$options = array(0=>JText::_('COM_TABULIZER_NONE'),
 | |
| 						RESPONSIVE_PATTERN_1 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_1'),
 | |
| 						RESPONSIVE_PATTERN_2 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_2'),
 | |
| 						RESPONSIVE_PATTERN_3 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_3'),
 | |
| 						RESPONSIVE_PATTERN_4 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_4'),
 | |
| 						RESPONSIVE_PATTERN_5 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_5'),
 | |
| 						RESPONSIVE_PATTERN_6 => JText::_('COM_TABULIZER_RESPONSIVE_PATTERN_6'));
 | |
| 		$attributes = array('onchange'=>'updateResponsivePattern(this)');				
 | |
| 		$html .= '<div class="data_type_params">'.TabulizerForm::getSelectCtrl($name.'_patternid',$pattern_id,$options,$attributes) . '<br/><br style="line-height:15px" />' .
 | |
| 				$pattern_scrollbars_params_html .
 | |
| 				$pattern_header_selection_params_html . 
 | |
| 				$pattern_expand_params_html . '</div>';
 | |
| 				
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');
 | |
| 
 | |
|         $responsive_wrapper_tip_class = empty($pattern_id)?'hidden_span':'';
 | |
|         $responsive_wrapper_tip_html = '<span class="'.$responsive_wrapper_tip_class.'" id="responsive_wrapper_tip"><span style="display:inline-block;padding-top:5px">'.JText::_('COM_TABULIZER_RESPONSIVE_WRAPPER_TIP').'<br/><a href="javascript:addResponsiveWrapper()">'.JText::_('COM_TABULIZER_RESPONSIVE_WRAPPER_ADD').'</a></span></span>';
 | |
|         $html .= $responsive_wrapper_tip_html;
 | |
| 		
 | |
| 		return $html;
 | |
| 	}
 | |
| 	
 | |
| 	function getExportTableHTML($name,$value) {
 | |
| 		$html = '';
 | |
| 				
 | |
| 		$enabled = 0;
 | |
| 		$view_value = 0;
 | |
| 		$download_value = 1;
 | |
| 		$email_value = 1;
 | |
| 		$strip_tags_value = 'all';
 | |
| 		if (!empty($value)) {
 | |
| 			$enabled = $value['enabled'];
 | |
| 			$view_value = $value['view'];
 | |
| 			$download_value = $value['download'];
 | |
| 			$email_value = $value['email'];
 | |
| 			$strip_tags_value = $value['strip_tags'];			
 | |
| 		}
 | |
| 
 | |
| 		$strip_tags_options = array( 'none' => JText::_('COM_TABULIZER_EXPORT_TABLE_STRIP_TAGS_NONE'), 'all' => JText::_('COM_TABULIZER_EXPORT_TABLE_STRIP_TAGS_ALL')); 
 | |
| 		
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_EXPORT_TABLE_ENABLED').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_enabled','1',$enabled).' '.JText::_('COM_TABULIZER_YES').'</td></tr>'."\n";
 | |
| 		//$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_EXPORT_TABLE_VIEW').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_view','1',$view_value).'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_EXPORT_TABLE_DOWNLOAD').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_download','1',$download_value).'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_EXPORT_TABLE_EMAIL').':</td><td>'.TabulizerForm::getCheckboxCtrl($name .'_email','1',$email_value).'</td></tr>'."\n";
 | |
| 		$html .= '<tr class="tr_hi"><td class="fieldlabel2">'.JText::_('COM_TABULIZER_EXPORT_TABLE_STRIP_TAGS').':</td><td>'.TabulizerForm::getSelectCtrl($name.'_strip_tags',$strip_tags_value,$strip_tags_options).'</td></tr>'."\n";
 | |
| 		
 | |
| 		$html = '<div class="data_format_params"><table>' . $html . '</table></div>';
 | |
| 		
 | |
| 		$html .= TabulizerForm::getHiddenCtrl($name, '');		
 | |
| 		
 | |
| 		return $html;		
 | |
| 	}		
 | |
| 	
 | |
| 	function getSelectOptions($options, $selected_value) {
 | |
| 		$options_html = '';
 | |
| 		foreach ($options as $value => $label) {
 | |
| 			if ($value == $selected_value) {
 | |
| 				$options_html .= '<option value="'.$value.'" selected="selected">'.$label.'</option>';
 | |
| 			} else {
 | |
| 				$options_html .= '<option value="'.$value.'">'.$label.'</option>';
 | |
| 			}
 | |
| 		}
 | |
| 		return $options_html;
 | |
| 	}
 | |
| 
 | |
|     function getEncodingMenu($name) {
 | |
|         $html = '<span class="base64_tools_menu">[<a href="javascript:encode_base64_value(\''.$name.'\');">'.JText::_('COM_TABULIZER_BASE64_TOOLS_ENCODE_BTN').'</a>|<a href="javascript:decode_base64_value(\''.$name.'\');">'.JText::_('COM_TABULIZER_BASE64_TOOLS_DECODE_BTN').'</a>]</span>';
 | |
|         return $html;
 | |
|     }
 | |
| 	
 | |
| 	function getBase64Tools() {
 | |
| 		$document = JFactory::getDocument();
 | |
| 		$js_url = TabulizerPath::getURLPath('base64_tools.js','admin_js'); // JURI::base() . '/components/com_tabulizer/assets/js/base64_tools.js';
 | |
| 		$document->addScript($js_url);
 | |
| 		$html = '<table><tr><td><a href="javascript:encode_base64();">'.JText::_('COM_TABULIZER_BASE64_TOOLS_ENCODE_BTN').'</a></td><td><input type="text" name="encode_from" id="encode_from" value="" ></td><td> --> </td><td><input type="text" name="encode_to" id="encode_to" value="" ></td></tr>'.
 | |
| 				'<tr><td><a href="javascript:decode_base64();">'.JText::_('COM_TABULIZER_BASE64_TOOLS_DECODE_BTN').'</a></td><td><input type="text" name="decode_from" id="decode_from" value="" ></td><td> --> </td><td><input type="text" name="decode_to" id="decode_to" value="" ></td></tr></table>';
 | |
| 				
 | |
| 		return $html;				
 | |
| 	}
 | |
| }
 | |
| ?>
 |