public function doInstall()
 {
     try {
         if (AmaotoOption::getValueByKey('installed')) {
             App::abort(404);
         }
         $siteName = Input::get('site-name');
         $username = Input::get('username');
         $email = Input::get('email');
         $password = Input::get('password');
         $validator = Validator::make(array('站点名' => $siteName, '用户名' => $username, 'Email' => $email, '密码' => $password), array('站点名' => 'required|alpha_dash|min:3|max:20', '用户名' => 'required|alpha_dash|min:3|max:20|unique:users,username', 'Email' => 'email|max:50|unique:users,email', '密码' => 'required|min:8|max:30'));
         if ($validator->fails()) {
             throw new InvalidArgumentException($validator->messages()->first());
         }
         $InstalledOption = AmaotoOption::getOptionByKey('installed');
         $InstalledOption->value = 1;
         $InstalledOption->save();
         $siteNameOption = AmaotoOption::getOptionByKey('site-name');
         $siteNameOption->value = $siteName;
         $siteNameOption->save();
         $thatUser = new AmaotoUser();
         $thatUser->username = $username;
         $thatUser->email = $email;
         $thatUser->password = Hash::make($password);
         $thatUser->power = 99999;
         $thatUser->reg_time = time();
         $thatUser->reg_ip = Input::getClientIp();
         $thatUser->save();
         return Response::json(array('type' => 'success', 'message' => '初始化成功'));
     } catch (InvalidArgumentException $e) {
         return Response::json(array('type' => 'warning', 'message' => $e->getMessage()));
     } catch (Exception $e) {
         return Response::json(array('type' => 'error', 'message' => $e->getMessage()));
     }
 }
<?php

function _c(array $p = array())
{
    if (is_array($p)) {
        foreach ($p as $t) {
            if ($t) {
                return $t;
            }
        }
    }
    return NULL;
}
$array = array();
$array['installed'] = AmaotoOption::getValueByKey('installed');
$array['site-name'] = _c(array(AmaotoOption::getValueByKey('site-name'), 'Amaoto System'));
$array['version'] = '0.8.141024';
$array['copyright-first-year'] = _c(array(AmaotoOption::getValueByKey('copyright-first-year'), date('Y')));
$array['copyright-year'] = $array['copyright-first-year'] == date('Y') ? $array['copyright-first-year'] : $array['copyright-first-year'] . '-' . date('Y');
$array['copyright-name'] = _c(array(AmaotoOption::getValueByKey('copyright-name'), 'Amaoto System'));
return $array;