diff options
Diffstat (limited to 'main/app/sprinkles')
-rw-r--r-- | main/app/sprinkles/account/config/default.php | 2 | ||||
-rw-r--r-- | main/app/sprinkles/admin/routes/posts.php | 4 | ||||
-rw-r--r-- | main/app/sprinkles/admin/src/Controller/PostController.php | 22 |
3 files changed, 20 insertions, 8 deletions
diff --git a/main/app/sprinkles/account/config/default.php b/main/app/sprinkles/account/config/default.php index 078c136..b018bcd 100644 --- a/main/app/sprinkles/account/config/default.php +++ b/main/app/sprinkles/account/config/default.php @@ -51,7 +51,7 @@ return [ 'enable_email' => TRUE ], 'registration' => [ - 'enabled' => TRUE, + 'enabled' => FALSE, // TODO: Datenschutzerklärung before enabling registration 'captcha' => TRUE, 'require_email_verification' => TRUE, 'user_defaults' => [ diff --git a/main/app/sprinkles/admin/routes/posts.php b/main/app/sprinkles/admin/routes/posts.php index ac523b2..9ae7d70 100644 --- a/main/app/sprinkles/admin/routes/posts.php +++ b/main/app/sprinkles/admin/routes/posts.php @@ -9,10 +9,10 @@ /** * Routes for posting. */ -$app->get('/feed/{user_name}', 'UserFrosting\Sprinkle\Admin\Controller\PostController:getFeed')->add('authGuard'); - $app->get('/image/{post_id}', 'UserFrosting\Sprinkle\Admin\Controller\PostController:showImage')->add('authGuard'); +$app->get('/api/feed/{user_name}', 'UserFrosting\Sprinkle\Admin\Controller\PostController:getFeed')->add('authGuard'); + $app->group('/api/posts', function () { $this->post('/image', 'UserFrosting\Sprinkle\Admin\Controller\PostController:postImage'); })->add('authGuard');
\ No newline at end of file diff --git a/main/app/sprinkles/admin/src/Controller/PostController.php b/main/app/sprinkles/admin/src/Controller/PostController.php index 18efff9..06d205d 100644 --- a/main/app/sprinkles/admin/src/Controller/PostController.php +++ b/main/app/sprinkles/admin/src/Controller/PostController.php @@ -43,22 +43,34 @@ class PostController extends SimpleController // If the user doesn't exist, return 404 if (!$user) { - throw new NotFoundException($request, $response); + throw new NotFoundException(); } // Get friends first $UsersFriends = DB::select("SELECT id FROM (SELECT user_id AS id FROM user_follow WHERE followed_by_id = $user->id UNION ALL SELECT followed_by_id FROM user_follow WHERE user_id = $user->id) t GROUP BY id HAVING COUNT(id) > 1"); + /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */ $classMapper = $this->ci->classMapper; - foreach ($UsersFriends as $Key => $UsersFriendId) { // NOT THAT EFFICIENT... + $ImagesFromFriends = ""; + $config = $this->ci->config; + foreach ($UsersFriends as $Key => $UsersFriendId) { // NOT THAT EFFICIENT... (get images from all friends in an array) $UsersFriendInformation = $classMapper->createInstance('user')// raw select doesnt work with instance - ->where('id', $UsersFriendId->id) + ->where('id', $UsersFriendId->id) ->get(); - $ImagesFromFriends[] = DB::table('image_posts') + $ImagesFromFriends = DB::table('image_posts') ->where('UserID', '=', $UsersFriendInformation[0]->id) - ->value('File'); + ->select('PostID as image_id') + ->get(); + + foreach ($ImagesFromFriends as $ImageFromFriend) { + $ImageFromFriend->image_url = $config["site.uri.public"] . "/image/" . $ImageFromFriend->image_id; + $ImageFromFriend->username = $UsersFriendInformation[0]->user_name; // ADD USERNAME TO IMAGE ID + $ImageFromFriend->avatar = $UsersFriendInformation[0]->avatar; + } } + + return $response->withJson($ImagesFromFriends, 200, JSON_PRETTY_PRINT); } /** |