Skip to content

Commit 5375ae4

Browse files
committed
Version 5.2.0
1 parent c9bbf5c commit 5375ae4

37 files changed

+97
-439
lines changed

Classes/Controller/ParticipantController.php

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,14 @@ public function listAction(int $currentPage = 1): ResponseInterface
7777
$participantPaginator = new ArrayPaginator($participantArray, $currentPage, $this->settings['pagebrowser']['itemsPerPage']);
7878
$participantPagination = new SimplePagination($participantPaginator);
7979

80-
$this->view->assign('pid', $pid);
81-
$this->view->assign('qid', $qid);
82-
$this->view->assign('participants', $participants);
83-
$this->view->assign('paginator', $participantPaginator);
84-
$this->view->assign('pagination', $participantPagination);
85-
$this->view->assign('pages', range(1, $participantPagination->getLastPageNumber()));
80+
$this->moduleTemplate->assign('pid', $pid);
81+
$this->moduleTemplate->assign('qid', $qid);
82+
$this->moduleTemplate->assign('participants', $participants);
83+
$this->moduleTemplate->assign('paginator', $participantPaginator);
84+
$this->moduleTemplate->assign('pagination', $participantPagination);
85+
$this->moduleTemplate->assign('pages', range(1, $participantPagination->getLastPageNumber()));
8686
$this->addDocHeaderDropDown('list');
87-
return $this->defaultRendering();
87+
return $this->moduleTemplate->renderResponse('Participant/List');
8888
}
8989

