Example #1
0
 public function main()
 {
     $this->meta[] = array('name' => 'google-signin-client_id', 'content' => Config::$googleClientId . '.apps.googleusercontent.com');
     $cookie = Lib::cookie();
     $identifier = $cookie->get(Lib::hash(Config::$userkey));
     $user = Lib::table('user');
     $isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
     $this->set('user', $user);
     $this->set('isLoggedIn', $isLoggedIn);
     if (!$isLoggedIn) {
         $this->js[] = 'login';
     }
     if ($isLoggedIn) {
         $this->js[] = 'inbox';
         $this->js[] = 'settings';
         array_shift($this->js);
         $userModel = Lib::model('user');
         $assignees = $userModel->getProjectAssignees();
         $users = $userModel->getUsers();
         $filterState = $cookie->get('filter-state', 'pending');
         $filterAssignee = $cookie->get('filter-assignee', empty($assignees[$user->id]) ? 'all' : $user->id);
         $filterSort = $cookie->get('filter-sort', 'asc');
         $filterProject = $cookie->get('filter-project', 'all');
         $filterSettingsProject = $cookie->get('filter-settings-project', 'all');
         $projectTable = Lib::table('project');
         if ($filterProject !== 'all') {
             $projectTable->load(array('name' => $filterProject));
         }
         $projectModel = Lib::model('project');
         $projects = $projectModel->getProjects(array('state' => PROJECT_STATE_ACTIVE));
         $reportModel = Lib::model('report');
         $reports = $reportModel->getItems(array('state' => constant('STATE_' . strtoupper($filterState)), 'assignee_id' => $filterAssignee, 'order' => 'date', 'direction' => $filterSort, 'project_id' => $projectTable->id));
         $userSettings = $user->getSettings($filterSettingsProject)->getData();
         $interfaceSettings = $user->getSettings('-1')->getData();
         if ($interfaceSettings['color'] !== 'cyan' && $interfaceSettings['color'] !== 'custom') {
             $this->css[] = 'theme-' . str_replace(' ', '', $interfaceSettings['color']);
         }
         if ($interfaceSettings['color'] === 'custom') {
             $this->css[] = Config::getHtmlBase() . 'css/theme-custom/-1';
         }
         $categories = Lib::model('category')->getCategories(['projectid' => $projectTable->id]);
         $this->set('projects', $projects);
         $this->set('filterState', $filterState);
         $this->set('filterAssignee', $filterAssignee);
         $this->set('filterSort', $filterSort);
         $this->set('filterProject', $filterProject);
         $this->set('filterSettingsProject', $filterSettingsProject);
         $this->set('reports', $reports);
         $this->set('assignees', $assignees);
         $this->set('userSettings', $userSettings);
         $this->set('users', $users);
         $this->set('categories', $categories);
     }
 }