182 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			182 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?php | ||
|  | if (! defined ( 'DATALIFEENGINE' )) {die ( "Hacking attempt!" );} | ||
|  | 
 | ||
|  | @include (SYSTEM_DIR . '/data/config.php'); | ||
|  | @include (SYSTEM_DIR . '/data/repa.php'); | ||
|  | require_once SYSTEM_DIR . '/classes/mysql.php'; | ||
|  | require_once SYSTEM_DIR . '/data/dbconfig.php'; | ||
|  | require_once SYSTEM_DIR . '/modules/functions.php'; | ||
|  | require_once SYSTEM_DIR . '/modules/gzip.php'; | ||
|  | include_once SYSTEM_DIR . '/cron.php'; | ||
|  | 
 | ||
|  | $Timer = new microTimer ( ); | ||
|  | $Timer->start (); | ||
|  | check_xss (); | ||
|  | 
 | ||
|  | if (isset ( $_REQUEST['year'] )) $year = intval ( $_GET['year'] ); else $year = ''; | ||
|  | if (isset ( $_REQUEST['month'] )) $month = @$db->safesql ( strip_tags ( str_replace ( '/', '', $_GET['month'] ) ) ); else $month = ''; | ||
|  | if (isset ( $_REQUEST['day'] )) $day = @$db->safesql ( strip_tags ( str_replace ( '/', '', $_GET['day'] ) ) ); else $day = ''; | ||
|  | if (isset ( $_REQUEST['user'] )) $user = @$db->safesql ( strip_tags ( str_replace ( '/', '', urldecode ( $_GET['user'] ) ) ) ); else $user = ''; | ||
|  | if (isset ( $_REQUEST['news_name'] )) $news_name = @$db->safesql ( strip_tags ( str_replace ( '/', '', $_GET['news_name'] ) ) ); else $news_name = ''; | ||
|  | if (isset ( $_REQUEST['newsid'] )) $newsid = intval ( $_GET['newsid'] ); else $newsid = 0; | ||
|  | if (isset ( $_REQUEST['cstart'] )) $cstart = intval ( $_GET['cstart'] ); else $cstart = 0; | ||
|  | if (isset ( $_REQUEST['news_page'] )) $news_page = intval ( $_GET['news_page'] ); else $news_page = 0; | ||
|  | 
 | ||
|  | if (isset ( $_REQUEST['category'] )) { | ||
|  | 	if (substr ( $_GET['category'], - 1, 1 ) == '/') $_GET['category'] = substr ( $_GET['category'], 0, - 1 ); | ||
|  | 	$category = explode ( '/', $_GET['category'] ); | ||
|  | 	$category = end ( $category ); | ||
|  | 	$category = $db->safesql ( strip_tags ( $category ) ); | ||
|  | } else $category = ''; | ||
|  | 
 | ||
|  | $PHP_SELF = $config['http_home_url'] . "index.php"; | ||
|  | $pm_alert = ""; | ||
|  | $ajax = ""; | ||
|  | $_DOCUMENT_DATE = false; | ||
|  | $user_query = ""; | ||
|  | 
 | ||
|  | $metatags = array ( | ||
|  | 				'title' => $config['home_title'],  | ||
|  | 				'description' => $config['description'],  | ||
|  | 				'keywords' => $config['keywords'], | ||
|  | 				'header_title' => "" ); | ||
|  | 
 | ||
|  | $user_color = $cache->get ( "user_color" ); | ||
|  | if (! $user_color){ | ||
|  |     $user_color = array (); | ||
|  |     $db->query ( "SELECT user_id, name, user_group FROM " . USERPREFIX . "_users WHERE user_group <> '4' " ); | ||
|  |     while ( $row = $db->get_row () ){ | ||
|  |         $user_color[$row['name']] = array (); | ||
|  |         foreach ( $row as $key => $value ) { | ||
|  |         $user_color[$row['name']][$key] = $value; | ||
|  |     }} | ||
|  |     $cache->set ( "user_color", $user_color ); | ||
|  |     $db->free (); | ||
|  | } | ||
|  | 
 | ||
|  | $user_group = $cache->get ( "usergroup" ); | ||
|  | if (! $user_group) { | ||
|  | 	$user_group = array (); | ||
|  | 	$db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" ); | ||
|  | 	while ( $row = $db->get_row () ) { | ||
|  | 		$user_group[$row['id']] = array (); | ||
|  | 		foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);} | ||
|  | 	} | ||
|  |     $cache->set ( "usergroup", $user_group ); | ||
|  | 	$db->free (); | ||
|  | } | ||
|  | 
 | ||
