From 6534191d59521e1e5a88638b1c6a1c77f74dd12a Mon Sep 17 00:00:00 2001 From: Michael Weimann Date: Thu, 31 Oct 2019 20:02:34 +0100 Subject: Migrate news to model class --- includes/pages/admin_news.php | 43 +++++++--------------- includes/pages/user_news.php | 85 +++++++++++++++++++------------------------ 2 files changed, 51 insertions(+), 77 deletions(-) (limited to 'includes') diff --git a/includes/pages/admin_news.php b/includes/pages/admin_news.php index 21245eb9..75d8291e 100644 --- a/includes/pages/admin_news.php +++ b/includes/pages/admin_news.php @@ -1,7 +1,6 @@ input('action')) { case 'edit': - $user_source = User::find($news['UID']); + $user_source = $news->user; if ( !auth()->can('admin_news_html') - && strip_tags($news['Text']) != $news['Text'] + && strip_tags($news->text) != $news->text ) { $html .= warning( __('This message contains HTML. After saving the post some formatting will be lost!'), @@ -42,11 +41,11 @@ function admin_news() $html .= form( [ - form_info(__('Date'), date('Y-m-d H:i', $news['Datum'])), + form_info(__('Date'), $news->created_at->format('Y-m-d H:i')), form_info(__('Author'), User_Nick_render($user_source)), - form_text('eBetreff', __('Subject'), $news['Betreff']), - form_textarea('eText', __('Message'), $news['Text']), - form_checkbox('eTreffen', __('Meeting'), $news['Treffen'] == 1, 1), + form_text('eBetreff', __('Subject'), $news->title), + form_textarea('eText', __('Message'), $news->text), + form_checkbox('eTreffen', __('Meeting'), $news->is_meeting === true, 1), form_submit('submit', __('Save')) ], page_link_to('admin_news', ['action' => 'save', 'id' => $news_id]) @@ -65,24 +64,10 @@ function admin_news() $text = strip_tags($text); } - DB::update(' - UPDATE `News` SET - `Datum`=?, - `Betreff`=?, - `Text`=?, - `UID`=?, - `Treffen`=? - WHERE `ID`=? - ', - [ - time(), - strip_tags($request->postData('eBetreff')), - $text, - $user->id, - $request->has('eTreffen') ? 1 : 0, - $news_id - ] - ); + $news->title = strip_tags($request->postData('eBetreff')); + $news->text = $text; + $news->is_meeting = $request->has('eTreffen'); + $news->save(); engelsystem_log('News updated: ' . $request->postData('eBetreff')); success(__('News entry updated.')); @@ -90,8 +75,8 @@ function admin_news() break; case 'delete': - DB::delete('DELETE FROM `News` WHERE `ID`=? LIMIT 1', [$news_id]); - engelsystem_log('News deleted: ' . $news['Betreff']); + $news->delete(); + engelsystem_log('News deleted: ' . $news->title); success(__('News entry deleted.')); redirect(page_link_to('news')); break; diff --git a/includes/pages/user_news.php b/includes/pages/user_news.php index 39ce24a5..f67896da 100644 --- a/includes/pages/user_news.php +++ b/includes/pages/user_news.php @@ -1,6 +1,7 @@ orderBy('created_at', 'DESC') + ->limit($display_news) + ->offset($page * $display_news) + ->get(); + foreach ($news as $entry) { $html .= display_news($entry); } - $dis_rows = ceil(count(DB::select('SELECT `ID` FROM `News`')) / $display_news); + $dis_rows = ceil(News::where('is_meeting', true)->count() / $display_news); $html .= '
' . '