function searchFieldListSelect($params) { $asset = $params['asset'] ? $params['asset'] : null; $searched_field = $params['searched_field'] ? $params['searched_field'] : null; if (isset($searched_field)) { $searched_field = str_replace(" ", "_", strtolower($searched_field)); } $model = NModel::factory($asset); $fields = $model->fields(); // Remove a bunch of fields if you're not an admin - makes it a little bit simpler. $auth = new NAuth(); $current_user_level = $auth->getAuthData('user_level'); unset($auth); // Preload for the search_field default. $acon = NController::factory('asset'); $select = 'Search Field: <select name="search_field">'; foreach ($fields as $field) { if ($current_user_level < N_USER_ADMIN) { if (in_array($field, $this->admin_only_fields)) { continue; } } $select .= '<option value="' . $field . '"'; if (isset($searched_field) && $searched_field == $field) { $select .= ' selected="selected"'; } elseif (isset($model->search_field) && $field == $model->search_field && !$searched_field) { $select .= ' selected="selected"'; } elseif (!isset($model->search_field) && $field == $acon->search_field && !$searched_field) { $select .= ' selected="selected"'; } $select .= '>' . ucwords(str_replace('_', ' ', $field)) . '</option>'; } $select .= '</select>'; unset($model); unset($acon); print $select; }
/** * checkRSSFeed - Checks the level of the user and exposes a link to an audit trail RSS feed * to that user if they're an admin level or higher. * * @return void **/ function checkRSSFeed() { // Check the user level - this only shows up for admins or higher. $auth = new NAuth(); $current_user_level = $auth->getAuthData('user_level'); $user_id = $auth->currentUserID(); if ($current_user_level >= N_USER_ADMIN) { // Get their feed token if they have it. $cms_user = NModel::factory('cms_auth'); $feed_token = $cms_user->getFeedToken($user_id); unset($cms_user); // If they don't have one, we should help them to generate it. if (!isset($feed_token)) { $rss = '<p><a href="/nterchange/rss/generate_feed_token?redirect=' . urlencode('/nterchange/audit_trail/viewlist') . '">Click here to generate a private RSS feed</a></p>'; } else { $rss = '<p><a href="/nterchange/rss/audit_trail?token=' . $feed_token . '">Private RSS Feed of Audit Trail Activity</a> - <a href="/nterchange/audit_trail/generate_feed_token">Regenerate Token</a></p>'; } // Then show the link so that they can put it into their feed reader. $this->set('rss_feed', $rss); } unset($auth); }
/** * dashboardVersionCheck - This runs for ADMIN users or higher and lets them know * if there is an upgrade available for nterchange. Called from the dashboard * helper and displays on the dashboard. * * @return void **/ function dashboardVersionCheck() { // Check the user level - this only shows up for admins or higher. $auth = new NAuth(); $current_user_level = $auth->getAuthData('user_level'); unset($auth); if ($current_user_level >= N_USER_ADMIN) { $newest = $this->versionCheck(); if (is_array($newest)) { $upgrade = $this->compareVersions(NTERCHANGE_VERSION, $newest['version']); if ($upgrade == true) { $this->set('upgrade', $newest); $this->set('nterchange_version', NTERCHANGE_VERSION); } else { $this->set('uptodate', true); } $this->render(array('action' => 'dashboard_version_check', 'return' => false)); } else { NDebug::debug('There was an error with the version check.', N_DEBUGTYPE_INFO); } } }