153 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
function clean($db, $data) {
 | 
						|
	return get_magic_quotes_gpc() ? $data : $db->real_escape_string($data);
 | 
						|
}
 | 
						|
 | 
						|
function check_login($username, $password) {
 | 
						|
	global $db;
 | 
						|
	if( $result = $db->query("SELECT id FROM `users` WHERE `username` = '$username' AND `password` = MD5('$password');")) {
 | 
						|
		if($row = $result->fetch_assoc()) {
 | 
						|
			$result->close();
 | 
						|
			return $row;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
function update_program($tmp_file = NULL, $id = 0) {
 | 
						|
	/*
 | 
						|
	global $db;
 | 
						|
	if($stmt = $db->prepare("UPDATE `programs` SET `latest_executable` = ?, `last_updated` = ? WHERE `id` = ?;")) {
 | 
						|
		$null = NULL;
 | 
						|
		$time = time();
 | 
						|
		$stmt->bind_param("bii", $null, $time, $id);
 | 
						|
		if($fp = fopen($tmp_file, 'r')) {
 | 
						|
			while (!feof($fp)) {
 | 
						|
				$stmt->send_long_data(0, fread($fp, 8192));
 | 
						|
			}
 | 
						|
			fclose($fp);
 | 
						|
		}
 | 
						|
		$stmt->execute();
 | 
						|
		$stmt->close(); 
 | 
						|
	}
 | 
						|
	*/
 | 
						|
	//@move_uploaded_file($tmp_file, '.\\update\\'.get_program_filename($id));
 | 
						|
 | 
						|
	if($fp = @fopen($tmp_file, 'r')) {
 | 
						|
		$program_file = get_program_filename($id);
 | 
						|
		if($zp = @gzopen('./update/'.$program_file, 'wb9')) {
 | 
						|
			while (!@feof($fp)) {
 | 
						|
				$read_bytes = fread($fp, 8192);
 | 
						|
				@gzwrite($zp, $read_bytes, strlen($read_bytes));
 | 
						|
			}
 | 
						|
			@gzclose($zp);
 | 
						|
		}
 | 
						|
		@fclose($fp);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function get_access_list($user_id = 0) {
 | 
						|
	global $db;
 | 
						|
	$access_list = array();
 | 
						|
	if( $result = $db->query("SELECT `permissions`.`id` AS `permissions_id`, `permissions`.`user_id`, `permissions`.`program_id`, `permissions`.`expiration_time`, `users`.`username`, `users`.`id`, `programs`.`name` FROM `permissions`
 | 
						|
		LEFT JOIN `users` ON `users`.`id` =  `permissions`.`user_id`
 | 
						|
		LEFT JOIN `programs` ON `programs`.`id` = `permissions`.`program_id`
 | 
						|
		WHERE `permissions`.`user_id` = $user_id;")) {
 | 
						|
		while($row = $result->fetch_assoc()) {
 | 
						|
			$access_list[] = $row;
 | 
						|
		}
 | 
						|
		$result->close();
 | 
						|
	}
 | 
						|
	return $access_list;
 | 
						|
}
 | 
						|
 | 
						|
function get_program($db, $program_id = 0) {
 | 
						|
	$data = '';
 | 
						|
	if( $result = $db->query("SELECT latest_executable FROM `programs` WHERE `id` = $program_id;")) {
 | 
						|
		if($row = $result->fetch_assoc()) {
 | 
						|
			$data = $row['latest_executable'];
 | 
						|
			$result->close();
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return $data;
 | 
						|
}
 | 
						|
 | 
						|
function fetch_program_list() {
 | 
						|
	global $db;
 | 
						|
	$program_list = array(0 => 'None');
 | 
						|
	if( $result = $db->query("SELECT `id`, `name` FROM `programs`;")) {
 | 
						|
		while($row = $result->fetch_assoc()) {
 | 
						|
			$program_list[$row['id']] = $row['name'];
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return $program_list;
 | 
						|
}
 | 
						|
 | 
						|
function fetch_partial_user($id = 0) {
 | 
						|
	global $db;
 | 
						|
	if($result = $db->query("SELECT `id`, `username`, `active`, `admin` FROM `users` WHERE `id` = $id;")) {
 | 
						|
		if($user = $result->fetch_assoc()) {
 | 
						|
			return $user;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
function fetch_permission($pid = 0) {
 | 
						|
	global $db;
 | 
						|
	if($result = $db->query("SELECT `permissions`.*, `users`.`id`, `users`.`username` FROM `permissions`".
 | 
						|
		" LEFT JOIN `users` ON `users`.`id` =  `permissions`.`user_id` WHERE `permissions`.`id` = $pid;")) {
 | 
						|
		if($perm = $result->fetch_assoc()) {
 | 
						|
			return $perm;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
function get_program_filename($program_id = 0) {
 | 
						|
	return strtoupper(substr(md5('program'.$program_id), 0, 16)).'.GZ';
 | 
						|
}
 | 
						|
 | 
						|
function display_error_page($error_title = '', $error_message = '') {
 | 
						|
	global $smarty;
 | 
						|
	$smarty->assign('error_title', $error_title);
 | 
						|
	$smarty->assign('error_message', $error_message);
 | 
						|
	$smarty->display('error.tpl');
 | 
						|
	exit;
 | 
						|
}
 | 
						|
 | 
						|
function set_login_cookies($username, $password, $save_password = FALSE) {
 | 
						|
	$expires = time() + ($save_password ? 31536000 : 10800);
 | 
						|
	setcookie("username", $username, $expires);
 | 
						|
	setcookie("password", $password, $expires);
 | 
						|
	setcookie("authenticated", '1', $expires);
 | 
						|
}
 | 
						|
 | 
						|
function clear_login_cookies() {
 | 
						|
	$expires = time() - 3600;
 | 
						|
	setcookie("username", 		'', $expires);
 | 
						|
	setcookie("password", 		'', $expires);
 | 
						|
	setcookie("authenticated", 	'', $expires);
 | 
						|
	header("Location: index.php");
 | 
						|
}
 | 
						|
 | 
						|
function qfetch($sql, $db) {
 | 
						|
	$data = NULL;
 | 
						|
	if($result = $db->query($sql)) {
 | 
						|
		if($row = $result->fetch_assoc())
 | 
						|
			$data = $row;
 | 
						|
		$result->free();
 | 
						|
	}
 | 
						|
	return $data;
 | 
						|
}
 | 
						|
 | 
						|
function validate_username($username) {
 | 
						|
	if (strlen($username) < 3 || strlen($username) > 18) {
 | 
						|
		return FALSE;
 | 
						|
	}
 | 
						|
	if (preg_match("/[^A-Za-z0-9 ]/", $username)) {	
 | 
						|
		return FALSE;
 | 
						|
	}
 | 
						|
	return TRUE;
 | 
						|
}
 | 
						|
?>
 |