You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.5 KiB
PHP
79 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace brain\api\v1;
|
|
|
|
use brain\data\Member;
|
|
use brain\data\Settings;
|
|
use brain\utility\FileUploader;
|
|
|
|
class ImagesAPI
|
|
{
|
|
public function __construct()
|
|
{
|
|
}
|
|
public static function uploadImage($request, $type = null)
|
|
{
|
|
$file = $request->getUploadedFiles();
|
|
$uploadPath = '';
|
|
$path = date('Y') . '/' . date('m');
|
|
$response = [];
|
|
switch ($type) {
|
|
case 'avatar':
|
|
$image = $file['avatar_upload'];
|
|
$uploadPath = '../public/assets/images/user/' . $path;
|
|
break;
|
|
case 'background':
|
|
$image = $file['background_upload'];
|
|
$uploadPath = '../public/assets/images/user/' . $path;
|
|
break;
|
|
default:
|
|
$image = $file['post_image'];
|
|
$path = date('Y') . '/' . date('m');
|
|
$uploadPath = '../public/assets/images/blog/' . $path;
|
|
break;
|
|
}
|
|
|
|
$result = FileUploader::uploadFile($uploadPath, $image);
|
|
|
|
switch ($type) {
|
|
case 'avatar':
|
|
$response = [
|
|
'message' => 'Avatar Added. You look great!',
|
|
'type' => 'avatarUploaded',
|
|
'url' => '/assets/images/user/' . $path . '/' . $image->getClientFileName(),
|
|
];
|
|
|
|
//update member data
|
|
Member::updateData(
|
|
'avi',
|
|
'/assets/images/user/' . $path . '/' . $image->getClientFileName()
|
|
);
|
|
|
|
break;
|
|
case 'background':
|
|
$response = [
|
|
'message' => "Background plugged in. That's nice!",
|
|
'type' => 'siteBackgroundUploaded',
|
|
'url' => '/assets/images/user/' . $path . '/' . $image->getClientFileName(),
|
|
];
|
|
|
|
//update settings file
|
|
Settings::updateGlobalData(
|
|
'background',
|
|
'/assets/images/user/' . $path . '/' . $image->getClientFileName()
|
|
);
|
|
|
|
break;
|
|
default:
|
|
$response = [
|
|
'message' => 'Image Added. Very slick',
|
|
'type' => 'postImageAdded',
|
|
'url' => '/assets/images/blog/' . $path . '/' . $image->getClientFileName(),
|
|
];
|
|
break;
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|