9090
/**
@@ -110,9 +110,9 @@ public function detailAction(Participant $participant): ResponseInterface
110110
}
111111
}
112112

113-
$this->view->assign('participant', $participant);
113+
$this->moduleTemplate->assign('participant', $participant);
114114
$this->addDocHeaderDropDown('list');
115-
return $this->defaultRendering();
115+
return $this->moduleTemplate->renderResponse('Participant/Detail');
116116
}
117117

118118
/**
@@ -137,12 +137,6 @@ protected function getLanguageService(): LanguageService
137137
return $GLOBALS['LANG'];
138138
}
139139

140-
protected function defaultRendering(): ResponseInterface
141-
{
142-
$this->moduleTemplate->setContent($this->view->render());
143-
return $this->htmlResponse($this->moduleTemplate->renderContent());
144-
}
145-
146140
protected function addDocHeaderDropDown(string $currentAction): void
147141
{
148142
$languageService = $this->getLanguageService();

Classes/Controller/QuestionController.php

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ public function moveAction(Quiz $quiz, Question $question = NULL): ResponseInter
6868
}
6969

7070
$questions = $this->questionRepository->findOtherThan($pid, $quiz->getUid());
71-
$this->view->assign('question', $question);
72-
$this->view->assign('questions', $questions);
73-
$this->view->assign('quiz', $quiz);
71+
$this->moduleTemplate->assign('question', $question);
72+
$this->moduleTemplate->assign('questions', $questions);
73+
$this->moduleTemplate->assign('quiz', $quiz);
7474
$this->addDocHeaderDropDown('index');
75-
return $this->defaultRendering();
75+
return $this->moduleTemplate->renderResponse('Question/Move');
7676
}
7777

7878
/*
@@ -83,12 +83,6 @@ protected function getLanguageService(): LanguageService
8383
return $GLOBALS['LANG'];
8484
}
8585

86-
protected function defaultRendering(): ResponseInterface
87-
{
88-
$this->moduleTemplate->setContent($this->view->render());
89-
return $this->htmlResponse($this->moduleTemplate->renderContent());
90-
}
91-
9286
protected function addDocHeaderDropDown(string $currentAction): void
9387
{
9488
$languageService = $this->getLanguageService();

Classes/Controller/QuizController.php

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
namespace Fixpunkt\FpMasterquiz\Controller;
44

5-
use TYPO3\CMS\Fluid\View\StandaloneView;
6-
use TYPO3\CMS\Core\Mail\MailMessage;
7-
use Symfony\Component\Mime\Address;
85
use Fixpunkt\FpMasterquiz\Domain\Repository\QuizRepository;
96
use Fixpunkt\FpMasterquiz\Domain\Repository\AnswerRepository;
107
use Fixpunkt\FpMasterquiz\Domain\Repository\ParticipantRepository;
@@ -25,10 +22,13 @@
2522
use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
2623
use TYPO3\CMS\Core\Context\Context;
2724
use TYPO3\CMS\Core\Pagination\ArrayPaginator;
28-
use Psr\Http\Message\ResponseInterface;
2925
use TYPO3\CMS\Core\Localization\LanguageService;
3026
use TYPO3\CMS\Backend\Template\ModuleTemplate;
3127
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
28+
use TYPO3\CMS\Fluid\View\StandaloneView;
29+
use TYPO3\CMS\Core\Mail\MailMessage;
30+
use Symfony\Component\Mime\Address;
31+
use Psr\Http\Message\ResponseInterface;
3232
use Psr\Log\LoggerInterface;
3333

3434
/***
@@ -1229,7 +1229,7 @@ protected function evaluateInputTextAnswerResult(int $i_quid,
12291229
}
12301230

12311231
// for security reasons check the input from the frontend
1232-
$answerText = filter_var($answerText, FILTER_SANITIZE_STRING);
1232+
$answerText = htmlspecialchars($answerText); //filter_var($answerText, FILTER_SANITIZE_STRING);
12331233

12341234
// store the answer of the participant in the selected dataset
12351235
$c_selected->setEntered($answerText);
@@ -1239,7 +1239,7 @@ protected function evaluateInputTextAnswerResult(int $i_quid,
12391239
$c_selected->addAnswer($answer);
12401240

12411241
if ($i_question->getQmode() == 3) {
1242-
// sum the the points of the current answer to the max. possible point until the current question
1242+
// sum the points of the current answer to the max. possible point until the current question
12431243
$maximum1 += $answer->getPoints();
12441244

12451245
// if the answer is right
@@ -1294,7 +1294,7 @@ public function getFeUser(int $userid): array
12941294
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('fe_users');
12951295
$queryBuilder = $connection->createQueryBuilder();
12961296
$statement = $queryBuilder->select('*')->from('fe_users')->where(
1297-
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($userid, \PDO::PARAM_INT))
1297+
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($userid, \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
12981298
)->setMaxResults(1)->executeQuery();
12991299
while ($row = $statement->fetch()) {
13001300
return $row;
@@ -2123,11 +2123,11 @@ public function indexAction(): ResponseInterface
21232123
$otherLangs[] = $this->quizRepository->findFormUidAndPidOtherLanguages($quiz->getUid());
21242124
}
21252125

2126-
$this->view->assign('pid', $pid);
2127-
$this->view->assign('quizzes', $quizzes);
2128-
$this->view->assign('otherQuizzes', $otherLangs);
2126+
$this->moduleTemplate->assign('pid', $pid);
2127+
$this->moduleTemplate->assign('quizzes', $quizzes);
2128+
$this->moduleTemplate->assign('otherQuizzes', $otherLangs);
21292129
$this->addDocHeaderDropDown('index');
2130-
return $this->defaultRendering();
2130+
return $this->moduleTemplate->renderResponse('Quiz/Index');
21312131
}
21322132

21332133
/**
@@ -2162,30 +2162,30 @@ public function detailAction(Quiz $quiz): ResponseInterface
21622162
$lostArray[$question->getUid()] = $question->getTitle();
21632163
}
21642164

2165-
$this->view->assign('quiz', $quiz);
2166-
$this->view->assign('lostArray', $lostArray);
2167-
$this->view->assign('lost', count($lostArray));
2168-
$this->view->assign('updated', $updated);
2165+
$this->moduleTemplate->assign('quiz', $quiz);
2166+
$this->moduleTemplate->assign('lostArray', $lostArray);
2167+
$this->moduleTemplate->assign('lost', count($lostArray));
2168+
$this->moduleTemplate->assign('updated', $updated);
21692169
if ($this->request->hasArgument('prop')) {
2170-
$this->view->assign('prop', $this->request->getArgument('prop'));
2170+
$this->moduleTemplate->assign('prop', $this->request->getArgument('prop'));
21712171
} else {
2172-
$this->view->assign('prop', 0);
2172+
$this->moduleTemplate->assign('prop', 0);
21732173
}
21742174

21752175
if ($this->request->hasArgument('user')) {
2176-
$this->view->assign('user', $this->request->getArgument('user'));
2176+
$this->moduleTemplate->assign('user', $this->request->getArgument('user'));
21772177
} else {
2178-
$this->view->assign('user', 0);
2178+
$this->moduleTemplate->assign('user', 0);
21792179
}
21802180

21812181
if ($this->request->hasArgument('chart')) {
2182-
$this->view->assign('chart', $this->request->getArgument('chart'));
2182+
$this->moduleTemplate->assign('chart', $this->request->getArgument('chart'));
21832183
} else {
2184-
$this->view->assign('chart', 0);
2184+
$this->moduleTemplate->assign('chart', 0);
21852185
}
21862186

21872187
$this->addDocHeaderDropDown('index');
2188-
return $this->defaultRendering();
2188+
return $this->moduleTemplate->renderResponse('Quiz/Detail');
21892189
}
21902190

21912191
/**
@@ -2197,11 +2197,11 @@ public function chartsAction(Quiz $quiz): ResponseInterface
21972197
$pid = $be ? $this->id : (int)$GLOBALS['TSFE']->id;
21982198

21992199
$debug = $this->setAllUserAnswers($quiz, $pid, $be);
2200-
$this->view->assign('debug', $debug);
2201-
$this->view->assign('pid', $pid);
2202-
$this->view->assign('quiz', $quiz);
2200+
$this->moduleTemplate->assign('debug', $debug);
2201+
$this->moduleTemplate->assign('pid', $pid);
2202+
$this->moduleTemplate->assign('quiz', $quiz);
22032203
$this->addDocHeaderDropDown('index');
2204-
return $this->defaultRendering();
2204+
return $this->moduleTemplate->renderResponse('Quiz/Charts');
22052205
}
22062206

22072207
/**
@@ -2268,12 +2268,6 @@ protected function getLanguageService(): LanguageService
22682268
return $GLOBALS['LANG'];
22692269
}
22702270

2271-
protected function defaultRendering(): ResponseInterface
2272-
{
2273-
$this->moduleTemplate->setContent($this->view->render());
2274-
return $this->htmlResponse($this->moduleTemplate->renderContent());
2275-
}
2276-
22772271
protected function addDocHeaderDropDown(string $currentAction): void
22782272
{
22792273
$languageService = $this->getLanguageService();

Classes/Domain/Model/Participant.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ public function getUsername()
314314
->select('username')
315315
->from('fe_users')
316316
->where(
317-
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($this->user, \PDO::PARAM_INT))
317+
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter(intval($this->user), \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
318318
)
319319
->setMaxResults(1)
320320
->executeQuery();

Classes/Domain/Model/Question.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ public function getSortedCategoriesArray() {
689689
$queryBuilder->expr()->eq('mm.uid_local', $queryBuilder->quoteIdentifier('sys_category.uid'))
690690
)
691691
->where(
692-
$queryBuilder->expr()->eq('mm.uid_foreign', $queryBuilder->createNamedParameter($this->uid, \PDO::PARAM_INT)),
692+
$queryBuilder->expr()->eq('mm.uid_foreign', $queryBuilder->createNamedParameter(intval($this->uid), \TYPO3\CMS\Core\Database\Connection::PARAM_INT)),
693693
$queryBuilder->expr()->eq('mm.tablenames', $queryBuilder->createNamedParameter('tx_fpmasterquiz_domain_model_question'))
694694
)
695695
->orderBy('sys_category.sorting')

Classes/Domain/Repository/QuestionRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public function moveToQuiz($questionID, $quizID)
8080
$queryBuilder
8181
->update($table)
8282
->where(
83-
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($questionID, \PDO::PARAM_INT))
83+
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter(intval($questionID), \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
8484
)
8585
->set('quiz', intval($quizID))
8686
->executeStatement();

Classes/Domain/Repository/QuizRepository.php

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use TYPO3\CMS\Extbase\Persistence\Repository;
66
use TYPO3\CMS\Core\Database\ConnectionPool;
7+
use TYPO3\CMS\Core\Database\Connection;
78
use TYPO3\CMS\Core\Utility\GeneralUtility;
89
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
910
use TYPO3\CMS\Extbase\Persistence\QueryResultInterface;
@@ -53,32 +54,16 @@ public function initializeObject()
5354
*/
5455
public function getMyLocalizedUid(int $defaultQuizUid, int $sys_language_uid)
5556
{
56-
/*
57-
$query = $this->createQuery();
58-
//$query->getQuerySettings()->setReturnRawQueryResult(TRUE); // funktioniert leider nicht
59-
$query->matching(
60-
$query->logicalAnd(
61-
$query->equals('l10n_parent', $defaultQuizUid),
62-
$query->equals('sys_language_uid', $sys_language_uid)
63-
)
64-
);
65-
$result = $query->execute()->getFirst();
66-
if ($result) {
67-
return $result->getUid();
68-
} else {
69-
return 0;
70-
}
71-
*/
7257
$uid = 0;
7358
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_fpmasterquiz_domain_model_quiz');
7459
$statement = $queryBuilder
7560
->select('uid')
7661
->from('tx_fpmasterquiz_domain_model_quiz')
7762
->where(
78-
$queryBuilder->expr()->eq('l10n_parent', $queryBuilder->createNamedParameter($defaultQuizUid, \PDO::PARAM_INT))
63+
$queryBuilder->expr()->eq('l10n_parent', $queryBuilder->createNamedParameter($defaultQuizUid, Connection::PARAM_INT))
7964
)
8065
->andWhere(
81-
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter($sys_language_uid, \PDO::PARAM_INT))
66+
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter($sys_language_uid, Connection::PARAM_INT))
8267
)
8368
->setMaxResults(1)
8469
->executeQuery();
@@ -117,7 +102,7 @@ public function findFormUidAndPidOtherLanguages(int $uid)
117102
->select('*')
118103
->from('tx_fpmasterquiz_domain_model_quiz')
119104
->where(
120-
$queryBuilder->expr()->eq('l10n_parent', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT))
105+
$queryBuilder->expr()->eq('l10n_parent', $queryBuilder->createNamedParameter($uid, Connection::PARAM_INT))
121106
)
122107
->executeQuery();
123108
return $statement->fetchAllAssociative();

