Exemplo n.º 1
0
 /**
  * Check if the user id exists
  * @param int $user_id
  * @return boolean
  * @throws \InvalidArgumentException
  */
 public function userId($user_id)
 {
     $user = $this->user->getUser($user_id);
     if (empty($user)) {
         throw new \InvalidArgumentException('user_no_match');
     }
     return true;
 }
 /**
  * Create HTML code for the menu
  * @return string
  */
 protected function createHTMLMenu()
 {
     $ulvl = $this->user ? $this->user->getUserLevel() : PSM_USER_ANONYMOUS;
     $tpl_data = array('label_help' => psm_get_lang('menu', 'help'), 'label_profile' => psm_get_lang('users', 'profile'), 'label_logout' => psm_get_lang('login', 'logout'), 'url_profile' => psm_build_url(array('mod' => 'user_profile')), 'url_logout' => psm_build_url(array('logout' => 1)));
     switch ($ulvl) {
         case PSM_USER_ADMIN:
             $items = array('server_status', 'server', 'server_log', 'user', 'config', 'server_update');
             break;
         case PSM_USER_USER:
             $items = array('server_status', 'server', 'server_log', 'server_update');
             break;
         default:
             $items = array();
             break;
     }
     $tpl_data['menu'] = array();
     foreach ($items as $key) {
         $tpl_data['menu'][] = array('active' => $key == psm_GET('mod') ? 'active' : '', 'url' => psm_build_url(array('mod' => $key)), 'label' => psm_get_lang('menu', $key));
     }
     if ($ulvl != PSM_USER_ANONYMOUS) {
         $user = $this->user->getUser();
         $tpl_data['label_usermenu'] = str_replace('%user_name%', $user->name, psm_get_lang('login', 'welcome_usermenu'));
     }
     return $this->twig->render('main/menu.tpl.html', $tpl_data);
 }