diff options
author | Andrew Manning <tamanning@zoho.com> | 2016-05-10 21:00:10 -0400 |
---|---|---|
committer | Andrew Manning <tamanning@zoho.com> | 2016-05-10 21:00:10 -0400 |
commit | 2882eef42fd7665d00c745276fb4315da29cadff (patch) | |
tree | d5a73e0823172c90ae1c8713723e3fd5e31e7c82 | |
parent | 78b40e6363d422727bb716f5e72983291c75d217 (diff) | |
download | volse-hubzilla-2882eef42fd7665d00c745276fb4315da29cadff.tar.gz volse-hubzilla-2882eef42fd7665d00c745276fb4315da29cadff.tar.bz2 volse-hubzilla-2882eef42fd7665d00c745276fb4315da29cadff.zip |
Link plugins in the newly installed addon repo to /addon so they are accessible
-rw-r--r-- | Zotlabs/Module/Admin.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 1b98a2ced..a9f06b7ef 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -1785,6 +1785,25 @@ class Admin extends \Zotlabs\Web\Controller { $repoDir = $addonDir.'/'.$repoName; $tempAddonDir = __DIR__ . '/../../store/git/sys/temp/' . $repoName; rename($tempAddonDir, $repoDir); + + $files = array_diff(scandir($repoDir), array('.', '..')); + logger('files: ' . json_encode($files)); + foreach ($files as $file) + { + if(is_dir($repoDir.'/'.$file) && $file !== '.git') { + $source = realpath(__DIR__ . '/../../extend/addon/'.$repoName.'/'.$file.'/'); + $source = '../extend/addon/'.$repoName.'/'.$file; + $target = realpath(__DIR__ . '/../../addon/').'/'.$file; + logger('file: ' . json_encode($file)); + logger('source: ' . $source); + logger('target: ' . $target); + unlink($target); + if(!symlink($source, $target)) { + logger('Error linking addons to /addon'); + json_return_and_die(array('message' => 'Error linking addons to /addon', 'success' => false)); + } + } + } $git = new GitRepo('sys', $repoURL, false, $repoName, $repoDir); $repo = $git->probeRepo(); json_return_and_die(array('repo'=> $repo, 'message' => '', 'success' => true)); |