44
55use Laminas \Diactoros \Response \RedirectResponse ;
66use Override ;
7+ use wcf \data \faq \category \FaqCategory ;
8+ use wcf \data \faq \category \FaqCategoryNode ;
79use wcf \data \faq \category \FaqCategoryNodeTree ;
810use wcf \data \faq \Question ;
911use wcf \data \faq \QuestionAction ;
1012use wcf \data \faq \QuestionEditor ;
1113use wcf \data \IStorableObject ;
1214use wcf \data \language \item \LanguageItemList ;
15+ use wcf \data \language \Language ;
1316use wcf \form \AbstractFormBuilderForm ;
1417use wcf \system \form \builder \container \FormContainer ;
1518use wcf \system \form \builder \container \TabFormContainer ;
2326use wcf \system \form \builder \IFormDocument ;
2427use wcf \system \html \input \HtmlInputProcessor ;
2528use wcf \system \language \LanguageFactory ;
26- use wcf \system \request \IRouteController ;
2729use wcf \system \request \LinkHandler ;
2830use wcf \system \WCF ;
2931
32+ /**
33+ * @extends AbstractFormBuilderForm<Question>
34+ */
3035class FaqQuestionAddForm extends AbstractFormBuilderForm
3136{
3237 /**
@@ -57,8 +62,14 @@ class FaqQuestionAddForm extends AbstractFormBuilderForm
5762
5863 protected int $ isMultilingual = 0 ;
5964
65+ /**
66+ * @var array<int, string>
67+ */
6068 protected array $ multiLingualAnswers = [];
6169
70+ /**
71+ * @var array<int, FaqCategoryNode|FaqCategory>
72+ */
6273 protected array $ categories ;
6374
6475 #[Override]
@@ -205,13 +216,7 @@ protected function setFormAction()
205216 'isMultilingual ' => $ this ->isMultilingual ,
206217 ];
207218 if ($ this ->formObject !== null ) {
208- if ($ this ->formObject instanceof IRouteController) {
209- $ parameters ['object ' ] = $ this ->formObject ;
210- } else {
211- $ object = $ this ->formObject ;
212-
213- $ parameters ['id ' ] = $ object ->{$ object ::getDatabaseTableIndexName ()};
214- }
219+ $ parameters ['object ' ] = $ this ->formObject ;
215220 }
216221
217222 $ this ->form ->action (LinkHandler::getInstance ()->getControllerLink (static ::class, $ parameters ));
@@ -227,6 +232,9 @@ public function assignVariables()
227232 ]);
228233 }
229234
235+ /**
236+ * @return array<int, FaqCategoryNode|FaqCategory>
237+ */
230238 protected function getCategories (): array
231239 {
232240 if (!isset ($ this ->categories )) {
@@ -235,9 +243,15 @@ protected function getCategories(): array
235243 $ categoryList = $ categoryTree ->getIterator ();
236244
237245 $ this ->categories = [];
246+ /**
247+ * @var FaqCategoryNode $category
248+ */
238249 foreach ($ categoryList as $ category ) {
239250 $ this ->categories [$ category ->categoryID ] = $ category ;
240251
252+ /**
253+ * @var FaqCategory[]
254+ */
241255 $ childCategories = $ category ->getAllChildCategories ();
242256 if (!\count ($ childCategories )) {
243257 continue ;
0 commit comments