diff options
Diffstat (limited to 'Postman/PostmanAjaxController.php')
-rw-r--r-- | Postman/PostmanAjaxController.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Postman/PostmanAjaxController.php b/Postman/PostmanAjaxController.php new file mode 100644 index 0000000..ad63464 --- /dev/null +++ b/Postman/PostmanAjaxController.php @@ -0,0 +1,68 @@ +<?php +if ( ! defined( 'ABSPATH' ) ) { + exit; // Exit if accessed directly +} + +if (! class_exists ( 'PostmanAbstractAjaxHandler' )) { + + require_once ('PostmanPreRequisitesCheck.php'); + require_once ('Postman-Mail/PostmanMessage.php'); + + /** + * + * @author jasonhendriks + */ + abstract class PostmanAbstractAjaxHandler { + protected $logger; + function __construct() { + $this->logger = new PostmanLogger ( get_class ( $this ) ); + } + /** + * + * @param mixed $actionName + * @param mixed $callbackName + */ + protected function registerAjaxHandler($actionName, $class, $callbackName) { + if (is_admin ()) { + $fullname = 'wp_ajax_' . $actionName; + // $this->logger->debug ( 'Registering ' . 'wp_ajax_' . $fullname . ' Ajax handler' ); + add_action ( $fullname, array ( + $class, + $callbackName + ) ); + } + } + + /** + * + * @param mixed $parameterName + * @return mixed + */ + protected function getBooleanRequestParameter($parameterName) { + return filter_var ( $this->getRequestParameter ( $parameterName ), FILTER_VALIDATE_BOOLEAN ); + } + + /** + * + * @param mixed $parameterName + * @return mixed + */ + protected function getRequestParameter($parameterName) { + if (isset ( $_POST [$parameterName] )) { + if ( is_array($_POST [$parameterName] ) ) { + array_walk_recursive( $_POST [$parameterName], 'sanitize_text_field' ); + $value = $_POST [$parameterName]; + } else { + $value = sanitize_text_field($_POST[$parameterName]); + } + + $this->logger->trace ( sprintf ( 'Found parameter "%s"', $parameterName ) ); + $this->logger->trace ( $value ); + + return $value; + } + } + } +} + +require_once ('Postman-Controller/PostmanManageConfigurationAjaxHandler.php'); |