shell bypass 403
<?php
/**
* @package RSForm! Pro
* @copyright (C) 2007-2019 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
defined('_JEXEC') or die;
require_once JPATH_ADMINISTRATOR.'/components/com_rsform/helpers/fields/button.php';
class RSFormProFieldSubmitButton extends RSFormProFieldButton
{
// backend preview
public function getPreviewInput()
{
$reset = $this->getProperty('RESET', 'NO');
$label = $this->getProperty('LABEL', '');
$resetLabel = $this->getProperty('RESETLABEL', '');
$html = '';
$html .= '<button type="button" class="btn btn-primary">'.$this->escape($label).'</button>';
if ($reset) {
$html .= ' <button type="reset" class="btn btn-danger">'.$this->escape($resetLabel).'</button>';
}
return $html;
}
// functions used for rendering in front view
public function getFormInput() {
// Change the base CSS class
// Each button type (button, submit, image) needs a different class
$this->baseClass = 'rsform-submit-button';
$name = $this->getName();
$id = $this->getId();
$label = $this->getProperty('LABEL', '');
$reset = $this->getProperty('RESET', 'NO');
$allowHtml = $this->getProperty('ALLOWHTML', 'NO');
$attr = $this->getAttributes('button');
$type = $this->getProperty('INPUTTYPE', 'submit');
$additional = '';
$html = '';
// Handle pages
$html .= $this->getPreviousButton();
// Start building the HTML input
$html .= '<button';
// Parse Additional Attributes
if ($attr) {
foreach ($attr as $key => $values) {
// @new feature - Some HTML attributes (type) can be overwritten
// directly from the Additional Attributes area
if ($key == 'type' && strlen($values)) {
${$key} = $values;
continue;
}
$additional .= $this->attributeToHtml($key, $values);
}
}
// Set the type
$html .= ' type="'.$this->escape($type).'"';
// Name & id
$html .= ' name="'.$this->escape($name).'"'.
' id="'.$this->escape($id).'"';
// Additional HTML
$html .= $additional;
// Add the label & close the tag
$html .= ' >' . ($allowHtml ? $label : $this->escape($label)) . '</button>';
// Do we need to append a reset button?
if ($reset) {
$label = $this->getProperty('RESETLABEL', '');
$attr = $this->getAttributes('reset');
$additional = '';
$html .= ' ';
// Parse Additional Attributes
if ($attr) {
foreach ($attr as $key => $values) {
$additional .= $this->attributeToHtml($key, $values);
}
}
// Start building the HTML input for the reset button
$html .= '<button';
// Set the type
$html .= ' type="reset"';
// Additional HTML
$html .= $additional;
// Add the label & close the tag
$html .= ' >' . ($allowHtml ? $label : $this->escape($label)) . '</button>';
}
return $html;
}
}