From f11534e38682246b6b95600699496e677ffe6f7f Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Thu, 30 Sep 2010 22:11:12 +0000 Subject: [PATCH] Don't remove a site's record if something happened while removing it. git-svn-id: file:///tmp/wdn_thm_drupal/branches/drupal-7.x@217 20a16fea-79d4-4915-8869-1ea9d5ebf173 --- sites/all/modules/unl/cron.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/sites/all/modules/unl/cron.php b/sites/all/modules/unl/cron.php index 910e028e..6b6a6de8 100644 --- a/sites/all/modules/unl/cron.php +++ b/sites/all/modules/unl/cron.php @@ -31,10 +31,18 @@ while ($row = $query->fetchAssoc()) { ->fields(array('installed' => 4)) ->condition('site_id', $row['site_id']) ->execute(); - unl_remove_site($row['site_path'], $row['uri'], $row['db_prefix']); - db_delete('unl_sites') - ->condition('site_id', $row['site_id']) - ->execute(); + if (unl_remove_site($row['site_path'], $row['uri'], $row['db_prefix'])) { + db_delete('unl_sites') + ->condition('site_id', $row['site_id']) + ->execute(); + } + else { + db_update('unl_sites') + ->fields(array('installed' => 5)) + ->condition('site_id', $row['site_id']) + ->execute(); + } + } @@ -104,11 +112,11 @@ function unl_remove_site($site_path, $uri, $db_prefix) { // A couple checks to make sure we aren't deleting something we shouldn't be. if (substr($sites_subdir, 0, strlen(DRUPAL_ROOT . '/sites/')) != DRUPAL_ROOT . '/sites/') { - return; + return FALSE; } if (strlen($sites_subdir) <= strlen(DRUPAL_ROOT . '/sites/')) { - return; + return FALSE; } foreach ($tables as $table) { @@ -129,6 +137,8 @@ function unl_remove_site($site_path, $uri, $db_prefix) { $subdir_levels = count($subdir); $subdir = implode('/', $subdir); unlink($subdir . '/' . $symlink_name); + + return TRUE; } -- GitLab