本文整理汇总了PHP中Repository::getSlug方法的典型用法代码示例。如果您正苦于以下问题:PHP Repository::getSlug方法的具体用法?PHP Repository::getSlug怎么用?PHP Repository::getSlug使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Repository
的用法示例。
在下文中一共展示了Repository::getSlug方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveRepository
/**
* Store a newly created repository
*
* @param Repository $repositoryObject
* @param Boolean $update
* @return -1 if failed
*/
public function saveRepository($repositoryObject, $update = false)
{
$repositories = AJXP_Utils::loadSerialFile($this->repoSerialFile);
if (!$update) {
$repositoryObject->writeable = true;
$repositories[$repositoryObject->getUniqueId()] = $repositoryObject;
} else {
foreach ($repositories as $index => $repo) {
if ($repo->getUniqueId() == $repositoryObject->getUniqueId()) {
$repositories[$index] = $repositoryObject;
break;
}
}
}
try {
AJXP_Utils::saveSerialFile($this->repoSerialFile, $repositories);
} catch (Exception $e) {
return -1;
}
$this->updateAliasesIndex($repositoryObject->getUniqueId(), $repositoryObject->getSlug());
}
示例2: getWorkspaceShortcutURL
/**
* @param Repository $repository
* @return string
*/
public static function getWorkspaceShortcutURL($repository)
{
$repoSlug = $repository->getSlug();
$skipHistory = ConfService::getCoreConf("SKIP_USER_HISTORY", "conf");
if ($skipHistory) {
$prefix = "/ws-";
} else {
$prefix = "?goto=";
}
return trim(self::detectServerURL(true), "/") . $prefix . $repoSlug;
}
示例3: repositoryToXML
/**
* @param string $repoId
* @param Repository $repoObject
* @param array $exposed
* @param array $streams
* @param AbstractAjxpUser $loggedUser
* @param string $accessStatus
* @return string
* @throws Exception
*/
public static function repositoryToXML($repoId, $repoObject, $exposed, $streams, $loggedUser, $accessStatus = "")
{
$statusString = " repository_type=\"" . $repoObject->getRepositoryType() . "\"";
if (empty($accessStatus)) {
$accessStatus = $repoObject->getAccessStatus();
}
if (!empty($accessStatus)) {
$statusString .= " access_status=\"{$accessStatus}\" ";
} else {
if ($loggedUser != null) {
$lastConnected = $loggedUser->getArrayPref("repository_last_connected", $repoId);
if (!empty($lastConnected)) {
$statusString .= " last_connection=\"{$lastConnected}\" ";
}
}
}
$streamString = "";
if (in_array($repoObject->accessType, $streams)) {
$streamString = "allowCrossRepositoryCopy=\"true\"";
}
if ($repoObject->getUniqueUser()) {
$streamString .= " user_editable_repository=\"true\" ";
}
if ($repoObject->hasContentFilter()) {
$streamString .= " hasContentFilter=\"true\"";
}
$slugString = "";
$slug = $repoObject->getSlug();
if (!empty($slug)) {
$slugString = "repositorySlug=\"{$slug}\"";
}
$isSharedString = "";
$currentUserIsOwner = false;
$ownerLabel = null;
if ($repoObject->hasOwner()) {
$uId = $repoObject->getOwner();
if (AuthService::usersEnabled() && AuthService::getLoggedUser()->getId() == $uId) {
$currentUserIsOwner = true;
}
$label = ConfService::getUserPersonalParameter("USER_DISPLAY_NAME", $uId, "core.conf", $uId);
$ownerLabel = $label;
$isSharedString = 'owner="' . AJXP_Utils::xmlEntities($label) . '"';
}
if ($repoObject->securityScope() == "USER" || $currentUserIsOwner) {
$streamString .= " userScope=\"true\"";
}
$descTag = "";
$public = false;
if (!empty($_SESSION["CURRENT_MINISITE"])) {
$public = true;
}
$description = $repoObject->getDescription($public, $ownerLabel);
if (!empty($description)) {
$descTag = '<description>' . AJXP_Utils::xmlEntities($description, true) . '</description>';
}
$roleString = "";
if ($loggedUser != null) {
$merged = $loggedUser->mergedRole;
$params = array();
foreach ($exposed as $exposed_prop) {
$metaOptions = $repoObject->getOption("META_SOURCES");
if (!isset($metaOptions[$exposed_prop["PLUGIN_ID"]])) {
continue;
}
$value = $exposed_prop["DEFAULT"];
if (isset($metaOptions[$exposed_prop["PLUGIN_ID"]][$exposed_prop["NAME"]])) {
$value = $metaOptions[$exposed_prop["PLUGIN_ID"]][$exposed_prop["NAME"]];
}
$value = $merged->filterParameterValue($exposed_prop["PLUGIN_ID"], $exposed_prop["NAME"], $repoId, $value);
if ($value !== null) {
if ($value === true || $value === false) {
$value = $value === true ? "true" : "false";
}
$params[] = '<repository_plugin_param plugin_id="' . $exposed_prop["PLUGIN_ID"] . '" name="' . $exposed_prop["NAME"] . '" value="' . AJXP_Utils::xmlEntities($value) . '"/>';
$roleString .= str_replace(".", "_", $exposed_prop["PLUGIN_ID"]) . "_" . $exposed_prop["NAME"] . '="' . AJXP_Utils::xmlEntities($value) . '" ';
}
}
$roleString .= 'acl="' . $merged->getAcl($repoId) . '"';
if ($merged->hasMask($repoId)) {
$roleString .= ' hasMask="true" ';
}
}
return "<repo access_type=\"" . $repoObject->accessType . "\" id=\"" . $repoId . "\"{$statusString} {$streamString} {$slugString} {$isSharedString} {$roleString}><label>" . SystemTextEncoding::toUTF8(AJXP_Utils::xmlEntities($repoObject->getDisplay())) . "</label>" . $descTag . $repoObject->getClientSettings() . "</repo>";
}
示例4: saveRepository
/**
* Store a newly created repository
*
* @param Repository $repositoryObject
* @param Boolean $update
* @return int -1 if failed
*/
public function saveRepository($repositoryObject, $update = false)
{
try {
if ($update) {
$repositoryObject->setSlug($this->uniquifySlug($repositoryObject->getSlug(), $repositoryObject->getUniqueId()));
} else {
$repositoryObject->setSlug($this->uniquifySlug($repositoryObject->getSlug()));
}
$repository_array = $this->repoToArray($repositoryObject);
$options = $repository_array['options'];
if ($repositoryObject->hasContentFilter()) {
$options["content_filter"] = $repositoryObject->getContentFilter();
}
unset($repository_array['options']);
if (!$update) {
dibi::query('INSERT INTO [ajxp_repo]', $repository_array);
foreach ($options as $k => $v) {
if (!is_string($v)) {
$v = '$phpserial$' . serialize($v);
}
dibi::query('INSERT INTO [ajxp_repo_options] ([uuid],[name],[val]) VALUES (%s,%s,%bin)', $repositoryObject->getUniqueId(), $k, $v);
}
} else {
dibi::query('DELETE FROM [ajxp_repo] WHERE [uuid] = %s', $repositoryObject->getUniqueId());
dibi::query('DELETE FROM [ajxp_repo_options] WHERE [uuid] = %s', $repositoryObject->getUniqueId());
dibi::query('INSERT INTO [ajxp_repo]', $repository_array);
foreach ($options as $k => $v) {
if (!is_string($v)) {
$v = '$phpserial$' . serialize($v);
}
dibi::query('INSERT INTO [ajxp_repo_options] ([uuid],[name],[val]) VALUES (%s,%s,%bin)', $repositoryObject->getUniqueId(), $k, $v);
}
}
} catch (DibiException $e) {
echo get_class($e), ': ', $e->getMessage(), "\n";
exit(1);
return -1;
}
}