public function action_index($search = null)
{
// check for admin
if (!Auth::member(5)) {
\Response::redirect_back('home');
}
if (Input::Method() === 'POST') {
$users = Input::POST();
if (empty($users) === false) {
// Update the users
foreach ($users as $user_id => $new_group) {
$found_user = Model_User::Find(str_replace('user_role_', '', $user_id));
if (empty($found_user) === false) {
$found_user->group_id = $new_group;
$found_user->save();
}
}
}
}
if (Input::Method() === 'GET' && Input::Get('search')) {
$data['total_count'] = Controller_Search::get_users();
$pagination = Settings::pagination($data['total_count']);
$data['users'] = Controller_Search::get_users($pagination);
$data['search'] = Input::GET('search');
} else {
$data['total_count'] = Model_User::query()->where('id', '!=', static::$user_id)->count();
$pagination = Settings::pagination($data['total_count']);
$data['users'] = Model_User::query()->where('id', '!=', static::$user_id)->order_by('username', 'ASC')->rows_offset($pagination->offset)->rows_limit($pagination->per_page)->get();
}
$data['pagination'] = $pagination->render();
$this->template->content = View::Forge('admin/users', $data);
}