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; } ?>