Esempio n. 1
0
/**
 *  Computes the alternate homes for each feature
 *		(used in admin general template)
 * 
 * @access public
 * @return array of url's and labels of the alternate homepages
 */
function feature_home_pages($partial = false)
{
    global $prefs, $tikilib, $commentslib;
    $tikiIndex = array();
    //wiki
    $tikiIndex['tiki-index.php'] = tra('Wiki');
    // Articles
    if (!$partial && $prefs['feature_articles'] == 'y') {
        $tikiIndex['tiki-view_articles.php'] = tra('Articles');
    }
    // Blog
    if (!$partial && $prefs['feature_blogs'] == 'y') {
        if ($prefs['home_blog'] != '0') {
            global $bloglib;
            require_once 'lib/blogs/bloglib.php';
            $hbloginfo = $bloglib->get_blog($prefs['home_blog']);
            $home_blog_name = substr($hbloginfo['title'], 0, 20);
        } else {
            $home_blog_name = tra('Set blogs homepage first');
        }
        $tikiIndex['tiki-view_blog.php?blogId=' . $prefs['home_blog']] = tra('Blog:') . $home_blog_name;
    }
    // Image gallery
    if (!$partial && $prefs['feature_galleries'] == 'y') {
        if ($prefs['home_gallery'] != '0') {
            $hgalinfo = $tikilib->get_gallery($prefs['home_gallery']);
            $home_gal_name = substr($hgalinfo["name"], 0, 20);
        } else {
            $home_gal_name = tra('Set Image gal homepage first');
        }
        $tikiIndex['tiki-browse_gallery.php?galleryId=' . $prefs['home_gallery']] = tra('Image Gallery:') . $home_gal_name;
    }
    // File gallery
    if (!$partial && $prefs['feature_file_galleries'] == 'y') {
        $filegallib = TikiLib::lib('filegal');
        $hgalinfo = $filegallib->get_file_gallery($prefs['home_file_gallery']);
        $home_gal_name = substr($hgalinfo["name"], 0, 20);
        $tikiIndex['tiki-list_file_gallery.php?galleryId=' . $prefs['home_file_gallery']] = tra('File Gallery:') . $home_gal_name;
    }
    // Forum
    if (!$partial && $prefs['feature_forums'] == 'y') {
        require_once 'lib/comments/commentslib.php';
        if (!isset($commentslib)) {
            $commentslib = new Comments();
        }
        if ($prefs['home_forum'] != '0') {
            $hforuminfo = $commentslib->get_forum($prefs['home_forum']);
            $home_forum_name = substr($hforuminfo['name'], 0, 20);
        } else {
            $home_forum_name = tra('Set Forum homepage first');
        }
        $tikiIndex['tiki-view_forum.php?forumId=' . $prefs['home_forum']] = tra('Forum:') . $home_forum_name;
    }
    // Custom home
    $tikiIndex['tiki-custom_home.php'] = tra('Custom home');
    return $tikiIndex;
}
Esempio n. 2
0
 function action_toggle($input)
 {
     global $user, $tikilib, $prefs, $artlib;
     if (!$user) {
         throw new Services_Exception(tr('Must be authenticated'), 403);
     }
     $type = $input->type->none();
     $object = $input->object->none();
     $target = $input->target->int();
     if (!$type || !$object) {
         throw new Services_Exception(tr('Invalid input'), 400);
     }
     $relationlib = TikiLib::lib('relation');
     $relations = $this->action_list($input);
     if ($target) {
         if (!in_array("{$type}:{$object}", $relations) && ($relationId = $relationlib->add_relation('tiki.user.favorite', 'user', $user, $type, $object))) {
             $relations[$relationId] = "{$type}:{$object}";
             TikiLib::lib('tiki')->refresh_index($type, $object);
         }
     } else {
         foreach ($relations as $id => $key) {
             if ($key === "{$type}:{$object}") {
                 $relationlib->remove_relation($id);
                 unset($relations[$id]);
                 TikiLib::lib('tiki')->refresh_index($type, $object);
             }
         }
     }
     if ($prefs['feature_score'] == 'y' && $target) {
         if ($type == 'forum post') {
             require_once 'lib/comments/commentslib.php';
             $commentslib = new Comments();
             $forum_id = $commentslib->get_comment_forum_id($object);
             $forum_info = $commentslib->get_forum($forum_id);
             $thread_info = $commentslib->get_comment($object, null, $forum_info);
             $item_user = $thread_info['userName'];
         } elseif ($type == 'article') {
             require_once 'lib/articles/artlib.php';
             $artlib = new ArtLib();
             $res = $artlib->get_article($object);
             $item_user = $res['author'];
         }
         $tikilib->score_event($user, 'item_favorited', "{$type}:{$object}");
         $tikilib->score_event($item_user, 'item_is_favorited', "{$user}:{$type}:{$object}");
     }
     return array('list' => $relations);
 }
