Exemple #1
0
 public function render()
 {
     $page = 'home';
     $app = Config::get('app');
     $policy = new Policy_LoggedIn($this->app);
     $logged_in = $policy->check();
     $app->menu_items = Helper_Menu::processMenuItems($app->menu_items, $page, $logged_in);
     $user = null;
     $formatted_weights = array();
     $settingsVals = array();
     $viewOptions = array();
     if ($logged_in) {
         $userid = $policy->getData();
         $user_mapper = new Mapper_User();
         $user = $user_mapper->getUserById($userid);
         $settings_mapper = new Mapper_Settings();
         $settingsVals = $settings_mapper->getFilteredSettingsByUserid($userid);
         $defaultView = 30.5;
         if (isset($settingsVals['default_view'])) {
             $defaultView = $settingsVals['default_view'];
         }
         $viewOptions = array(0 => array('value' => 7, 'name' => '1 week'), 1 => array('value' => 30.5, 'name' => '1 month'), 2 => array('value' => 61, 'name' => '2 months'), 3 => array('value' => 91.5, 'name' => '3 months'), 4 => array('value' => 182.5, 'name' => '6 months'), 5 => array('value' => 365, 'name' => '1 year'), 6 => array('value' => 'ytd', 'name' => 'Year to date'), 7 => array('value' => 'all', 'name' => 'All data'));
         foreach ($viewOptions as &$option) {
             if ($option['value'] == $defaultView) {
                 $option['selected'] = true;
             }
         }
     }
     return array('app' => $app, 'breadcrumb' => 'Home', 'error' => Helper_Message::getError(), 'logged_in' => $logged_in, 'user' => $user, 'user_settings' => $settingsVals, 'view_options' => $viewOptions);
 }
Exemple #2
0
 public function render()
 {
     $page = 'login';
     $app = Config::get('app');
     $policy = new Policy_LoggedOut($this->app);
     $logged_in = $policy->getData();
     $app->menu_items = Helper_Menu::processMenuItems($app->menu_items, $page, $logged_in);
     return array('app' => $app, 'breadcrumb' => 'Log in', 'error' => Helper_Message::getError(), 'username' => Helper_Message::getField('username'));
 }
Exemple #3
0
 private function error($string)
 {
     $request = $this->app->request();
     Helper_Message::setField($this->app, 'username', $request->post('username'));
     Helper_Message::setField($this->app, 'email', $request->post('email'));
     Helper_Message::setError($this->app, $string);
     $this->app->redirect('/signup');
     die;
 }
Exemple #4
0
 public function render()
 {
     $page = 'tools';
     $app = Config::get('app');
     $policy = new Policy_LoggedIn($this->app);
     $userid = $policy->getData();
     $app->menu_items = Helper_Menu::processMenuItems($app->menu_items, $page, $userid);
     return array('app' => $app, 'breadcrumb' => 'Tools', 'error' => Helper_Message::getError(), 'success' => Helper_Message::getSuccess());
 }
Exemple #5
0
 public function render()
 {
     $page = 'settings';
     $app = Config::get('app');
     $policy = new Policy_LoggedIn($this->app);
     $userid = $policy->getData();
     $app->menu_items = Helper_Menu::processMenuItems($app->menu_items, $page, $userid);
     $mapper = new Mapper_User();
     $user = $mapper->getUserById($userid);
     return array('app' => $app, 'breadcrumb' => 'Account', 'user' => $user, 'error' => Helper_Message::getError(), 'success' => Helper_Message::getSuccess());
 }
Exemple #6
0
 public function render()
 {
     $page = 'settings';
     $app = Config::get('app');
     $policy = new Policy_LoggedIn($this->app);
     $userid = $policy->getData();
     $app->menu_items = Helper_Menu::processMenuItems($app->menu_items, $page, $userid);
     $userSettings = $app->user_settings;
     usort($userSettings, array('self', 'sortSettings'));
     $settings_mapper = new Mapper_Settings();
     $settingsVals = $settings_mapper->getFilteredSettingsByUserid($userid);
     foreach ($userSettings as &$setting) {
         $setting['value'] = $settingsVals[$setting['name']];
     }
     return array('app' => $app, 'breadcrumb' => 'Settings', 'user_settings' => $userSettings, 'error' => Helper_Message::getError(), 'success' => Helper_Message::getSuccess());
 }
Exemple #7
0
 private function success($userid)
 {
     Helper_Session::setUserInSession($userid);
     $next = Helper_Message::getField('next', "");
     $matches = array();
     preg_match('#/[A-Za-z0-9]+#i', $next, $matches);
     $nextFound = count($matches) == 1 ? $matches[0] : "";
     if ($next !== $nextFound) {
         $next = "";
     }
     if ($next) {
         $this->app->redirect($next);
     } else {
         $this->app->redirect('/');
     }
     die;
 }
Exemple #8
0
 private function success()
 {
     Helper_Message::setSuccess($this->app, "Password successfuly reset. Check your email.");
     $this->app->redirect('/login/forgot');
     die;
 }
Exemple #9
0
 private function error($string)
 {
     Helper_Message::setError($this->app, $string);
     $this->app->redirect('/tools');
     die;
 }
Exemple #10
0
 public function error($string)
 {
     Helper_Message::setError($this->app, $string);
     $this->app->redirect('/account');
     die;
 }
Exemple #11
0
 public function POST()
 {
     $policy = new Policy_LoggedIn($this->app);
     $policy->ensure();
     $userid = $policy->getData();
     $app = Config::get('app');
     $request = $this->app->request();
     $user_settings = $app->user_settings;
     foreach ($user_settings as $setting) {
         $val = trim($request->post($setting['name']));
         $newVal = $setting['default'];
         if ($setting['validate'] == 'boolean') {
             if ($val == 'on') {
                 $newVal = 1;
             } else {
                 $newVal = 0;
             }
         } else {
             if ($setting['validate'] == 'height') {
                 $newVal = $val;
                 if (!is_numeric($newVal)) {
                     $newVal = 0;
                 } else {
                     if ($newVal < 0) {
                         $newVal = 0;
                     } else {
                         if ($newVal > 120) {
                             $newVal = 120;
                         }
                     }
                 }
                 $newVal = round($newVal, 1);
             } else {
                 if ($setting['validate'] == 'weight') {
                     $newVal = $val;
                     if (!is_numeric($newVal)) {
                         $newVal = 0;
                     } else {
                         if ($newVal < 0) {
                             $newVal = 0;
                         } else {
                             if ($newVal > 1000) {
                                 $newVal = 1000;
                             }
                         }
                     }
                     $newVal = round($newVal, 1);
                 } else {
                     if ($setting['validate'] == 'timezone') {
                         $zones = DateTimeZone::listIdentifiers();
                         if (in_array($val, $zones)) {
                             $newVal = $val;
                         }
                     }
                 }
             }
         }
         $settings_mapper = new Mapper_Settings();
         $settings_mapper->updateSettingForUserid($userid, $setting['name'], $newVal);
     }
     Helper_Message::setSuccess($this->app, "Your settings were updated.");
     $this->app->redirect('/settings');
     die;
 }