API Explorer: Use Civi::paths instead of global $civicrm_root
authorColeman Watts <coleman@civicrm.org>
Thu, 4 Feb 2016 20:14:13 +0000 (13:14 -0700)
committerColeman Watts <coleman@civicrm.org>
Thu, 4 Feb 2016 20:14:13 +0000 (13:14 -0700)
CRM/Admin/Page/APIExplorer.php

index de63dbc997da1fab6e1d960ba1125a26c3901d96..bc2d6ec732facad885b8b5f8a5e1647f92fc887e 100644 (file)
@@ -51,9 +51,8 @@ class CRM_Admin_Page_APIExplorer extends CRM_Core_Page {
     $this->assign('operators', CRM_Core_DAO::acceptedSQLOperators());
 
     // List example directories
-    global $civicrm_root;
     $examples = array();
-    foreach (scandir(CRM_Utils_file::addTrailingSlash($civicrm_root, '/') . 'api/v3/examples') as $item) {
+    foreach (scandir(\Civi::paths()->getPath('[civicrm.root]/api/v3/examples')) as $item) {
       if ($item && strpos($item, '.') === FALSE) {
         $examples[] = $item;
       }
@@ -77,11 +76,9 @@ class CRM_Admin_Page_APIExplorer extends CRM_Core_Page {
    * AJAX callback to fetch examples.
    */
   public static function getExampleFile() {
-    global $civicrm_root;
-    $basePath = CRM_Utils_file::addTrailingSlash($civicrm_root, '/');
     if (!empty($_GET['entity']) && strpos($_GET['entity'], '.') === FALSE) {
       $examples = array();
-      foreach (scandir($basePath . 'api/v3/examples/' . $_GET['entity']) as $item) {
+      foreach (scandir(\Civi::paths()->getPath("[civicrm.root]/api/v3/examples/{$_GET['entity']}")) as $item) {
         $item = str_replace('.php', '', $item);
         if ($item && strpos($item, '.') === FALSE) {
           $examples[] = array('key' => $item, 'value' => $item);
@@ -90,7 +87,7 @@ class CRM_Admin_Page_APIExplorer extends CRM_Core_Page {
       CRM_Utils_JSON::output($examples);
     }
     if (!empty($_GET['file']) && strpos($_GET['file'], '.') === FALSE) {
-      $fileName = $basePath . 'api/v3/examples/' . $_GET['file'] . '.php';
+      $fileName = \Civi::paths()->getPath("[civicrm.root]/api/v3/examples/{$_GET['file']}.php");
       if (file_exists($fileName)) {
         echo file_get_contents($fileName);
       }