Skip to content
Snippets Groups Projects
Commit 430074ff authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

adjustments due to phpstan report, fixes #2257

Closes #2257

Merge request studip/studip!1490
parent 989e9fb6
No related branches found
No related tags found
1 merge request!4Draft: Icon creation
...@@ -36,18 +36,19 @@ class ContentBar ...@@ -36,18 +36,19 @@ class ContentBar
public static function get(): ContentBar public static function get(): ContentBar
{ {
if (static::$instance === null) { if (static::$instance === null) {
static::$instance = new static; static::$instance = new static();
} }
return static::$instance; return static::$instance;
} }
/** /**
* Private constructor to ensure that the singleton Get() method is always * Private constructor to ensure that the singleton Get() method is always
* used. * used. The constructor is finalized so that the call to get() will never
* fail.
* *
* @see ContentBar::get * @see ContentBar::get
*/ */
protected function __construct() protected final function __construct()
{ {
} }
......
...@@ -2,13 +2,12 @@ ...@@ -2,13 +2,12 @@
class CoursewarePDFCertificate extends TCPDF class CoursewarePDFCertificate extends TCPDF
{ {
protected $background;
public function __construct($background = false, $orientation = 'P', $unit = 'mm', $format = 'A4', $unicode = true, $encoding = 'UTF-8') public function __construct($background = false, $orientation = 'P', $unit = 'mm', $format = 'A4', $unicode = true, $encoding = 'UTF-8')
{ {
$this->config = Config::get();
if ($this->config->getValue('LOAD_EXTERNAL_MEDIA') === 'proxy') {
$this->media_proxy = new MediaProxy();
}
parent::__construct($orientation, $unit, $format, $unicode, $encoding, false); parent::__construct($orientation, $unit, $format, $unicode, $encoding, false);
if ($background) { if ($background) {
$fileRef = FileRef::find($background); $fileRef = FileRef::find($background);
$this->background = $fileRef->file->getPath(); $this->background = $fileRef->file->getPath();
......
...@@ -32,7 +32,13 @@ class UnitsCopy extends NonJsonApiController ...@@ -32,7 +32,13 @@ class UnitsCopy extends NonJsonApiController
$rangeType = $data['rangeType']; $rangeType = $data['rangeType'];
$modified = $data['modified']; $modified = $data['modified'];
if (!Authority::canCreateUnit($user)) { try {
$range = \RangeFactory::createRange($rangeType, $rangeId);
} catch (\Exception $e) {
throw new RecordNotFoundException('Range could not be found');
}
if (!Authority::canCreateUnit($user, $range)) {
throw new AuthorizationFailedException(); throw new AuthorizationFailedException();
} }
...@@ -43,4 +49,4 @@ class UnitsCopy extends NonJsonApiController ...@@ -43,4 +49,4 @@ class UnitsCopy extends NonJsonApiController
return $response; return $response;
} }
} }
\ No newline at end of file
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
namespace JsonApi\Routes\Courseware; namespace JsonApi\Routes\Courseware;
use JsonApi\Errors\AuthorizationFailedException; use JsonApi\Errors\AuthorizationFailedException;
use JsonApi\Errors\RecordNotFoundException;
use JsonApi\JsonApiController; use JsonApi\JsonApiController;
use JsonApi\Routes\ValidationTrait; use JsonApi\Routes\ValidationTrait;
use JsonApi\Schemas\Courseware\Unit as UnitSchema; use JsonApi\Schemas\Courseware\Unit as UnitSchema;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use Studip\Activity\Activity;
/** /**
* Create a block in a container. * Create a block in a container.
......
...@@ -6,6 +6,7 @@ use Courseware\Unit; ...@@ -6,6 +6,7 @@ use Courseware\Unit;
use JsonApi\Errors\AuthorizationFailedException; use JsonApi\Errors\AuthorizationFailedException;
use JsonApi\Errors\RecordNotFoundException; use JsonApi\Errors\RecordNotFoundException;
use JsonApi\JsonApiController; use JsonApi\JsonApiController;
use JsonApi\Routes\TimestampTrait;
use JsonApi\Routes\ValidationTrait; use JsonApi\Routes\ValidationTrait;
use JsonApi\Schemas\Courseware\Unit as UnitSchema; use JsonApi\Schemas\Courseware\Unit as UnitSchema;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
...@@ -17,6 +18,7 @@ use Psr\Http\Message\ServerRequestInterface as Request; ...@@ -17,6 +18,7 @@ use Psr\Http\Message\ServerRequestInterface as Request;
class UnitsUpdate extends JsonApiController class UnitsUpdate extends JsonApiController
{ {
use EditBlockAwareTrait; use EditBlockAwareTrait;
use TimestampTrait;
use ValidationTrait; use ValidationTrait;
/** /**
......
...@@ -114,7 +114,7 @@ class FileRefsContentShow extends NonJsonApiController ...@@ -114,7 +114,7 @@ class FileRefsContentShow extends NonJsonApiController
$fileRef->incrementDownloadCounter(); $fileRef->incrementDownloadCounter();
$stream = Psr7\stream_for(fopen($pathFile, 'rb')); $stream = Psr7\Utils::streamFor(fopen($pathFile, 'rb'));
return $response->withBody($stream); return $response->withBody($stream);
} }
......
...@@ -88,6 +88,13 @@ class Virusscanner ...@@ -88,6 +88,13 @@ class Virusscanner
return []; return [];
} }
/**
* Finalized constructor so that the instantition in scan() will never fail.
*/
protected final function __construct()
{
}
/** /**
* Establishes a connection to virus scanner via socket or TCP, depending on Stud.IP configuration. * Establishes a connection to virus scanner via socket or TCP, depending on Stud.IP configuration.
* *
......
...@@ -39,10 +39,10 @@ class RemindOerUpload extends CronJob ...@@ -39,10 +39,10 @@ class RemindOerUpload extends CronJob
$filetype = $file_ref->getFileType(); $filetype = $file_ref->getFileType();
$file_to_suggest = $filetype->convertToStandardFile(); $file_to_suggest = $filetype->convertToStandardFile();
$this->author = $file_ref->owner->username; $author = $file_ref->owner->username;
$this->link_to_share = URLHelper::getURL('dispatch.php/file/share_oer/' . $result['file_ref_id']); $link_to_share = URLHelper::getURL('dispatch.php/file/share_oer/' . $result['file_ref_id']);
$this->linktext = _('Klicken Sie hier, um das Material im OER-Campus zu veröffentlichen.'); $linktext = _('Klicken Sie hier, um das Material im OER-Campus zu veröffentlichen.');
$this->formatted_link = '['. $this->linktext .']' . $this->link_to_share; $formatted_link = '['. $linktext .']' . $link_to_share;
$oer_reminder_message = sprintf(_("Sie wollten daran erinnert werden, die folgende Datei im OER-Campus zu veröffentlichen:\n\n" $oer_reminder_message = sprintf(_("Sie wollten daran erinnert werden, die folgende Datei im OER-Campus zu veröffentlichen:\n\n"
. "Dateiname: %s \n" . "Dateiname: %s \n"
...@@ -50,14 +50,14 @@ class RemindOerUpload extends CronJob ...@@ -50,14 +50,14 @@ class RemindOerUpload extends CronJob
. "%s \n\n"), . "%s \n\n"),
$file_to_suggest->getFilename(), $file_to_suggest->getFilename(),
$file_to_suggest->getDescription(), $file_to_suggest->getDescription(),
$this->formatted_link $formatted_link
); );
$messaging = new messaging(); $messaging = new messaging();
$messaging->insert_message( $messaging->insert_message(
$oer_reminder_message, $oer_reminder_message,
$this->author, $author,
'____%system%____', '____%system%____',
'', '',
Request::option('message_id'), Request::option('message_id'),
...@@ -67,10 +67,7 @@ class RemindOerUpload extends CronJob ...@@ -67,10 +67,7 @@ class RemindOerUpload extends CronJob
); );
OERPostUpload::deleteBySQL("file_ref_id = ?", [$result['file_ref_id']]); OERPostUpload::deleteBySQL("file_ref_id = ?", [$result['file_ref_id']]);
} }
} }
} }
} }
...@@ -114,7 +114,7 @@ class SendMailNotificationsJob extends CronJob ...@@ -114,7 +114,7 @@ class SendMailNotificationsJob extends CronJob
return; return;
} }
$GLOBALS['user'] = new Seminar_user($user); $GLOBALS['user'] = new Seminar_User($user);
$ok = false; $ok = false;
$mailmessage = $notification->getAllNotifications($user->id); $mailmessage = $notification->getAllNotifications($user->id);
......
<?php <?php
require_once 'lib/classes/QuestionType.interface.php';
class QuestionnaireInfo extends QuestionnaireQuestion implements QuestionType class QuestionnaireInfo extends QuestionnaireQuestion implements QuestionType
{ {
public static function getIcon(bool $active = false) : Icon public static function getIcon(bool $active = false) : Icon
...@@ -45,7 +43,7 @@ class QuestionnaireInfo extends QuestionnaireQuestion implements QuestionType ...@@ -45,7 +43,7 @@ class QuestionnaireInfo extends QuestionnaireQuestion implements QuestionType
public function createAnswer() public function createAnswer()
{ {
return new QuestionnaireAnswer(); // Unused but necessary
} }
public function getUserIdsOfFilteredAnswer($answer_option) public function getUserIdsOfFilteredAnswer($answer_option)
......
...@@ -237,7 +237,10 @@ class User extends AuthUserMd5 implements Range, PrivacyObject ...@@ -237,7 +237,10 @@ class User extends AuthUserMd5 implements Range, PrivacyObject
*/ */
public static function build($data, $is_new = true) public static function build($data, $is_new = true)
{ {
$user = new static(); // Note: This should be used instead of `new static()` since PHPStan
$class = get_called_class();
$user = new $class();
$user->info = new UserInfo(); $user->info = new UserInfo();
$user->setData($data); $user->setData($data);
$user->setNew($is_new); $user->setNew($is_new);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment