| Current Path : /home/bonneesp/www/administrator/components/com_tabulizer/views/rule/tmpl/ |
| Current File : /home/bonneesp/www/administrator/components/com_tabulizer/views/rule/tmpl/form.php |
<?php
/**
* @version 6.5.0 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');
$jinput = JFactory::getApplication()->input;
$option = $jinput->getCmd('option');
JHTML::_('behavior.tooltip');
$edit = $this->lists['edit'];
$text = !$edit ? JText::_('COM_TABULIZER_NEW' ) : JText::_('COM_TABULIZER_EDIT' );
JToolBarHelper::title( JText::_('COM_TABULIZER_RULE' ).': <small><small>[ ' . $text.' ]</small></small>','config' );
JToolBarHelper::save();
JToolBarHelper::custom( 'saveNew', 'save-new', 'save-new', JText::_('COM_TABULIZER_SAVE_AND_NEW'), false, false );
if (!$edit) {
JToolBarHelper::cancel();
} else {
// for existing items the button is renamed `close`
JToolBarHelper::cancel( 'cancel', JText::_('COM_TABULIZER_CLOSE') );
}
JToolBarHelper::help( 'all_topics', true );
$archives_return_url = '&archives_return_url='.urlencode($this->return_urls['archives']);
$archive_return_url = '&archive_return_url='.urlencode($this->return_urls['archive']);
$return_url = $this->return_urls['ruleset'].$archive_return_url.$archives_return_url;
TabulizerUtils::opentipInit();
function getShowHideClass($element_type, $key, &$row_class_count) {
$all_keys = array(
'field_section_1',
'field_section_2',
'field_section_3',
'field_section_4',
'field_section_5',
'element',
'range',
'range_key',
'priority',
'element_section',
'style',
'attribute',
'autospan',
'th_tag',
'remove',
'format',
'replacement',
'modification',
'calculation',
'prepend',
'append',
'add_files',
'split',
'pagination',
'scroll',
'sort',
'filter',
'theme',
'responsive',
'graph',
'export_table',
);
switch ($element_type) {
case 'row':
case 'column':
$show_keys = array( 'element',
'range',
'range_key',
'priority',
'element_section',
'style',
'attribute',
'autospan',
'th_tag',
'remove',
'format',
'replacement',
'calculation',
);
break;
case 'cell':
$show_keys = array( 'element',
'range',
'priority',
'style',
'attribute',
'format',
'replacement',
'calculation',
);
break;
case 'table':
$show_keys = array( 'element',
'range',
'priority',
'style',
'attribute',
'format',
'replacement',
'modification',
'prepend',
'append',
'add_files',
'split',
'pagination',
'sort',
'filter',
'scroll',
'theme',
'responsive',
'graph',
'export_table');
break;
default:
$show_keys = array('element',
);
break;
}
if (in_array($key, $show_keys)) {
$class = 'zebrarow'; // instead of $class = 'row'.$row_class_count;
$row_class_count = 1 - $row_class_count;
} else {
$class='hidden_tr';
}
return $class;
}
function getShowHideHeaderClass($element_type, $key) {
$all_keys = array(
'field_section_1',
'field_section_2',
'field_section_3',
'field_section_4',
'field_section_5',
);
switch ($element_type) {
case 'row':
case 'column':
$show_keys = array( 'field_section_1',
'field_section_2',
'field_section_3',
);
break;
case 'cell':
$show_keys = array( 'field_section_1',
'field_section_2',
'field_section_3',
);
break;
case 'table':
$show_keys = array( 'field_section_1',
'field_section_2',
'field_section_3',
'field_section_4',
'field_section_5',
);
break;
default:
$show_keys = array('element',
);
break;
}
if (in_array($key, $show_keys)) {
$class = 'tr_field_section';
} else {
$class='hidden_tr';
}
return $class;
}
?>
<script language="javascript" type="text/javascript">
function updateDataType(el) {
var data_type = el.options[el.selectedIndex].value;
var span_map = {<?php echo DATA_TYPE_UNDEFINED;?> : null,
<?php echo DATA_TYPE_TEXT;?> : 'format_text_params_div',
<?php echo DATA_TYPE_NUMERIC;?> : 'format_numeric_params_div',
<?php echo DATA_TYPE_CURRENCY;?> : 'format_currency_params_div',
<?php echo DATA_TYPE_DATE;?> : 'format_date_params_div' };
var hidden_spans = new Array('format_text_params_div','format_numeric_params_div','format_currency_params_div','format_date_params_div');
var hidden_span, i;
for (i=0;i<hidden_spans.length;i++) {
hidden_span = document.getElementById(hidden_spans[i]);
hidden_span.className = "hidden_span";
}
if (span_map[data_type]) {
hidden_span = document.getElementById(span_map[data_type]);
hidden_span.className = "";
}
}
function updateElementType(eltype) {
var all_keys = new Array('element','range','range_key','priority','element_section','style','autospan','th_tag','remove','format','replacement','calculation','modification','prepend','append','add_files','split','pagination','scroll','sort','filter','theme','responsive','graph','export_table');
var show_keys = null;
var all_headers = new Array('field_section_1','field_section_2','field_section_3','field_section_4','field_section_5');
var header_keys = null;
switch (eltype.value) {
case 'row':
case 'column':
show_keys = new Array('element',
'range',
'range_key',
'priority',
'element_section',
'style',
'autospan',
'th_tag',
'remove',
'format',
'replacement',
'calculation'
);
header_keys = new Array('field_section_1','field_section_2','field_section_3');
break;
case 'cell':
show_keys = new Array('element',
'range',
'priority',
'style',
'format',
'replacement',
'calculation'
);
header_keys = new Array('field_section_1','field_section_2','field_section_3');
break;
case 'table':
show_keys = new Array('element',
'range',
'priority',
'style',
'format',
'replacement',
'modification',
'prepend',
'append',
'add_files',
'split',
'pagination',
'scroll',
'sort',
'filter',
'theme',
'responsive',
'graph',
'export_table');
header_keys = new Array('field_section_1','field_section_2','field_section_3','field_section_4','field_section_5');
// also suggest the table range value, which most of the times is "all"
var range = document.getElementById('range');
if (range.value == '') range.value = 'all';
break;
default:
show_keys = new Array('element'
);
break;
}
var row_class_count = 0, i, j, form_key, form_tr;
for (i = 0; i < all_keys.length; i++) {
form_key = all_keys[i];
form_tr = document.getElementById('tr_'+form_key);
j = show_keys.indexOf(form_key);
if (j >= 0) {
form_tr.className = 'zebrarow'; // or 'row' + row_class_count;
row_class_count = 1 - row_class_count;
} else {
form_tr.className = 'hidden_tr';
}
}
for (i = 0; i < all_headers.length; i++) {
form_key = all_headers[i];
form_tr = document.getElementById(form_key);
j = header_keys.indexOf(form_key);
if (j >= 0) {
form_tr.className = 'tr_field_section';
} else {
form_tr.className = 'hidden_tr';
}
}
}
function updateResponsivePattern(elpattern) {
var pattern_id = elpattern.value;
var pattern_span, pattern_span_ids = [<?php echo RESPONSIVE_PATTERN_1 . ',' . RESPONSIVE_PATTERN_3 . ',' . RESPONSIVE_PATTERN_4; ?>];
for (var i=0;i<pattern_span_ids.length;i++) {
pattern_span = document.getElementById('responsive_'+pattern_span_ids[i]+'_params_div');
if (pattern_span_ids[i] == pattern_id) {
pattern_span.className = "";
} else {
pattern_span.className = "hidden_span";
}
}
var responsive_wrapper_tip = document.getElementById('responsive_wrapper_tip');
if (pattern_id != '0') {
responsive_wrapper_tip.className = "";
} else {
responsive_wrapper_tip.className = "hidden_span";
}
}
function addResponsiveWrapper() {
var elprepend = document.getElementById('table_prepend');
var elappend = document.getElementById('table_append');
var eladdfiles_css = document.getElementById('add_files_css');
elprepend.value = '<div class="responsive-wrapper">' + elprepend.value;
elappend.value = elappend.value + '</div>';
eladdfiles_css.value = 'responsive-wrapper.css';
}
function validateElementType(eltype) {
if ((eltype.value != "row") && (eltype.value != "column") && (eltype.value != "cell") && (eltype.value != "table")) {
return false;
}
return true;
}
function validateElementRange(elrange, eltype) {
var range = elrange.value.toUpperCase().replace(/\s/g,"");
if (range != '') return true;
else return false;
}
function validateElementRangeKey(elrange_key, eltype) {
var range_key = elrange_key.value.replace(/\s/g,"");
var regex = /^([\d]+)$/;
var valid = true;
if (range_key != '') {
if (!regex.test(range_key)) valid = false;
else if ((eltype == 'cell')||(eltype == 'table')) {
if (range_key != '0') valid = false;
}
}
return valid;
}
function updateSplitType(el) {
var eltr = document.getElementById('tr_split_index');
var elindex = document.getElementById('table_split_index');
if (el.value == '<?php echo SPLIT_MULTIPAGE;?>') {
eltr.className = "hidden_tr";
elindex.checked = false;
} else {
eltr.className = "tr_split_index";
}
}
function updateSplitBy(sel) {
var split_by_rows = document.getElementById('table_split_rows');
var split_by_groupby = document.getElementById('table_split_groupby');
if ((sel == 'rows')&&(split_by_rows.selectedIndex != 0)) split_by_groupby.selectedIndex = 0;
else if ((sel == 'groupby')&&(split_by_groupby.selectedIndex != 0)) split_by_rows.selectedIndex = 0;
}
function showHideNicescrollParams(el) {
var class_name = '';
if (el.checked) {
class_name = 'tr_hi';
} else {
class_name = 'hidden';
}
for (var i=1;i<=3;i++) {
document.getElementById('ncp_'+i).className = class_name;
}
}
function validateElementPriority(elpriority, eltype) {
var priority = elpriority.value.replace(/\s/g,"");
var regex = /^([\d]+)$/;
var valid = true;
if (priority != '') {
if (!regex.test(priority)) valid = false;
}
return valid;
}
function validateElementSection(elsection, eltype) {
var element_section = elsection.value.replace(/\s/g,"");
if (element_section == '') return true;
else if ((eltype == 'cell')||(eltype == 'table')) {
return false;
}
return true;
}
function validateElementStyleValue(style) {
var regex = /^[0-9a-zA-Z_-]{1,64}$/i;
if (regex.test(style)) {
return true;
}
return false;
}
function validateElementStyle(elstyle) {
var style = elstyle.value.replace(/\s/g,"");
var valid = true;
if (style != "") {
valid = validateElementStyleValue(style);
}
return valid;
}
function validateElementAutospan(elautospan, eltype) {
var valid = true;
if (elautospan) {
if ((eltype == 'cell')||(eltype=='table')) {
valid = false;
}
}
return valid;
}
function validateElementThTag(elthtag, eltype) {
var valid = true;
if (elthtag) {
if ((eltype == 'cell')||(eltype=='table')) {
valid = false;
}
}
return valid;
}
function validateElementRemove(elremove, eltype) {
var valid = true;
if (elremove) {
if ((eltype == 'cell')||(eltype=='table')) {
valid = false;
}
}
return valid;
}
function getTextTypeParams() {
var text_params = document.getElementById('format_text_params').value;
return text_params;
}
function getNumericTypeParams() {
var numeric_decimals = document.getElementById('format_numeric_decimals').value;
var numeric_dec_point = document.getElementById('format_numeric_dec_point').value;
var numeric_thousands_sep = document.getElementById('format_numeric_thousands_sep').value;
var sep = "<?php echo FORMAT_NUMERIC_SEPARATOR; ?>";
var numeric_params = numeric_decimals + sep + numeric_dec_point + sep + numeric_thousands_sep;
return numeric_params;
}
function getCurrencyTypeParams() {
var currency_decimals = document.getElementById('format_currency_decimals').value;
var currency_dec_point = document.getElementById('format_currency_dec_point').value;
var currency_thousands_sep = document.getElementById('format_currency_thousands_sep').value;
var currency_symbol = document.getElementById('format_currency_symbol').value;
var currency_symbol_order = document.getElementById('format_currency_symbol_order').value;
var sep = "<?php echo FORMAT_CURRENCY_SEPARATOR; ?>";
var currency_params = currency_decimals + sep + currency_dec_point + sep + currency_thousands_sep + sep + currency_symbol + sep + currency_symbol_order;
return currency_params;
}
function getDateTypeParams() {
var date_params = document.getElementById('format_date_params').value;
return date_params;
}
function validateElementFormat(eldatatype, eldatatypeparams) {
var valid = true;
var typeparams = null;
eldatatype = parseInt(eldatatype);
switch (eldatatype) {
case <?php echo DATA_TYPE_TEXT; ?>: typeparams = getTextTypeParams(); break;
case <?php echo DATA_TYPE_NUMERIC; ?>: typeparams = getNumericTypeParams(); break;
case <?php echo DATA_TYPE_CURRENCY; ?>: typeparams = getCurrencyTypeParams(); break;
case <?php echo DATA_TYPE_DATE; ?>: typeparams = getDateTypeParams(); break;
default: return true;
}
if (!typeparams) {
valid = false;
} else {
eldatatypeparams.value = typeparams;
}
return valid;
}
function validateAddFiles(el_css_files, el_js_files, jquery_selected, jqueryui_selected, scrollsupport_selected ) {
var valid = true;
var add_files_value = '';
var files_sep = ';';
var regex1 = new RegExp('^[a-z0-9_\.-]+\.css(;[a-z0-9_\.-]+\.css)*$','i');
var regex2 = new RegExp('^[a-z0-9_\.-]+\.js(;[a-z0-9_\.-]+\.js)*$','i');
el_css_files.value.replace(/\s/g,"");
if (el_css_files.value != '') {
if (regex1.test(el_css_files.value)) {
add_files_value += 'css['+el_css_files.value+']';
}
}
el_js_files.value.replace(/\s/g,"");
if (el_js_files.value != '') {
if (regex2.test(el_js_files.value)) {
add_files_value += 'js['+el_js_files.value+']';
}
}
if (jquery_selected) {
add_files_value += 'jquery[1]';
}
if (jqueryui_selected) {
add_files_value += 'jquery-ui[1]';
}
if (scrollsupport_selected) {
add_files_value += 'scroll-support[<?php echo SCROLL_LIBRARY_NAME; ?>]';
}
document.getElementById('add_files').value = add_files_value;
return valid;
}
function validateElementReplacement(replace_from, replace_to) {
var valid = true;
//if ((replace_from.value == '') && (replace_to.value != '')) valid = false;
return valid;
}
function validateElementAttribute(attribute_name, attribute_value) {
var valid = true;
if ((attribute_name.value == '') && (attribute_value.value != '')) valid = false;
if ((attribute_name.value != '') && (attribute_value.value == '')) valid = false;
return valid;
}
function validateElementModify(modification, modification_function_name, modification_function_args) {
var valid = true;
var modification_sep = "<?php echo MODIFICATION_SEP; ?>";
var function_name = modification_function_name.value.replace(/\s/g,"");
var function_args = modification_function_args.value;
if ((function_name == '') && (function_args == '')) {
return true;
}
// function name
var regex_funcname = /^([a-z\d_\-\.]+)$/;
if (!function_name.match(regex_funcname)) {
alert("<?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_MODIFICATION_FUNC_NAME'); ?>: " + function_name);
return false;
}
modification.value = function_name + modification_sep + function_args;
return valid;
}
function validateElementCalculation(calculation, calc_function_name, calc_arg_range, calc_custom_arg) {
var valid = true;
var calc_sep = "<?php echo CALCULATION_SEP; ?>";
var function_name = calc_function_name.value.replace(/\s/g,"");
var arg_range = calc_arg_range.value.replace(/\s/g,"");
var custom_arg = calc_custom_arg.value.replace(/\s/g,"");
if ((function_name == '') && (arg_range == '') && (custom_arg == '')) {
return true;
}
// function name
var regex_funcname = /^([a-z\d_\-\.]+)$/;
if (!function_name.match(regex_funcname)) {
alert("<?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_CALCULATION_FUNC_NAME'); ?>: " + function_name);
return false;
}
if (arg_range!='') {
var regex_args = /^\[(.+)\],\[(.+)\]$/;
if (!arg_range.match(regex_args)) {
alert("<?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_CALCULATION_ARG_RANGE'); ?>: " + arg_range);
return false;
}
}
calculation.value = function_name + calc_sep + arg_range + calc_sep + custom_arg;
return valid;
}
function validateElementSplit(elname) {
var elvalue = document.getElementById(elname);
var eltype = document.getElementById(elname + '_type').value;
var elrows = document.getElementById(elname + '_rows').value;
var elgroupby = document.getElementById(elname + '_groupby').value;
var eltopheader = document.getElementById(elname + '_top_header').value;
var elbottomheader = document.getElementById(elname + '_bottom_header').value;
var elindex = document.getElementById(elname + '_index').checked;
var elcaption = document.getElementById(elname + '_caption').value;
if (eltype =='0') return true;
if (elrows !='0') elvalue.value = eltype + ' rows'+elrows;
else if (elgroupby !='0') elvalue.value = eltype + ' groupby'+elgroupby;
else return false;
if (eltopheader !='0') elvalue.value = elvalue.value + ' top'+eltopheader;
if (elbottomheader !='0') elvalue.value = elvalue.value + ' bottom'+elbottomheader;
if (elindex) elvalue.value = elvalue.value + ' index';
if (elcaption != '') elvalue.value = elvalue.value + ' caption['+B64.encode(elcaption)+']';
return true;
}
function validateElementScroll(elname) {
var elvalue = document.getElementById(elname);
var elxaxis = document.getElementById(elname + '_xaxis').value.replace(/\s/g,"");
var elyaxis = document.getElementById(elname + '_yaxis').value.replace(/\s/g,"");
var elxaxis_enabled = document.getElementById(elname + '_xaxis_enabled').checked;
var elyaxis_enabled = document.getElementById(elname + '_yaxis_enabled').checked;
if ((!elxaxis_enabled)&&(!elyaxis_enabled)) return true;
//var regex_size = /(auto|[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?)/i;
var regex_size = /(auto|[+-]?\d+)(px|em|ex|%|in|cm|mm|pt|pc)/i;
if (elxaxis_enabled) {
if (elxaxis == '') {
return false;
} else {
if (!elxaxis.match(regex_size)) {
return false;
}
}
}
if (elyaxis_enabled) {
if (elyaxis == '') {
return false;
} else {
if (!elyaxis.match(regex_size)) {
return false;
}
}
}
elvalue.value = 'enabled';
if (elxaxis_enabled) elvalue.value = elvalue.value + ' xaxis'+elxaxis;
if (elyaxis_enabled) elvalue.value = elvalue.value + ' yaxis'+elyaxis;
return true;
}
function validateElementPagination(elname) {
var elvalue = document.getElementById(elname);
var eltype = document.getElementById(elname + '_type').value;
var ellimit= document.getElementById(elname + '_limit').value;
var ellimitchange= document.getElementById(elname + '_limitchange').value;
var elinfo= document.getElementById(elname + '_info').value;
var elposition= document.getElementById(elname + '_position').value;
var elheadersize= document.getElementById(elname + '_header_size').value;
var elfootersize= document.getElementById(elname + '_footer_size').value;
if (eltype == '0') return true;
elvalue.value = 'enabled ' + eltype;
if (ellimit != '0') elvalue.value = elvalue.value + ' limit'+ ellimit;
if (ellimitchange != '0') elvalue.value = elvalue.value + ' limitchange['+ ellimitchange+']';
if (elinfo != '0') elvalue.value = elvalue.value + ' info['+ elinfo+']';
if (elposition != '0') elvalue.value = elvalue.value + ' position['+ elposition+']';
if (elheadersize != '0') elvalue.value = elvalue.value + ' header_size:' + elheadersize;
if (elfootersize != '0') elvalue.value = elvalue.value + ' footer_size:' + elfootersize;
return true;
}
function validateElementSort(elname) {
var elvalue = document.getElementById(elname);
var elenabled= document.getElementById(elname + '_enabled').checked;
var elorderbyid= document.getElementById(elname + '_id').value;
var elorderbydirection= document.getElementById(elname + '_direction').value;
var elheadersize= document.getElementById(elname + '_header_size').value;
var elfootersize= document.getElementById(elname + '_footer_size').value;
var elheadertop= document.getElementById(elname + '_header_top').value;
var elexclude = document.getElementById(elname + '_exclude').value;
var eldatatypes = document.getElementById(elname + '_datatypes').value;
if (!elenabled) { elvalue.value = ''; return true; }
elvalue.value = 'enabled';
if (elorderbyid != '0') elvalue.value = elvalue.value + ' orderby' + elorderbyid +':'+elorderbydirection;
if (elheadersize != '0') elvalue.value = elvalue.value + ' header_size:' + elheadersize;
if (elfootersize != '0') elvalue.value = elvalue.value + ' footer_size:' + elfootersize;
if (elheadertop != '') elvalue.value = elvalue.value + ' header_top:' + elheadertop;
if (elexclude != '') elvalue.value = elvalue.value + ' exclude[' + elexclude + ']';
if (eldatatypes != '') elvalue.value = elvalue.value + ' datatypes[' + eldatatypes + ']';
return true;
}
function validateElementFilter(elname) {
var elvalue = document.getElementById(elname);
var elenabled= document.getElementById(elname + '_enabled').checked;
var elposition= document.getElementById(elname + '_position').value;
var elheadersize= document.getElementById(elname + '_header_size').value;
var elfootersize= document.getElementById(elname + '_footer_size').value;
var elhighlight= document.getElementById(elname + '_highlight').checked;
if (!elenabled) { elvalue.value = ''; return true; }
elvalue.value = 'enabled';
if (elposition != '0') elvalue.value = elvalue.value + ' position['+ elposition+']';
if (elheadersize != '0') elvalue.value = elvalue.value + ' header_size:' + elheadersize;
if (elfootersize != '0') elvalue.value = elvalue.value + ' footer_size:' + elfootersize;
if (elhighlight) elvalue.value = elvalue.value + ' highlight';
return true;
}
function validateElementColumnFilter(elname) {
var elvalue = document.getElementById(elname);
var elenabled= document.getElementById(elname + '_enabled').checked;
var elcolumns= document.getElementById(elname + '_columns').value;
var elheaderrow= document.getElementById(elname + '_headerrow').value;
var elheadersize= document.getElementById(elname + '_header_size').value;
var elfootersize= document.getElementById(elname + '_footer_size').value;
if (!elenabled) { elvalue.value = ''; return true; }
elvalue.value = 'enabled';
if (elcolumns != '') elvalue.value = elvalue.value + ' columns[' + elcolumns + ']';
if (elheaderrow != '0') elvalue.value = elvalue.value + ' headerrow:' + elheaderrow;
if (elheadersize != '0') elvalue.value = elvalue.value + ' header_size:' + elheadersize;
if (elfootersize != '0') elvalue.value = elvalue.value + ' footer_size:' + elfootersize;
return true;
}
function validateElementExportTable(elname) {
var param_sep = '<?php echo EXPORT_TABLE_SEPARATOR; ?>';
var elvalue = document.getElementById(elname);
var elenabled = document.getElementById(elname + '_enabled').checked;
var elview = ''; // document.getElementById(elname + '_view').checked ? 'view[]': '';
var eldownload = document.getElementById(elname + '_download').checked? 'download[]': '0';
var elemail = document.getElementById(elname + '_email').checked? 'email[]': '0';
var elstriptags = document.getElementById(elname + '_strip_tags').value;
if (!elenabled) { elvalue.value = ''; return true; }
if ((elview == '0')&&(eldownload =='0')&&(elemail =='0')) return false;
elvalue.value = elview + param_sep + eldownload + param_sep + elemail;
if (elstriptags!='') elvalue.value = elvalue.value + param_sep + 'strip_tags['+elstriptags+']';
return true;
}
function validateElementResponsive(elname) {
var elvalue = document.getElementById(elname);
var elpatternid = document.getElementById(elname + '_patternid').value;
var resp_sep = '<?php echo RESPONSIVE_SEP; ?>';
var pattern_scrollbars_id = '<?php echo RESPONSIVE_PATTERN_1; ?>';
var pattern_header_selection_id = '<?php echo RESPONSIVE_PATTERN_3; ?>';
var pattern_expand_id = '<?php echo RESPONSIVE_PATTERN_4; ?>';
var i, elcolumn, num_of_columns = <?php echo RESPONSIVE_PATTERN_PARAMS_MAX_COLUMNS; ?>, params_sep = '';
var pattern_params = '';
if (elpatternid == '0') return true;
if (elpatternid == pattern_scrollbars_id) {
elwidth = document.getElementById(elname+ '_width').value;
elheight = document.getElementById(elname+ '_height').value;
elnicescroll = (document.getElementById(elname+ '_nicescroll').checked)?1:0;
elzoom = (document.getElementById(elname+ '_zoom').checked)?1:0;
eltouch = (document.getElementById(elname+ '_touch').checked)?1:0;
elcursor_display = (document.getElementById(elname+ '_cursor_display').checked)?1:0;
elcursor_width = document.getElementById(elname+ '_cursor_width').value;
elcursor_color = document.getElementById(elname+ '_cursor_color').value;
pattern_params = '';
if (elwidth != '') pattern_params += '[width:' + elwidth + ']';
if (elheight != '') pattern_params += '[height:' + elheight + ']';
if (elnicescroll) {
pattern_params += '[nicescroll:1]';
pattern_params += '[zoom:' + elzoom + ']';
pattern_params += '[touch:' + eltouch + ']';
pattern_params += '[cursor_display:' + elcursor_display + ']';
if ((elcursor_width != '')&&(elcursor_width != '0')) {
pattern_params += '[cursor_width:' + elcursor_width + ']';
}
if (elcursor_color != '') {
pattern_params += '[cursor_color:' + elcursor_color + ']';
}
} else {
pattern_params += '[nicescroll:0]';
}
} else if (elpatternid == pattern_header_selection_id) {
for (i=1;i<=num_of_columns;i++) {
elcolumn = document.getElementById(elname+ '_header_selection_params_'+i).value;
if (elcolumn != '0') { pattern_params = pattern_params + params_sep + i + ':' + elcolumn; params_sep = ','; }
}
if (pattern_params!='') pattern_params = 'priorities' + pattern_params;
} else if (elpatternid == pattern_expand_id) {
for (i=1;i<=num_of_columns;i++) {
elcolumn = document.getElementById(elname+ '_expand_params_'+i).value;
if (elcolumn != '0') { pattern_params = pattern_params + params_sep + i + ':' + elcolumn; params_sep = ','; }
}
if (pattern_params!='') pattern_params = 'priorities ' + pattern_params;
}
if (pattern_params == '') {
elvalue.value = elpatternid;
} else {
elvalue.value = elpatternid + resp_sep + pattern_params;
}
return true;
}
function validateElementGraph(elgraph) {
var elvalue = elgraph.value.replace(/\s/g,"");
var graph_sep = "<?php echo GRAPH_RULESET_FILE_SEP; ?>";
if (elvalue == "") {
return true;
}
var regex = /^([a-z0-9_\.-]+)\.xml$/i;
if (regex.test(elvalue)) {
return true;
}
var patt=new RegExp(pattern,modifiers);
var regex2 = new RegExp('^([a-z0-9_\.-]+)\.xml'+graph_sep+'([a-z0-9_\.-]+)$','i');
if (regex2.test(elvalue)) {
return true;
}
return false;
}
function validateRuleActionSelected(style_value, autospan_checked, thtag_checked, remove_checked, format_data_type_value, replace_from_value, calculation_function_value, modification_function_value, prepend_value, append_value, add_files_value, split_value, filter_value, column_filter_value, sort_value, pagination_value, scroll_value, theme_value, responsive_value, graph_value, export_table_value) {
var selected = false;
if (style_value != "") selected = true;
if (autospan_checked) selected = true;
if (thtag_checked) selected = true;
if (remove_checked) selected = true;
if (format_data_type_value != '0') selected = true;
if (replace_from_value != "") selected = true;
if (calculation_function_value != "") selected = true;
if (modification_function_value != "") selected = true;
if (prepend_value != "") selected = true;
if (append_value != "") selected = true;
if (add_files_value != "") selected = true;
if (split_value != "") selected = true;
if (filter_value != "") selected = true;
if (column_filter_value != "") selected = true;
if (sort_value != "") selected = true;
if (pagination_value != "") selected = true;
if (scroll_value != "") selected = true;
if (theme_value != "") selected = true;
if (responsive_value != "") selected = true;
if (graph_value != "") selected = true;
if (export_table_value != "") selected = true;
return selected;
}
function validateAndSubmit() {
var form = document.adminForm;
var valid = true, error_msg = "";
if (!validateElementType(form.element)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_TYPE');?>";
valid = false;
}
if (!validateElementRange(form.range, form.element.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_RANGE');?>";
valid = false;
}
if (!validateElementRangeKey(form.range_key, form.element.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_RANGE_KEY');?>";
valid = false;
}
if (!validateElementPriority(form.priority, form.element.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_PRIORITY');?>";
valid = false;
}
if (!validateElementSection(form.element_section, form.element.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_SECTION');?>";
valid = false;
}
if (!validateElementStyle(form.style)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_STYLE');?>";
valid = false;
}
if (!validateElementAttribute(form.attribute_name, form.attribute_value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_ATTRIBUTE');?>";
valid = false;
}
if (!validateAddFiles(form.add_files_css,form.add_files_js,form.add_jquery_support.checked,form.add_jqueryui_support.checked,form.add_scroll_support.checked)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_ADD_FILES');?>";
valid = false;
}
if (!validateElementFormat(form.format_data_type.value, form.format_data_type_params)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_FORMAT');?>";
valid = false;
}
if (!validateElementReplacement(form.replace_from, form.replace_to)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_REPLACEMENT');?>";
valid = false;
}
if (!validateElementCalculation(form.calculation, form.calc_function_name, form.calc_arg_range, form.calc_custom_arg)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_CALCULATION');?>";
valid = false;
}
if (!validateElementModify(form.modification, form.modification_function_name, form.modification_function_args)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_MODIFICATION');?>";
valid = false;
}
if (!validateElementSplit('table_split')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_SPLIT');?>";
valid = false;
}
if (!validateElementScroll('table_scroll')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_SCROLL');?>";
valid = false;
}
if (!validateElementPagination('table_pagination')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_PAGINATION');?>";
valid = false;
}
if (!validateElementSort('table_sort')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_SORT');?>";
valid = false;
}
if (!validateElementFilter('table_filter')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_FILTER');?>";
valid = false;
}
if (!validateElementColumnFilter('table_column_filter')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_COLUMN_FILTER');?>";
valid = false;
}
if (!validateElementResponsive('table_responsive')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_RESPONSIVE');?>";
valid = false;
}
if (!validateElementGraph(form.table_graph, form.element.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_GRAPH');?>";
valid = false;
}
if (!validateElementExportTable('table_export_table')) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_INVALID_ELEMENT_EXPORT_TABLE');?>";
valid = false;
}
if (!validateRuleActionSelected(form.style.value, form.autospan.checked, form.th_tag.checked, form.remove.checked, form.format_data_type.value, form.replace_from.value, form.calc_function_name.value, form.modification_function_name.value,form.table_prepend.value, form.table_append.value, form.add_files.value, form.table_split.value, form.table_filter.value, form.table_column_filter.value, form.table_sort.value, form.table_pagination.value, form.table_scroll.value, form.table_theme.value, form.table_responsive.value, form.table_graph.value, form.table_export_table.value)) {
error_msg = error_msg + "\n* <?php echo JText::_('COM_TABULIZER_NO_RULE_ACTION_SELECTED');?>";
valid = false;
}
if (valid) {
form.submit();
} else {
error_msg = "<?php echo JText::_('COM_TABULIZER_JS_ERRORS_FOUND'); ?>" + error_msg;
alert(error_msg);
}
}
<?php if(version_compare(JVERSION,'1.6.0','ge')) { ?>
Joomla.submitbutton = function(pressbutton) {
if (pressbutton == 'save') {
validateAndSubmit();
} else if (pressbutton == 'saveNew') {
document.getElementById('addnew').value = '1';
validateAndSubmit();
} else if (pressbutton == 'cancel') {
window.location = "<?php echo $return_url;?>";
}
}
<?php } else { ?>
function submitbutton(pressbutton) {
if (pressbutton == 'save') {
validateAndSubmit();
} else if (pressbutton == 'saveNew') {
document.getElementById('addnew').value = '1';
validateAndSubmit();
} else if (pressbutton == 'cancel') {
window.location = "<?php echo $return_url;?>";
}
}
<?php } ?>
</script>
<?php
$row_class_count = 0;
$element_type = $this->lists['element_type_value'];
?>
<form action="index.php" method="post" name="adminForm" id="adminForm">
<div class="col edit_frm_div">
<fieldset class="adminform">
<legend><?php echo JText::_('COM_TABULIZER_RULE_DETAILS' ); ?></legend>
<table class="admintable">
<tr id="field_section_1" class="<?php echo getShowHideHeaderClass($element_type, 'field_section_1'); ?>"><td colspan="2"><?php echo JText::_('COM_TABULIZER_RULE_FIELD_SECTION_1' );?></td></tr>
<tr id="tr_element" class="<?php echo getShowHideClass($element_type, 'element', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_TYPE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_TYPE')); ?>:
</td>
<td>
<?php echo $this->lists['element']; ?>
</td>
</tr>
<tr id="tr_range" class="<?php echo getShowHideClass($element_type, 'range', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_RANGE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_RANGE')); ?>:
</td>
<td>
<?php echo $this->lists['range']; ?>
</td>
</tr>
<tr id="tr_range_key" class="<?php echo getShowHideClass($element_type, 'range_key', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_RANGE_KEY' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_RANGE_KEY')); ?>:
</td>
<td>
<?php echo $this->lists['range_key']; ?>
</td>
</tr>
<tr id="tr_element_section" class="<?php echo getShowHideClass($element_type, 'element_section', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_SECTION' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_SECTION')); ?>:
</td>
<td>
<?php echo $this->lists['element_section']; ?>
</td>
</tr>
<tr id="tr_priority" class="<?php echo getShowHideClass($element_type, 'priority', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_PRIORITY' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_PRIORITY')); ?>:
</td>
<td>
<?php echo $this->lists['priority']; ?>
</td>
</tr>
<tr id="field_section_2" class="<?php echo getShowHideHeaderClass($element_type, 'field_section_2'); ?>"><td colspan="2"><?php echo JText::_('COM_TABULIZER_RULE_FIELD_SECTION_2' );?></td></tr>
<tr id="tr_style" class="<?php echo getShowHideClass($element_type, 'style', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_STYLE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_STYLE')); ?>:
</td>
<td>
<?php echo $this->lists['style']; ?>
</td>
</tr>
<tr id="tr_attribute" class="<?php echo getShowHideClass($element_type, 'attribute', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_ATTRIBUTE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_ATTRIBUTE')); ?>:
</td>
<td>
<?php echo $this->lists['attribute']; ?>
</td>
</tr>
<tr id="tr_autospan" class="<?php echo getShowHideClass($element_type, 'autospan', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_AUTOSPAN' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_AUTOSPAN')); ?>:
</td>
<td>
<?php echo $this->lists['autospan']; ?>
</td>
</tr>
<tr id="tr_th_tag" class="<?php echo getShowHideClass($element_type, 'th_tag', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_TH_TAG' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_TH_TAG')); ?>:
</td>
<td>
<?php echo $this->lists['th_tag']; ?>
</td>
</tr>
<tr id="tr_add_files" class="<?php echo getShowHideClass($element_type, 'add_files', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_ADD_FILES' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_ADD_FILES')); ?>:
</td>
<td>
<?php echo $this->lists['add_files']; ?>
</td>
</tr>
<tr id="field_section_3" class="<?php echo getShowHideHeaderClass($element_type, 'field_section_3'); ?>"><td colspan="2"><?php echo JText::_('COM_TABULIZER_RULE_FIELD_SECTION_3' );?></td></tr>
<tr id="tr_format" class="<?php echo getShowHideClass($element_type, 'format', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_FORMAT' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_FORMAT')); ?>:
</td>
<td>
<?php echo $this->lists['format']; ?>
</td>
</tr>
<tr id="tr_replacement" class="<?php echo getShowHideClass($element_type, 'replacement', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_REPLACEMENT' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_REPLACEMENT')); ?>:
</td>
<td>
<?php echo $this->lists['replacement']; ?>
</td>
</tr>
<tr id="tr_calculation" class="<?php echo getShowHideClass($element_type, 'calculation', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_CALCULATION' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_CALCULATION')); ?>:
</td>
<td>
<?php echo $this->lists['calculation']; ?>
</td>
</tr>
<tr id="tr_remove" class="<?php echo getShowHideClass($element_type, 'remove', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_REMOVE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_REMOVE')); ?>:
</td>
<td>
<?php echo $this->lists['remove']; ?>
</td>
</tr>
<tr id="tr_prepend" class="<?php echo getShowHideClass($element_type, 'prepend', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_PREPEND' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_PREPEND')); ?>:
</td>
<td>
<?php echo $this->lists['prepend']; ?>
</td>
</tr>
<tr id="tr_append" class="<?php echo getShowHideClass($element_type, 'append', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_APPEND' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_APPEND')); ?>:
</td>
<td>
<?php echo $this->lists['append']; ?>
</td>
</tr>
<tr id="tr_modification" class="<?php echo getShowHideClass($element_type, 'modification', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_MODIFICATION' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_MODIFICATION')); ?>:
</td>
<td>
<?php echo $this->lists['modification']; ?>
</td>
</tr>
<tr id="field_section_4" class="<?php echo getShowHideHeaderClass($element_type, 'field_section_4'); ?>"><td colspan="2"><?php echo JText::_('COM_TABULIZER_RULE_FIELD_SECTION_4' );?></td></tr>
<tr id="tr_pagination" class="<?php echo getShowHideClass($element_type, 'pagination', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_PAGINATION' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_PAGINATION')); ?>:
</td>
<td>
<?php echo $this->lists['pagination']; ?>
</td>
</tr>
<tr id="tr_sort" class="<?php echo getShowHideClass($element_type, 'sort', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_SORT' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_SORT')); ?>:
</td>
<td>
<?php echo $this->lists['sort']; ?>
</td>
</tr>
<tr id="tr_filter" class="<?php echo getShowHideClass($element_type, 'filter', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_FILTER' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_FILTER')); ?>:
</td>
<td>
<?php echo $this->lists['filter']; ?>
</td>
</tr>
<tr id="tr_scroll" class="<?php echo getShowHideClass($element_type, 'scroll', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_SCROLL' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_SCROLL')); ?>:
</td>
<td>
<?php echo $this->lists['scroll']; ?>
</td>
</tr>
<tr id="tr_theme" class="<?php echo getShowHideClass($element_type, 'theme', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_THEME' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_THEME')); ?>:
</td>
<td>
<?php echo $this->lists['theme']; ?>
</td>
</tr>
<tr id="field_section_5" class="<?php echo getShowHideHeaderClass($element_type, 'field_section_5'); ?>"><td colspan="2"><?php echo JText::_('COM_TABULIZER_RULE_FIELD_SECTION_5' );?></td></tr>
<tr id="tr_responsive" class="<?php echo getShowHideClass($element_type, 'responsive', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_RESPONSIVE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_RESPONSIVE')); ?>:
</td>
<td>
<?php echo $this->lists['responsive']; ?>
</td>
</tr>
<tr id="tr_split" class="<?php echo getShowHideClass($element_type, 'split', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_SPLIT' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_SPLIT')); ?>:
</td>
<td>
<?php echo $this->lists['split']; ?>
</td>
</tr>
<tr id="tr_export_table" class="<?php echo getShowHideClass($element_type, 'export_table', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_EXPORT_TABLE' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_EXPORT_TABLE')); ?>:
</td>
<td>
<?php echo $this->lists['export_table']; ?>
</td>
</tr>
<tr id="tr_graph" class="<?php echo getShowHideClass($element_type, 'graph', $row_class_count); ?>">
<td class="key">
<?php echo JText::_('COM_TABULIZER_ELEMENT_GRAPH' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_GRAPH')); ?>:
</td>
<td>
<?php echo $this->lists['graph']; ?>
</td>
</tr>
</table>
</fieldset>
</div>
<div class="clr"></div>
<input type="hidden" name="option" value="com_tabulizer" />
<?php echo $this->lists['rule_id']; ?>
<?php echo $this->lists['ruleset_name']; ?>
<?php echo $this->lists['filename']; ?>
<input type="hidden" name="task" value="saveRule" />
<input type="hidden" name="addnew" id="addnew" value="0" />
<?php echo JHTML::_( 'form.token' ); ?>
</form>
<?php
TabulizerUserMessage::printHelp(sprintf(JText::_('COM_TABULIZER_FORM_RULE_HELP'),JText::_('COM_TABULIZER_RULE_HELP_TIP_LABEL')));
?>
<table class="admintable">
<tr class="row_tools">
<td class="key">
<?php echo JText::_('COM_TABULIZER_BASE64_TOOLS' ) . TabulizerUtils::labelTooltip(JText::_('COM_TABULIZER_RULE_HELP_BASE64_TOOLS')); ?>:
</td>
<td>
<?php echo $this->lists['base64_tools']; ?>
</td>
</tr>
</table>