public function listing() { $role = $this->fetchParam('role', false); $limit = $this->fetchParam('limit', null, 'is_numeric'); // defaults to none $offset = $this->fetchParam('offset', 0, 'is_numeric'); // defaults to zero $sort_by = $this->fetchParam('sort_by', 'title'); // defaults to date $sort_dir = $this->fetchParam('sort_dir', 'desc'); // defaults to desc $members = Statamic_Auth::get_user_list(false); if (is_array($members) && count($members) > 0) { $members = array_slice($members, $offset, $limit, true); if ($sort_by == 'random') { shuffle($list); } elseif ($sort_by != 'title' || $sort_by != 'username') { # sort by any other field usort($members, function ($a, $b) use($sort_by) { if (isset($a[$sort_by]) && isset($b[$sort_by])) { return strcmp($b[$sort_by], $a[$sort_by]); } }); } // default sort is asc if ($sort_dir == 'desc') { $members = array_reverse($members); } return Parse::tagLoop($this->content, $members); } else { return array('no_results' => true); } }
public function render() { $html = "<div class='input-select-wrap'><select name='{$this->fieldname}' tabindex='{$this->tabindex}'>"; $html .= "<option value=''>- None Selected-</option>"; $current_user = Statamic_Auth::get_current_user(); $current_username = $current_user->get_name(); if ($this->field_data == '') { $this->field_data = $current_username; } foreach (Statamic_Auth::get_user_list() as $key => $data) { $selected = $this->field_data == $key ? " selected='selected'" : ''; $html .= "<option {$selected} value='{$key}'>{$data->get_first_name()} {$data->get_last_name()}</option>"; } $html .= "</select></div>"; return $html; }
$tests = array('_app' => Localization::fetch('security_app_folder'), '_config' => Localization::fetch('security_config_folder'), '_config/settings.yaml' => Localization::fetch('security_settings_files'), '_config/users/' . $username . '.yaml' => Localization::fetch('security_user_files'), Config::getContentRoot() => Localization::fetch('security_content_folder'), Config::getTemplatesPath() . 'layouts/default.html' => Localization::fetch('security_template_files'), '_logs' => Localization::fetch('security_logs_folder')); $site_url = 'http://' . $_SERVER['HTTP_HOST'] . '/'; foreach ($tests as $url => $message) { $test_url = $site_url . $url; $http = curl_init($test_url); curl_setopt($http, CURLOPT_RETURNTRANSFER, 1); curl_setopt($http, CURLOPT_TIMEOUT, 3); $result = curl_exec($http); $http_status = curl_getinfo($http, CURLINFO_HTTP_CODE); curl_close($http); $data['system_checks'][$url]['status_code'] = $http_status; $data['system_checks'][$url]['status'] = $http_status !== 200 ? 'good' : 'warning'; $data['system_checks'][$url]['message'] = $message; } } $data['users'] = Statamic_Auth::get_user_list(); $admin_app->render(null, array('route' => 'security', 'app' => $admin_app) + $data); })->name('security'); // Logs // -------------------------------------------------------- $admin_app->get('/system/logs', function () use($admin_app) { authenticateForRole('admin'); doStatamicVersionCheck($admin_app); $template_list = array("logs"); Statamic_View::set_templates(array_reverse($template_list)); $data = array(); $data['enabled'] = Config::get("_log_enabled", false); $data['raw_path'] = Config::get("_log_file_path"); $data['prefix'] = Config::get("_log_file_prefix"); $data['log_level'] = Config::get("_log_level"); $data['time_format'] = Config::get("_time_format");