From 0625c71c0c97110f13357b2be2988ce43e96bb47 Mon Sep 17 00:00:00 2001
From: Imanol Losada <imanol.losada@gmail.com>
Date: Mon, 9 Mar 2015 10:18:16 -0500
Subject: [PATCH] Add 'split_users_upload_directory' setting when creating the
 certificate path (1.9.x) - refs BT#9022

---
 main/cron/add_gradebook_certificates.php | 8 +++++---
 main/webservices/registration.soap.php   | 7 +++++--
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/main/cron/add_gradebook_certificates.php b/main/cron/add_gradebook_certificates.php
index e3f1d4070b..816e047a2a 100644
--- a/main/cron/add_gradebook_certificates.php
+++ b/main/cron/add_gradebook_certificates.php
@@ -1,7 +1,5 @@
 <?php
-require_once __DIR__.'/../inc/global.inc.php';
-require_once api_get_path(LIBRARY_PATH).'database.lib.php';
-require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/gradebook_functions.inc.php';
+/* For licensing terms, see /license.txt */
 
 /**
  * Adds gradebook certificates to gradebook_certificate table from users
@@ -10,6 +8,10 @@ require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/gradebook_functions.inc.
  * @author Imanol Losada <imanol.losada@beeznest.com>
  */
 
+require_once __DIR__.'/../inc/global.inc.php';
+require_once api_get_path(LIBRARY_PATH).'database.lib.php';
+require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/gradebook_functions.inc.php';
+
 /**
  * Get all categories and users ids from gradebook
  * @return array Categories and users ids
diff --git a/main/webservices/registration.soap.php b/main/webservices/registration.soap.php
index 9f7c938f41..78e88ef494 100755
--- a/main/webservices/registration.soap.php
+++ b/main/webservices/registration.soap.php
@@ -5605,8 +5605,11 @@ function WSCertificatesList($startingDate = '', $endingDate = '')
     $queryResult = Database::query($query);
     $basePath = api_get_path(WEB_CODE_PATH).'upload/users/';
     while ($row = Database::fetch_array($queryResult)) {
-        $row['path_certificate'] = $basePath.substr((string) $row['user_id'], 0, 1)
-            .'/'.$row['user_id'].'/certificate'.$row['path_certificate'];
+        $certificatePath = $basePath;
+        if (api_get_setting('split_users_upload_directory') === 'true') {
+            $certificatePath .= substr((string) $row['user_id'], 0, 1).'/';
+        }
+        $row['path_certificate'] = $certificatePath.$row['user_id'].'/certificate'.$row['path_certificate'];
         $result[] = $row;
     }
     return $result;