/** * 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'])); } }
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'])); } }