<?php
function mn_tp_load($options=array()){
	$enable = 1;
	if(intval($options['limit']) < 1) $enable = 0;
	if($enable){
		global $db,$mybb,$theme,$templates,$lang;
		if(!in_array($options['type'],array('posts','threads'))) $options['type'] = 'threads';
		switch($options['type']){
			case 'threads':
				$pref = 't.';
			break;
			case 'posts':
				$lj = ' LEFT JOIN '.TABLE_PREFIX.'posts p ON(p.tid=t.tid)';
				$tpid = 'p.pid,';
				$visiblepost = ' AND p.visible=1';
				$pref = 'p.';
			break;
		}
		if(!in_array($options['order_dir'],array('asc','desc'))) $options['order_dir'] = 'desc';
		if(!in_array($options['order_by'],array('dateline','lastpost','views','replies'))) $options['order_by'] = 'dateline';
		if(!in_array($options['fids_format'],array('IN','NOT IN'))) $options['fids_format'] = 'IN';
		if(empty($options['format'])) $options['format'] = 'tplink|author';
		$format = explode('|',$options['format']);
		if(empty($options['title'])) $options['title'] = 'No Title';
		$unviewable = get_unviewable_forums(true);
		if($unviewable) $unviewwhere = ' AND '.$pref.'fid NOT IN ('.$unviewable.')';
		$fids = explode(',',$options['fids']);
		if(is_array($fids)){
			foreach($fids as $fid){
				$fid_array[] = intval($fid);
			}
			$fids = implode(',',$fid_array);
		}
		$query = $db->query('SELECT '.$tpid.'t.tid,t.views,t.replies,'.$pref.'username as musername,'.$pref.'subject,'.$pref.'dateline,'.$pref.'uid,u.usergroup,u.username,u.displaygroup
			FROM '.TABLE_PREFIX.'threads t'.$lj.' LEFT JOIN '.TABLE_PREFIX.'users u ON(u.uid='.$pref.'uid)
			WHERE '.$pref.'fid '.$options['fids_format'].' ('.$fids.')'.$unviewwhere.' AND t.visible=1'.$visiblepost.' AND t.closed NOT LIKE "moved|%"
			ORDER BY '.$pref.$options['order_by'].' '.$options['order_dir'].'
			LIMIT 0,'.intval($options['limit']).'
		');
		if($db->num_rows($query)){
			while($data = $db->fetch_array($query)){
				if(!$data['username']) $data['username'] = $data['musername'];
				if(!$data['uid']){
					$data['author'] = format_name($data['username'],1,1);
				}else{
					$data['author'] = build_profile_link(format_name($data['username'],$data['usergroup'],$data['displaygroup']),$data['uid']);
				}
				$data['views'] = my_number_format($data['views']);
				$data['replies'] = my_number_format($data['replies']);
				$data['tpdate'] = my_date($mybb->settings['dateformat'],$data['dateline']);
				$data['tptime'] = my_date($mybb->settings['timeformat'], $data['dateline']);
				$data['tpsubject'] = htmlspecialchars_uni($data['subject']);
				if(intval($options['maxchars']) > 0 && my_strlen($data['subject']) > intval($options['maxchars'])){
					$data['tpsubject'] = htmlspecialchars_uni(my_substr($data['subject'],0,intval($options['maxchars'])).'...');
				}
				$data['subject'] = htmlspecialchars_uni($data['subject']);
				$data['tplink'] = '<a href="'.mn_tp_load_tplink($options['type'],$data['tid'],$data['pid']).'" title="'.$data['subject'].'">'.$data['tpsubject'].'</a>';
				if(empty($options['childtemplate'])){
					$eachdata .= '<div class="clear smalltext"><span>'.$data[$format[0]].'</span><span class="float_right">'.$data[$format[1]].'</span></div>';
				}else{
					eval('$$options[\'childtemplate\'] .= "'.$templates->get(trim($options['childtemplate'])).'";');
				}
			}
		}else{
			$eachdata = '<div class="clear">There is no stats available</div>';
		}
		if(empty($options['maintemplate'])){
			$mn_tp_load_data = '<table border="0" cellspacing="'.$theme['borderwidth'].'" cellpadding="'.$theme['tablespace'].'" class="tborder"><tr><td class="thead"><strong>'.$options['title'].'</strong></td></tr><tr><td class="trow1">'.$eachdata.'</td></tr></table>';
		}else{
			eval('$mn_tp_load_data = "'.$templates->get(trim($options['maintemplate'])).'";');
		}
		return $mn_tp_load_data;
	}
}

function mn_tp_load_tplink($type,$tid,$pid=''){
	global $mybb;
	switch($type){
		case 'threads':
			$tplink = $mybb->settings['bburl'].'/'.get_thread_link(intval($tid));
		break;
		case 'posts':
			$tplink = $mybb->settings['bburl'].'/'.get_post_link(intval($pid),intval($tid)).'#pid'.intval($pid);
		break;
	}
	return $tplink;
}
?>