Exemple #1
0
/**
 * listforum_pref: retrieve the list of forums for the home_forum preference
 *
 * @access public
 * @return array: forumId => name(truncated)
 */
function listforum_pref()
{
    include_once 'lib/comments/commentslib.php';
    $commentslib = new Comments();
    $allforums = $commentslib->list_forums(0, -1, 'name_desc', '');
    $listforums = array('' => 'None');
    if ($allforums['cant'] > 0) {
        foreach ($allforums['data'] as $oneforum) {
            $listforums[$oneforum['forumId']] = substr($oneforum['name'], 0, 30);
        }
    } else {
        $listforums[''] = tra('No forum available (create one first)');
    }
    return $listforums;
}
		if (count($watching_categories_temp) > 0) {
			$smarty->assign('category_watched', 'y');
			$watching_categories = array();
			foreach ($watching_categories_temp as $wct) {
				$watching_categories[] = array(
					"categId" => $wct,
					"name" => $categlib->get_category_name($wct)
				);
			}
			$smarty->assign('watching_categories', $watching_categories);
		}
	}
}

if ($tiki_p_admin_forum == 'y' || $prefs['feature_forum_quickjump'] == 'y') {
	$all_forums = $commentslib->list_forums(0, -1, 'name_asc', '');
	$temp_max = count($all_forums['data']);
	for ($i = 0; $i < $temp_max; $i++) {
		if ($userlib->object_has_one_permission($all_forums['data'][$i]['forumId'], 'forum')) {
			if ($tiki_p_admin == 'y' 
						|| $userlib->object_has_permission($user, $all_forums['data'][$i]['forumId'], 'forum', 'tiki_p_admin_forum') 
						|| $userlib->object_has_permission($user, $all_forums['data'][$i]['forumId'], 'forum', 'tiki_p_forum_read')) {
				$all_forums['data'][$i]['can_read'] = 'y';
			} else {
				$all_forums['data'][$i]['can_read'] = 'n';
			}
		} else {
			$all_forums['data'][$i]['can_read'] = 'y';
		}
	}
	$smarty->assign('all_forums', $all_forums['data']);
if ( $prefs['feature_galleries'] == 'y' ) {
	$galleries = $tikilib->list_galleries($offset, -1, 'name_desc', 'admin', $find_objects);
}

if ( $prefs['feature_file_galleries'] == 'y' ) {
	include_once ('lib/filegals/filegallib.php');
	$file_galleries = $filegallib->list_file_galleries($offset, -1, 'name_desc', 'admin', $find_objects, $prefs['fgal_root_id']);
}

if ( $prefs['feature_forums'] == 'y' ) {
	include_once ('lib/comments/commentslib.php');
	if (!isset($commentslib)) {
		$commentslib = new Comments($dbTiki);
	}
	$forums = $commentslib->list_forums($offset, -1, 'name_asc', $find_objects);
}

if ( $prefs['feature_polls'] == 'y' ) {
	include_once ('lib/polls/polllib.php');
	$polls = $polllib->list_polls($offset, $maxRecords, 'title_asc', $find_objects);
}

if ( $prefs['feature_blogs'] == 'y' ) {
	require_once('lib/blogs/bloglib.php');
	$blogs = $bloglib->list_blogs($offset, -1, 'title_asc', $find_objects);
}

if ( $prefs['feature_wiki'] == 'y' ) {
	$pages = $tikilib->list_pageNames($offset, -1, 'pageName_asc', $find_objects);
	//TODO for all other object types
    $sort_mode = $_REQUEST["sort_mode"];
}
if (!isset($_REQUEST["offset"])) {
    $offset = 0;
} else {
    $offset = $_REQUEST["offset"];
}
$smarty->assign_by_ref('offset', $offset);
if (isset($_REQUEST["find"])) {
    $find = $_REQUEST["find"];
} else {
    $find = '';
}
$smarty->assign('find', $find);
$smarty->assign_by_ref('sort_mode', $sort_mode);
$channels = $commentslib->list_forums($offset, $maxRecords, $sort_mode, $find);
$temp_max = count($channels["data"]);
for ($i = 0; $i < $temp_max; $i++) {
    if ($userlib->object_has_one_permission($channels["data"][$i]["forumId"], 'forum')) {
        $channels["data"][$i]["individual"] = 'y';
        // forums that user cannot read are not displayed at all
        $channels["data"][$i]["individual_tiki_p_forum_read"] = 'y';
        if ($userlib->object_has_permission($user, $channels["data"][$i]["forumId"], 'forum', 'tiki_p_forum_post')) {
            $channels["data"][$i]["individual_tiki_p_forum_post"] = 'y';
        } else {
            $channels["data"][$i]["individual_tiki_p_forum_post"] = 'n';
        }
        if ($userlib->object_has_permission($user, $channels["data"][$i]["forumId"], 'forum', 'tiki_p_forum_vote')) {
            $channels["data"][$i]["individual_tiki_p_forum_vote"] = 'y';
        } else {
            $channels["data"][$i]["individual_tiki_p_forum_vote"] = 'n';
if (isset($_REQUEST["forumprefs"])) {
    check_ticket('admin-inc-forums');
    $pref_toggles = array('feature_forum_rankings', 'feature_forum_parse', 'feature_forum_topics_archiving', 'feature_forum_replyempty', 'feature_forum_quickjump', 'feature_forum_topicd', 'feature_forum_local_search', 'feature_forum_local_tiki_search', 'feature_forums_search', 'feature_forum_content_search', 'feature_forums_name_search', 'feature_forums_allow_thread_titles', 'forum_comments_no_title_prefix');
    foreach ($pref_toggles as $toggle) {
        simple_set_toggle($toggle);
    }
    simple_set_value('forums_ordering');
}
if (isset($_REQUEST["forumlistprefs"])) {
    check_ticket('admin-inc-forums');
    $pref_toggles = array('forum_list_topics', 'forum_list_posts', 'forum_list_ppd', 'forum_list_lastpost', 'forum_list_visits', 'forum_list_desc');
    foreach ($pref_toggles as $toggle) {
        simple_set_toggle($toggle);
    }
}
if (isset($_REQUEST["forumthreadprefs"])) {
    check_ticket('admin-inc-forums');
    $pref_toggles = array('forum_thread_defaults_by_forum', 'forum_thread_user_settings', 'forum_thread_user_settings_keep');
    $pref_values = array('forum_comments_per_page', 'forum_thread_style', 'forum_thread_sort_mode');
    foreach ($pref_toggles as $toggle) {
        simple_set_toggle($toggle);
    }
    foreach ($pref_values as $value) {
        simple_set_value($value);
    }
}
include_once "lib/commentslib.php";
$commentslib = new Comments($dbTiki);
$forums = $commentslib->list_forums(0, -1, 'name_desc', '');
$smarty->assign_by_ref('forums', $forums["data"]);
ask_ticket('admin-inc-forums');
		case 'trackers':
			$objects = TikiLib::lib('trk')->list_trackers();
			foreach ($objects['data'] as $object) {
				$r = list_perms($object['trackerId'], $type, $object['name'], $filterGroup);
				if (count($r['special']) > 0) {
					$res[$type]['objects'][] = array('objectId' => $r['objectId'], 'special' => $r['special'], 'objectName' => $object['name'], 'objectType' => $type);
				}
				if (count($r['category']) > 0) { 
					$res[$type]['category'][] = array('objectId' => $r['objectId'], 'category' => $r['category'], 'objectName' => $object['name']);
				}
			}
    		break;

		case 'forum':
		case 'forums':
			$objects = $commentslib->list_forums();
			foreach ($objects['data'] as $object) {
				$r = list_perms($object['forumId'], $type, $object['name'], $filterGroup);
				if (count($r['special']) > 0) { 
					$res[$type]['objects'][] = array('objectId' => $r['objectId'], 'special' => $r['special'], 'objectName' => $object['name']);
				}
				if (count($r['category']) > 0) {
					$res[$type]['category'][] = array('objectId' => $r['objectId'], 'category' => $r['category'], 'objectName' => $object['name']);
				}
			}
    		break;

		case 'group':
		case 'groups':
			foreach ($all_groups as $object) {
				$r = list_perms($object, $type, '', $filterGroup);
    $sort_mode = $_REQUEST["sort_mode"];
}
if (!isset($_REQUEST["offset"])) {
    $offset = 0;
} else {
    $offset = $_REQUEST["offset"];
}
$smarty->assign_by_ref('offset', $offset);
if (isset($_REQUEST["find"])) {
    $find = $_REQUEST["find"];
} else {
    $find = '';
}
$smarty->assign('find', $find);
$smarty->assign_by_ref('sort_mode', $sort_mode);
$channels = $commentslib->list_forums($offset, $maxRecords, $sort_mode, $find);
$max = count($channels["data"]);
for ($i = 0; $i < $max; $i++) {
    if ($userlib->object_has_one_permission($channels["data"][$i]["forumId"], 'forum')) {
        $channels["data"][$i]["individual"] = 'y';
        if ($tiki_p_admin == 'y' || $userlib->object_has_permission($user, $channels["data"][$i]["forumId"], 'forum', 'tiki_p_admin_forum')) {
            $channels["data"][$i]["individual_tiki_p_admin_forum"] = 'y';
        }
    } elseif ($userlib->user_has_perm_on_object($user, $channels["data"][$i]["forumId"], 'forum', 'tiki_p_admin_forum')) {
        $channels["data"][$i]["individual_tiki_p_admin_forum"] = 'y';
    } else {
        $channels["data"][$i]["individual"] = 'n';
    }
}
$smarty->assign_by_ref('channels', $channels["data"]);
$smarty->assign_by_ref('cant', $channels["cant"]);
     $smarty->assign_by_ref('objects', $objects["data"]);
     $objects = $objects['data'];
     correct_array($objects, 'galleryId', 'name');
     break;
 case 'file gallery':
     $objects = $filegallib->list_file_galleries(0, -1, 'name_desc', 'admin', $find_objects, $prefs['fgal_root_id']);
     $smarty->assign_by_ref('objects', $objects["data"]);
     $objects = $objects['data'];
     correct_array($objects, 'galleryId', 'name');
     break;
 case 'forum':
     require_once 'lib/comments/commentslib.php';
     if (!isset($commentslib)) {
         $commentslib = new Comments($dbTiki);
     }
     $objects = $commentslib->list_forums(0, -1, 'name_asc', $find_objects);
     $smarty->assign_by_ref('objects', $objects["data"]);
     $objects = $objects['data'];
     correct_array($objects, 'forumId', 'name');
     break;
 case 'blog':
     require_once 'lib/blogs/bloglib.php';
     $objects = $bloglib->list_blogs(0, -1, 'title_asc', $find_objects);
     $smarty->assign_by_ref('objects', $objects["data"]);
     $objects = $objects['data'];
     correct_array($objects, 'blogId', 'title');
     break;
 case 'wiki page':
     $objects = $tikilib->list_pageNames(0, -1, 'pageName_asc', $find_objects);
     $smarty->assign_by_ref('objects', $objects["data"]);
     $objects = $objects['data'];
		if ($prefs['allowmsg_is_optional'] == 'y') {
			if ($tikilib->get_user_preference($user, 'allowMsgs', 'y') != 'y') {
				$send_msg = false;
			}
		}
		$smarty->assign('send_msg', $send_msg);	
	} else {
		$smarty->assign('send_msg', false);
	}
	$smarty->assign('messageto', (isset($_REQUEST['messageto'])?$_REQUEST['messageto']:''));

	if (isset($prefs['feature_forums']) and $prefs['feature_forums'] == 'y') {
		include_once ('lib/comments/commentslib.php');
		$commentslib = new Comments($dbTiki); // not done in commentslib
		$sort_mode = $prefs['forums_ordering'];
		$channels = $commentslib->list_forums(0, -1, $sort_mode, '');
		Perms::bulk(array( 'type' => 'forum' ), 'object', $channels['data'], 'forumId');
		$forums = array();
		$temp_max = count($channels['data']);
		for ($i = 0; $i < $temp_max; $i++) {
			$forumperms = Perms::get(array( 'type' => 'forum', 'object' => $channels['data'][$i]['forumId'] ));
			if (($forumperms->forum_post and $forumperms->forum_post_topic) or $forumperms->admin_forum) {
				$forums[] = $channels['data'][$i];
			}
		}
		$smarty->assign('forumId', (isset($_REQUEST['forumId']) ? $_REQUEST['forumId'] : 0));
	} else {
		$forums = array();
	}
	$smarty->assign('forums', $forums);
	$report='n';
Exemple #10
0
 /**
  * @param $limit
  * @return mixed
  */
 function forums_ranking_most_commented_forum($limit)
 {
     global $commentslib;
     if (!$commentslib) {
         require_once 'lib/comments/commentslib.php';
         $commentslib = new Comments();
     }
     $result = $commentslib->list_forums(0, $limit, 'comments_desc');
     $ret = array();
     $count = 0;
     foreach ($result['data'] as $res) {
         $aux['name'] = $res['name'];
         $aux['hits'] = $res['hits'];
         $aux['href'] = 'tiki-view_forum.php?forumId=' . $res['forumId'];
         $ret[] = $aux;
     }
     $retval["data"] = $ret;
     $retval["title"] = tra("Forums with most posts");
     $retval["y"] = tra("Posts");
     $retval["type"] = "nb";
     return $retval;
 }