@param string $name - Name of the input type (ie ID='name')
public addData ( string $name, string $type, $isEmptyAllowed, string $regex = null ) : void | ||
$name | string | |
$type | string | - Type to check. Valid Values Email date dateTime Time Url matchRegex Other (ie if you just want an empty check) |
$regex | string | - if matchRegex was choosen in $type, then this is the regex that is going to be checked @return void |
return | void |
/** * validateInstallationData * Validates data necessary for installation * * @param array $data.- Data to be validated * * @return boolean True on success, false otherwise */ public static function validateInstallationData($data) { require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; self::$errors = array(); $validator = new Pommo_Validate(); $validator->setPost($data); $validator->addData('list_name', 'Other', false); $validator->addData('site_name', 'Other', false); $validator->addData('site_url', 'Url', false); $validator->addData('admin_password', 'Other', false); $validator->addData('admin_email', 'Email', false); $validator->addPasswordMatch('admin_password', 'admin_password2'); $result = $validator->checkData(); self::$errors = $validator->getErrors(); return $result; }
$vMsg = array(); $vMsg['site_url'] = $vMsg['site_success'] = $vMsg['site_confirm'] = Pommo::_T('Must be a valid URL'); $vMsg['list_name'] = $vMsg['site_name'] = Pommo::_T('Cannot be empty.'); $view->assign('vMsg', $vMsg); // populate _POST with info from database (fills in form values...) $dbVals = Pommo_Api::configGet(array('site_success', 'site_confirm', 'list_exchanger', 'list_confirm')); $dbVals['site_url'] = Pommo::$_config['site_url']; $dbVals['site_name'] = Pommo::$_config['site_name']; $dbVals['list_name'] = Pommo::$_config['list_name']; $view->assign($dbVals); } else { // ___ USER HAS SENT FORM ___ require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('list_name', 'Other', false); $validator->addData('site_name', 'Other', false); $validator->addData('site_url', 'Url', false); $validator->addData('site_success', 'Url', true); $validator->addData('site_confirm', 'Url', true); $validator->addData('list_confirm', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('list_exchanger', 'matchRegex', false, '!^(sendmail|mail|smtp)$!'); /********************************** JSON OUTPUT INITIALIZATION *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); if ($result = $validator->checkData()) { // __ FORM IS VALID Pommo_Api::configUpdate($_POST); Pommo::reloadConfig();
} if (empty($_POST)) { $vMsg = array(); $vMsg['field_name'] = $vMsg['field_prompt'] = Pommo::_T('Cannot be empty.'); $view->assign('vMsg', $vMsg); } else { // ___ USER HAS SENT FORM ___ /********************************** JSON OUTPUT INITIALIZATION *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('field_name', 'Other', false); $validator->addData('field_prompt', 'Other', false); $validator->addData('field_required', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('field_active', 'matchRegex', false, '!^(on|off)$!'); if ($result = $validator->checkData()) { // __ FORM IS VALID // TODO -> Which below logic is better? the computed diff, or send all fields for update? /* // make a difference between updated & original field $update = array_diff_assoc(Pommo_Fields::makeDB($_POST),$field); // restore the ID $update['id'] = $field['id']; */ // let MySQL do the difference processing $update = Pommo_Fields::makeDB($_POST); if (!Pommo_Fields::update($update)) {
require_once Pommo::$_baseDir . 'classes/Pommo_Template.php'; $view = new Pommo_Template(); $exchanger = current(Pommo_Api::configGet(array('list_exchanger'))); if (empty($_POST)) { // ___ USER HAS NOT SENT FORM ___ $vMsg = array(); $vMsg['email'] = Pommo::_T('Invalid email address'); $view->assign('vMsg', $vMsg); $dbvals = array('exchanger' => $exchanger, 'email' => Pommo::$_config['admin_email']); $view->assign($dbvals); } else { // ___ USER HAS SENT FORM ___ require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('email', 'Email', false); /********************************** JSON OUTPUT INITIALIZATION *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); if ($result = $validator->checkData()) { // __ FORM IS VALID require_once Pommo::$_baseDir . 'classes/Pommo_Helper_Messages.php'; $msg = Pommo_Helper_Messages::testExchanger($_POST['email'], $exchanger) ? Pommo::_T('Mail Sent.') : Pommo::_T('Error Sending Mail'); $json->success($msg); } else { // __ FORM NOT VALID $fieldErrors = array(); $errors = $validator->getErrors(); foreach ($errors as $key => $val) {
/********************************** SETUP TEMPLATE, PAGE *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Template.php'; $view = new Pommo_Template(); if (empty($_POST)) { // ___ USER HAS NOT SENT FORM ___ $vMsg = array(); $vMsg['name'] = Pommo::_T('Cannot be empty.'); $view->assign('vMsg', $vMsg); } else { // ___ USER HAS SENT FORM ___ include_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('name', 'Other', false); if ($result = $validator->checkData()) { // __ FORM IS VALID $t = Pommo_Mailing_Template::make(array('name' => $_POST['name'], 'description' => $_POST['description'], 'body' => Pommo::$_session['state']['mailing']['body'], 'altbody' => Pommo::$_session['state']['mailing']['altbody'])); $id = Pommo_Mailing_Template::add($t); if ($id) { $logger->addMsg(sprintf(Pommo::_T('Template %s saved.'), '<strong>' . $_POST['name'] . '</strong>')); $view->assign('success', true); } else { $logger->addMsg(Pommo::_T('Error with addition.')); } } else { // __ FORM NOT VALID $logger->addMsg(Pommo::_T('Please choose a name for your template.')); } }
if (empty($_POST)) { $vMsg = array(); $vMsg['maxRuntime'] = _('Enter a number.'); $vMsg['list_fromname'] = _('Cannot be empty.'); $vMsg['list_fromemail'] = $vMsg['list_frombounce'] = _('Invalid email address'); $view->assign('vMsg', $vMsg); // populate _POST with info from database (fills in form values...) $dbVals = Pommo_Api::configGet(array('list_fromname', 'list_fromemail', 'list_frombounce', 'list_charset', 'public_history', 'maxRuntime')); $dbVals['demo_mode'] = !empty(Pommo::$_config['demo_mode']) && Pommo::$_config['demo_mode'] == "on" ? 'on' : 'off'; $view->assign($dbVals); } else { // ___ USER HAS SENT FORM ___ require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('list_fromname', 'Other', false); $validator->addData('list_fromemail', 'Email', false); $validator->addData('list_frombounce', 'Email', false); $validator->addData('public_history', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('demo_mode', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('list_fromname', 'Other', false); $_POST['maxRunTime'] = (int) $_POST['maxRunTime']; /********************************** JSON OUTPUT INITIALIZATION *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); if ($result = $validator->checkData()) { // __ FORM IS VALID Pommo_Api::configUpdate($_POST); Pommo::reloadConfig();
$p['unsubscribe_sub'] = $messages['unsubscribe']['sub']; $p['unsubscribe_msg'] = $messages['unsubscribe']['msg']; $p['unsubscribe_web'] = $messages['unsubscribe']['web']; $p['unsubscribe_email'] = $messages['unsubscribe']['email']; $p['confirm_sub'] = $messages['confirm']['sub']; $p['confirm_msg'] = $messages['confirm']['msg']; $p['activate_sub'] = $messages['activate']['sub']; $p['activate_msg'] = $messages['activate']['msg']; $p['update_sub'] = $messages['update']['sub']; $p['update_msg'] = $messages['update']['msg']; $view->assign($p); } else { require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('subscribe_sub', 'Other', false); $validator->addData('subscribe_msg', 'Other', false); $validator->addData('subscribe_web', 'Other', false); $validator->addData('unsubscribe_sub', 'Other', false); $validator->addData('unsubscribe_msg', 'Other', false); $validator->addData('unsubscribe_web', 'Other', false); $validator->addData('confirm_sub', 'Other', false); $validator->addData('confirm_msg', 'matchRegex', false, '!\\[\\[URL\\]\\]!i'); $validator->addData('activate_sub', 'Other', false); $validator->addData('activate_msg', 'matchRegex', false, '!\\[\\[URL\\]\\]!i'); $validator->addData('update_sub', 'Other', false); $validator->addData('update_msg', 'matchRegex', false, '!\\[\\[URL\\]\\]!i'); $validator->addData('notify_email', 'Email', false); $validator->addData('notify_subscribe', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('notify_unsubscribe', 'matchRegex', false, '!^(on|off)$!'); $validator->addData('notify_update', 'matchRegex', false, '!^(on|off)$!');
$vMsg['fromname'] = $vMsg['subject'] = Pommo::_T('Cannot be empty.'); $vMsg['charset'] = Pommo::_T('Invalid Character Set'); $vMsg['fromemail'] = $vMsg['frombounce'] = Pommo::_T('Invalid email address'); $vMsg['ishtml'] = $vMsg['mailgroup'] = Pommo::_T('Invalid Input'); $view->assign('vMsg', $vMsg); } else { // ___ USER HAS SENT FORM ___ /********************************** JSON OUTPUT INITIALIZATION *********************************/ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('fromname', 'Other', false); $validator->addData('subject', 'Other', false); $validator->addData('fromemail', 'Email', false); $validator->addData('frombounce', 'Email', false); if ($result = $validator->checkData()) { $json->success(); } else { // __ FORM NOT VALID $fieldErrors = array(); $errors = $validator->getErrors(); foreach ($errors as $key => $val) { $fieldErrors[] = array('field' => $key, 'message' => $val); } $json->add('fieldErrors', $fieldErrors); $json->fail(Pommo::_T('Please review and correct errors with your submission.')); }
if (empty($_POST)) { //Initiate Page //populate _POST with info from database (fills in form values...) $dbVals = Pommo_Api::configGet(array('admin_username')); $dbVals['admin_email'] = Pommo::$_config['admin_email']; $view->assign($dbVals); } else { // ___ USER HAS SENT FORM ___ require_once Pommo::$_baseDir . 'classes/Pommo_Json.php'; $json = new Pommo_Json(); if (isset($_POST['admin_email'])) { //Do inline validation require_once Pommo::$_baseDir . 'classes/Pommo_Validate.php'; $errors = array(); $validator = new Pommo_Validate(); $validator->setPost($_POST); $validator->addData('admin_email', 'Email', false); $result = $validator->checkData(); $errors = $validator->getErrors(); //Is result ok? if ($result) { Pommo_Api::configUpdate($_POST); Pommo::reloadConfig(); $json->success(Pommo::_T('Configuration Updated.')); } else { $json->fail(Pommo::_T('Invalid email address')); } } } $view->assign($_POST); $view->display('admin/setup/config/users');