2020use phpMyFAQ \Component \Alert ;
2121use phpMyFAQ \Date ;
2222use phpMyFAQ \Entity \CommentType ;
23+ use phpMyFAQ \Entity \NewsMessage ;
2324use phpMyFAQ \Filter ;
2425use phpMyFAQ \Helper \LanguageHelper ;
2526use phpMyFAQ \Language ;
2627use phpMyFAQ \News ;
27- use phpMyFAQ \Session \Token ;use phpMyFAQ \Strings ;
28+ use phpMyFAQ \Session \Token ;
29+ use phpMyFAQ \Strings ;
2830use phpMyFAQ \Translation ;
2931
3032if (!defined ('IS_VALID_PHPMYFAQ ' )) {
216218 </thead>
217219 <tbody>
218220 <?php
219- $ newsHeader = $ news ->getNewsHeader ();
221+ $ newsHeader = $ news ->getHeader ();
220222 $ date = new Date ($ faqConfig );
221223 if (is_countable ($ newsHeader ) ? count ($ newsHeader ) : 0 ) {
222224 foreach ($ newsHeader as $ newsItem ) {
251253 <?php
252254} elseif ('edit-news ' == $ action && $ user ->perm ->hasPermission ($ user ->getUserId (), 'editnews ' )) {
253255 $ id = Filter::filterInput (INPUT_GET , 'id ' , FILTER_VALIDATE_INT );
254- $ newsData = $ news ->getNewsEntry ($ id , true );
256+ $ newsData = $ news ->get ($ id , true );
255257 ?>
256258<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
257259 <h1 class="h2">
@@ -473,9 +475,23 @@ class="form-control">
473475 $ newsLang = Filter::filterInput (INPUT_POST , 'langTo ' , FILTER_SANITIZE_SPECIAL_CHARS );
474476 $ target = Filter::filterInput (INPUT_POST , 'target ' , FILTER_SANITIZE_SPECIAL_CHARS );
475477
476- $ newsData = ['lang ' => $ newsLang , 'header ' => $ header , 'content ' => html_entity_decode ((string ) $ content ), 'authorName ' => $ author , 'authorEmail ' => $ email , 'active ' => (is_null ($ active )) ? 'n ' : 'y ' , 'comment ' => (is_null ($ comment )) ? 'n ' : 'y ' , 'dateStart ' => (empty ($ dateStart )) ? '00000000000000 ' : str_replace ('- ' , '' , (string ) $ dateStart ) . '000000 ' , 'dateEnd ' => (empty ($ dateEnd )) ? '99991231235959 ' : str_replace ('- ' , '' , (string ) $ dateEnd ) . '235959 ' , 'link ' => $ link , 'linkTitle ' => $ linkTitle , 'date ' => date ('YmdHis ' ), 'target ' => (is_null ($ target )) ? '' : $ target ];
477-
478- if ($ news ->addNewsEntry ($ newsData )) {
478+ $ newsMessage = new NewsMessage ();
479+ $ newsMessage
480+ ->setLanguage ($ newsLang )
481+ ->setHeader ($ header )
482+ ->setMessage (html_entity_decode ((string ) $ content ))
483+ ->setAuthor ($ author )
484+ ->setEmail ($ email )
485+ ->setActive (!is_null ($ active ))
486+ ->setComment (!is_null ($ comment ))
487+ ->setDateStart (new DateTime ($ dateStart ))
488+ ->setDateEnd (new DateTime ($ dateEnd ))
489+ ->setLink ($ link ?? '' )
490+ ->setLinkTitle ($ linkTitle ?? '' )
491+ ->setLinkTarget ($ target ?? '' )
492+ ->setCreated (new DateTime ());
493+
494+ if ($ news ->create ($ newsMessage )) {
479495 echo Alert::success ('ad_news_updatesuc ' );
480496 } else {
481497 echo Alert::danger ('ad_news_insertfail ' , $ faqConfig ->getDb ()->error ());
@@ -497,6 +513,7 @@ class="form-control">
497513 <div class="row">
498514 <div class="col-12">
499515 <?php
516+ $ newsId = Filter::filterInput (INPUT_POST , 'id ' , FILTER_VALIDATE_INT );
500517 $ dateStart = Filter::filterInput (INPUT_POST , 'dateStart ' , FILTER_SANITIZE_SPECIAL_CHARS );
501518 $ dateEnd = Filter::filterInput (INPUT_POST , 'dateEnd ' , FILTER_SANITIZE_SPECIAL_CHARS );
502519 $ header = Filter::filterInput (INPUT_POST , 'newsheader ' , FILTER_SANITIZE_SPECIAL_CHARS );
@@ -510,24 +527,24 @@ class="form-control">
510527 $ newsLang = Filter::filterInput (INPUT_POST , 'langTo ' , FILTER_SANITIZE_SPECIAL_CHARS );
511528 $ target = Filter::filterInput (INPUT_POST , 'target ' , FILTER_SANITIZE_SPECIAL_CHARS );
512529
513- $ newsData = [
514- ' lang ' => $ newsLang ,
515- ' header ' => $ header ,
516- ' content ' => html_entity_decode (( string ) $ content ),
517- ' authorName ' => $ author ,
518- ' authorEmail ' => $ email ,
519- ' active ' => ( is_null ( $ active )) ? ' n ' : ' y ' ,
520- ' comment ' => ( is_null ( $ comment )) ? ' n ' : ' y ' ,
521- ' dateStart ' => ( empty ( $ dateStart )) ? ' 00000000000000 ' : str_replace ( ' - ' , '' , ( string ) $ dateStart ) . ' 000000 ' ,
522- ' dateEnd ' => ( empty ( $ dateEnd )) ? ' 99991231235959 ' : str_replace ( ' - ' , '' , ( string ) $ dateEnd ) . ' 235959 ' ,
523- ' link ' => $ link ,
524- ' linkTitle ' => $ linkTitle ,
525- ' date ' => date ( ' YmdHis ' ),
526- ' target ' => ( is_null ( $ target )) ? '' : $ target ,
527- ];
528-
529- $ newsId = Filter:: filterInput ( INPUT_POST , ' id ' , FILTER_VALIDATE_INT );
530- if ($ news ->updateNewsEntry (( int ) $ newsId , $ newsData )) {
530+ $ newsMessage = new NewsMessage ();
531+ $ newsMessage
532+ -> setId ( $ newsId )
533+ -> setLanguage ( $ newsLang )
534+ -> setHeader ( $ header )
535+ -> setMessage ( html_entity_decode (( string ) $ content ))
536+ -> setAuthor ( $ author )
537+ -> setEmail ( $ email )
538+ -> setActive (! is_null ( $ active ))
539+ -> setComment (! is_null ( $ comment ))
540+ -> setDateStart ( new DateTime ( $ dateStart ))
541+ -> setDateEnd ( new DateTime ( $ dateEnd ))
542+ -> setLink ( $ link ?? '' )
543+ -> setLinkTitle ( $ linkTitle ?? '' )
544+ -> setLinkTarget ( $ target ?? '' )
545+ -> setCreated ( new DateTime ());
546+
547+ if ($ news ->update ( $ newsMessage )) {
531548 echo Alert::success ('ad_news_updatesuc ' );
532549 } else {
533550 echo Alert::danger ('ad_news_updatefail ' , $ faqConfig ->getDb ()->error ());
@@ -539,7 +556,8 @@ class="form-control">
539556 <?php
540557} elseif ('delete-news ' == $ action && $ user ->perm ->hasPermission ($ user ->getUserId (), 'delnews ' )) {
541558 ?>
542- <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
559+ <div
560+ class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
543561 <h1 class="h2">
544562 <i aria-hidden="true" class="bi bi-pencil"></i>
545563 <?= Translation::get ('ad_news_data ' ) ?>
@@ -560,7 +578,7 @@ class="form-control">
560578 <form action="?action=delete-news" method="post" accept-charset="utf-8">
561579 <input type="hidden" name="id" value="<?= $ deleteId ?> ">
562580 <input type="hidden" name="really" value="yes">
563- <?= Token::getInstance ()->getTokenInput ('delete-news ' ) ?>
581+ <?= Token::getInstance ()->getTokenInput ('delete-news ' ) ?>
564582 <button class="btn btn-warning" type="submit" name="submit">
565583 <?= Translation::get ('ad_news_yesdelete ' ) ?>
566584 </button>
@@ -574,7 +592,7 @@ class="form-control">
574592 } else {
575593 if (Token::getInstance ()->verifyToken ('delete-news ' , $ csrfToken )) {
576594 $ deleteId = Filter::filterInput (INPUT_POST , 'id ' , FILTER_VALIDATE_INT );
577- $ news ->deleteNews ((int )$ deleteId );
595+ $ news ->delete ((int )$ deleteId );
578596 echo Alert::success ('ad_news_delsuc ' );
579597 printf ('<div class="row">→ <a href="?action=news">%s</a></p> ' , Translation::get ('msgNews ' ));
580598 }
0 commit comments