function album_media_upload($file_name, $album_id, &$space_left) { global $database, $url, $user; // SET KEY VARIABLES $file_maxsize = $user->level_info[level_album_maxsize]; $file_exts = explode(",", str_replace(" ", "", strtolower($user->level_info[level_album_exts]))); $file_types = explode(",", str_replace(" ", "", strtolower($user->level_info[level_album_mimes]))); $file_maxwidth = $user->level_info[level_album_width]; $file_maxheight = $user->level_info[level_album_height]; $new_media = new se_upload(); $new_media->new_upload($file_name, $file_maxsize, $file_exts, $file_types, $file_maxwidth, $file_maxheight); // UPLOAD AND RESIZE PHOTO IF NO ERROR if ($new_media->is_error == 0) { // GET MAX ORDER $max = $database->database_fetch_assoc($database->database_query("SELECT max(media_order) AS max FROM se_media LEFT JOIN se_albums ON se_media.media_album_id=se_albums.album_id WHERE se_albums.album_user_id='" . $user->user_info[user_id] . "'")); $media_order = $max[max] + 1; // INSERT ROW INTO MEDIA TABLE $database->database_query("\r\n INSERT INTO se_media (\r\n media_album_id,\r\n media_date,\r\n media_order\r\n ) VALUES (\r\n '{$album_id}',\r\n '" . time() . "',\r\n '{$media_order}'\r\n )\r\n "); $media_id = $database->database_insert_id(); // CHECK IF IMAGE RESIZING IS AVAILABLE, OTHERWISE MOVE UPLOADED IMAGE if ($new_media->is_image == 1) { $file_dest = $url->url_userdir($user->user_info[user_id]) . $media_id . ".jpg"; $thumb_dest = $url->url_userdir($user->user_info[user_id]) . $media_id . "_thumb.jpg"; // UPLOAD THUMB $new_media->upload_thumb($thumb_dest, 200); // UPLOAD FILE $new_media->upload_photo($file_dest); $file_ext = "jpg"; $file_filesize = filesize($file_dest); } else { $file_dest = $url->url_userdir($user->user_info[user_id]) . $media_id . "." . $new_media->file_ext; // UPLOAD THUMB IF NECESSARY if ($new_media->file_ext == 'gif') { $thumb_dest = $url->url_userdir($user->user_info[user_id]) . $media_id . "_thumb.jpg"; $new_media->upload_thumb($thumb_dest, 200); } // MOVE FILE $new_media->upload_file($file_dest); $file_ext = $new_media->file_ext; $file_filesize = filesize($file_dest); } if (!is_numeric($file_filesize)) { $file_filesize = 0; } // CHECK SPACE LEFT if ($file_filesize > $space_left) { $new_media->is_error = 1000085; } else { $space_left = $space_left - $file_filesize; } // DELETE FROM DATABASE IF ERROR if ($new_media->is_error != 0) { $database->database_query("DELETE FROM se_media WHERE media_id='{$media_id}' AND media_album_id='{$album_id}'"); @unlink($file_dest); } else { $database->database_query("UPDATE se_media SET media_ext='{$file_ext}', media_filesize='{$file_filesize}' WHERE media_id='{$media_id}' AND media_album_id='{$album_id}' LIMIT 1"); $database->database_query("UPDATE se_albums SET album_totalfiles=album_totalfiles+1, album_totalspace=album_totalspace+'{$file_filesize}' WHERE album_id='{$album_id}' LIMIT 1"); } } // RETURN FILE STATS $file_result = array('is_error' => $new_media->is_error, 'file_name' => $_FILES[$file_name]['name'], 'media_id' => $media_id, 'media_ext' => $file_ext, 'media_filesize' => $file_filesize); return $file_result; }
function event_media_upload($file_name, $eventalbum_id, &$space_left) { global $class_event, $database, $url; // SET KEY VARIABLES $file_maxsize = $this->eventowner_level_info['level_event_album_maxsize']; $file_exts = explode(",", str_replace(" ", "", strtolower($this->eventowner_level_info['level_event_album_exts']))); $file_types = explode(",", str_replace(" ", "", strtolower($this->eventowner_level_info['level_event_album_mimes']))); $file_maxwidth = $this->eventowner_level_info['level_event_album_width']; $file_maxheight = $this->eventowner_level_info['level_event_album_height']; $time = time(); $new_media = new se_upload(); $new_media->new_upload($file_name, $file_maxsize, $file_exts, $file_types, $file_maxwidth, $file_maxheight); // UPLOAD AND RESIZE PHOTO IF NO ERROR if (!$new_media->is_error) { // INSERT ROW INTO MEDIA TABLE $sql = "\r\n INSERT INTO se_eventmedia\r\n (eventmedia_eventalbum_id, eventmedia_date)\r\n VALUES\r\n ('{$eventalbum_id}', '{$time}')\r\n "; $resource = $database->database_query($sql); $eventmedia_id = $database->database_insert_id(); // CHECK IF IMAGE RESIZING IS AVAILABLE, OTHERWISE MOVE UPLOADED IMAGE $event_dir = $this->event_dir($this->event_info['event_id']); if ($new_media->is_image) { $file_dest = "{$event_dir}{$eventmedia_id}.jpg"; $thumb_dest = "{$event_dir}{$eventmedia_id}_thumb.jpg"; // UPLOAD THUMB $new_media->upload_thumb($thumb_dest, 200); // UPLOAD PHOTO $new_media->upload_photo($file_dest); $file_ext = "jpg"; $file_filesize = filesize($file_dest); } else { $file_dest = "{$event_dir}{$eventmedia_id}.{$new_media->file_ext}"; $thumb_dest = "{$event_dir}{$eventmedia_id}_thumb.jpg"; if ($new_media->file_ext == 'gif') { $new_media->upload_thumb($thumb_dest, 200); } $new_media->upload_file($file_dest); $file_ext = $new_media->file_ext; $file_filesize = filesize($file_dest); } // CHECK SPACE LEFT if ($space_left !== FALSE && $file_filesize > $space_left) { $new_media->is_error = 1; $new_media->error_message = $class_event[1] . $_FILES[$file_name]['name']; // TODO LANG } elseif ($space_left !== FALSE) { $space_left = $space_left - $file_filesize; } // DELETE FROM DATABASE IF ERROR if ($new_media->is_error) { $sql = "DELETE FROM se_eventmedia WHERE eventmedia_id='{$eventmedia_id}' AND eventmedia_eventalbum_id='{$eventalbum_id}'"; $resource = $database->database_query($sql); @unlink($file_dest); } else { $sql = "UPDATE se_eventmedia SET eventmedia_ext='{$file_ext}', eventmedia_filesize='{$file_filesize}' WHERE eventmedia_id='{$eventmedia_id}' AND eventmedia_eventalbum_id='{$eventalbum_id}'"; $resource = $database->database_query($sql); if (!is_numeric($file_filesize)) { $file_filesize = 0; } $sql = "UPDATE se_eventalbums SET eventalbum_totalfiles=eventalbum_totalfiles+1, eventalbum_totalspace=eventalbum_totalspace+'{$file_filesize}' WHERE eventalbum_id='{$eventalbum_id}' LIMIT 1"; $resource = $database->database_query($sql); } } // IF ERROR if ($new_media->is_error) { $new_media->error_message = $_FILES[$file_name]['name'] . " - " . SE_Language::get($new_media->is_error); } // RETURN FILE STATS return array('is_error' => $new_media->is_error, 'error_message' => $new_media->error_message, 'file_name' => $_FILES[$file_name]['name'], 'eventmedia_id' => $eventmedia_id, 'eventmedia_ext' => $file_ext, 'eventmedia_filesize' => $file_filesize); }
function user_photo_upload($photo_name) { global $database, $url; // ENSURE USER DIRECTORY IS ADDED $user_directory = $url->url_userdir($this->user_info['user_id']); $user_path_array = explode("/", $user_directory); array_pop($user_path_array); array_pop($user_path_array); $subdir = implode("/", $user_path_array) . "/"; if (!is_dir($subdir)) { mkdir($subdir, 0777); chmod($subdir, 0777); $handle = fopen($subdir . "index.php", 'x+'); fclose($handle); } if (!is_dir($user_directory)) { mkdir($user_directory, 0777); chmod($user_directory, 0777); $handle = fopen($user_directory . "/index.php", 'x+'); fclose($handle); } // SET KEY VARIABLES $file_maxsize = "4194304"; $file_exts = explode(",", str_replace(" ", "", strtolower($this->level_info['level_photo_exts']))); $file_types = explode(",", str_replace(" ", "", strtolower("image/jpeg, image/jpg, image/jpe, image/pjpeg, image/pjpg, image/x-jpeg, x-jpg, image/gif, image/x-gif, image/png, image/x-png"))); $file_maxwidth = $this->level_info['level_photo_width']; $file_maxheight = $this->level_info['level_photo_height']; $photo_newname = "0_" . rand(1000, 9999) . ".jpg"; $file_dest = $url->url_userdir($this->user_info['user_id']) . $photo_newname; $thumb_dest = substr($file_dest, 0, strrpos($file_dest, ".")) . "_thumb" . substr($file_dest, strrpos($file_dest, ".")); $new_photo = new se_upload(); $new_photo->new_upload($photo_name, $file_maxsize, $file_exts, $file_types, $file_maxwidth, $file_maxheight); // UPLOAD AND RESIZE PHOTO IF NO ERROR if (!$new_photo->is_error) { // DELETE OLD AVATAR IF EXISTS $this->user_photo_delete(); // UPLOAD THUMB $new_photo->upload_thumb($thumb_dest); // CHECK IF IMAGE RESIZING IS AVAILABLE, OTHERWISE MOVE UPLOADED IMAGE if ($new_photo->is_image) { $new_photo->upload_photo($file_dest); } else { $new_photo->upload_file($file_dest); } // UPDATE USER INFO WITH IMAGE IF STILL NO ERROR if (!$new_photo->is_error) { $database->database_query("UPDATE se_users SET user_photo='{$photo_newname}' WHERE user_id='{$this->user_info['user_id']}' LIMIT 1"); $this->user_info['user_photo'] = $photo_newname; } } $this->is_error = $new_photo->is_error; }
function group_media_upload($file_name, $groupalbum_id, &$space_left) { global $database, $url, $user; // SET KEY VARIABLES $file_maxsize = $this->groupowner_level_info['level_group_album_maxsize']; $file_exts = explode(",", str_replace(" ", "", strtolower($this->groupowner_level_info['level_group_album_exts']))); $file_types = explode(",", str_replace(" ", "", strtolower($this->groupowner_level_info['level_group_album_mimes']))); $file_maxwidth = $this->groupowner_level_info['level_group_album_width']; $file_maxheight = $this->groupowner_level_info['level_group_album_height']; $new_media = new se_upload(); $new_media->new_upload($file_name, $file_maxsize, $file_exts, $file_types, $file_maxwidth, $file_maxheight); // UPLOAD AND RESIZE PHOTO IF NO ERROR if ($new_media->is_error == 0) { // INSERT ROW INTO MEDIA TABLE $database->database_query("\r\n INSERT INTO se_groupmedia (\r\n groupmedia_groupalbum_id,\r\n groupmedia_user_id,\r\n groupmedia_date\r\n ) VALUES (\r\n '{$groupalbum_id}',\r\n '{$user->user_info['user_id']}',\r\n '" . time() . "'\r\n )\r\n "); $groupmedia_id = $database->database_insert_id(); // CHECK IF IMAGE RESIZING IS AVAILABLE, OTHERWISE MOVE UPLOADED IMAGE if ($new_media->is_image == 1) { $file_dest = $this->group_dir($this->group_info['group_id']) . $groupmedia_id . ".jpg"; $thumb_dest = $this->group_dir($this->group_info['group_id']) . $groupmedia_id . "_thumb.jpg"; // UPLOAD THUMB $new_media->upload_thumb($thumb_dest, 200); // UPLOAD FILE $new_media->upload_photo($file_dest); $file_ext = "jpg"; $file_filesize = filesize($file_dest); } else { $file_dest = $this->group_dir($this->group_info['group_id']) . $groupmedia_id . "." . $new_media->file_ext; $thumb_dest = $this->group_dir($this->group_info['group_id']) . $groupmedia_id . "_thumb.jpg"; // UPLOAD THUMB IF NECESSARY if ($new_media->file_ext == 'gif') { $thumb_dest = $this->group_dir($this->group_info['group_id']) . $groupmedia_id . "_thumb.jpg"; $new_media->upload_thumb($thumb_dest, 200); } $new_media->upload_file($file_dest); $file_ext = $new_media->file_ext; $file_filesize = filesize($file_dest); } // CHECK SPACE LEFT if ($file_filesize > $space_left) { $new_media->is_error = 2000250; } else { $space_left = $space_left - $file_filesize; } // DELETE FROM DATABASE IF ERROR if ($new_media->is_error) { $database->database_query("DELETE FROM se_groupmedia WHERE groupmedia_id='{$groupmedia_id}' AND groupmedia_groupalbum_id='{$groupalbum_id}'"); @unlink($file_dest); } else { $sql = "UPDATE se_groupmedia SET groupmedia_ext='{$file_ext}', groupmedia_filesize='{$file_filesize}' WHERE groupmedia_id='{$groupmedia_id}' AND groupmedia_groupalbum_id='{$groupalbum_id}'"; $resource = $database->database_query($sql); // UPDATE PARENT TABLE ROW if (!is_numeric($file_filesize)) { $file_filesize = 0; } $sql = "UPDATE se_groupalbums SET groupalbum_totalfiles=groupalbum_totalfiles+1, groupalbum_totalspace=groupalbum_totalspace+'{$file_filesize}' WHERE groupalbum_id='{$groupalbum_id}' LIMIT 1"; $resource = $database->database_query($sql); } } // RETURN FILE STATS $file_result = array('is_error' => $new_media->is_error, 'file_name' => $_FILES[$file_name]['name'], 'groupmedia_id' => $groupmedia_id, 'groupmedia_ext' => $file_ext, 'groupmedia_filesize' => $file_filesize); return $file_result; }