private function getTransformedContent(PHPWikiPage $wiki_page, PHPWikiPageVersion $version, WikiRequest $request) { $dbi = $request->_dbi; $page_db = $dbi->getPage($wiki_page->getPagename()); $revision = $page_db->getRevision($version->getVersionId()); return $revision->getTransformedContent(); }
public function getFromattedUgroupsThatCanReadWikiPage(PHPWikiPage $wiki_page) { $project = $this->project_manager->getProject($wiki_page->getGid()); $ugroup_ids = $this->permission_manager->getAuthorizedUgroupIds($wiki_page->getId(), self::WIKI_PERMISSION_READ); $ugroup_ids = $this->filterWikiPagePermissionsAccordingToService($project, $ugroup_ids); $ugroup_ids = $this->filterWikiPagePermissionsAccordingToProject($project, $ugroup_ids); return $this->literalizer->ugroupIdsToString($ugroup_ids, $project); }
/** @return PaginatedWikiPages */ public function getPaginatedUserPages(PFUser $user, $project_id, $limit, $offset, $pagename) { $pages = array(); if ($pagename !== '') { $row_pages = $this->dao->searchPaginatedUserWikiPagesByPagename($project_id, $limit, $offset, $pagename); } else { $row_pages = $this->dao->searchPaginatedUserWikiPages($project_id, $limit, $offset); } foreach ($row_pages as $page) { $wiki_page = new PHPWikiPage($project_id, $page['pagename']); if ($wiki_page->isAutorized($user->getId())) { $pages[] = $wiki_page; } } return new PaginatedPHPWikiPages($pages); }
public function doesWikiPageExistInRESTContext($page_id) { $admin_pages = $this->da->quoteSmartImplode(',', PHPWikiPage::getAdminPages()); $default_pages = $this->da->quoteSmartImplode(',', PHPWikiPage::getDefaultPages()); $page_id = $this->da->escapeInt($page_id); $sql = "SELECT SQL_CALC_FOUND_ROWS plugin_phpwiki_page.id\n FROM plugin_phpwiki_page, plugin_phpwiki_nonempty\n WHERE plugin_phpwiki_page.id = {$page_id}\n AND plugin_phpwiki_nonempty.id <> plugin_phpwiki_page.id\n AND plugin_phpwiki_page.pagename NOT IN ({$default_pages},{$admin_pages})"; $this->retrieve($sql); return (int) $this->foundRows(); }
/** * pagePerms - public View */ function _pagePerms($postUrl = '') { $wp = new PHPWikiPage($_REQUEST['id']); $pagename = $wp->getPagename(); $eM =& EventManager::instance(); $referenced = false; $eM->processEvent('isWikiPageReferenced', array('referenced' => &$referenced, 'wiki_page' => $pagename, 'group_id' => $this->gid)); if ($referenced) { $label = ''; $eM->processEvent('getPermsLabelForWiki', array('label' => &$label)); print '<p align="center"><br><b>' . $label . '</b></p>'; } else { print $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'set_perm_title'); if (empty($pagename)) { print $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'empty_page'); } else { $purifier = Codendi_HTMLPurifier::instance(); print $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'not_empty_page', array($purifier->purify($pagename))); permission_display_selection_form("PHPWIKIPAGE_READ", $wp->getId(), $this->gid, $postUrl); } } }
/** * View display a Wiki Page. * * @access public */ function wiki() { $wp = new PHPWikiPage($this->gid, $_REQUEST['pagename']); $wp->log(user_getid()); $lite = false; $full_screen = false; if (isset($_GET['pv']) && $_GET['pv'] == 1) { $lite = true; } if (isset($_GET['pv']) && $_GET['pv'] == 2) { $full_screen = true; } $wp->render($lite, $full_screen); }
/** * Check access permissions for wiki and wiki pages. * * Check restriction for: * wiki: whole wiki can be restricted. * wikipage: each page of the wiki can be restricted. */ function checkPermissions() { // Check if user can access to whole wiki if (!$this->wiki->isAutorized(user_getid())) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('plugin_phpwiki_wikiservice', 'acces_denied_whole', session_make_url("/project/memberlist.php?group_id=" . $this->gid)), CODENDI_PURIFIER_DISABLED); exit_permission_denied(); } // Check if user can access to selected page if (!empty($_REQUEST['pagename'])) { $wp = new PHPWikiPage($this->gid, $_REQUEST['pagename']); if (!$wp->isAutorized(user_getid())) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('plugin_phpwiki_wikiservice', 'acces_denied_page', session_make_url("/project/memberlist.php?group_id=" . $this->gid)), CODENDI_PURIFIER_DISABLED); exit_permission_denied(); } } }
private function getIndexablePageFromDefaultAndAdminPages(array &$indexable_pages) { $default_pages_used = array_merge($this->getAllInternalPages(), $this->getAdminPages()); foreach ($default_pages_used as $default_page_name) { $wiki_page = new PHPWikiPage($this->gid, $default_page_name); $version = $wiki_page->getCurrentVersion(); if ($version > 1) { $indexable_pages[] = $wiki_page; } } }
/** * browsePages - private */ function _browsePages(&$pageList) { print html_build_list_table_top(array('Page', 'Permissions')); $purifier = Codendi_HTMLPurifier::instance(); sort($pageList); $i = 0; foreach ($pageList as $pagename) { print ' <tr class="' . html_get_alt_row_color($i) . '"> '; print '<td><a href="' . $this->wikiLink . '&pagename=' . urlencode($pagename) . '">' . $purifier->purify($pagename) . '</a></td>'; $page = new PHPWikiPage($this->gid, $pagename); $status = $GLOBALS['Language']->getText('plugin_phpwiki_views_wkserviews', 'define_perms'); if (permission_exist('PHPWIKIPAGE_READ', $page->getId())) { $status = $GLOBALS['Language']->getText('plugin_phpwiki_views_wkserviews', 'edit_perms'); } $eM =& EventManager::instance(); $referenced = false; $eM->processEvent('isWikiPageReferenced', array('referenced' => &$referenced, 'wiki_page' => $pagename, 'group_id' => $this->gid)); print '<td align="center">'; if ($referenced) { $label = ''; $eM->processEvent('getPermsLabelForWiki', array('label' => &$label)); print $purifier->purify($label); } else { print '<a href="' . $this->wikiAdminLink . '&view=pagePerms&id=' . urlencode($page->getId()) . '">[' . $purifier->purify($status) . ']</a>'; } print '</td>'; print ' </tr> '; $i++; } print '</TABLE>'; }
public function getFormattedContent(PHPWikiPage $page) { $formatter = new PHPWikiPageVersionContentFormatter($page->getId()); return $formatter->getFormattedContent($page, $this); }
/** * Get number of project wiki pages. * @return number of project pages (0 if wiki is empty) */ function getProjectPageCount() { $res = db_query(' SELECT count(*) as count' . ' FROM plugin_phpwiki_page, plugin_phpwiki_nonempty' . ' WHERE plugin_phpwiki_page.group_id="' . db_ei($this->gid) . '"' . ' AND plugin_phpwiki_nonempty.id=plugin_phpwiki_page.id' . ' AND plugin_phpwiki_page.pagename NOT IN ("' . implode('","', PHPWikiPage::getDefaultPages()) . '", "' . implode('","', PHPWikiPage::getAdminPages()) . '")'); if (db_numrows($res) > 0) { return db_result($res, 0, 'count'); } else { return 0; } }
/** * */ function setWikiPagePerms() { global $feedback; $wp = new PHPWikiPage($_POST['object_id']); if ($_POST['reset']) { $ret = $wp->resetPermissions(); } else { $ret = $wp->setPermissions($_POST['ugroups']); } if (!$ret) { exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('plugin_phpwiki_actions_wikiserviceadmin', 'update_page_perm_err', array($feedback))); } $event_manager = EventManager::instance(); $event_manager->processEvent("wiki_page_permissions_updated", array('group_id' => $wp->getGid(), 'wiki_page' => $wp->getPagename())); }
private function getIndexablePageFromAllUserPages(array &$indexable_pages) { $all_internal_pages = array_merge($this->getAllUserPages(), $this->wrapper->getProjectEmptyLinks()); foreach ($all_internal_pages as $internal_page_name) { $wiki_page = new PHPWikiPage($this->gid, $internal_page_name); if (!$wiki_page->isReferenced()) { $indexable_pages[] = $wiki_page; } } }