|  | $cat_info = $cache->get ( "category" ); | ||
|  | if (! is_array ( $cat_info )) { | ||
|  | 	$cat_info = array (); | ||
|  | 	$db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" ); | ||
|  | 	while ( $row = $db->get_row () ) { | ||
|  | 		$cat_info[$row['id']] = array (); | ||
|  | 		foreach ( $row as $key => $value ) {$cat_info[$row['id']][$key] = stripslashes ( $value );} | ||
|  | 	} | ||
|  |     $cache->set ( "category", $cat_info ); | ||
|  | 	$db->free (); | ||
|  | } | ||
|  | 
 | ||
|  | $banned_info = $cache->get ( "banned" ); | ||
|  | if (! is_array ( $banned_info )) { | ||
|  | 	$banned_info = array (); | ||
|  | 	$db->query ( "SELECT * FROM " . USERPREFIX . "_banned" ); | ||
|  | 	while ( $row = $db->get_row () ) { | ||
|  | 		if ($row['users_id']) {$banned_info['users_id'][$row['users_id']] = array ('users_id' => $row['users_id'],  'descr' => stripslashes ( $row['descr'] ),  'date' => $row['date'] ); | ||
|  | 		} else {if (count ( explode ( ".", $row['ip'] ) ) == 4) $banned_info['ip'][$row['ip']] = array ('ip' => $row['ip'], 'descr' => stripslashes ( $row['descr'] ), 'date' => $row['date']); | ||
|  | 		  elseif (strpos ( $row['ip'], "@" ) !== false) $banned_info['email'][$row['ip']] = array ('email' => $row['ip'],  'descr' => stripslashes ( $row['descr'] ), 'date' => $row['date'] ); | ||
|  | 		  else $banned_info['name'][$row['ip']] = array ('name' => $row['ip'], 'descr' => stripslashes ( $row['descr'] ), 'date' => $row['date'] ); | ||
|  | 	}} | ||
|  |     $cache->set ( "banned", $banned_info ); | ||
|  | 	$db->free (); | ||
|  | } | ||
|  | 
 | ||
|  | if ($category != '') $category_id = get_ID ( $cat_info, $category );  | ||
|  | else $category_id = false; | ||
|  | 
 | ||
|  | include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng'; | ||
|  | $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset']; | ||
|  | 
 | ||
|  | $smartphone_detected = false; | ||
|  | if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobiledisable" ) $_SESSION['mobile_disable'] = 1; | ||
|  | if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobile" ) { $_SESSION['mobile_enable'] = 1; $_SESSION['mobile_disable'] = 0;} | ||
|  | if( !isset( $_SESSION['mobile_disable'] ) ) $_SESSION['mobile_disable'] = 0; | ||
|  | if( !isset( $_SESSION['mobile_enable'] ) ) $_SESSION['mobile_enable'] = 0; | ||
|  | if ( !$_SESSION['mobile_disable'] ) { | ||
|  | 	if ( check_smartphone() ) { | ||
|  | 		if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) { | ||
|  | 			$config['skin'] = "smartphone"; | ||
|  | 			$smartphone_detected = true; | ||
|  | 			$config['ajax'] = false; | ||
|  | }}} | ||
|  | 
 | ||
|  | require_once SYSTEM_DIR . '/classes/templates.class.php'; | ||
|  | 
 | ||
|  | $tpl = new dle_template ( ); | ||
|  | $tpl->dir = ROOT_DIR . '/templates/' . $config['skin']; | ||
|  | define ( 'TEMPLATE_DIR', $tpl->dir ); | ||
|  | 
 | ||
|  | if (isset ( $_POST['set_new_sort'] )) { | ||
|  | 	$allowed_sort = array ('date', 'rating', 'news_read', 'comm_num', 'title' ); | ||
|  | 	$find_sort = str_replace ( ".", "", totranslit ( $_POST['set_new_sort'] ) ); | ||
|  | 	$direction_sort = str_replace ( ".", "", totranslit ( $_POST['set_direction_sort'] ) ); | ||
|  | 
 | ||
|  | 	if (in_array ( $_POST['dlenewssortby'], $allowed_sort )) { | ||
|  | 		if ($_POST['dledirection'] == "desc" or $_POST['dledirection'] == "asc") { | ||
|  | 			$_SESSION[$find_sort] = $_POST['dlenewssortby']; | ||
|  | 			$_SESSION[$direction_sort] = $_POST['dledirection']; | ||
|  | 			$_SESSION['dle_no_cache'] = "1"; | ||
|  | }}} | ||
|  | 
 | ||
