public function goFilterAjax()
 {
     $validator = Validator::create(array('package' => 'min:3|max:1024', 'package_version' => 'min:3|max:255', 'brand' => 'min:3|max:255', 'os_version' => 'min:1|max:255', 'phone_model' => 'min:3|max:255', 'product' => 'min:3|max:255'));
     if ($validator->failed()) {
         return BootstrapUI::formResponse()->failedOn($validator);
     }
     $data = $validator->getParamsObj();
     $params = array();
     if ($data->package !== null) {
         $params['package'] = $data->package;
     }
     if ($data->package_version !== null) {
         $params['package_version'] = $data->package_version;
     }
     if ($data->brand !== null) {
         $params['brand'] = $data->brand;
     }
     if ($data->os_version !== null) {
         $params['os_version'] = $data->os_version;
     }
     if ($data->phone_model !== null) {
         $params['phone_model'] = $data->phone_model;
     }
     if ($data->product !== null) {
         $params['product'] = $data->product;
     }
     // the country is array
     if (Input::hasPost('country')) {
         $params['country'] = implode(',', array_values(Input::post('country')));
     }
     if (sizeof($params) == 0) {
         return BootstrapUI::formResponse()->failed('You must define at least one criteria!');
     }
     return BootstrapUI::formResponse()->redirect(Url::href('live-feed', 'filter', $params));
 }
 public function indexAjax()
 {
     $input = Input::requireParams('username');
     $username = $input->username;
     $id = (int) $this->getUser('id');
     $validator = Validator::create(array('username' => "required|unique:\\User,username,{$id},id", 'first_name' => 'max:80', 'last_name' => 'max:160', 'password' => 'min:5|max:32', 'password2' => 'identical:password', 'timezone' => 'required|max:80'));
     if ($validator->failed()) {
         return BootstrapUI::formResponse()->failedOn($validator);
     }
     $input = $validator->getParamsObj();
     $user = User::fetchOne($this->getUser('id'));
     $userSessionData = Session::get('user');
     $refresh = $user->timezone != $input->timezone;
     $user->username = $input->username;
     $user->first_name = $input->first_name;
     $user->last_name = $input->last_name;
     $user->timezone = $input->timezone;
     if ($input->password !== null && strlen($input->password) >= 5) {
         $user->pass = md5($input->password);
     }
     $user->save();
     foreach ($user->getData() as $key => $value) {
         $userSessionData[$key] = $value;
     }
     Session::set('user', $userSessionData);
     if ($refresh) {
         return BootstrapUI::formResponse()->refresh();
     } else {
         return BootstrapUI::formResponse();
     }
 }
 public function indexAjax()
 {
     $input = Input::requireParams('username', 'pass', 'r');
     if (($user = User::auth($input->username, $input->pass)) !== false) {
         $sessionData = $user->getData();
         $sessionData['previous_login'] = $user->last_login;
         $user->updateLoginStats();
         $sessionData['last_login'] = gmdate('Y-m-d H:i:s');
         Cookie::set('username', $input->username, time() + 3600 * 24 * 30);
         Log::info("User {$input->username} logged in with " . Request::userAgent());
         // some stats
         $sessionData['stats'] = array('new_stack_traces' => \Stack\Trace::getNewCount($sessionData['previous_login']));
         Session::set('user', $sessionData);
         return BootstrapUI::formResponse()->redirect(base64_decode($input->r));
     } else {
         Log::info("Invalid auth for '{$input->username}' with '{$input->pass}'");
         return BootstrapUI::formResponse()->failed('Wrong username or password');
     }
 }
 /**
  * Actually add new user into database
  */
 public function addUserAjax()
 {
     $validator = Validator::create(array('id' => 'is:0', 'username' => "required|min:2|max:32|unique:\\User,username", 'first_name' => 'max:255', 'last_name' => 'max:255', 'pass' => 'required|min:5|max:255', 'pass2' => 'identical:pass', 'account_type' => 'required', 'timezone' => 'required'));
     if ($validator->failed()) {
         return BootstrapUI::formResponse()->failedOn($validator);
     }
     $data = $validator->getParams();
     unset($data['id'], $data['pass2']);
     $data['pass'] = md5($data['pass']);
     $user = User::create($data);
     if ($user === false) {
         Log::error('Can not create new user');
         return BootstrapUI::formResponse()->failed('Something went wrong');
     }
     return BootstrapUI::formResponse()->redirect(Url::href('system', 'users'));
 }