Skip to content

Commit

Permalink
Merge pull request #58 from Zillion01/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
Zillion01 authored Jan 22, 2025
2 parents bed147e + 9732f08 commit 87f529f
Show file tree
Hide file tree
Showing 37 changed files with 492 additions and 522 deletions.
9 changes: 6 additions & 3 deletions Classes/Controller/CategorycommentController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Jp\Jpfaq\Controller;

use Jp\Jpfaq\Domain\Model\Category;
use Jp\Jpfaq\Domain\Model\Categorycomment;
use Jp\Jpfaq\Domain\Repository\CategorycommentRepository;
use Jp\Jpfaq\Domain\Repository\CategoryRepository;
Expand Down Expand Up @@ -121,8 +122,10 @@ public function addCommentAction(
$catUid = (int)$catUid;

$tempCat = $this->categoryRepository->findByUid($catUid);
$categories[] = $tempCat;
$categoryNames = $categoryNames . $tempCat->getCategory() . '<br/>';
if ($tempCat instanceof Category) {
$categories[] = $tempCat;
$categoryNames = $categoryNames . $tempCat->getCategory() . '<br/>';
}
}
}

Expand Down Expand Up @@ -208,7 +211,7 @@ public function thankForCommentAction(Categorycomment $newCategorycomment, int $
if ($currentUid == $pluginUid) {
$this->view->assignMultiple([
'comment' => $newCategorycomment,
'emailNotification' => $emailNotification
'emailNotification' => $emailNotification,
]);

return $this->htmlResponse();
Expand Down
23 changes: 17 additions & 6 deletions Classes/Controller/QuestionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException;
use TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException;
use TYPO3\CMS\Extbase\Persistence\Exception\UnknownObjectException;
use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication;

/**
* QuestionController
Expand All @@ -32,8 +33,7 @@ class QuestionController extends ActionController
public function __construct(
QuestionRepository $questionRepository,
CategoryRepository $categoryRepository
)
{
) {
$this->questionRepository = $questionRepository;
$this->categoryRepository = $categoryRepository;
}
Expand Down Expand Up @@ -81,9 +81,16 @@ public function listAction(): ResponseInterface
{
$restrictToCategories = (array)$this->settings['questions']['categories'];
$excludeAlreadyDisplayedQuestions = (int)($this->settings['excludeAlreadyDisplayedQuestions'] ?? 1);

$startingPoint = null;
if (!empty($this->settings['startingpoint'] ?? '')) {
$startingPoint = $this->settings['startingpoint'];
}

$questions = $this->questionRepository->findQuestionsWithConstraints(
$restrictToCategories,
$excludeAlreadyDisplayedQuestions
(bool)$excludeAlreadyDisplayedQuestions,
$startingPoint
);

$categories = [];
Expand All @@ -106,7 +113,7 @@ public function listAction(): ResponseInterface
'restrictToCategories' => $restrictToCategories,
'currentUid' => $currentUid,
'gtag' => $this->settings['gtag'] ?? '',
'questions' => $questions
'questions' => $questions,
]);

return $this->htmlResponse();
Expand Down Expand Up @@ -164,7 +171,11 @@ private function updateHelpful(Question $question, bool $helpful): void
$questionUid = $question->getUid();
$questionHelpful = $question->getHelpful();
$questionNotHelpful = $question->getNothelpful();
$userClickedHelpfulness = $GLOBALS['TSFE']->fe_user->getKey('ses', $questionUid);

/** @var FrontendUserAuthentication $frontendUserAuthentication */
$frontendUserAuthentication = $this->request->getAttribute('frontend.user');

$userClickedHelpfulness = $frontendUserAuthentication->getKey('ses', (string)$questionUid);

// User already clicked helpful for this question this session
if (isset($userClickedHelpfulness)) {
Expand Down Expand Up @@ -193,6 +204,6 @@ private function updateHelpful(Question $question, bool $helpful): void
$this->questionRepository->update($question);

// Store user interaction on helpfulness in session
$GLOBALS['TSFE']->fe_user->setKey('ses', $questionUid, $helpful);
$frontendUserAuthentication->setKey('ses', (string)$questionUid, $helpful);
}
}
6 changes: 3 additions & 3 deletions Classes/Controller/QuestioncommentController.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class QuestioncommentController extends ActionController
{
protected QuestioncommentRepository $questioncommentRepository;
protected QuestionRepository $questionRepository;
protected $configurationManager;
protected ConfigurationManagerInterface $configurationManager;

/**
* @param QuestioncommentRepository $questioncommentRepository
Expand Down Expand Up @@ -77,7 +77,7 @@ public function commentAction(Question $question): ResponseInterface

$this->view->assignMultiple([
'currentUid' => $currentUid,
'question' => $question
'question' => $question,
]);

return $this->htmlResponse();
Expand Down Expand Up @@ -188,7 +188,7 @@ public function thankForCommentAction(Questioncomment $newQuestioncomment, int $
if ($currentUid == $pluginUid) {
$this->view->assignMultiple([
'comment' => $newQuestioncomment,
'emailNotification' => $emailNotification
'emailNotification' => $emailNotification,
]);

return $this->htmlResponse();
Expand Down
7 changes: 4 additions & 3 deletions Classes/Domain/Model/Category.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Jp\Jpfaq\Domain\Model;

use TYPO3\CMS\Extbase\Annotation\Validate;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;

/**
Expand All @@ -12,10 +13,10 @@ class Category extends AbstractEntity
/**
* category
*
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
*
* @var string
*/
#[Validate(['validator' => 'NotEmpty'])]
protected $category = '';

/**
Expand All @@ -40,7 +41,7 @@ public function getCategory()
*
* @param string $category
*/
public function setCategory($category)
public function setCategory($category): void
{
$this->category = $category;
}
Expand All @@ -60,7 +61,7 @@ public function getDescription()
*
* @param string $description
*/
public function setDescription($description)
public function setDescription($description): void
{
$this->description = $description;
}
Expand Down
32 changes: 17 additions & 15 deletions Classes/Domain/Model/Categorycomment.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace Jp\Jpfaq\Domain\Model;

use TYPO3\CMS\Extbase\Annotation\ORM\Lazy;
use TYPO3\CMS\Extbase\Annotation\Validate;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;

Expand Down Expand Up @@ -38,8 +40,8 @@ class Categorycomment extends AbstractEntity
* comment
*
* @var string
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
*/
#[Validate(['validator' => 'NotEmpty'])]
protected $comment = '';

/**
Expand All @@ -59,9 +61,9 @@ class Categorycomment extends AbstractEntity
/**
* category
*
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Jp\Jpfaq\Domain\Model\Category>
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
* @var ObjectStorage<Category>
*/
#[Lazy]
protected $category;

/**
Expand Down Expand Up @@ -99,7 +101,7 @@ public function getName()
*
* @param string $name
*/
public function setName($name)
public function setName($name): void
{
$this->name = $name;
}
Expand All @@ -119,7 +121,7 @@ public function getEmail()
*
* @param string $email
*/
public function setEmail($email)
public function setEmail($email): void
{
$this->email = $email;
}
Expand All @@ -139,7 +141,7 @@ public function getComment()
*
* @param string $comment
*/
public function setComment($comment)
public function setComment($comment): void
{
$this->comment = $comment;
}
Expand All @@ -159,35 +161,35 @@ public function getFinfo()
*
* @param string $finfo
*/
public function setFinfo($finfo)
public function setFinfo($finfo): void
{
$this->finfo = $finfo;
}

/**
* Adds a Category
*
* @param \Jp\Jpfaq\Domain\Model\Category $category
* @param Category $category
*/
public function addCategory(Category $category)
public function addCategory(Category $category): void
{
$this->category->attach($category);
}

/**
* Removes a Category
*
* @param \Jp\Jpfaq\Domain\Model\Category $categoryToRemove The Category to be removed
* @param Category $categoryToRemove The Category to be removed
*/
public function removeCategory(Category $categoryToRemove)
public function removeCategory(Category $categoryToRemove): void
{
$this->category->detach($categoryToRemove);
}

/**
* Returns the category
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Jp\Jpfaq\Domain\Model\Category> $category
* @return ObjectStorage<Category> $category
*/
public function getCategory()
{
Expand All @@ -197,9 +199,9 @@ public function getCategory()
/**
* Sets the category
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Jp\Jpfaq\Domain\Model\Category> $category
* @param ObjectStorage<Category> $category
*/
public function setCategory($category)
public function setCategory($category): void
{
$this->category = $category;
}
Expand All @@ -219,7 +221,7 @@ public function getIp()
*
* @param string $ip
*/
public function setIp($ip)
public function setIp($ip): void
{
$this->ip = $ip;
}
Expand Down
Loading

0 comments on commit 87f529f

Please sign in to comment.