Beispiel #1
0
 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;
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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;
 }