|  | if ($_POST['dle_comm_sort'] == "DESC" or $_POST['dle_comm_sort'] == "ASC"){ | ||
|  | 	    set_cookie("dle_comm_sort", $_POST['dle_comm_sort'], 365); | ||
|  | 	    $dle_comm_sort = $_POST['dle_comm_sort']; | ||
|  | 	    $_SESSION['dle_comm_sort'] = $_POST['dle_comm_sort']; | ||
|  | 	    $_SESSION['dle_no_cache'] = "1"; | ||
|  | //	}elseif ($_COOKIE['dle_comm_sort'] == "DESC" or $_COOKIE['dle_comm_sort'] == "ASC"){
 | ||
|  |     }elseif ($_SESSION['dle_comm_sort'] == "DESC" or $_SESSION['dle_comm_sort'] == "ASC"){ | ||
|  | 	    //$dle_comm_sort = $_COOKIE['dle_comm_sort'];
 | ||
|  |         $dle_comm_sort = $_SESSION['dle_comm_sort']; | ||
|  | 	    $_SESSION['dle_no_cache'] = "1"; | ||
|  | 	}else{$dle_comm_sort = $config['comm_msort'];} | ||
|  | 
 | ||
|  | 	include_once SYSTEM_DIR . '/modules/sitelogin.php'; | ||
|  | 
 | ||
|  |     //Проверяем забанен ли пользователь
 | ||
|  |     if ( isset( $banned_info['ip'] ) ) $blockip = check_ip ( $banned_info['ip'] );  else $blockip = false; | ||
|  | 	if (($is_logged and $member_id['banned'] == "yes") or $blockip) include_once SYSTEM_DIR . '/modules/banned.php'; | ||
|  | 
 | ||
|  |     if ($is_logged) { | ||
|  | 	    set_cookie ( "dle_newpm", $member_id['pm_unread'], 365 ); | ||
|  | 	    if ($member_id['pm_unread'] > intval ( $_COOKIE['dle_newpm'] ) AND !$smartphone_detected) { | ||
|  | 	    include_once SYSTEM_DIR . '/modules/pm_alert.php'; | ||
|  |     }} | ||
|  | 
 | ||
|  |     $tpl->load_template('login.tpl'); | ||
|  | 	if ($is_logged) { | ||
|  | 			$tpl->set('{profile_name}', $member_id['name']); | ||
|  | 			$tpl->set('{profile_link}', $config['http_home_url'] . "user/" . urlencode ( $member_id['name'] ) . "/"); | ||
|  | 			$tpl->set('{addnews_link}', $config['http_home_url'] . "addnews.html"); | ||
|  | 			$tpl->set('{newsposts_link}', $config['http_home_url'] . "newposts/"); | ||
|  | 			$tpl->set('{fav_link}', $config['http_home_url'] . "favorites/"); | ||
|  | 			$tpl->set('{pm_link}', $PHP_SELF . "?do=pm"); | ||
|  | 			$tpl->set('{logout_link}', $PHP_SELF . "?action=logout"); | ||
|  | 			$tpl->set('{admin_link}', $config['http_home_url'] . $config['admin_path'] . "?mod=main"); | ||
|  |             if ($member_id['favorites']) {$fav = count(explode("," ,$member_id['favorites']));} else $fav = '0'; | ||
|  |             $tpl->set('{fav_count}', $fav); | ||
|  |             $tpl->set( '{new-pm}', $member_id['pm_unread'] ); | ||
|  | 			$tpl->set( '{all-pm}', $member_id['pm_all'] ); | ||
|  | 	} | ||
|  | 	$tpl->set('{reg_link}', $PHP_SELF . "?do=register"); | ||
|  | 	$tpl->set('{lost_link}', $PHP_SELF . "?do=lostpassword"); | ||
|  | 	$tpl->compile('login_panel'); | ||
|  | 	$tpl->clear(); | ||
|  | 	 | ||
|  | include_once SYSTEM_DIR . '/offline.php'; | ||
|  | require_once ROOT_DIR . '/system/engine.php'; | ||
|  | require_once SYSTEM_DIR.'/modules/online.php'; | ||
|  | include_once SYSTEM_DIR . '/modules/toptables.php'; | ||
|  | include_once SYSTEM_DIR . '/modules/chat/block.php'; | ||
|  | include_once SYSTEM_DIR . '/modules/comments-last.php'; | ||
|  | ?>
 |