197 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| if(!defined('DATALIFEENGINE')){die("Hacking attempt!");}
 | |
| 	$act = $_REQUEST['act'];
 | |
|     
 | |
| 	require_once SYSTEM_DIR.'/forum/sources/components/init.php';
 | |
| 	
 | |
| 	switch ($act)
 | |
| 	{
 | |
| 
 | |
| // ********************************************************************************
 | |
| // SHOW INDEX
 | |
| // ********************************************************************************		
 | |
| 		case "":
 | |
| 		
 | |
| 		if ($forum_config['hide_forum']){
 | |
|             $access_hide = "and access_read regexp '[[:<:]](".$member_id['user_group'].")[[:>:]]'";
 | |
|         }else{
 | |
| 			$access_hide = "";
 | |
| 		}
 | |
| 		
 | |
| 		$result_content = $db->query("SELECT * FROM " . PREFIX . "_forum_category LEFT JOIN ". PREFIX ."_forum_forums ON ". PREFIX ."_forum_category.sid= ". PREFIX ."_forum_forums.main_id WHERE parentid = '0' {$access_hide} ORDER BY posi, position");
 | |
| 		
 | |
| 		for ($i = 0; $row = $db->get_row($result_content); $i = $row['sid'])
 | |
| 		{
 | |
| 			if ($row['name'])
 | |
| 			{
 | |
| 				if (!$fcache->open('sub-'.$row['id']))
 | |
| 				{
 | |
| 					if ($sub_forums_array != 'empty')
 | |
| 					{
 | |
| 						foreach ($sub_forums_array as $value)
 | |
| 						{
 | |
| 							if ($row['id'] == $value['parentid'])
 | |
| 							{
 | |
| 								$symbol_count++;
 | |
| 								
 | |
| 								if ($symbol_count > 1) $symbol = ", ";
 | |
| 								
 | |
| 								$sub_forums .= link_forum($value['id'], $value['name'], $symbol);
 | |
| 							}
 | |
| 						}
 | |
| 					}
 | |
| 					
 | |
| 					$fcache->save('sub-'.$row['id'], $sub_forums);
 | |
| 				}
 | |
| 				else { $sub_forums = $fcache->open('sub-'.$row['id']); }
 | |
| 				
 | |
| 				if (!$fcache->open('moder-'.$row['id']))
 | |
| 				{
 | |
| 					foreach ($forum_moderators as $moderators)
 | |
| 					{
 | |
| 						if ($moderators['forum_id'] == $row['id'] and $moderators['member_name'])
 | |
| 						{
 | |
| 							$mod_count++;
 | |
| 							
 | |
| 							if ($mod_count > 1) $mod_symbol = ", ";
 | |
| 							
 | |
| 							$moderators_list .= $mod_symbol . link_user($moderators['member_name']);
 | |
| 						}
 | |
| 					}
 | |
| 					
 | |
| 					$fcache->save('moder-'.$row['id'], $moderators_list);
 | |
| 				}
 | |
| 				else { $moderators_list = $fcache->open('moder-'.$row['id']); }
 | |
| 				
 | |
| 				$forum_link = link_forum($row['id'], $row['name']);
 | |
| 				
 | |
| 				$tpl->load_template($tpl_dir.'forums.tpl');
 | |
| 
 | |
|                 $tpl->set('{forum_id_rss}', $forum_url."/rss/forum_".$row['id'].".xml");				
 | |
| 				$tpl->set('{status}', forum_status ($row['f_last_date'], $row['password'], $row['icon']));				
 | |
| 				$tpl->set('{name}', $forum_link);				
 | |
| 				$tpl->set('{description}', stripslashes($row['description']));
 | |
| 				
 | |
| 				if ($sub_forums){$tpl->set('{forums}', '<br />' . $forum_config['forum_pr_sub'].' '.$sub_forums);
 | |
| 				} else {$tpl->set('{forums}', '');}				
 | |
| 				if ($moderators_list){$tpl->set('{moderators}', '<br />' . $f_lang['moderators'] . ' ' . $moderators_list);
 | |
| 				} else {$tpl->set('{moderators}', '');}
 | |
| 				
 | |
| 				$tpl->set('{topics}', $row['topics']);				
 | |
| 				$tpl->set('{post}', $row['posts']);				
 | |
| 				$tpl->set('{last}', forum_last ($row['f_last_tid'], $row['f_last_title'], $row['f_last_poster_name'], $row['f_last_date'], $row['password'], $row['id'], $row['access_read'], $row['last_post_id']));
 | |
| 				
 | |
| 				$tpl->compile("forums_{$row['main_id']}");				
 | |
| 				$tpl->clear();
 | |
| 				
 | |
| 				unset ($sub_forums);				
 | |
| 				unset ($symbol_count);				
 | |
| 				unset ($symbol);				
 | |
| 				unset ($moderators_list);				
 | |
| 				unset ($mod_count);				
 | |
| 				unset ($mod_symbol);
 | |
| 			}
 | |
| 			
 | |
| 			if ($row['sid'] != $start_id){
 | |
| 				$category_link = link_category($start_id, $start_name);				
 | |
| 				$tpl->load_template($tpl_dir.'category.tpl');				
 | |
| 				$tpl->set('{category}', $category_link);				
 | |
| 				$tpl->set('{forums}', $tpl->result["forums_{$start_id}"]);				
 | |
| 				$tpl->compile('dle_forum');				
 | |
| 				$tpl->clear();
 | |
| 			}
 | |
| 			
 | |
| 			$start_id = $row['sid'];			
 | |
| 			$start_name = stripslashes($row['cat_name']);
 | |
| 		}
 | |
| 		
 | |
| 		$category_link = link_category($start_id, $start_name);
 | |
| 		
 | |
| 		$tpl->load_template($tpl_dir.'category.tpl');
 | |
| 		
 | |
| 		$tpl->set('{category}', $category_link);		
 | |
| 		$tpl->set('{forums}', $tpl->result["forums_{$start_id}"]);
 | |
| 		
 | |
| 		$tpl->compile('dle_forum');		
 | |
| 		$tpl->clear();
 | |
| 		
 | |
| 		if ($forum_config['stats']){require_once SYSTEM_DIR.'/forum/sources/modules/stats.php';}
 | |
| 		
 | |
| 		break;
 | |
| 
 | |
| 		case "category":		require_once SYSTEM_DIR.'/forum/sources/category.php';				break;
 | |
| 		case "forum":			require_once SYSTEM_DIR.'/forum/sources/showforum.php';				break;
 | |
| 		case "topic":			require_once SYSTEM_DIR.'/forum/sources/showtopic.php';				break;		
 | |
| 		case "add_topic":		require_once SYSTEM_DIR.'/forum/action/addtopic.php';				break;
 | |
| 		case "getforum":		require_once SYSTEM_DIR.'/forum/action/forum.php';					break;
 | |
| 		case "getnew":			require_once SYSTEM_DIR.'/forum/sources/modules/getnew.php';		break;
 | |
| 		case "search":			require_once SYSTEM_DIR.'/forum/sources/modules/search.php';		break;
 | |
| 		case "subscription":	require_once SYSTEM_DIR.'/forum/sources/modules/subscription.php';	break;
 | |
| 		case "moderation":		require_once SYSTEM_DIR.'/forum/action/moderation.php';				break;
 | |
| 		case "post":			require_once SYSTEM_DIR.'/forum/action/post.php';					break;
 | |
| 		case "_topic":			require_once SYSTEM_DIR.'/forum/action/topic.php';					break;
 | |
|         case "user_posts":		require_once SYSTEM_DIR.'/forum/sources/shapeshifter/forum_posts.php';	break;
 | |
| 
 | |
| // ********************************************************************************
 | |
| // ATTACHMENT
 | |
| // ********************************************************************************	
 | |
| 		case "attachment":
 | |
| 		$file_id = intval($_REQUEST['id']);
 | |
| 		if ($file_id)
 | |
| 		{
 | |
| 			$row = $db->super_query("SELECT * FROM " . PREFIX . "_forum_files WHERE file_id = '$file_id'");
 | |
| 			
 | |
| 			if ($row['file_id'])
 | |
| 			{
 | |
| 				if (count($forums_array))
 | |
| 				{
 | |
| 					$access_download = $forums_array[$row['forum_id']]['access_download'];
 | |
| 					
 | |
| 					if (check_access($access_download))
 | |
| 					{
 | |
| 						if ($row['file_type'] == "file"){
 | |
| 							$FILE_DIR = "files";
 | |
| 						} else {
 | |
| 							$FILE_DIR = "images";
 | |
| 						}
 | |
| 						
 | |
| 						$db->query("UPDATE " . PREFIX . "_forum_files SET dcount = dcount+1 WHERE file_id = '$file_id'");
 | |
| 						@header("Location: {$config['http_home_url']}uploads/forum/{$FILE_DIR}/{$row['onserver']}");
 | |
| 					}
 | |
| 					else
 | |
| 					{
 | |
| 						$group_name = $user_group[$member_id['user_group']]['group_name'];
 | |
| 						forum_msg($f_lang['f_msg'], $f_lang['forum_down'], 'user_group', $group_name);
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| 				@header("HTTP/1.0 404 Not Found");
 | |
| 				forum_msg($f_lang['f_msg'], $f_lang['f_404']);
 | |
| 			}
 | |
| 		}
 | |
| 		
 | |
| 		else
 | |
| 		{
 | |
| 			@header("HTTP/1.0 404 Not Found");
 | |
| 			forum_msg($f_lang['f_msg'], $f_lang['f_404']);
 | |
| 		}
 | |
| 		break;
 | |
| 	}
 | |
| 
 | |
| 	if ($forum_config['forum_bar'])
 | |
| 	{
 | |
| 		$forum_bar = "<a href=\"{$forum_url}/\">".$forum_config['forum_title']."</a>";
 | |
| 		if ($bbr_cid and $bbr_name){$forum_bar .= " » ".link_category($bbr_cid, $bbr_name);}
 | |
| 		if ($bbr_fname and $bbr_fid){$forum_bar .= " » ".link_forum($bbr_fid, $bbr_fname);}
 | |
| 		if ($bbr_tname and $bbr_tid){$forum_bar .= " » ".link_topic($bbr_tid, $bbr_tname);}
 | |
| 		if ($bbr_app){$forum_bar .= " » ".$bbr_app."</a>";}
 | |
| 		$forum_bar = stripslashes($forum_bar);
 | |
| 	}
 | |
| 	
 | |
| 	if (!defined('FORUM_SUB_DOMAIN')){require_once SYSTEM_DIR . $compile_php;}
 | |
| 
 | |
| 	if ($forum_config['meta_descr'] and !$meta_topic){$metatags['description'] = $forum_config['meta_descr'];}
 | |
| 	if ($forum_config['meta_keywords'] and !$meta_topic){$metatags['keywords'] = $forum_config['meta_keywords'];}
 | |
| ?>
 |