/** * (non-PHPdoc) * @see svnadmin\core\interfaces.IRepositoryViewProvider::listPath() */ public function listPath(\svnadmin\core\entities\Repository $oRepository, $relativePath) { // Get SVNParentPath of given Repository object. $svnParentPath = $this->getRepositoryParentConfigValue($oRepository->getParentIdentifier(), 'SVNParentPath'); // Absolute path to the repository. $repo = $svnParentPath . '/' . $oRepository->name; if ($relativePath == '/') { $relativePath = ''; } // Append the relative path. $uri = $repo . '/' . $relativePath; $ret = array(); // Get the file list. // @throws Exception $svn_entry_list = $this->_svnClient->svn_list($uri); if (empty($svn_entry_list->entries)) { return $ret; } foreach ($svn_entry_list->entries as $entry) { $oRP = new \svnadmin\core\entities\RepositoryPath(); $oRP->parent = $relativePath; $oRP->name = $entry->name; $oRP->type = $entry->isdir ? 0 : 1; $oRP->author = $entry->author; $oRP->revision = $entry->rev; $oRP->date = $entry->date; $ret[] = $oRP; } return $ret; }
/** * (non-PHPdoc) * @see svnadmin\core\interfaces.IRepositoryEditProvider::mkdir() */ public function mkdir(\svnadmin\core\entities\Repository $oRepository, array $paths) { $svnParentPath = $this->getRepositoryConfigValue($oRepository, 'SVNParentPath'); if ($svnParentPath == NULL) { throw new \Exception('Invalid parent-identifier: ' . $oRepository->getParentIdentifier()); } // Create absolute paths. for ($i = 0; $i < count($paths); ++$i) { $paths[$i] = $svnParentPath . '/' . $oRepository->name . '/' . $paths[$i]; } $this->_svnClient->svn_mkdir($paths); return true; }