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;
|
|
}
|
|
}
|
|
?>
|