Fixes + asserts
[mailer.git] / inc / ajax-functions.php
index 47db96ca0bfdf4bf6d6992bc06064cee0e2fd1a7..d3736e0f03043caddaca465a74056c03c9cc6915 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -48,6 +48,9 @@ function initAjax () {
                'reply_content' => NULL,
        );
 
+       // Init call-back debug information
+       $GLOBALS['ajax_callback_function'] = NULL;
+
        // Set content type (mostly JSON)
        setContentType('application/json');
 
@@ -58,7 +61,7 @@ function initAjax () {
        setUsername('{--USERNAME_AJAX--}');
 
        // In installation phase load ajax_installer.php
-       if (isInstallationPhase()) {
+       if (isInstaller()) {
                // Load it
                loadIncludeOnce('inc/ajax/ajax_installer.php');
        } // END - if
@@ -66,23 +69,26 @@ function initAjax () {
 
 // Setter for AJAX reply content
 function setAjaxReplyContent ($content) {
+       // Log message
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'content()=' . strlen($content));
+
        // Set it, but with URL encoding
-       $GLOBALS['ajax_reply']['reply_content'] = urlencode(doFinalCompilation($content, false));
+       $GLOBALS['ajax_reply']['reply_content'] = urlencode(doFinalCompilation($content, FALSE));
 }
 
 /**
  * Checks whether the AJAX access level was valid. This function doesn't need
  * caching in $GLOBALS[__FUNCTION__] because it will be called only once.
  */
-function isAjaxRequestLevelValid () {
+function isValidAjaxRequestLevel () {
        // By default nothing is valid
-       $isValid = false;
+       $isValid = FALSE;
 
        // Switch on the 'level' value
        switch (postRequestElement('level')) {
                case 'install': // Installation phase level
                        // Simply check for it
-                       $isValid = isInstallationPhase();
+                       $isValid = isInstaller();
                        break;
 
                case 'admin': // Admin area
@@ -125,13 +131,22 @@ function processAjaxRequest () {
 }
 
 // Send AJAX content
-function sendAjaxContent () {
+function sendAjaxContent ($forceOutput = FALSE) {
        // Is the status fine or template not found (404)?
-       if ((getHttpStatus() == '200 OK') || (getHttpStatus() == '404 NOT FOUND')) {
+       if ((isAjaxHttpStatusAccepted()) || ($forceOutput === TRUE)) {
                // Then output the JSON
-               outputHtml(json_encode($GLOBALS['ajax_reply'], JSON_FORCE_OBJECT));
+               outputHtml(encodeJson($GLOBALS['ajax_reply']));
        } // END - if
 }
 
+// Checks whether the HTTP status is accepted
+function isAjaxHttpStatusAccepted () {
+       // Is it accepted?
+       $isAccepted = in_array(strtoupper(getHttpStatus()), array('200 OK', '404 NOT FOUND'));
+
+       // Return it
+       return $isAccepted;
+}
+
 // [EOF]
 ?>