/** * Creates an Access shortcut and possibly menu link * @return boolean */ public function createShortcut() { // title didn't change (in update or new) then go back if (!$this->_title_change) { return true; } PHPWS_Core::initModClass('access', 'Shortcut.php'); PHPWS_Core::initModClass('menu', 'Menu.php'); $key = new Key($this->key_id); $shortcut = new Access_Shortcut(); $shortcut->setUrl($key->module, $key->url); $shortcut = new Access_Shortcut(); $shortcut->setUrl('pagesmith', $key->url); $result = $shortcut->setKeyword($this->title); if (PHPWS_Error::isError($result) || $result == FALSE) { return $result; } $result = $shortcut->save(); if (PHPWS_Error::isError($result) || $result == FALSE) { return $result; } if ($this->parent_page || !PHPWS_Settings::get('pagesmith', 'auto_link')) { return true; } return $this->createMenuShortcut($shortcut, $key); }
public function admin() { switch ($_REQUEST['dop']) { case 'delete_document': if (!$this->folder->id || !Current_User::secured('filecabinet', 'edit_folders', $this->folder->id, 'folder')) { Current_User::disallow(); } $this->document->delete(); PHPWS_Core::returnToBookmark(); break; case 'post_document_upload': if (!$this->folder->id || !Current_User::authorized('filecabinet', 'edit_folders', $this->folder->id, 'folder')) { Current_User::disallow(); } $this->postDocumentUpload(); javascript('close_refresh'); Layout::nakedDisplay(); //\PHPWS_Core::goBack(); break; case 'upload_document_form': if (!$this->folder->id || !Current_User::secured('filecabinet', 'edit_folders', $this->folder->id, 'folder')) { Current_User::disallow(); } $this->loadDocument(filter_input(INPUT_GET, 'file_id', FILTER_VALIDATE_INT)); $this->edit(); echo Layout::wrap($this->content, 'Document Upload', true); exit; case 'add_access': if (!Current_User::authorized('filecabinet')) { Current_User::disallow(); } $keyword = null; $this->loadDocument(); // document exists, try making a shortcut if ($this->document->id) { PHPWS_Core::initModClass('access', 'Shortcut.php'); $shortcut = new Access_Shortcut(); if (isset($_GET['keyword'])) { $keyword = $_GET['keyword']; } if (empty($keyword)) { $keyword = $this->document->title; } $result = $shortcut->setKeyword($keyword); $new_keyword = $shortcut->keyword; // if setKeyword returns a false or error, we have them pick a different name if (!$result || PHPWS_Error::isError($result)) { $message = dgettext('filecabinet', 'Access shortcut name already in use. Please enter another.'); $success = false; } else { $shortcut->setUrl('filecabinet', $this->document->getViewLink()); $shortcut->save(); $success = true; $message = '<p>' . dgettext('filecabinet', 'Access shortcut successful!') . '</p>'; $message .= '<a href="' . PHPWS_Core::getHomeHttp() . $shortcut->keyword . '">' . PHPWS_Core::getHomeHttp() . $shortcut->keyword . '</a>'; } } else { $message = dgettext('filecabinet', 'File not found'); // not really a success but prevents a repost prompt $success = true; } echo json_encode(array('success' => $success, 'message' => $message, 'keyword' => $new_keyword)); exit; } }