shell bypass 403
Cubjrnet7 Shell
: /home/eklavya/backups/joomla3oldsite/administrator/components/com_rsform/assets/js/ [ drwxr-xr-x ]
if (typeof RSFormPro != 'object') { var RSFormPro = {}; } RSFormPro.$ = jQuery; function initRSFormPro() { jQuery('#mappingTable tbody').tableDnD({ onDragClass: 'rsform_dragged', onDragStop : function (table, row) { tidyOrderMp(true); } }); jQuery('#rsfp_calculations').tableDnD({ onDragClass: 'rsform_dragged', onDragStop : function (table, row) { tidyOrderCalculationsDir(); } }); jQuery(document).click(function () { jQuery(this).mousedown(function (e) { if (!jQuery(e.target).is('input')) { var checkParent = jQuery(e.target).parents('.dropdownContainer').length; if (!checkParent) { closeAllDropdowns(); } } }); }); jQuery("#properties").click(function () { jQuery("#rsform_tab2").show(); jQuery("#rsform_tab1").hide(); jQuery("#components").removeClass('btn-primary'); jQuery("#properties").addClass('btn-primary'); }); jQuery("#components").click(function () { jQuery("#rsform_tab1").show(); jQuery("#rsform_tab2").hide(); jQuery("#properties").removeClass('btn-primary'); jQuery("#components").addClass('btn-primary'); }); jQuery('[data-placeholders]').rsplaceholder(); } function legacyOrderingEnable() { var $table = jQuery('#componentPreview'); $table.find('tbody').tableDnD({ onDragClass: 'rsform_dragged', onDragStop : function (table, row) { tidyOrder(true); } }); $table.find('.order').show(); RSFormPro.Grid.hide(); jQuery('#rsform_ordering_msg').hide(); } function legacyOrderingDisable() { var $table = jQuery('#componentPreview'); $table.find('tbody').tableDnDDestroy(); $table.find('.order').hide(); RSFormPro.Grid.show(); jQuery('#rsform_ordering_msg').show(); } jQuery(document).on('renderedMappings', function(){ jQuery('[data-placeholders]').rsplaceholder(); }); jQuery(document).on('renderedRsfpmappingWhere', function(event, element){ jQuery('#'+element).find('[data-placeholders]').rsplaceholder(); }); jQuery(document).on('renderedSilentPostField', function($event, $field_one, $field_two){ jQuery($field_one).find('input').rsplaceholder(); jQuery($field_two).find('input').rsplaceholder(); }); jQuery(document).on('renderedCalculationsField', function($event, $field){ jQuery('#'+$field).rsplaceholder(); }); function buildXmlHttp() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } return xmlHttp; } function tidyOrder(update_php) { if (!update_php) update_php = false; stateLoading(); var params = []; var must_update_php = update_php; var orders = document.getElementsByName('order[]'); var cids = document.getElementsByName('cid[]'); for (i = 0; i < orders.length; i++) { params.push('cid[' + cids[i].value + ']=' + parseInt(i + 1)); if (orders[i].value != i + 1) must_update_php = true; orders[i].value = i + 1; } if (update_php && must_update_php) { xml = buildXmlHttp(); var url = 'index.php?option=com_rsform&task=components.save.ordering&randomTime=' + Math.random(); xml.open("POST", url, true); params = params.join('&'); //Send the proper header information along with the request xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xml.send(params); xml.onreadystatechange = function () { if (xml.readyState == 4) { formId = document.getElementById('formId').value; if (document.getElementById('FormLayoutAutogenerate1').checked == true) generateLayout(formId, false); stateDone(); } } } else { stateDone(); } } function tidyOrderMp(update_php) { if (!update_php) update_php = false; stateLoading(); var params = []; var must_update_php = update_php; var orders = document.getElementsByName('mporder[]'); var cids = document.getElementsByName('mpid[]'); for (i = 0; i < orders.length; i++) { params.push('mpid_' + cids[i].value + '=' + parseInt(i + 1)); if (orders[i].value != i + 1) must_update_php = true; orders[i].value = i + 1; } if (update_php && must_update_php) { xml = buildXmlHttp(); var url = 'index.php?option=com_rsform&task=ordering&controller=mappings&randomTime=' + Math.random(); xml.open("POST", url, true); params = params.join('&'); //Send the proper header information along with the request xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xml.send(params); xml.onreadystatechange = function () { if (xml.readyState == 4) { stateDone(); } } } else { stateDone(); } } function displayTemplate(componentTypeId, componentId) { RSFormPro.editModal.display(componentTypeId, componentId); } function rsfp_validateDate(value) { value = value.replace(/[^0-9\/]/g, ''); return value; } function f_scrollTop() { return f_filterResults( window.pageYOffset ? window.pageYOffset : 0, document.documentElement ? document.documentElement.scrollTop : 0, document.body ? document.body.scrollTop : 0 ); } function f_filterResults(n_win, n_docel, n_body) { var n_result = n_win ? n_win : 0; if (n_docel && (!n_result || (n_result > n_docel))) n_result = n_docel; return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result; } function removeComponent(formId, componentId) { stateLoading(); // Build URL to post to var url = 'index.php?option=com_rsform&task=components.remove&randomTime=' + Math.random(); // Build data array var data = { 'ajax' : 1, 'cid[]' : componentId, 'formId': formId }; RSFormPro.$.post(url, data, function (response, status, jqXHR) { // Remove row var table = document.getElementById('componentPreview'); var rows = document.getElementsByName('previewComponentId'); for (var i = 0; i < rows.length; i++) { if (rows[i].value == componentId) { table.deleteRow(i); } } RSFormPro.Grid.deleteField(componentId); if (!response.submit) { jQuery('#rsform_submit_button_msg').show(); } tidyOrder(true); stateDone(); }, 'json'); } function processComponent(componentType) { RSFormPro.editModal.disableButton(); jQuery('#rsformerror0').hide(); jQuery('#rsformerror1').hide(); jQuery('#rsformerror2').hide(); jQuery('#rsformerror3').hide(); stateLoading(); // Build URL to post to var url = 'index.php?option=com_rsform&task=components.validate.name&randomTime=' + Math.random(); // Build data array var data = { 'componentName' : jQuery('#NAME').val(), 'formId' : jQuery('#formId').val(), 'currentComponentId': jQuery('#componentIdToEdit').val(), 'componentType' : componentType }; if (componentType == 9) { data['destination'] = jQuery('#DESTINATION').val(); } RSFormPro.$.post(url, data, function (response, status, jqXHR) { if (response.result == false) { // Switch to tab jQuery('[href="#rsfptab' + response.tab + '"]').click(); // Show error message jQuery('#rsformerror' + response.tab).text(response.message).show(); stateDone(); RSFormPro.editModal.enableButton(); } else { Joomla.submitbutton('components.save'); } }, 'json'); } function changeDirectoryAutoGenerateLayout(formId, value) { stateLoading(); var layouts = document.getElementsByName('jform[ViewLayoutName]'); var layoutName = ''; for (i = 0; i < layouts.length; i++) if (layouts[i].checked) layoutName = layouts[i].value; xml = buildXmlHttp(); xml.onreadystatechange = function () { if (xml.readyState == 4) { if (value == 1) { document.getElementById('rsform_layout_msg').style.display = 'none'; document.getElementById('ViewLayout').readOnly = true; if (typeof Joomla.editors.instances['ViewLayout'] != 'undefined') { Joomla.editors.instances['ViewLayout'].setOption('readOnly', true); } } else { document.getElementById('rsform_layout_msg').style.display = ''; document.getElementById('ViewLayout').readOnly = false; if (typeof Joomla.editors.instances['ViewLayout'] != 'undefined') { Joomla.editors.instances['ViewLayout'].setOption('readOnly', false); } } stateDone(); } }; xml.open('GET', 'index.php?option=com_rsform&task=directory.changeAutoGenerateLayout&formId=' + formId + '&randomTime=' + Math.random() + '&ViewLayoutName=' + layoutName, true); xml.send(null); } function autoGenerateLayout() { if (document.getElementById('FormLayoutAutogenerate1').checked == true) { var formId = document.getElementById('formId').value; generateLayout(formId, false); } } function changeFormLayoutFlow() { stateLoading(); // Build URL to post to var url = 'index.php?option=com_rsform&task=forms.changeFormLayoutFlow&randomTime=' + Math.random(); // Build data array var data = { 'status': jQuery('[name=FormLayoutFlow]').val(), 'formId': document.getElementById('formId').value }; RSFormPro.$.post(url, data, function (response, status, jqXHR) { stateDone(); autoGenerateLayout(); }, 'json'); } function changeFormAutoGenerateLayout(formId, value) { stateLoading(); // Build URL to post to var url = 'index.php?option=com_rsform&task=forms.changeAutoGenerateLayout&randomTime=' + Math.random(); // Build data array var data = { 'formLayoutName': jQuery('[name=FormLayoutName]:checked').val(), 'formId' : formId, 'status' : value }; RSFormPro.$.post(url, data, function (response, status, jqXHR) { var hasCodeMirror = typeof Joomla.editors.instances['formLayout'] != 'undefined'; value = Boolean(parseInt(value)); value ? jQuery('#rsform_layout_msg').hide() : jQuery('#rsform_layout_msg').show(); jQuery('#formLayout').prop('readonly', value); if (hasCodeMirror) { Joomla.editors.instances['formLayout'].setOption('readOnly', value); } stateDone(); }, 'json'); } function generateLayout(formId, alert) { if (alert && !confirm(Joomla.JText._('RSFP_AUTOGENERATE_LAYOUT_WARNING_SURE'))) { return; } stateLoading(); // Build URL to post to var url = 'index.php?option=com_rsform&task=layouts.generate&randomTime=' + Math.random(); // Build data array var data = { 'layoutName': jQuery('[name=FormLayoutName]:checked').val(), 'formId' : formId }; RSFormPro.$.post(url, data, function (response, status, jqXHR) { var hasCodeMirror = typeof Joomla.editors.instances['formLayout'] != 'undefined'; jQuery('#formLayout').val(response); if (hasCodeMirror) { Joomla.editors.instances['formLayout'].setValue(response); } stateDone(); }, 'text'); } function generateDirectoryLayout(formId, alert) { if (alert != 'no') { var answer = confirm("Pressing the 'Generate layout' button will ERASE your current layout. Are you sure you want to continue?"); if (answer == false) return; } var layoutName = 'inline-xhtml'; for (var i = 0; i < document.getElementsByName('jform[ViewLayoutName]').length; i++) if (document.getElementsByName('jform[ViewLayoutName]')[i].checked) layoutName = document.getElementsByName('jform[ViewLayoutName]')[i].value; stateLoading(); xml = buildXmlHttp(); xml.onreadystatechange = function () { if (xml.readyState == 4) { document.getElementById('ViewLayout').value = xml.responseText; if (typeof Joomla.editors.instances['ViewLayout'] != 'undefined') { Joomla.editors.instances['ViewLayout'].setValue(xml.responseText); } stateDone(); } }; xml.open('GET', 'index.php?option=com_rsform&task=directory.generate&layoutName=' + layoutName + '&formId=' + formId + '&randomTime=' + Math.random(), true); xml.send(null); } function saveLayoutName(formId, layoutName, isLegacy) { stateLoading(); xml = buildXmlHttp(); xml.open('GET', 'index.php?option=com_rsform&task=layouts.save.name&formId=' + formId + '&randomTime=' + Math.random() + '&formLayoutName=' + layoutName, true); xml.send(null); xml.onreadystatechange = function () { if (xml.readyState == 4) { if (document.getElementById('FormLayoutAutogenerate1').checked == true) generateLayout(formId, false); stateDone(); } }; isLegacy ? legacyOrderingEnable() : legacyOrderingDisable(); } function saveDirectoryLayoutName(formId, layoutName) { stateLoading(); xml = buildXmlHttp(); xml.open('GET', 'index.php?option=com_rsform&task=directory.savename&formId=' + formId + '&randomTime=' + Math.random() + '&ViewLayoutName=' + layoutName, true); xml.send(null); xml.onreadystatechange = function () { if (xml.readyState == 4) { var autogenerate = document.getElementsByName('jform[ViewLayoutAutogenerate]'); for (var i = 0; i < autogenerate.length; i++) if (autogenerate[i].value == 1 && autogenerate[i].checked) generateDirectoryLayout(formId, 'no'); stateDone(); } } } function stateLoading() { document.getElementById('state').style.display = ''; } function stateDone() { document.getElementById('state').style.display = 'none'; } function refreshCaptcha(componentId, captchaPath) { if (!captchaPath) captchaPath = 'index.php?option=com_rsform&task=captcha&format=image&componentId=' + componentId; document.getElementById('captcha' + componentId).src = captchaPath + '&' + Math.random(); document.getElementById('captchaTxt' + componentId).value = ''; document.getElementById('captchaTxt' + componentId).focus(); } function isset() { // http://kevin.vanzonneveld.net // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: FremyCompany // + improved by: Onno Marsman // + improved by: RafaĆ Kukawski // * example 1: isset( undefined, true); // * returns 1: false // * example 2: isset( 'Kevin van Zonneveld' ); // * returns 2: true var a = arguments, l = a.length, i = 0, undef; if (l === 0) { throw new Error('Empty isset'); } while (i !== l) { if (a[i] === undef || a[i] === null) { return false; } i++; } return true; } function exportProcess(start, limit, total) { xml = buildXmlHttp(); xml.onreadystatechange = function () { if (xml.readyState == 4) { post = xml.responseText; if (post.indexOf('END') != -1) { document.getElementById('progressBar').style.width = document.getElementById('progressBar').innerHTML = '100%'; document.location = 'index.php?option=com_rsform&task=submissions.export.file&ExportFile=' + document.getElementById('ExportFile').value + '&ExportType=' + document.getElementById('exportType').value; } else { document.getElementById('progressBar').style.width = Math.ceil(start * 100 / total) + '%'; document.getElementById('progressBar').innerHTML = Math.ceil(start * 100 / total) + '%'; start = start + limit; exportProcess(start, limit, total); } } }; xml.open('GET', 'index.php?option=com_rsform&task=submissions.export.process&exportStart=' + start + '&exportLimit=' + limit + '&randomTime=' + Math.random(), true); xml.send(null); } function number_format(number, decimals, dec_point, thousands_sep) { var n = number, prec = decimals; n = !isFinite(+n) ? 0 : +n; prec = !isFinite(+prec) ? 0 : Math.abs(prec); var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep; var dec = (typeof dec_point == "undefined") ? '.' : dec_point; var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0; var abs = Math.abs(n).toFixed(prec); var _, i; if (abs >= 1000) { _ = abs.split(/\D/); i = _[0].length % 3 || 3; _[0] = s.slice(0, i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep + '$1'); s = _.join(dec); } else { s = s.replace('.', dec); } return s; } function changeValidation(elem) { if (elem == null) return; if (elem.id == 'VALIDATIONRULE') { if (document.getElementById('idVALIDATIONEXTRA')) { if (elem.value == 'regex' || elem.value == 'sameas') { theText = RStranslateText(elem.value) } else { theText = RStranslateText('extra'); } document.getElementById('captionVALIDATIONEXTRA').innerHTML = theText; if (elem.value == 'custom' || elem.value == 'numeric' || elem.value == 'alphanumeric' || elem.value == 'alpha' || elem.value == 'regex' || elem.value == 'sameas') document.getElementById('idVALIDATIONEXTRA').className = 'showVALIDATIONEXTRA control-group'; else document.getElementById('idVALIDATIONEXTRA').className = 'hideVALIDATIONEXTRA control-group'; } var multipleRulesField = document.getElementById('idVALIDATIONMULTIPLE'); if (elem.value == 'multiplerules') { multipleRulesField.style.display = 'block'; changeValidation(document.getElementById('VALIDATIONMULTIPLE')); } else { multipleRulesField.style.display = 'none'; document.getElementById('VALIDATIONEXTRA').name='param[VALIDATIONEXTRA]'; // if the saved extra value of the multiple rule exist in the current rule selection keep it, if no leave it as it is var savedExtra = document.getElementById('VALIDATIONEXTRA').value; try { eval('var savedExtraObject='+savedExtra); } catch(e) { var savedExtraObject = {}; } if (typeof savedExtraObject == 'object' && typeof savedExtraObject[elem.value] != 'undefined') { document.getElementById('VALIDATIONEXTRA').value = savedExtraObject[elem.value]; } // remove previous created extra validations for the multiple validation var previousExtras = document.querySelectorAll('.mValidation'); for (i = 0; i < previousExtras.length; i++) { previousExtras[i].parentNode.removeChild(previousExtras[i]); } } } else if (elem.id == 'VALIDATIONMULTIPLE') { var selectedValues = new Array(); for (i = 0; i < elem.length; i++) { if (elem[i].selected && (elem[i].value == 'custom' || elem[i].value == 'numeric' || elem[i].value == 'alphanumeric' || elem[i].value == 'alpha' || elem[i].value == 'regex' || elem[i].value == 'sameas')) { selectedValues.push(elem[i].value); } } // remove previous created extra validations var previousExtras = document.querySelectorAll('.mValidation'); for (i = 0; i < previousExtras.length; i++) { previousExtras[i].parentNode.removeChild(previousExtras[i]); } // set the name of the normal validation to 'empty' document.getElementById('VALIDATIONEXTRA').name=''; // the default validation extra value if already saved var savedExtra = document.getElementById('VALIDATIONEXTRA').value; try { eval('var savedExtraObject='+savedExtra); } catch(e) { var savedExtraObject = {}; } var clonedElement = document.getElementById('idVALIDATIONEXTRA').cloneNode(true); clonedElement.removeAttribute('id'); clonedElement.removeClass('hideVALIDATIONEXTRA'); var afterElement = document.getElementById('idVALIDATIONMULTIPLE'); for(i = 0; i < selectedValues.length; i++) { var newclonedElement = clonedElement.cloneNode(true); newclonedElement.addClass('mValidation '+selectedValues[i]); var captionElement = newclonedElement.querySelector('#captionVALIDATIONEXTRA'); var validationElement = newclonedElement.querySelector('#VALIDATIONEXTRA'); captionElement.id='captionValidation'+selectedValues[i]; validationElement.id='Validation'+selectedValues[i]; validationElement.name="param[VALIDATIONEXTRA]["+selectedValues[i]+"]"; if (typeof savedExtraObject[selectedValues[i]] != 'undefined') { validationElement.value = savedExtraObject[selectedValues[i]]; } else { validationElement.value = ''; } if (selectedValues[i] == 'regex' || selectedValues[i] == 'sameas') { theText = RStranslateText(selectedValues[i]) } else { theText = RStranslateText('extra'); } jQuery(document.getElementById('VALIDATIONRULE').options).each(function(){ if (this.value == selectedValues[i]) { theText = this.text + ' - ' + theText; } }); captionElement.innerHTML = theText; afterElement.parentNode.insertBefore(newclonedElement, afterElement.nextSibling); } } } function submissionChangeForm(formId) { document.location = 'index.php?option=com_rsform&task=submissions.manage&formId=' + formId; } function toggleCustomizeColumns() { var el = jQuery('#columnsDiv'); if (el.is(':hidden')) { var windowH = jQuery(window).height(); var remove = 0; if (jQuery('body > #status').length > 0) { remove += parseInt(jQuery('body > #status').height()); } var parentElementOffset = el.parent().offset(); remove += parentElementOffset.top; var innerHeight = windowH - remove - 120; if (innerHeight <= 0) { innerHeight = 400; } el.find('#columnsInnerDiv').css('max-height', innerHeight+'px'); el.slideDown('fast'); } else { el.slideUp('fast'); } } function closeAllDropdowns(except) { var dropdowns = jQuery('.dropdownContainer'); var except = jQuery('#dropdown' + except); for (var i = 0; i < dropdowns.length; i++) { var dropdown = jQuery(dropdowns[i]).children('div'); if (dropdown.attr('id') != except.attr('id')) jQuery(dropdowns[i]).children('div').hide(); } } /** * @deprecated, used to generate the new type of fields * @param what * @param extra * @param inner */ function toggleDropdown(what, extra, inner) { jQuery(what).addClass('placeholders-initiated'); $attr = { 'data-delimiter' : ' ', 'data-placeholders' : 'display', 'onclick' : '', 'onkeydown' : '' }; jQuery(what).attr($attr); jQuery(what).rsplaceholder(); } function toggleQuickAdd() { var what = 'none'; if (document.getElementById('QuickAdd1').style.display == 'none') what = ''; document.getElementById('QuickAdd1').style.display = what; document.getElementById('QuickAdd2').style.display = what; document.getElementById('QuickAdd3').style.display = what; document.getElementById('QuickAdd4').style.display = what; } function mpConnect() { var fields = jQuery("#tablers :input"); var params = []; var fname = ''; var fvalue = ''; for (i = 0; i < fields.length; i++) { if (fields[i].type == 'button') continue; if (fields[i].type == 'radio') { if (fields[i].checked) { if (fields[i].name == 'rsfpmapping[connection]') { fname = 'connection'; fvalue = fields[i].value; } if (fields[i].name == 'rsfpmapping[method]') { fname = 'method'; fvalue = fields[i].value; } } else continue; } fname = fields[i].name; fvalue = fields[i].value; params.push(fname + '=' + encodeURIComponent(fvalue)); } params.push('randomTime=' + Math.random()); params = params.join('&'); document.getElementById('mappingloader').style.display = ''; xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=gettables&controller=mappings', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { response = xmlHttp.responseText.split('|'); if (response[0] == 1) { document.getElementById('rsfpmappingContent').innerHTML = response[1]; document.getElementById('mpConnectionOn').style.display = 'none'; document.getElementById('mpConnectionOff').style.display = ''; document.getElementById('mpMethodOn').style.display = 'none'; document.getElementById('mpMethodOff').style.display = ''; document.getElementById('mpHostOn').style.display = 'none'; document.getElementById('mpHostOff').style.display = ''; document.getElementById('mpDriverOn').style.display = 'none'; document.getElementById('mpDriverOff').style.display = ''; document.getElementById('mpPortOn').style.display = 'none'; document.getElementById('mpUsernameOn').style.display = 'none'; document.getElementById('mpUsernameOff').style.display = ''; document.getElementById('mpPasswordOn').style.display = 'none'; document.getElementById('mpPasswordOff').style.display = ''; document.getElementById('mpDatabaseOn').style.display = 'none'; document.getElementById('mpDatabaseOff').style.display = ''; if (document.getElementById('connection0').checked) document.getElementById('mpConnectionOff').innerHTML = getLabelText('connection0'); if (document.getElementById('connection1').checked) document.getElementById('mpConnectionOff').innerHTML = getLabelText('connection1'); if (document.getElementById('method0').checked) document.getElementById('mpMethodOff').innerHTML = getLabelText('method0'); if (document.getElementById('method1').checked) document.getElementById('mpMethodOff').innerHTML = getLabelText('method1'); if (document.getElementById('method2').checked) document.getElementById('mpMethodOff').innerHTML = getLabelText('method2'); if (document.getElementById('method3').checked) document.getElementById('mpMethodOff').innerHTML = getLabelText('method3'); document.getElementById('mpHostOff').innerHTML = document.getElementById('MappingHost').value + ':' + document.getElementById('MappingPort').value; document.getElementById('mpDriverOff').innerHTML = document.getElementById('driver').value; document.getElementById('mpUsernameOff').innerHTML = document.getElementById('MappingUsername').value; document.getElementById('mpPasswordOff').innerHTML = document.getElementById('MappingPassword').value; document.getElementById('mpDatabaseOff').innerHTML = document.getElementById('MappingDatabase').value; } else { document.getElementById('rsfpmappingContent').innerHTML = '<font color="red">' + response[0] + '</font>'; } document.getElementById('mappingloader').style.display = 'none'; } }; xmlHttp.send(params); } function getLabelText(element) { return jQuery('#' + element).parent().text(); } function mpColumns(table) { var fields = jQuery("#tablers :input"); var params = []; var fname = ''; var fvalue = ''; for (i = 0; i < fields.length; i++) { if (fields[i].type == 'button') continue; if (fields[i].type == 'radio') { if (fields[i].checked) { if (fields[i].name == 'rsfpmapping[connection]') { fname = 'connection'; fvalue = fields[i].value; } if (fields[i].name == 'rsfpmapping[method]') { fname = 'method'; fvalue = fields[i].value; } } else continue; } fname = fields[i].name; fvalue = fields[i].value; params.push(fname + '=' + encodeURIComponent(fvalue)); } params.push('table=' + table); params.push('type=set'); params.push('tmpl=component'); params.push('randomTime=' + Math.random()); if (document.getElementById('mappingid') && document.getElementById('mappingid').value) { params.push('cid=' + document.getElementById('mappingid').value); } params = params.join('&'); document.getElementById('mappingloader2').style.display = ''; xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=getcolumns&controller=mappings', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { if ((isset(document.getElementById('method0')) && document.getElementById('method0').checked) || (isset(document.getElementById('method1')) && document.getElementById('method1').checked) || (isset(document.getElementById('method3')) && document.getElementById('method3').checked) || (isset(document.getElementById('method')) && document.getElementById('method').value == 0) || (isset(document.getElementById('method')) && document.getElementById('method').value == 1) || (isset(document.getElementById('method')) && document.getElementById('method').value == 3)) document.getElementById('rsfpmappingColumns').innerHTML = xmlHttp.responseText; document.getElementById('mappingloader2').style.display = 'none'; if ((isset(document.getElementById('method1')) && document.getElementById('method1').checked) || (isset(document.getElementById('method2')) && document.getElementById('method2').checked) || (isset(document.getElementById('method')) && document.getElementById('method').value == 1) || (isset(document.getElementById('method')) && document.getElementById('method').value == 2)) mappingWhere(table); jQuery(document).trigger('renderedMappings'); } }; xmlHttp.send(params); } function mappingdelete(formid, mid) { stateLoading(); params = 'formId=' + formid + '&mid=' + mid + '&tmpl=component&randomTime=' + Math.random(); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=remove&controller=mappings', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { document.getElementById('mappingcontent').innerHTML = xmlHttp.responseText; stateDone(); jQuery('#mappingTable tbody').tableDnD({ onDragClass: 'rsform_dragged', onDragStop : function (table, row) { tidyOrderMp(true); } }); } }; xmlHttp.send(params); } function ShowMappings(formid) { stateLoading(); params = 'formId=' + formid + '&tmpl=component&randomTime=' + Math.random(); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=showmappings&controller=mappings', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { document.getElementById('mappingcontent').innerHTML = xmlHttp.responseText; stateDone(); jQuery('#mappingTable tbody').tableDnD({ onDragClass: 'rsform_dragged', onDragStop : function (table, row) { tidyOrderMp(true); } }); } }; xmlHttp.send(params); } function mappingWhere(table) { var fields = jQuery("#tablers :input"); var params = []; var fname = ''; var fvalue = ''; for (i = 0; i < fields.length; i++) { if (fields[i].type == 'button') continue; if (fields[i].type == 'radio') { if (fields[i].checked) { if (fields[i].name == 'rsfpmapping[connection]') { fname = 'connection'; fvalue = fields[i].value; } if (fields[i].name == 'rsfpmapping[method]') { fname = 'method'; fvalue = fields[i].value; } } else continue; } fname = fields[i].name; fvalue = fields[i].value; params.push(fname + '=' + encodeURIComponent(fvalue)); } params.push('table=' + table); params.push('type=where'); params.push('tmpl=component'); params.push('randomTime=' + Math.random()); params = params.join('&'); document.getElementById('mappingloader2').style.display = ''; xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=getcolumns&controller=mappings', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { document.getElementById('rsfpmappingWhere').innerHTML = xmlHttp.responseText; document.getElementById('mappingloader2').style.display = 'none'; jQuery(document).trigger('renderedRsfpmappingWhere', 'rsfpmappingWhere'); } }; xmlHttp.send(params); } function removeEmail(id, fid, type) { stateLoading(); var params = []; params.push('cid=' + id); params.push('formId=' + fid); params.push('type=' + type); params.push('tmpl=component'); params.push('randomTime=' + Math.random()); params = params.join('&'); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=emails.remove', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { stateDone(); document.getElementById('emailscontent').innerHTML = xmlHttp.responseText; } }; xmlHttp.send(params); } function updateemails(fid, type) { var content = document.getElementById('emailscontent'); stateLoading(); var params = []; params.push('formId=' + fid); params.push('type=' + type); params.push('tmpl=component'); params.push('randomTime=' + Math.random()); params = params.join('&'); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=emails.update', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { stateDone(); content.innerHTML = xmlHttp.responseText; } }; xmlHttp.send(params); } function conditionDelete(formid, cid) { stateLoading(); params = 'formId=' + formid + '&cid=' + cid + '&tmpl=component&randomTime=' + Math.random(); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=remove&controller=conditions', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { document.getElementById('conditionscontent').innerHTML = xmlHttp.responseText; stateDone(); } }; xmlHttp.send(params); } function showConditions(formid) { stateLoading(); params = 'formId=' + formid + '&tmpl=component&randomTime=' + Math.random(); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=showconditions&controller=conditions', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { document.getElementById('conditionscontent').innerHTML = xmlHttp.responseText; stateDone(); } }; xmlHttp.send(params); } function openRSModal(href, type, size) { if (!type) type = 'Richtext'; if (!size) size = '600x500'; size = size.split('x'); width = size[0]; height = size[1]; window.open(href, type, 'width=' + width + ', height=' + height + ',scrollbars=1'); } function addCalculation(formId) { if (document.getElementById('rsfp_expression').value == '') { return; } stateLoading(); params = []; params.push('formId=' + formId); params.push('total=' + document.getElementById('rsfp_total_add').value); params.push('expression=' + encodeURIComponent(document.getElementById('rsfp_expression').value)); params.push('tmpl=component'); params.push('randomTime=' + Math.random()); params = params.join('&'); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=calculations&controller=forms', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { var response = xmlHttp.responseText; if (response) { var response = response.split('|'); var options = document.getElementById('rsfp_total_add').options; var container = document.getElementById('rsfp_calculations'); var tr = document.createElement('tr'); var td1 = document.createElement('td'); var td2 = document.createElement('td'); var td3 = document.createElement('td'); tr.setAttribute('id', 'calculationRow' + response[0]); var select = document.createElement('select'); select.setAttribute('id', 'total' + response[0]); select.setAttribute('name', 'calculations[' + response[0] + '][total]'); select.setAttribute('size', '1'); select.setAttribute('style', 'margin-bottom:0px;'); select.options.length = 0; for (i = 0; i < options.length; i++) { option = new Option(options[i].value, options[i].value); if (options[i].value == document.getElementById('rsfp_total_add').value) option.selected = true; select.options[select.options.length] = option; } td2.innerHTML = ' = '; var input = document.createElement('input'); input.setAttribute('id', 'calculations' + response[0] + 'expression'); input.setAttribute('type', 'text'); input.setAttribute('name', 'calculations[' + response[0] + '][expression]'); input.setAttribute('class', 'rs_inp rs_80'); input.setAttribute('size', '100'); input.setAttribute('value', document.getElementById('rsfp_expression').value); input.setAttribute('data-filter-type', 'include'); input.setAttribute('data-filter', 'value'); input.setAttribute('data-delimiter', ' '); input.setAttribute('data-placeholders', 'display'); var $input_id = 'calculations' + response[0] + 'expression'; var a = document.createElement('button'); a.setAttribute('class', 'btn btn-danger btn-mini'); a.setAttribute('type', 'button'); a.onclick = function () { removeCalculation(response[0]); }; var img = document.createElement('i'); img.setAttribute('class', 'rsficon rsficon-remove'); a.appendChild(img); var hidden1 = document.createElement('input'); hidden1.setAttribute('type', 'hidden'); hidden1.setAttribute('name', 'calcid[]'); hidden1.setAttribute('value', response[0]); var hidden2 = document.createElement('input'); hidden2.setAttribute('type', 'hidden'); hidden2.setAttribute('name', 'calorder[]'); hidden2.setAttribute('value', response[1]); td1.appendChild(select); td3.appendChild(input); td3.appendChild(document.createTextNode('\u00A0')); td3.appendChild(a); td3.appendChild(hidden1); td3.appendChild(hidden2); td3.setAttribute('colspan', '2'); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); container.appendChild(tr); document.getElementById('rsfp_expression').value = ''; jQuery('#rsfp_calculations').tableDnD({ onDragClass: 'rsform_dragged', onDragStop: function (table, row) { tidyOrderCalculationsDir(); } }); jQuery(document).trigger('renderedCalculationsField', $input_id); } stateDone(); } }; xmlHttp.send(params); } function removeCalculation(id) { if (!confirm(Joomla.JText._('RSFP_DELETE_SURE_CALCULATION'))) { return; } stateLoading(); params = 'id=' + id + '&tmpl=component&randomTime=' + Math.random(); xmlHttp = buildXmlHttp(); xmlHttp.open("POST", 'index.php?option=com_rsform&task=removeCalculation&controller=forms', true); //Send the proper header information along with the request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function () {//Call a function when the state changes. if (xmlHttp.readyState == 4) { if (xmlHttp.responseText == 1) document.getElementById('calculationRow' + id).dispose(); stateDone(); } }; xmlHttp.send(params); } function tidyOrderCalculationsDir() { stateLoading(); var params = []; var orders = document.getElementsByName('calorder[]'); var cids = document.getElementsByName('calcid[]'); var formId = document.getElementById('formId').value; for (i = 0; i < orders.length; i++) { params.push('cid[' + cids[i].value + ']=' + parseInt(i + 1)); orders[i].value = i + 1; } params.push('formId=' + formId); xml = buildXmlHttp(); var url = 'index.php?option=com_rsform&task=forms.save.calculations.ordering&randomTime=' + Math.random(); xml.open("POST", url, true); params = params.join('&'); //Send the proper header information along with the request xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xml.send(params); xml.onreadystatechange = function () { if (xml.readyState == 4) { stateDone(); } } } RSFormPro.Post = {}; RSFormPro.Post.addField = function () { var $table = jQuery('#com-rsform-post-fields tbody'); var $row = jQuery('<tr>'); var $inputName = jQuery('<td><input type="text" id="form_post_name'+ Math.floor((Math.random() * 100000) + 1) +'" data-delimiter=" " data-placeholders="display" name="form_post[name][]" placeholder="' + Joomla.JText._('RSFP_POST_NAME_PLACEHOLDER') + '" class="rs_inp rs_80"></td>'); var $inputValue = jQuery('<td><input type="text" id="form_post_value'+ Math.floor((Math.random() * 100000) + 1) +'" data-delimiter=" " data-placeholders="display" data-filter-type="include" data-filter="value,global" name="form_post[value][]" placeholder="' + Joomla.JText._('RSFP_POST_VALUE_PLACEHOLDER') + '" class="rs_inp rs_80"></td>'); var $deleteBtn = jQuery('<td>').append(jQuery('<button type="button" class="btn btn-danger btn-mini"><i class="rsficon rsficon-remove"></i></button>').click(RSFormPro.Post.deleteField)); $row.append($inputName, $inputValue, $deleteBtn); $table.append($row); var $object = [$inputName, $inputValue]; jQuery(document).trigger('renderedSilentPostField', $object); }; RSFormPro.Post.deleteField = function () { jQuery(this).parents('tr').remove(); }; jQuery(document).ready(initRSFormPro);