function s_f_attachments_actionshandler($params) { global $prefs, $user, $tikilib; if ($prefs['feature_wiki_attachments'] != 'y') { return false; } /*** Works only for wiki attachments yet ***/ if (!empty($params['upload']) && empty($params['fileId']) && empty($params['page'])) { return false; } ///FIXME if (!empty($params['page'])) { require_once "lib/wiki/renderlib.php"; $info =& $tikilib->get_page_info($params['page']); $pageRenderer = new WikiRenderer($info, $user, $info['data']); $objectperms = $pageRenderer->applyPermissions(); } global $filegallib; include_once 'lib/filegals/filegallib.php'; foreach ($params as $k => $v) { switch ($k) { case 'remove': /* FIXME check_ticket('index'); $owner = $wikilib->get_attachment_owner($_REQUEST['removeattach']); if ( ($user && ($owner == $user) ) || $objectperms->wiki_admin_attachments ) { $access->check_authenticity(); $wikilib->remove_wiki_attachment($_REQUEST['removeattach']); } $pageRenderer->setShowAttachments( 'y' ); */ $filegallib->actionHandler('removeFile', array('fileId' => $v)); break; case 'upload': if (isset($objectperms) && ($objectperms->wiki_admin_attachments || $objectperms->wiki_attach_files)) { /* check_ticket('index'); */ global $smarty; $smarty->loadPlugin('smarty_function_query'); $galleryId = $filegallib->get_attachment_gallery($params['page'], 'wiki page', true); $filegallib->actionHandler('uploadFile', array('galleryId' => array($galleryId), 'comment' => $params['comment'], 'returnUrl' => smarty_function_query(array('_type' => 'absolute_path', 's_f_attachments-upload' => 'NULL', 's_f_attachments-page' => 'NULL', 's_f_attachments-comment' => 'NULL'), $smarty))); } break; } } return true; }
if (count($pages) >= 2) { // If only two languages, its best to show // them side by side for easier comparison // (as opposed to one on top of the other). // But for more than two languages, side by // side is not possible, cause not enough real estate $show_langs_side_by_side = true; } foreach ( array_reverse($pages) as $id => $info ) { $page = $info['pageName']; $section = 'wiki page'; $renderer = new WikiRenderer($info, $user); $renderer->applyPermissions(); if ( $tiki_p_view == 'y' ) { $renderer->runSetups(); $contents[] = $smarty->fetch('tiki-show_page.tpl'); if ( $id === count($pages) - 1 ) $renderer->restoreAll(); } } $contents = array_reverse($contents); $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); $smarty->assign('side_by_side', $show_langs_side_by_side);
} // Get the page from the request var or default it to HomePage if (!isset($_REQUEST["page"])) { $_REQUEST["page"] = $wikilib->get_default_wiki_page(); } $page = $_REQUEST['page']; $smarty->assign('page', $page); // If the page doesn't exist then display an error if (!($info = $tikilib->get_page_info($page))) { $smarty->assign('msg', tra("Page cannot be found")); $smarty->display("error_raw.tpl"); die; } require_once 'lib/wiki/renderlib.php'; $pageRenderer = new WikiRenderer($info, $user); $objectperms = $pageRenderer->applyPermissions(); if ($prefs['flaggedrev_approval'] == 'y' && isset($_REQUEST['latest']) && $objectperms->wiki_view_latest) { $pageRenderer->forceLatest(); } $access->check_permission('tiki_p_view', '', 'wiki page', $page); // BreadCrumbNavigation here // Remember to reverse the array when posting the array if (!isset($_SESSION["breadCrumb"])) { $_SESSION["breadCrumb"] = array(); } if (!in_array($page, $_SESSION["breadCrumb"])) { if (count($_SESSION["breadCrumb"]) > $prefs['userbreadCrumb']) { array_shift($_SESSION["breadCrumb"]); } array_push($_SESSION["breadCrumb"], $page); } else {