...
 
Commits (2)
......@@ -7,13 +7,13 @@
*/
namespace Minds\Controllers\api\v1\media;
use Minds\Api\Factory;
use Minds\Common;
use Minds\Core;
use Minds\Core\Di\Di;
use Minds\Helpers;
use Minds\Core\Features\Manager as FeaturesManager;
use Minds\Entities;
use Minds\Interfaces;
use Minds\Api\Factory;
use Minds\Core\Features\Manager as FeaturesManager;
class thumbnails implements Interfaces\Api, Interfaces\ApiIgnorePam
{
......@@ -48,7 +48,7 @@ class thumbnails implements Interfaces\Api, Interfaces\ApiIgnorePam
$featuresManager = new FeaturesManager();
if ($entity->access_id !== ACCESS_PUBLIC && $featuresManager->has('cdn-jwt')) {
if ($entity->access_id !== Common\Access::PUBLIC && $featuresManager->has('cdn-jwt')) {
error_log("{$_SERVER['REQUEST_URI']} was hit, and should not have been");
return Factory::response([
......
......@@ -4,11 +4,13 @@
*/
namespace Minds\Controllers\fs\v1;
use Minds\Api\Factory;
use Minds\Common;
use Minds\Core;
use Minds\Core\Di\Di;
use Minds\Core\Features\Manager as FeaturesManager;
use Minds\Entities;
use Minds\Interfaces;
use Minds\Core\Features\Manager as FeaturesManager;
class thumbnail extends Core\page implements Interfaces\page
{
......@@ -19,7 +21,15 @@ class thumbnail extends Core\page implements Interfaces\page
}
Core\Security\ACL::$ignore = true;
$guid = $pages[0];
$guid = $pages[0] ?? null;
if (!$guid) {
return Factory::response([
'status' => 'error',
'message' => 'guid must be provided'
]);
}
$size = isset($pages[1]) ? $pages[1] : null;
$entity = Entities\Factory::build($guid);
......@@ -33,7 +43,7 @@ class thumbnail extends Core\page implements Interfaces\page
$featuresManager = new FeaturesManager;
if ($entity->access_id !== ACCESS_PUBLIC && $featuresManager->has('cdn-jwt')) {
if ($entity->access_id !== Common\Access::PUBLIC && $featuresManager->has('cdn-jwt')) {
$signedUri = new Core\Security\SignedUri();
$uri = (string) \Zend\Diactoros\ServerRequestFactory::fromGlobals()->getUri();
if (!$signedUri->confirm($uri)) {
......
......@@ -8,11 +8,15 @@ use Minds\Entities;
class Thumbnails
{
/** @var Core\Config */
protected $config;
/** @var Core\EntitiesBuilder */
protected $entitiesBuilder;
public function __construct($config = null)
public function __construct($config = null, $entitiesBuilder = null)
{
$this->config = $config ?: Di::_()->get('Config');
$this->entitiesBuilder = $entitiesBuilder ?: Di::_()->get('EntitiesBuilder');
}
/**
......@@ -23,7 +27,7 @@ class Thumbnails
public function get($entity, $size)
{
if (is_string($entity)) {
$entity = Entities\Factory::build($entity);
$entity = $this->entitiesBuilder->build($entity);
}
if (!$entity || !Core\Security\ACL::_()->read($entity)) {
return false;
......
......@@ -4,15 +4,13 @@
*/
namespace Minds\Core\Media\Video;
use Aws\S3\S3Client;
use Minds\Common;
use Minds\Core\Config;
use Minds\Core\Di\Di;
use Minds\Core\Session;
use Minds\Entities\Entity;
use Minds\Entities\Activity;
use Minds\Entities\Image;
use Minds\Entities\Entity;
use Minds\Entities\Video;
use Minds\Core\Comments\Comment;
use Aws\S3\S3Client;
class Manager
{
......@@ -64,7 +62,7 @@ class Manager
if (!$cmd) {
return null;
}
if ($entity->access_id !== ACCESS_PUBLIC) {
if ($entity->access_id !== Common\Access::PUBLIC) {
$url = (string)$this->s3->createPresignedRequest($cmd, '+48 hours')->getUri();
} else {
$url = $this->config->get('cinemr_url') . $entity->cinemr_guid . '/' . $size;
......