Exemplo n.º 1
0
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);
Exemplo n.º 3
0
}
// 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 {