<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
* $Id$
*
*/
class CRM_Core_Page_AJAX {
/**
- * function to call generic ajax forms
+ * Call generic ajax forms.
*
- * @static
- * @access public
*/
- static function run() {
+ public static function run() {
$className = CRM_Utils_Type::escape($_REQUEST['class_name'], 'String');
$type = '';
if (!empty($_REQUEST['type'])) {
// FIXME: This is done to maintain current wire protocol, but it might be
// simpler to just require different 'types' for pages and forms
if (preg_match('/^CRM_[a-zA-Z0-9]+_Page_Inline_/', $className)) {
- $page = new $className;
+ $page = new $className();
$page->run();
}
else {
$wrapper->run($className);
}
break;
+
default:
CRM_Core_Error::debug_log_message('Unsupported inline request type: ' . var_export($type, TRUE));
}
}
/**
- * function to change is_quick_config priceSet to complex
+ * Change is_quick_config priceSet to complex.
*
- * @static
- * @access public
*/
- static function setIsQuickConfig() {
+ public static function setIsQuickConfig() {
$id = $context = NULL;
if (!empty($_REQUEST['id'])) {
$id = CRM_Utils_Type::escape($_REQUEST['id'], 'Integer');
// return false if $id is null and
// $context is not civicrm_event or civicrm_contribution_page
if (!$id || !in_array($context, array('civicrm_event', 'civicrm_contribution_page'))) {
- return false;
+ return FALSE;
}
$priceSetId = CRM_Price_BAO_PriceSet::getFor($context, $id, NULL);
if ($priceSetId) {
}
}
if (!$result) {
- $priceSetId = null;
+ $priceSetId = NULL;
}
CRM_Utils_JSON::output($priceSetId);
}
/**
* Determine whether the request is for a valid class/method name.
*
- * @param string $type 'method'|'class'|''
- * @param string $className 'Class_Name'
- * @param string $fnName method name
+ * @param string $type
+ * 'method'|'class'|''.
+ * @param string $className
+ * 'Class_Name'.
+ * @param string $fnName
+ * Method name.
*
* @return bool
*/
- static function checkAuthz($type, $className, $fnName = null) {
+ public static function checkAuthz($type, $className, $fnName = NULL) {
switch ($type) {
case 'method':
if (!preg_match('/^CRM_[a-zA-Z0-9]+_Page_AJAX$/', $className)) {
return FALSE;
}
return class_exists($className);
+
default:
return FALSE;
}
* Outputs the CiviCRM standard json-formatted page/form response
* @param array|string $response
*/
- static function returnJsonResponse($response) {
+ public static function returnJsonResponse($response) {
// Allow lazy callers to not wrap content in an array
if (is_string($response)) {
$response = array('content' => $response);
// CRM-11831 @see http://www.malsup.com/jquery/form/#file-upload
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
- header('Content-Type: application/json');
+ CRM_Utils_System::setHttpHeader('Content-Type', 'application/json');
}
else {
$output = "<textarea>$output</textarea>";
}
/**
- * Set headers appropriate for a js file
+ * Set headers appropriate for a js file.
+ *
+ * @param int|NULL $ttl
+ * Time-to-live (seconds).
*/
- static function setJsHeaders() {
- // Encourage browsers to cache for a long time - 1 year
- $year = 60*60*24*364;
- header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + $year));
- header('Content-Type: application/javascript');
- header("Cache-Control: max-age=$year, public");
+ public static function setJsHeaders($ttl = NULL) {
+ if ($ttl === NULL) {
+ // Encourage browsers to cache for a long time - 1 year
+ $ttl = 60 * 60 * 24 * 364;
+ }
+ CRM_Utils_System::setHttpHeader('Expires', gmdate('D, d M Y H:i:s \G\M\T', time() + $ttl));
+ CRM_Utils_System::setHttpHeader('Content-Type', 'application/javascript');
+ CRM_Utils_System::setHttpHeader('Cache-Control', "max-age=$ttl, public");
}
- /**
- * Send autocomplete results to the client. Input can be a simple or nested array.
- * @param array $results - If nested array, also provide:
- * @param string $val - array key to use as the value
- * @param string $key - array key to use as the key
- * @deprecated
- */
- static function autocompleteResults($results, $val='label', $key='id') {
- $output = array();
- if (is_array($results)) {
- foreach ($results as $k => $v) {
- if (is_array($v)) {
- echo $v[$val] . '|' . $v[$key] . "\n";
- }
- else {
- echo "$v|$k\n";
- }
- }
- }
- CRM_Utils_System::civiExit();
- }
}
-