public function view() { if (isset($this->_data['username'])) { $username = $this->_data['username']; $res = $this->_uses[$this->modeltype]->load($username); if ($res === FALSE) { sendBack(); } } else { $this->dataError(); sendBack(); } $this->view->set('companies', $res->getCompanies()); $this->view->set('roles', $res->getCompanyRoles()); // Get preferences based on username $prefs = UserPreferences::getPreferencesClass($username); $uzlets = $prefs->getDashboardContents($username); // Manipulate and combine the available and selected uzlets // for display foreach ($uzlets['available'] as $modules => $module) { foreach ($module as $detail) { if (isset($dashboard['available'][$modules])) { $dashboard['available'][$modules] += $detail; } else { $dashboard['available'][$modules] = $detail; } } } foreach ($uzlets['selected'] as $module => $details) { foreach ($details as $selected) { $dashboard['available'][$module][$selected['name']] = $dashboard['current'][$module][$selected['name']] = $selected['title']; } asort($dashboard['available'][$module]); } ksort($dashboard['available']); $this->view->set('dashboard', $dashboard); $shared_prefs['shared']['items_per_page'] = $prefs->getPreferenceValue('items-per-page', 'shared'); $shared_prefs['shared']['pdf_preview'] = $prefs->getPreferenceValue('pdf-preview', 'shared'); $shared_prefs['shared']['pdf_browser-printing'] = $prefs->getPreferenceValue('pdf-browser-printing', 'shared'); $shared_prefs['shared']['default_page'] = $prefs->getPreferenceValue('default_page', 'shared'); $default_printer = $prefs->getPreferenceValue('default_printer', 'shared'); $printers = $this->selectPrinters(); if (isset($printers[$default_printer])) { $shared_prefs['shared']['default_printer'] = $printers[$default_printer]; } else { $shared_prefs['shared']['default_printer'] = ''; } $this->view->set('preferences', $shared_prefs); $this->addSidebar($username); }
function save() { if (isset($this->_data['eglets']) && count($this->_data['eglets']) > 0) { $prefs = UserPreferences::getPreferencesClass($this->getUser()); $prefs->setPreferenceValue('dashboard_contents', $this->dashboard_module, $this->_data['eglets']); $flash = Flash::Instance(); $flash->addMessage('Dashboard preferences set'); // ATTN: see above for the reason for this commenting # $cache = Cache::Instance(); # $cache->delete(array('eglet_store', $this->module)); } sendTo($_SESSION['refererPage']['controller'], $_SESSION['refererPage']['action'], $_SESSION['refererPage']['modules'], isset($_SESSION['refererPage']['other']) ? $_SESSION['refererPage']['other'] : null); }