%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/wiki/helpers/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/wiki/helpers/Url.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\wiki\helpers;
use humhub\modules\content\components\ContentContainerActiveRecord;
use humhub\modules\content\helpers\ContentContainerHelper;
use humhub\modules\wiki\models\WikiPage;
use humhub\modules\wiki\models\WikiPageRevision;
/**
* Class Url
*/
class Url extends \yii\helpers\Url
{
const ROUTE_HOME = '/wiki/overview/index';
const ROUTE_OVERVIEW = '/wiki/overview/list-categories';
const ROUTE_UPDATE_FOLDING_STATE = '/wiki/overview/update-folding-state';
const ROUTE_WIKI_PAGE = '/wiki/page/view';
const ROUTE_WIKI_EDIT = '/wiki/page/edit';
const ROUTE_WIKI_DELETE = '/wiki/page/delete';
const ROUTE_WIKI_HISTORY = '/wiki/page/history';
const ROUTE_WIKI_DIFF = '/wiki/page/diff';
const ROUTE_WIKI_DIFF_EDITING = '/wiki/page/diff-editing';
const ROUTE_WIKI_REVERT = '/wiki/page/revert';
const ROUTE_EXTRACT_TITLES = '/wiki/page/headlines';
public static function toHome(ContentContainerActiveRecord $container)
{
return static::to([static::ROUTE_OVERVIEW, 'container' => $container]);
}
public static function toOverview(ContentContainerActiveRecord $container)
{
return static::to([static::ROUTE_OVERVIEW, 'container' => $container]);
}
public static function toWikiHistory(WikiPage $page)
{
return static::to([static::ROUTE_WIKI_HISTORY, 'id' => $page->id, 'container' => $page->content->container]);
}
public static function toWikiDiff(WikiPage $page, WikiPageRevision $revision1 = null, WikiPageRevision $revision2 = null)
{
$rev1 = $revision1 ? $revision1->revision : null;
$rev2 = $revision2 ? $revision2->revision : null;
return static::to([static::ROUTE_WIKI_DIFF, 'title' => $page->title, 'revision1' => $rev1, 'revision2' => $rev2, 'container' => $page->content->container]);
}
public static function toWikiDiffEditing(WikiPage $page)
{
return static::to([static::ROUTE_WIKI_DIFF_EDITING, 'id' => $page->id, 'container' => $page->content->container]);
}
public static function toWikiRevertRevision(WikiPage $page, $revision)
{
if($revision instanceof WikiPageRevision) {
$revision = $revision->revision;
}
return static::to([static::ROUTE_WIKI_REVERT, 'id' => $page->id, 'toRevision' => $revision, 'container' => $page->content->container]);
}
public static function toWikiCreateForCategory(WikiPage $page)
{
return static::wikiEdit($page->content->container, null, $page->id);
}
public static function toWikiCreate(ContentContainerActiveRecord $container, $categoryId = null)
{
return static::wikiEdit($container, null, $categoryId);
}
public static function toWikiEdit(WikiPage $page)
{
return static::wikiEdit($page->content->container, $page->id);
}
public static function toWikiCreateByTitle(ContentContainerActiveRecord $container, $title = null, $categoryId = null)
{
return static::to([static::ROUTE_WIKI_EDIT, 'title' => $title, 'container' => $container, 'categoryId' => $categoryId]);
}
private static function wikiEdit(ContentContainerActiveRecord $container, $id = null, $categoryId = null)
{
return static::to([static::ROUTE_WIKI_EDIT, 'id' => $id, 'container' => $container, 'categoryId' => $categoryId]);
}
/**
* @param WikiPage $page
* @param WikiPageRevision $revision
* @return string
*/
public static function toWiki(WikiPage $page, WikiPageRevision $revision = null)
{
$rev = $revision ? $revision->revision : null;
return static::to([static::ROUTE_WIKI_PAGE, 'title' => $page->title, 'revisionId' => $rev, 'container' => $page->content->container]);
}
public static function toWikiDelete(WikiPage $page)
{
return static::to([static::ROUTE_WIKI_DELETE, 'id' => $page->id, 'container' => $page->content->container]);
}
public static function toWikiByTitle($title, ContentContainerActiveRecord $container, WikiPageRevision $revision = null)
{
$rev = $revision ? $revision->revision : null;
return static::to([static::ROUTE_WIKI_PAGE, 'title' => $title, 'revision' => $rev, 'container' => $container]);
}
public static function toExtractTitles()
{
return static::to([static::ROUTE_EXTRACT_TITLES, 'container' => ContentContainerHelper::getCurrent()]);
}
public static function toUpdateFoldingState()
{
return static::to([static::ROUTE_UPDATE_FOLDING_STATE, 'container' => ContentContainerHelper::getCurrent()]);
}
}