Beispiel #1
0
 /**
  * Show the profile of a group
  */
 public function view($params)
 {
     $this->setView('view.php');
     try {
         $group = $this->model->getInfoByName($params['group']);
         $this->set('group', $group);
     } catch (Exception $e) {
         throw new ActionException('Page', 'error404');
     }
     $this->setTitle(__('GROUP_TITLE', array('group' => htmlspecialchars($group['name']))));
     $is_logged = isset(User_Model::$auth_data);
     $is_student = $is_logged && isset(User_Model::$auth_data['student_number']);
     $is_admin = $is_logged && User_Model::$auth_data['admin'] == '1';
     $category = isset($params['category']) ? $params['category'] : null;
     $category_model = new Category_Model();
     $post_model = new Post_Model();
     $this->set(array('is_logged' => $is_logged, 'is_student' => $is_student, 'is_admin' => $is_admin, 'categories' => $category_model->getAll(), 'current_category' => $category, 'posts' => $post_model->getPosts(array('restricted' => true, 'group_id' => (int) $group['id'], 'category_name' => $category, 'official' => $is_logged ? null : true, 'show_private' => $is_student), Config::POST_DISPLAYED)));
     // Events
     $event_model = new Event_Model();
     $this->set(array('events' => $event_model->getByMonth((int) date('Y'), (int) date('n'), array('group_id' => (int) $group['id'], 'official' => $is_logged ? null : true, 'show_private' => $is_student)), 'calendar_month' => (int) date('n'), 'calendar_year' => (int) date('Y')));
     // If the user is logged
     if ($is_logged) {
         $this->set(array('username' => User_Model::$auth_data['username'], 'groups_auth' => Group_Model::getAuth()));
     }
     if ($is_student) {
         $this->set(array('firstname' => User_Model::$auth_data['firstname'], 'lastname' => User_Model::$auth_data['lastname'], 'avatar_url' => User_Model::$auth_data['avatar_url']));
     }
 }
Beispiel #2
0
 public function events($params)
 {
     $this->setView('events.php');
     $is_logged = isset(User_Model::$auth_data);
     $is_student = $is_logged && isset(User_Model::$auth_data['student_number']);
     $is_admin = $is_logged && User_Model::$auth_data['admin'] == '1';
     // Group
     if (isset($params['group'])) {
         try {
             $group_model = new Group_Model();
             $group = $group_model->getInfoByName($params['group']);
             $this->set('group', $group);
         } catch (Exception $e) {
             throw new ActionException('Page', 'error404');
         }
     }
     $year = (int) $params['year'];
     $month = (int) $params['month'];
     $day = isset($params['day']) ? (int) $params['day'] : null;
     $event_model = new Event_Model();
     $events = $event_model->getByMonth($year, $month, array('group_id' => isset($group) ? $group['id'] : null, 'official' => $is_logged ? null : true, 'show_private' => $is_student));
     $post_ids = array();
     if (isset($day)) {
         $day_time = mktime(0, 0, 0, $month, $day, $year);
         for ($j = 0; $j < count($events); $j++) {
             $event =& $events[$j];
             if ($event['date_start'] >= $day_time && $event['date_start'] <= $day_time + 86400 - 1 || $event['date_end'] >= $day_time && $event['date_end'] <= $day_time + 86400 - 1 && !(date('H', $event['date_end']) < 12 && date('Y-m-d', $event['date_end']) != date('Y-m-d', $event['date_start']))) {
                 $post_ids[] = (int) $event['post_id'];
             }
         }
     } else {
         foreach ($events as &$event) {
             $post_ids[] = (int) $event['post_id'];
         }
     }
     $this->setTitle((isset($group) ? $group['name'] . ' - ' : '') . (isset($day_time) ? Date::dateMonth($day_time) : Date::getMonthByNum($month) . ' ' . $year));
     $this->set(array('is_logged' => $is_logged, 'is_student' => $is_student, 'is_admin' => $is_admin, 'groups_auth' => $is_logged ? Group_Model::getAuth() : array(), 'posts' => count($post_ids) == 0 ? array() : $this->model->getPosts(array('restricted' => true, 'show_private' => $is_student, 'ids' => $post_ids), 1000, 0), 'events' => $events, 'calendar_month' => $month, 'calendar_year' => $year, 'day_time' => isset($day_time) ? $day_time : null));
     if ($is_logged) {
         $this->set(array('username' => User_Model::$auth_data['username']));
     }
     if ($is_student) {
         $this->set(array('firstname' => User_Model::$auth_data['firstname'], 'lastname' => User_Model::$auth_data['lastname'], 'avatar_url' => User_Model::$auth_data['avatar_url']));
     }
 }