diff options
Diffstat (limited to 'Zotlabs/Storage')
-rw-r--r-- | Zotlabs/Storage/Browser.php | 8 | ||||
-rw-r--r-- | Zotlabs/Storage/Directory.php | 9 | ||||
-rw-r--r-- | Zotlabs/Storage/File.php | 3 | ||||
-rw-r--r-- | Zotlabs/Storage/GitRepo.php | 159 |
4 files changed, 11 insertions, 168 deletions
diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php index 912b4442d..6a9cd61ef 100644 --- a/Zotlabs/Storage/Browser.php +++ b/Zotlabs/Storage/Browser.php @@ -4,6 +4,7 @@ namespace Zotlabs\Storage; use Sabre\DAV; use App; +use Zotlabs\Lib\Config; /** * @brief Provides a DAV frontend for the webbrowser. @@ -101,7 +102,7 @@ class Browser extends DAV\Browser\Plugin { $folder_list = attach_folder_select_list($channel_id); - $siteroot_disabled = get_config('system', 'cloud_disable_siteroot'); + $siteroot_disabled = Config::Get('system', 'cloud_disable_siteroot'); $is_root_folder = (($path === 'cloud/' . $nick) ? true : false); $parent_path = ''; @@ -210,7 +211,7 @@ class Browser extends DAV\Browser\Plugin { // types $photo_icon = ''; - $preview_style = intval(get_config('system','thumbnail_security',0)); + $preview_style = intval(Config::Get('system','thumbnail_security',0)); $is_creator = (($data['creator'] === get_observer_hash()) ? true : false); @@ -398,7 +399,6 @@ class Browser extends DAV\Browser\Plugin { '$allow_gid' => ((isset($channel_acl['allow_gid'])) ? acl2json($channel_acl['allow_gid']) : ''), '$deny_cid' => ((isset($channel_acl['deny_cid'])) ? acl2json($channel_acl['deny_cid']) : ''), '$deny_gid' => ((isset($channel_acl['deny_gid'])) ? acl2json($channel_acl['deny_gid']) : ''), - '$is_owner' => $is_owner, '$select_all_label' => t('Select All'), '$bulk_actions_label' => t('Bulk Actions'), '$adjust_permissions_label' => t('Adjust Permissions'), @@ -474,7 +474,7 @@ class Browser extends DAV\Browser\Plugin { $limit = engr_units_to_bytes(service_class_fetch($this->auth->owner_id, 'attach_upload_limit')); } - if((! $limit) && get_config('system','cloud_report_disksize')) { + if((! $limit) && Config::Get('system','cloud_report_disksize')) { $limit = engr_units_to_bytes(disk_free_space('store')); } diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php index 333251f69..a68fdcf26 100644 --- a/Zotlabs/Storage/Directory.php +++ b/Zotlabs/Storage/Directory.php @@ -3,6 +3,7 @@ namespace Zotlabs\Storage; use Sabre\DAV; +use Zotlabs\Lib\Config; use Zotlabs\Lib\Libsync; /** @@ -89,7 +90,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo logger('children for ' . $this->ext_path, LOGGER_DATA); $this->log(); - if (get_config('system', 'block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) { + if (Config::Get('system', 'block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) { throw new DAV\Exception\Forbidden('Permission denied.'); } @@ -111,7 +112,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo public function getChild($name) { logger($name, LOGGER_DATA); - if (get_config('system', 'block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) { + if (Config::Get('system', 'block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) { throw new DAV\Exception\Forbidden('Permission denied.'); } @@ -360,7 +361,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo intval($c[0]['channel_id']) ); - $maxfilesize = get_config('system', 'maxfilesize'); + $maxfilesize = Config::Get('system', 'maxfilesize'); if (($maxfilesize) && ($size > $maxfilesize)) { attach_delete($c[0]['channel_id'], $hash); return; @@ -776,7 +777,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo function ChannelList(&$auth) { $ret = []; - if (intval(get_config('system','cloud_disable_siteroot'))) { + if (intval(Config::Get('system','cloud_disable_siteroot'))) { return $ret; } diff --git a/Zotlabs/Storage/File.php b/Zotlabs/Storage/File.php index ff379e2e9..642dd4515 100644 --- a/Zotlabs/Storage/File.php +++ b/Zotlabs/Storage/File.php @@ -3,6 +3,7 @@ namespace Zotlabs\Storage; use Sabre\DAV; +use Zotlabs\Lib\Config; use Zotlabs\Lib\Libsync; /** @@ -240,7 +241,7 @@ class File extends DAV\Node implements DAV\IFile { // There is an Exception "InsufficientStorage" or "PaymentRequired" for // our service class from SabreDAV we could use. - $maxfilesize = get_config('system', 'maxfilesize'); + $maxfilesize = Config::Get('system', 'maxfilesize'); if (($maxfilesize) && ($size > $maxfilesize)) { attach_delete($c[0]['channel_id'], $this->data['hash']); return; diff --git a/Zotlabs/Storage/GitRepo.php b/Zotlabs/Storage/GitRepo.php deleted file mode 100644 index 306abc0ba..000000000 --- a/Zotlabs/Storage/GitRepo.php +++ /dev/null @@ -1,159 +0,0 @@ -<?php - -namespace Zotlabs\Storage; - -use PHPGit\Git as PHPGit; - -require __DIR__ . '/../../library/PHPGit.autoload.php'; // Load PHPGit dependencies - -/** - * Wrapper class for PHPGit class for git repositories managed by Hubzilla - * - * @author Andrew Manning <andrewmanning@grid.reticu.li> - */ -class GitRepo { - - public $url = null; - public $name = null; - private $path = null; - private $channel = null; - public $git = null; - private $repoBasePath = null; - - function __construct($channel = 'sys', $url = null, $clone = false, $name = null, $path = null) { - - if ($channel === 'sys' && !is_site_admin()) { - logger('Only admin can use channel sys'); - return null; - } - - $this->repoBasePath = __DIR__ . '/../../store/git'; - $this->channel = $channel; - $this->git = new PHPGit(); - - // Allow custom path for repo in the case of , for example - if ($path) { - $this->path = $path; - } else { - $this->path = $this->repoBasePath . "/" . $this->channel . "/" . $this->name; - } - - if ($this->isValidGitRepoURL($url)) { - $this->url = $url; - } - - if ($name) { - $this->name = $name; - } else { - $this->name = $this->getRepoNameFromURL($url); - } - if (!$this->name) { - logger('Error creating GitRepo. No repo name found.'); - return null; - } - - if (is_dir($this->path)) { - // ignore the $url input if it exists - // TODO: Check if the path is either empty or is a valid git repo and error if not - $this->git->setRepository($this->path); - // TODO: get repo metadata - return; - } - - if ($this->url) { - // create the folder and clone the repo at url to that folder if $clone is true - if ($clone) { - if (mkdir($this->path, 0770, true)) { - $this->git->setRepository($this->path); - if (!$this->cloneRepo()) { - // TODO: throw error - logger('git clone failed: ' . json_encode($this->git)); - } - } else { - logger('git repo path could not be created: ' . json_encode($this->git)); - } - } - } - } - - public function initRepo() { - if(!$this->path) return false; - try { - return $this->git->init($this->path); - } catch (\PHPGit\Exception\GitException $ex) { - return false; - } - } - - public function pull() { - try { - $success = $this->git->pull(); - } catch (\PHPGit\Exception\GitException $ex) { - return false; - } - return $success; - } - - public function getRepoPath() { - return $this->path; - } - - public function setRepoPath($directory) { - if (is_dir($directory)) { - $this->path->$directory; - $this->git->setRepository($directory); - return true; - } - return false; - } - - public function setIdentity($user_name, $user_email) { - // setup user for commit messages - $this->git->config->set("user.name", $user_name, ['global' => false, 'system' => false]); - $this->git->config->set("user.email", $user_email, ['global' => false, 'system' => false]); - } - - public function cloneRepo() { - if (validate_url($this->url) && $this->isValidGitRepoURL($this->url) && is_dir($this->path)) { - return $this->git->clone($this->url, $this->path); - } - } - - public function probeRepo() { - $git = $this->git; - $repo = array(); - $repo['remote'] = $git->remote(); - $repo['branches'] = $git->branch(['all' => true]); - $repo['logs'] = $git->log(array('limit' => 50)); - return $repo; - } - - // Commit changes to the repo. Default is to stage all changes and commit everything. - public function commit($msg, $options = array()) { - try { - return $this->git->commit($msg, $options); - } catch (\PHPGit\Exception\GitException $ex) { - return false; - } - } - - public static function isValidGitRepoURL($url) { - if (validate_url($url) && strrpos(parse_url($url, PHP_URL_PATH), '.')) { - return true; - } else { - return false; - } - } - - public static function getRepoNameFromURL($url) { - $urlpath = parse_url($url, PHP_URL_PATH); - $lastslash = strrpos($urlpath, '/') + 1; - $gitext = strrpos($urlpath, '.'); - if ($gitext) { - return substr($urlpath, $lastslash, $gitext - $lastslash); - } else { - return null; - } - } - -} |