Classes/Domain/Repository/SelectedRepository.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ public function deleteByParticipantAndQuestion($participantId, $questionId)
127127
->from($table)
128128
->where(
129129
$queryBuilder->expr()->and(
130-
$queryBuilder->expr()->eq('participant', $queryBuilder->createNamedParameter($participantId, \PDO::PARAM_INT)),
131-
$queryBuilder->expr()->eq('question', $queryBuilder->createNamedParameter($questionId, \PDO::PARAM_INT))
130+
$queryBuilder->expr()->eq('participant', $queryBuilder->createNamedParameter(intval($participantId), \TYPO3\CMS\Core\Database\Connection::PARAM_INT)),
131+
$queryBuilder->expr()->eq('question', $queryBuilder->createNamedParameter(intval($questionId), \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
132132
)
133133
)
134134
->executeQuery()

Classes/Task/CsvExportAdditionalFieldProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
124124
->count('uid')
125125
->from('pages')
126126
->where(
127-
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter((int)$submittedData['fpmasterquiz']['page'], \PDO::PARAM_INT))
127+
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter((int)$submittedData['fpmasterquiz']['page'], \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
128128
)
129129
->executeQuery()
130130
->fetchOne();

Classes/Task/CsvExportTask.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public function execute() {
214214
$queryBuilder->expr()->eq('mm.uid_foreign', $queryBuilder->quoteIdentifier('tx_fpmasterquiz_domain_model_answer.uid'))
215215
)
216216
->where(
217-
$queryBuilder->expr()->eq('tx_fpmasterquiz_domain_model_answer.pid', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT))
217+
$queryBuilder->expr()->eq('tx_fpmasterquiz_domain_model_answer.pid', $queryBuilder->createNamedParameter($uid, \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
218218
)
219219
->orderBy('mm.sorting', 'ASC')
220220
->executeQuery();
@@ -252,7 +252,7 @@ public function execute() {
252252
$queryBuilder->expr()->eq('question.uid', $queryBuilder->quoteIdentifier('tx_fpmasterquiz_domain_model_selected.question'))
253253
)
254254
->where(
255-
$queryBuilder->expr()->eq('tx_fpmasterquiz_domain_model_selected.pid', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT))
255+
$queryBuilder->expr()->eq('tx_fpmasterquiz_domain_model_selected.pid', $queryBuilder->createNamedParameter($uid, \TYPO3\CMS\Core\Database\Connection::PARAM_INT))
256256
)
257257
->orderBy('part.uid', 'DESC')
258258
->addOrderBy('suid', 'ASC')

0 commit comments

Comments
 (0)