Esempio n. 3
0
function smarty_modifier_forumname($commentid, $retrun_forumid = 'n')
{
    global $tikilib, $cachelib;
    require_once 'lib/comments/commentslib.php';
    $comments = new Comments();
    if ($retrun_forumid == 'y') {
        $cacheItem = "retrun_forumid" . $commentid;
    } else {
        $cacheItem = "retrun_forumname" . $commentid;
    }
    if ($cached = $cachelib->getCached($cacheItem)) {
        return $cached;
    }
    $forum_id = $comments->get_comment_forum_id($commentid);
    $cachelib->cacheItem($cacheItem, $forum_id);
    if ($retrun_forumid == 'y') {
        return $forum_id;
    }
    $ret = $comments->get_forum($forum_id);
    $cachelib->cacheItem($cacheItem, $ret['name']);
    return $ret['name'];
}
	'comment_threadId',
	'comment_offset',
	'comment_threshold',
	'thread_sort_mode',
	'time_control',
	'show_archived',
	'poster',
	'filter_type',
	'reply_state'
);

include_once ('lib/comments/commentslib.php');

$commentslib = new Comments($dbTiki);

if (!isset($_REQUEST['forumId']) || !($forum_info = $commentslib->get_forum($_REQUEST['forumId']))) {
	$smarty->assign('errortype', 'no_redirect_login');
	$smarty->assign('msg', tra('No forum indicated'));
	$smarty->display('error.tpl');
	die;
}

if (isset($_REQUEST['comments_postCancel'])) {
	unset($_REQUEST['comments_threadId']);
	unset($_REQUEST['comments_title']);
	unset($_REQUEST['openpost']);
}

if (isset($_REQUEST['openpost'])) {
	$smarty->assign('openpost', 'y');
} else {
// Forums must be active
if ($prefs['feature_forums'] != 'y') {
    $smarty->assign('msg', tra("This feature is disabled") . ": feature_forums");
    $smarty->display("error.tpl");
    die;
}
// forumId must be received
if (!isset($_REQUEST["forumId"])) {
    $smarty->assign('msg', tra("No forum indicated"));
    $smarty->display("error.tpl");
    die;
}
$smarty->assign('forumId', $_REQUEST["forumId"]);
include_once "lib/commentslib.php";
$commentslib = new Comments($dbTiki);
$forum_info = $commentslib->get_forum($_REQUEST["forumId"]);
//Check individual permissions for this forum
$smarty->assign('individual', 'n');
if ($userlib->object_has_one_permission($_REQUEST["forumId"], 'forum')) {
    $smarty->assign('individual', 'y');
    if ($tiki_p_admin != 'y') {
        $perms = $userlib->get_permissions(0, -1, 'permName_desc', '', 'forums');
        foreach ($perms["data"] as $perm) {
            $permName = $perm["permName"];
            if ($userlib->object_has_permission($user, $_REQUEST["forumId"], 'forum', $permName)) {
                ${$permName} = 'y';
                $smarty->assign("{$permName}", 'y');
            } else {
                ${$permName} = 'n';
                $smarty->assign("{$permName}", 'n');
            }
     if (strstr($_SERVER["REQUEST_URI"], 'tiki-list_file_gallery')) {
         $info = $tikilib->get_file_gallery($setup_query_data["galleryId"]);
         $_REQUEST["bookmark_urlname"] = $info["name"];
     }
     // Check if we are bookmarking an image
     if (strstr($_SERVER["REQUEST_URI"], 'tiki-browse_image')) {
         $info = $imagegallib->get_image($setup_query_data["imageId"]);
         $_REQUEST["bookmark_urlname"] = $info["name"];
     }
     // Check if we are bookmarking a forum
     if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_forum')) {
         require_once 'lib/commentslib.php';
         if (!isset($commentslib)) {
             $commentslib = new Comments($dbTiki);
         }
         $info = $commentslib->get_forum($setup_query_data["forumId"]);
         $_REQUEST["bookmark_urlname"] = $info["name"];
     }
     // Check if we are bookmarking a faq
     if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_faq')) {
         $info = $tikilib->get_faq($setup_query_data["faqId"]);
         $_REQUEST["bookmark_urlname"] = $info["title"];
     }
     // Check if we are bookmarking a weblog
     if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_blog')) {
         $info = $tikilib->get_blog($setup_query_data["blogId"]);
         $_REQUEST["bookmark_urlname"] = $info["title"];
     }
 }
 if (!empty($_REQUEST["bookmark_urlname"])) {
     $bookmarklib->replace_url(0, $_SESSION["bookmarks_parent"], $_REQUEST["bookmark_urlname"], $ownurl, $user);
Esempio n. 7
0
    require_once 'tiki-rss_error.php';
}
if ($tiki_p_admin_forum != 'y' && $tiki_p_forum_read != 'y') {
    $errmsg = tra("Permission denied you cannot view this section");
    require_once 'tiki-rss_error.php';
}
if (!isset($_REQUEST["forumId"])) {
    $errmsg = tra("No forumId specified");
    require_once 'tiki-rss_error.php';
}
require_once 'lib/commentslib.php';
if (!isset($commentslib)) {
    $commentslib = new Comments($dbTiki);
}
$feed = "forum";
$tmp = $commentslib->get_forum($_REQUEST["forumId"]);
$title = tra("Tiki RSS feed for forum: ") . $tmp["name"];
$desc = $tmp["description"];
$now = date("U");
$id = "forumId";
$param = "threadId";
$descId = "data";
$dateId = "commentDate";
$authorId = "userName";
$titleId = "title";
$readrepl = "tiki-view_forum_thread.php?{$id}=%s&comments_parentId=%s";
$uniqueid = "{$feed}.{$id}=" . $_REQUEST["{$id}"];
$tmp = $tikilib->get_preference('title_rss_' . $feed, '');
if ($tmp != '') {
    $title = $tmp;
}
}

