Image upload and path fix.

このコミットが含まれているのは:
テクニカル諏訪子 2018-08-02 15:08:51 +09:00
コミット e0c64df149
1個のファイルの変更52行の追加14行の削除

ファイルの表示

@ -25,7 +25,7 @@ class ImageController extends Controller {
public function getUserWithUploads(Request $request) { // /api/rpc/image/get/userwithuploads
$cols = $this->objUser->getGroupColours()->toArray();
$imgs = File::directories('assets/images');
$imgs = File::directories('storage/assets/images');
$res = array();
@ -76,7 +76,7 @@ class ImageController extends Controller {
public function getAll(Request $request) { // /api/rpc/image/get/all
$cols = $this->objUser->getGroupColours()->toArray();
$imgs = File::files('assets/images/*');
$imgs = File::files('storage/assets/images/*');
$res = array();
@ -84,8 +84,8 @@ class ImageController extends Controller {
$usr = preg_split("#/#", $img->getPathname());
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
if ($usr[2] != 0) {
$user = $this->objUser->getUser($usr[2], $request)->toArray();
if ($usr[3] != 0) {
$user = $this->objUser->getUser($usr[3], $request)->toArray();
$showName = "";
$showCol = "";
@ -115,7 +115,7 @@ class ImageController extends Controller {
}
$res[] = array(
'id' => $usr[2],
'id' => $usr[3],
'avatar' => $protocol.'://'.$_SERVER['SERVER_NAME'].'/'.($user[0]->avatar != '' ? $user[0]->avatar : 'assets/avatars/haznoavaz.png'),
'name' => $img->getFilename(),
'userCol' => $showCol,
@ -130,7 +130,7 @@ class ImageController extends Controller {
public function getOwn(Request $request) { // /api/rpc/image/get/own
$check = $this->objAuth->checkLegit($request->username, $request->password);
$cols = $this->objUser->getGroupColours()->toArray();
$imgs = File::files('assets/images/'.$check);
$imgs = File::files('storage/assets/images/'.$check);
$res = array();
@ -142,8 +142,8 @@ class ImageController extends Controller {
$usr = preg_split("#/#", $img->getPathname());
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
if ($usr[2] == $check) {
$user = $this->objUser->getUser($usr[2], $request)->toArray();
if ($usr[3] == $check) {
$user = $this->objUser->getUser($usr[3], $request)->toArray();
$showName = "";
$showCol = "";
@ -173,7 +173,7 @@ class ImageController extends Controller {
}
$res[] = array(
'id' => $usr[2],
'id' => $usr[3],
'avatar' => $protocol.'://'.$_SERVER['SERVER_NAME'].'/'.($user[0]->avatar != '' ? $user[0]->avatar : 'assets/avatars/haznoavaz.png'),
'name' => $img->getFilename(),
'userCol' => $showCol,
@ -188,7 +188,7 @@ class ImageController extends Controller {
public function getUser($id, Request $request) { // /api/rpc/image/get/user/id
$cols = $this->objUser->getGroupColours()->toArray();
$imgs = File::files('assets/images/'.$id);
$imgs = File::files('storage/assets/images/'.$id);
$res = array();
@ -196,8 +196,8 @@ class ImageController extends Controller {
$usr = preg_split("#/#", $img->getPathname());
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
if ($usr[2] != 0) {
$user = $this->objUser->getUser($usr[2], $request)->toArray();
if ($usr[3] != 0) {
$user = $this->objUser->getUser($usr[3], $request)->toArray();
$showName = "";
$showCol = "";
@ -242,7 +242,7 @@ class ImageController extends Controller {
public function getOther(Request $request) { // /api/rpc/image/get/other
$check = $this->objAuth->checkLegit($request->username, $request->password);
$cols = $this->objUser->getGroupColours()->toArray();
$dirs = File::directories('assets/images');
$dirs = File::directories('storage/assets/images');
$res = array();
@ -317,7 +317,45 @@ class ImageController extends Controller {
}
public function uploadImage(Request $request) { // /api/rpc/image/upload
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
return 'Err!';
}
else {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['usr_editprofile'] == 1) {
if (isset($request->filename)) {
if (!is_dir("assets/images/".$check)) {
if (!mkdir("assets/images/".$check, 0755, true)) {
return "Could not make folder ".$check."<br />";
}
}
$img_dir = "assets/images/".$check."/";
$image = $img_dir . $request->filename;
$imageFileType = array(
'image/png',
'image/jpeg',
'image/gif'
);
if (!in_array($request->filetype, $imageFileType)) {
return "Only JPG, PNG, JPEG, and GIF are allowed.";
}
$fname = 'assets/images/'.$check.'/'.$request->filename;
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $request->thefile));
Storage::disk('public')->put($fname, $data);
return $request->filename;
}
}
else {
return 'Permission denied.';
}
}
}
public function removeImage(Request $request) { // /api/rpc/image/remove