From a464cb988d10f83a134931ddcb3bdf589d586d44 Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Tue, 12 Oct 2010 19:43:53 +0000
Subject: [PATCH] Support for creating sites inside of other sites. ie: music/
 and music/choir

git-svn-id: file:///tmp/wdn_thm_drupal/trunk@235 20a16fea-79d4-4915-8869-1ea9d5ebf173
---
 sites/all/modules/unl/cron.php | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/sites/all/modules/unl/cron.php b/sites/all/modules/unl/cron.php
index 78094dbf..1a9cd9fe 100644
--- a/sites/all/modules/unl/cron.php
+++ b/sites/all/modules/unl/cron.php
@@ -73,10 +73,18 @@ function unl_add_site($site_path, $uri, $clean_url, $db_prefix) {
   $db_url = escapeshellarg($db_url);
   $db_prefix = escapeshellarg($db_prefix);
   
+  $command = "$php_path sites/all/modules/drush/drush.php -y --uri=$uri site-install unl_profile --sites-subdir=$sites_subdir --db-url=$db_url --db-prefix=$db_prefix --clean-url=$clean_url";
+
   $subdir = explode('/', $site_path);
   $symlink_name = array_pop($subdir);
-  $subdir_levels = count($subdir);
   $subdir = implode('/', $subdir);
+
+  if ($subdir) {
+    mkdir($subdir, 0755, TRUE);
+  }
+  
+  $subdir = realpath($subdir);
+  $subdir_levels = count(explode('/', $subdir)) - count(explode('/', DRUPAL_ROOT));
   
   $symlink_target = array();
   for ($i = 0; $i < $subdir_levels; $i++) {
@@ -88,12 +96,11 @@ function unl_add_site($site_path, $uri, $clean_url, $db_prefix) {
     $symlink_target = '.';
   }
   
-  $command = "$php_path sites/all/modules/drush/drush.php -y --uri=$uri site-install unl_profile --sites-subdir=$sites_subdir --db-url=$db_url --db-prefix=$db_prefix --clean-url=$clean_url";
-  
   if ($subdir) {
     mkdir($subdir, 0755, TRUE);
   }
-  symlink($symlink_target, DRUPAL_ROOT . '/' . $subdir . '/' . $symlink_name);
+  
+  symlink($symlink_target, $subdir . '/' . $symlink_name);
   shell_exec($command);
 }
 
-- 
GitLab