if ($where == 'faqs') {
	$access->check_feature('feature_faqs');
	$access->check_permission('tiki_p_view_faqs');
}

if ($where == 'forums') {
	$access->check_feature('feature_forums');
	$access->check_permission('tiki_p_forum_read');
	if (!empty($_REQUEST['forumId'])) {
		$filter['forumId'] = $_REQUEST['forumId'];
		global $commentslib;
		include ('lib/comments/commentslib.php');
		if (!isset($commentslib)) $commentslib = new Comments($dbTiki);
		$forum_info = $commentslib->get_forum($_REQUEST['forumId']);
		$where = 'forum';
		$smarty->assign_by_ref('where_forum', $forum_info['name']);
		$smarty->assign_by_ref('forumId', $_REQUEST['forumId']);
		$cant = '';
	}
}

if ($where == 'files') {
	$access->check_feature('feature_file_galleries');
	if (!empty($_REQUEST['galleryId'])) {
		$filter['galleryId'] = $_REQUEST['galleryId'];
	}
}

if ($where == 'articles') {
$smarty->assign("home_gallery_url", "tiki-browse_gallery.php?galleryId=" . $prefs['home_gallery']);
$smarty->assign("home_file_gallery_url", "tiki-list_file_gallery.php?galleryId=" . $prefs['home_file_gallery']);
if ($prefs['home_blog']) {
    $hbloginfo = $tikilib->get_blog($prefs['home_blog']);
    $smarty->assign("home_blog_name", substr($hbloginfo["title"], 0, 20));
} else {
    $smarty->assign("home_blog_name", '');
}
if ($prefs['home_gallery']) {
    $hgalinfo = $tikilib->get_gallery($prefs['home_gallery']);
    $smarty->assign("home_gal_name", substr($hgalinfo["name"], 0, 20));
} else {
    $smarty->assign("home_gal_name", '');
}
if ($prefs['home_forum']) {
    require_once 'lib/commentslib.php';
    if (!isset($commentslib)) {
        $commentslib = new Comments($dbTiki);
    }
    $hforuminfo = $commentslib->get_forum($prefs['home_forum']);
    $smarty->assign("home_forum_name", substr($hforuminfo["name"], 0, 20));
} else {
    $smarty->assign("home_forum_name", '');
}
if ($prefs['home_file_gallery']) {
    $hgalinfo = $tikilib->get_file_gallery($prefs['home_file_gallery']);
    $smarty->assign("home_fil_name", substr($hgalinfo["name"], 0, 20));
} else {
    $smarty->assign("home_fil_name", '');
}
ask_ticket('admin-inc-general');
    $smarty->assign("home_blog_name", substr($hbloginfo["title"], 0, 20));
} else {
    $smarty->assign("home_blog_name", '');
}
if ($home_gallery) {
    $hgalinfo = $tikilib->get_gallery($home_gallery);
    $smarty->assign("home_gal_name", substr($hgalinfo["name"], 0, 20));
} else {
    $smarty->assign("home_gal_name", '');
}
if ($home_forum) {
    require_once 'lib/commentslib.php';
    if (!isset($commentslib)) {
        $commentslib = new Comments($dbTiki);
    }
    $hforuminfo = $commentslib->get_forum($home_forum);
    $smarty->assign("home_forum_name", substr($hforuminfo["name"], 0, 20));
} else {
    $smarty->assign("home_forum_name", '');
}
if ($home_file_gallery) {
    $hgalinfo = $tikilib->get_gallery($home_file_gallery);
    $smarty->assign("home_fil_name", substr($hgalinfo["name"], 0, 20));
} else {
    $smarty->assign("home_fil_name", '');
}
// Get Date/Time preferences
$long_date_format = $tikilib->get_preference("long_date_format", "%A %d " . tra("DATE-of") . " %B, %Y");
$smarty->assign_by_ref("long_date_format", $long_date_format);
$short_date_format = $tikilib->get_preference("short_date_format", "%a %d " . tra("DATE-of") . " %b, %Y");
$smarty->assign_by_ref("short_date_format", $short_date_format);
Esempio n. 11
0
function smarty_function_rating($params, $smarty)
{
    global $prefs, $ratinglib;
    require_once 'lib/rating/ratinglib.php';
    if (!isset($params['type'], $params['id'])) {
        return tra('No object information provided for rating.');
    }
    $type = $params['type'];
    $id = $params['id'];
    if (isset($params['changemandated']) && $params['changemandated'] == 'y') {
        $changemandated = true;
        // needed to fix multiple submission problem in comments
    } else {
        $changemandated = false;
    }
    if (isset($_REQUEST['rating_value'][$type][$id], $_REQUEST['rating_prev'][$type][$id])) {
        $value = $_REQUEST['rating_value'][$type][$id];
        $prev = $_REQUEST['rating_prev'][$type][$id];
        if ((!$changemandated || $value != $prev) && $ratinglib->record_vote($type, $id, $value)) {
            // Handle type-specific actions
            if ($type == 'comment') {
                global $user;
                require_once 'lib/comments/commentslib.php';
                if ($user) {
                    $commentslib = new Comments();
                    $commentslib->vote_comment($id, $user, $value);
                }
            } elseif ($type == 'article') {
                global $artlib, $user;
                require_once 'lib/articles/artlib.php';
                if ($user) {
                    $artlib->vote_comment($id, $user, $value);
                }
            }
            if ($prefs['feature_score'] == 'y' && $id) {
                global $tikilib;
                if ($type == 'comment') {
                    $forum_id = $commentslib->get_comment_forum_id($id);
                    $forum_info = $commentslib->get_forum($forum_id);
                    $thread_info = $commentslib->get_comment($id, null, $forum_info);
                    $item_user = $thread_info['userName'];
                } elseif ($type == 'article') {
                    require_once 'lib/articles/artlib.php';
                    $artlib = new ArtLib();
                    $res = $artlib->get_article($id);
                    $item_user = $res['author'];
                }
                if ($value == '1') {
                    $tikilib->score_event($item_user, 'item_is_rated', "{$user}:{$type}:{$id}");
                } elseif ($value == '2') {
                    $tikilib->score_event($item_user, 'item_is_unrated', "{$user}:{$type}:{$id}");
                }
            }
        } elseif ($value != $prev) {
            return tra('An error occurred.');
        }
    }
    $vote = $ratinglib->get_vote($type, $id);
    $options = $ratinglib->get_options($type, $id);
    if ($prefs['rating_smileys'] == 'y') {
        $smiles = $ratinglib->get_options_smiles($type, $id);
        $smarty->assign('rating_smiles', $smiles);
    }
    $smarty->assign('rating_type', $type);
    $smarty->assign('rating_id', $id);
    $smarty->assign('rating_options', $options);
    $smarty->assign('current_rating', $vote);
    return $smarty->fetch('rating.tpl');
}
function module_user_bookmarks($mod_reference, $module_params)
{
	global $tikilib, $smarty;
	
	global $bookmarklib, $imagegallib, $user, $prefs, $tiki_p_create_bookmarks;
	include_once ('lib/bookmarks/bookmarklib.php');
	
	$setup_parsed_uri = parse_url($_SERVER["REQUEST_URI"]);
	
	if (isset($setup_parsed_uri["query"])) {
		TikiLib::parse_str($setup_parsed_uri["query"], $setup_query_data);
	} else {
		$setup_query_data = array();
	}
	
	if ($user && $tiki_p_create_bookmarks == 'y') {
		// check the session to get the directory or create directory =0
		$smarty->assign('ownurl', $tikilib->httpPrefix().$_SERVER["REQUEST_URI"]);
	
		if (isset($_REQUEST["bookmarks_directory"])) {
			$_SESSION["bookmarks_directory"] = $_REQUEST["bookmarks_directory"];
		} elseif (!isset($_SESSION["bookmarks_directory"])) {
			$_SESSION["bookmarks_directory"] = 0;
		}
	
		$ownurl = $tikilib->httpPrefix(). $_SERVER["REQUEST_URI"];
	
		// Now build urls
		if (strstr($ownurl, '?')) {
			$modb_sep = '&';
		} else {
			$modb_sep = '?';
		}
	
		$smarty->assign('modb_sep', $modb_sep);
	
		if (isset($_REQUEST["bookmark_removeurl"])) {
			$bookmarklib->remove_url($_REQUEST["bookmark_removeurl"], $user);
		}
	
		if (isset($_REQUEST["bookmark_create_folder"])) {
			$bookmarklib->add_folder($_SESSION["bookmarks_directory"], $_REQUEST['modb_name'], $user);
		}
	
		if (isset($_REQUEST["bookmark_mark"])) {
			$name = $_REQUEST["modb_name"];
			if (empty($name)) {
				// Check if we are bookmarking a wiki-page	
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-index')) {
					// Get the page
					if (isset($setup_query_data["page"])) {
						$name = $setup_query_data["page"];
					} else {
						$name = $prefs['wikiHomePage'];
					}
				}
	
				// Check if we are bookmarking an article
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-read_article')) {
					global $artlib; require_once 'lib/articles/artlib.php';
					$info = $artlib->get_article($setup_query_data["articleId"]);
	
					$name = $info["title"];
				}
	
				// Check if we are bookmarking a file gallery
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-list_file_gallery')) {
					$filegallib = TikiLib::lib('filegal');
					$info = $filegallib->get_file_gallery($setup_query_data["galleryId"]);
	
					$name = $info["name"];
				}
	
				// Check if we are bookmarking an image gallery
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-browse_gallery') || strstr($_SERVER["REQUEST_URI"], 'tiki-list_gallery')) {
					include_once ("lib/imagegals/imagegallib.php");
					$info = $imagegallib->get_gallery($setup_query_data["galleryId"]);
	
					$name = $info["name"];
				}

				// Check if we are bookmarking an image
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-browse_image')) {
					include_once ("lib/imagegals/imagegallib.php");
					$info = $imagegallib->get_image($setup_query_data["imageId"]);
	
					$name = $info["name"];
				}
	
				// Check if we are bookmarking a forum
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_forum')) {
					require_once('lib/comments/commentslib.php'); global $commentslib;
					if (!isset($commentslib)) {
						$commentslib = new Comments($dbTiki);
					}
					$info = $commentslib->get_forum($setup_query_data["forumId"]);
	
					$name = $info["name"];
				}
	
				// Check if we are bookmarking a faq
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_faq')) {
					$info = $tikilib->get_faq($setup_query_data["faqId"]);
	
					$name = $info["title"];
				}
	
				// Check if we are bookmarking a weblog
				if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_blog')) {
					global $bloglib; require_once('lib/blogs/bloglib.php');
					$info = $bloglib->get_blog($setup_query_data["blogId"]);
	
					$name = $info["title"];
				}
			}
	
			if (!empty($name)) {
				$bookmarklib->replace_url(0, $_SESSION["bookmarks_directory"], $name, $ownurl, $user);
			}
		}
	
		$modb_p_info = $bookmarklib->get_folder($_SESSION["bookmarks_directory"], $user);
		$modb_father = $modb_p_info["parentId"];
		// get urls
		$modb_urls = $bookmarklib->list_folder($_SESSION["bookmarks_directory"], 0, -1, 'name_asc', '', $user);
		$smarty->assign('modb_urls', $modb_urls["data"]);
		// get folders
		$modb_folders = $bookmarklib->get_child_folders($_SESSION["bookmarks_directory"], $user);
		$modb_pf = array(
			"name" => "..",
			"folderId" => $modb_father,
			"parentId" => 0,
			"user" => $user
		);
	
		if ($_SESSION["bookmarks_directory"]) {
			array_unshift($modb_folders, $modb_pf);
		}
	
		$smarty->assign('modb_folders', $modb_folders);
		$smarty->clear_assign('tpl_module_title');
	}
}