diff options
author | Andrew Manning <tamanning@zoho.com> | 2016-05-10 06:28:00 -0400 |
---|---|---|
committer | Andrew Manning <tamanning@zoho.com> | 2016-05-10 06:28:00 -0400 |
commit | 78b40e6363d422727bb716f5e72983291c75d217 (patch) | |
tree | 8267b5452fb67e8a105d669a8c867a146f14d24b /Zotlabs/Module/Admin.php | |
parent | 45c19e365d8b73c8623f5d1c65b528cd628374a5 (diff) | |
download | volse-hubzilla-78b40e6363d422727bb716f5e72983291c75d217.tar.gz volse-hubzilla-78b40e6363d422727bb716f5e72983291c75d217.tar.bz2 volse-hubzilla-78b40e6363d422727bb716f5e72983291c75d217.zip |
Delete existing repo if the new one has a different URL. Fixed bug that could cause repeated installation.
Diffstat (limited to 'Zotlabs/Module/Admin.php')
-rw-r--r-- | Zotlabs/Module/Admin.php | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 63f3e77f0..1b98a2ced 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -1822,6 +1822,15 @@ class Admin extends \Zotlabs\Web\Controller { // clone the repo if new automatically $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir); + $remotes = $git->git->remote(); + $fetchURL = $remotes['origin']['fetch']; + if($fetchURL !== $git->url) { + if(rrmdir($repoDir)) { + $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir); + } else { + json_return_and_die(array('message' => 'Error deleting existing addon repo.', 'success' => false)); + } + } $repo = $git->probeRepo(); $repo['readme'] = $repo['manifest'] = null; foreach ($git->git->tree('master') as $object) { |