/** Get the prefix leading to the page for this NL
* Only X.org / AX / X groups may be seen on X.org.
*/
- public function prefix($enforce_xnet=true)
+ public function prefix($enforce_xnet=true, $with_group=true)
{
if (!empty($GLOBALS['IS_XNET_SITE'])) {
- return $this->group . '/nl';
+ if ($with_group) {
+ return $this->group . '/nl';
+ } else {
+ return 'nl';
+ }
}
switch ($this->group) {
case self::GROUP_XORG:
/** Get the prefix to use for all 'admin' pages of this NL.
*/
- public function adminPrefix($enforce_xnet=true)
+ public function adminPrefix($enforce_xnet=true, $with_group=true)
{
if (!empty($GLOBALS['IS_XNET_SITE'])) {
- return $this->group . '/admin/nl';
+ if ($with_group) {
+ return $this->group . '/admin/nl';
+ } else {
+ return 'admin/nl';
+ }
}
switch ($this->group) {
case self::GROUP_XORG:
public function last()
{
if (is_null($this->id_last)) {
- $this->id_last = $this->nl->getIssue('last')->id;
+ try {
+ $this->id_last = $this->nl->getIssue('last')->id;
+ } catch (MailNotFound $e) {
+ $this->id_last = null;
+ }
}
return $this->id_last;
}
}
if (!Post::has('nl_search')) {
- pl_redirect($nl->prefix());
+ pl_redirect($nl->prefix(true, false));
}
$nl_search = Post::t('nl_search');
S::logger()->log('nl_issue_create', $nid);
$id = $nl->createPending();
- pl_redirect($nl->adminPrefix() . '/edit/' . $id);
+ pl_redirect($nl->adminPrefix(true, false) . '/edit/' . $id);
}
$page->assign_by_ref('nl', $nl);
// Delete an article
if($action == 'delete') {
$issue->delArticle($aid);
- pl_redirect($nl->adminPrefix() . "/edit/$nid");
+ pl_redirect($nl->adminPrefix(true, false) . "/edit/$nid");
}
// Save an article
$art = new NLArticle(Post::v('title'), Post::v('body'), Post::v('append'),
$aid, Post::v('cid'), Post::v('pos'));
$issue->saveArticle($art);
- pl_redirect($nl->adminPrefix() . "/edit/$nid");
+ pl_redirect($nl->adminPrefix(true, false) . "/edit/$nid");
}
// Edit an article