62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| defined('BASEPATH') OR exit('No direct script access allowed');
 | |
| 
 | |
| use Coduo\PHPHumanizer\DateTimeHumanizer;
 | |
| 
 | |
| class GeneralModel extends CI_Model {
 | |
| 
 | |
|     function __construct()
 | |
|     {
 | |
|         parent::__construct();
 | |
|         $this->load->model('BlogModel', '', TRUE);
 | |
|         $this->load->model('NotificationModel', '', TRUE);
 | |
|     }
 | |
| 
 | |
|     function getBlogPosts($count)
 | |
|     {
 | |
|         $posts = $this->BlogModel->getMostRecentPosts($count);
 | |
| 
 | |
|         $return = '';
 | |
|         foreach($posts as $result) {
 | |
|             $date = strtotime($result['postPublishDate']);
 | |
|             $return .= '<div class="media">
 | |
|                                 <div class="pull-left">
 | |
|                                     <img src="' . $result['postImage'] . '?w=100" style="max-width:100px" class="img-fluid">
 | |
|                                 </div>
 | |
|                                 <div class="media-body">
 | |
|                                     <span class="media-heading"><a href="#">' . $result['postTitle'] . '</a></span>
 | |
|                                     <small class="muted">' . lang('footer_published') . ' ' . DateTimeHumanizer::difference(new \DateTime(), new \DateTime("@$date"), $_SESSION['site_lang']) . '</small>
 | |
|                                 </div>
 | |
|                             </div>';
 | |
|         }
 | |
|         return $return;
 | |
|     }
 | |
| 
 | |
|     function addFeedbackAnonymously($pageUrl, $message) {
 | |
|         $this->addFeedback($pageUrl, $message, true, NULL, NULL);
 | |
|     }
 | |
| 
 | |
|     function addFeedback($pageUrl, $message, $anonymous, $userID, $email) {
 | |
|         $this->db->query('INSERT INTO feedback (page, message, anonymous, userID, email) VALUES (?, ?, ?, ?, ?)', [$pageUrl, $message, $anonymous, $userID, $email]);
 | |
|         $this->db->cache_delete('admin', 'feedback');
 | |
| 
 | |
|         // Send notifications
 | |
|         $this->NotificationModel->rankNotificationNewFeedback($userID != NULL ? $userID : -1, 9, $pageUrl);
 | |
|     }
 | |
| 
 | |
|     function getRankName($rankID) {
 | |
|         $ranks = [
 | |
|             0 => "Nutzer",
 | |
|             1 => "Registrierter Nutzer",
 | |
|             2 => "Premium-Nutzer",
 | |
|             3 => "Plus-Nutzer",
 | |
|             6 => "Autor (Blog)",
 | |
|             7 => "Editor (Blog)",
 | |
|             8 => "Moderator",
 | |
|             9 => "Admin",
 | |
|             10 => "Admin"
 | |
|         ];
 | |
|         return isset($ranks[$rankID]) ? $ranks[$rankID] : "Nutzer";
 | |
|     }
 | |
| 
 | |
| } |