From 8e88239cb10d1d959cd4df5d20065395fa886771 Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Sat, 28 Mar 2015 16:48:08 -0700 Subject: [PATCH] CRM-16173 - Allow define()s for CIVICRM_CXN_APPS_VERIFY and CIVICRM_CXN_APPS_URL --- CRM/Cxn/BAO/Cxn.php | 4 ++-- api/v3/CxnApp.php | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CRM/Cxn/BAO/Cxn.php b/CRM/Cxn/BAO/Cxn.php index 26a57c70c9..8d9e90c7b9 100644 --- a/CRM/Cxn/BAO/Cxn.php +++ b/CRM/Cxn/BAO/Cxn.php @@ -134,8 +134,8 @@ class CRM_Cxn_BAO_Cxn extends CRM_Cxn_DAO_Cxn { * TRUE if application metadata must be verified. */ public static function isAppMetaVerified() { - if (defined('CIVICRM_CXN_VERIFY_APPMETA')) { - return CIVICRM_CXN_VERIFY_APPMETA; + if (defined('CIVICRM_CXN_APPS_VERIFY')) { + return CIVICRM_CXN_APPS_VERIFY; } elseif (!defined('CIVICRM_CXN_CA')) { return TRUE; diff --git a/api/v3/CxnApp.php b/api/v3/CxnApp.php index 89d3a4d068..be10d3b82e 100644 --- a/api/v3/CxnApp.php +++ b/api/v3/CxnApp.php @@ -95,12 +95,18 @@ function _civicrm_api3_cxn_app_get_spec(&$spec) { */ function civicrm_api3_cxn_app_get($params) { // FIXME: We should cache, but CRM_Utils_Cache and CRM_Core_BAO_Cache don't seem to support TTL... - list ($status, $blob) = CRM_Utils_HttpClient::singleton()->get(\Civi\Cxn\Rpc\Constants::OFFICIAL_APPMETAS_URL); + + // You should not change CIVICRM_CXN_APPS_URL in production; this is for local development. + $url = defined('CIVICRM_CXN_APPS_URL') ? CIVICRM_CXN_APPS_URL : \Civi\Cxn\Rpc\Constants::OFFICIAL_APPMETAS_URL; + + list ($status, $blob) = CRM_Utils_HttpClient::singleton()->get($url); if (CRM_Utils_HttpClient::STATUS_OK != $status) { throw new API_Exception("Failed to download application list."); } + $agent = new \Civi\Cxn\Rpc\Agent(CRM_Cxn_BAO_Cxn::getCACert(), NULL, NULL); $message = $agent->decode(array(AppMetasMessage::NAME, GarbledMessage::NAME), $blob); + if ($message instanceof AppMetasMessage) { return _civicrm_api3_basic_array_get('CxnApp', $params, $message->getData(), 'appId', array('appId', 'appUrl', 'desc', 'appCert', 'perm')); -- 2.25.1