/** * Master function for uploading, checks filenames and generates thumbnails */ function upload($file, $dir = 'uploads') { $filename = check_filename($file['name'], $dir); // Pop the original file in /uploads/originals move_uploaded_file($file['tmp_name'], $dir . '/originals/' . $filename); // Generate thumbnail upload_file($filename, $file['type'], 100, 100, 'thumbnails', $dir); // Generate stream image upload_file($filename, $file['type'], 350, 500, 'stream', $dir); return $filename; }
} $action = 'backup'; } if (isset($_GET['run_update'])) { $file = 'update/' . $_GET['run_update']; if (check_filename($_GET['run_update']) && file_exists($file)) { $update_file = $_GET['run_update']; $action = 'run_update'; } else { $errors[] = 'error_file_doesnt_exist'; $smarty->assign('errors', $errors); $action = 'update'; } } if (isset($_POST['update_file_submit'])) { if ($_POST['update_file_submit'] == '' || !file_exists('update/' . $_POST['update_file_submit']) || !check_filename($_POST['update_file_submit'])) { $errors[] = 'error_file_doesnt_exist'; $smarty->assign('errors', $errors); $action = 'update'; } if (empty($errors)) { if (empty($_POST['update_password']) || $_POST['update_password'] == '') { $errors[] = 'error_password_wrong'; } if (empty($errors)) { $result = mysql_query("SELECT user_pw FROM " . $db_settings['userdata_table'] . " WHERE user_id=" . intval($_SESSION[$settings['session_prefix'] . 'user_id']) . " LIMIT 1", $connid) or raise_error('database_error', mysql_error()); if (mysql_num_rows($result) != 1) { raise_error('database_error', mysql_error()); } $data = mysql_fetch_array($result); if (!is_pw_correct($_POST['update_password'], $data['user_pw'])) {
public static function newGame($dungeon_name, $entrance_nr = null) { $filename = check_filename("./dungeons/", $dungeon_name . ".json"); $game = new Game(); apply_arr(json_decode(file_get_contents($filename)), $game); $game->username = $_SESSION["user"]->name; $entrance = $game->getEntrance($entrance_nr); $game->stats["x"] = $entrance->x; $game->stats["y"] = $entrance->y; $game->json_data = json_encode($game); $id = $GLOBALS["db"]->insert("games", $game); $game->id = $id; $game->save(); }
function make_resolution($param) { // Imagetype $type = exif_imagetype(UPLOAD_PATH . $param['filename']); switch ($type) { case IMAGETYPE_JPEG: $type = 'jpg'; break; case IMAGETYPE_PNG: $type = 'png'; break; case IMAGETYPE_GIF: $type = 'gif'; break; case IMAGETYPE_BMP: $type = 'bmp'; break; } if ($param['original']) { $filename = $param['id'] . '_' . $param['width'] . '_' . $param['height'] . '.' . $type; if (copy(UPLOAD_PATH . $param['filename'], UPLOAD_PATH . $param['id'] . '_' . $param['width'] . '_' . $param['height'] . '.' . $type)) { unlink(UPLOAD_PATH . $param['filename']); //check if the resolution exists $query = 'SELECT NULL FROM ' . WALLPAPERS_RES . ' WHERE resolution_w = ' . $param['width'] . ' AND resolution_h = ' . $param['height']; $result = mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); if (mysql_num_rows($result) == 0) { //insert the new resolution $query = 'INSERT INTO ' . WALLPAPERS_RES . '(resolution_w, resolution_h, scale) VALUES(' . $param['width'] . ', ' . $param['height'] . ', ' . round($param['width'] / $param['height'], 2) . ')'; mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); } $query = 'INSERT INTO ' . WALLPAPERS_RES_RELATION . '(pid, resolution_pid) SELECT ' . $param['id'] . ', id FROM ' . WALLPAPERS_RES . ' WHERE resolution_w = ' . $param['width'] . ' AND resolution_h = ' . $param['height'] . ' LIMIT 1'; mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); return $filename; } else { return 'Kunde inte skapa filen. Det nya filnamnet:' . $filename . ' <br />Originalfilen: ' . UPLOAD_PATH . $param['filename']; } } else { // Load $new_image = imagecreatetruecolor($param['new_width'], $param['new_height']); switch ($type) { case 'jpg': $source = imagecreatefromjpeg(UPLOAD_PATH . $param['filename']); break; case 'png': $source = imagecreatefrompng(UPLOAD_PATH . $param['filename']); break; case 'gif': $source = imagecreatefromgif(UPLOAD_PATH . $param['filename']); break; case 'bmp': $source = imagecreatefromwbmp(UPLOAD_PATH . $param['filename']); break; } // Resize imagecopyresized($new_image, $source, 0, 0, 0, 0, $param['new_width'], $param['new_height'], $param['width'], $param['height']); // Filename if ($param['new_width'] == 120) { $param['new_width'] = 'thumb'; $param['new_height'] = ''; } elseif ($param['new_width'] == 600) { $param['new_width'] = 'preview'; $param['new_height'] = ''; } $new_filename = $param['id'] . '_' . $param['new_width'] . ($param['new_height'] != '' ? '_' . $param['new_height'] : '') . '.'; if (is_numeric($param['new_width']) && is_numeric($param['new_height'])) { //check if the resolution exists $query = 'SELECT NULL FROM ' . WALLPAPERS_RES . ' WHERE resolution_w = ' . $param['new_width'] . ' AND resolution_h = ' . $param['new_height']; $result = mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); if (mysql_num_rows($result) == 0) { //insert the new resolution $query = 'INSERT INTO ' . WALLPAPERS_RES . '(resolution_w, resolution_h, scale) VALUES(' . $param['new_width'] . ', ' . $param['new_height'] . ', ' . round($param['new_width'] / $param['new_height'], 2) . ')'; mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); } $query = 'INSERT INTO ' . WALLPAPERS_RES_RELATION . '(pid, resolution_pid) SELECT ' . $param['id'] . ', id FROM ' . WALLPAPERS_RES . ' WHERE resolution_w = ' . $param['new_width'] . ' AND resolution_h = ' . $param['new_height'] . ' LIMIT 1'; mysql_query($query) or report_sql_error($query, __FILE__, __LINE__); } //create the picutre! if ($type == 'jpg') { $new_filename .= 'jpg'; $new_filename = check_filename($new_filename); imagejpeg($new_image, UPLOAD_PATH . $new_filename); } elseif ($type == 'png') { $new_filename .= 'png'; $new_filename = check_filename($new_filename); imagepng($new_image, UPLOAD_PATH . $new_filename); } elseif ($type == 'gif') { $new_filename .= 'gif'; $new_filename = check_filename($new_filename); imagegif($new_image, UPLOAD_PATH . $new_filename); } elseif ($type == 'bmp') { $new_filename .= 'bmp'; $new_filename = check_filename($new_filename); image2wbmp($new_image, UPLOAD_PATH . $new_filename); } //destory the image to free up memory imagedestroy($new_image); if ($param['last']) { unlink(UPLOAD_PATH . $param['filename']); } } return $new_filename; }