예제 #1
0
 public function create()
 {
     $current_user = User::current();
     if (!$current_user->isAdmin()) {
         http_response_code(403);
         echo "Not allowed";
         return;
     }
     if (!Request::isPost()) {
         http_response_code(400);
         return;
     }
     $data = json_decode(file_get_contents('php://input'));
     $user = User::instance()->create($data->login, get_object_vars($data));
     if ($user != NULL) {
         echo json_encode($user, JSON_PRETTY_PRINT);
     }
 }
예제 #2
0
 public function createMany($data)
 {
     $current_user = User::current();
     if (!$current_user->isAdmin()) {
         http_response_code(403);
         echo 'Not allowed';
         return;
     }
     $results = array();
     foreach ($data as $data) {
         $result = array('user' => $data->user, 'host' => $data->host);
         if ($this->validate_key($data, $result)) {
             $user = User::instance()->get($data->user);
             $result['user_id'] = $user->id;
             $key = $this->keys->getByUserHost($user, $data->host);
             if ($key != NULL) {
                 $result['status'] = 409;
                 $result['message'] = 'Host already exists for that user';
                 $result['key_id'] = $key->id;
             } else {
                 $key = $this->keys->create($user, $data->host, $data->hash);
                 Audit::log($current_user, 'create key ' . $key->id . ' for ' . $user, $key);
                 $result['key_id'] = $key->id;
                 $result['status'] = 200;
                 $result['message'] = 'Ok';
             }
         }
         $results[] = $result;
     }
     echo json_encode($results, JSON_PRETTY_PRINT);
 }
예제 #3
0
             Audit::log('console', 'set user admin ' . $user->login . '(' . $user->id . ')');
             $users->setAdmin($user->id, 1);
         } else {
             dbg('Login not found');
             exit(1);
         }
     }
 } else {
     if ($action == "user") {
         if ($var == NULL) {
             $result = User::instance()->get();
             foreach ($result as $user) {
                 show_user($user);
             }
         } else {
             $user = User::instance()->find($var);
             if ($user != NULL) {
                 show_user($user);
             } else {
                 dbg('Login not found');
                 exit(1);
             }
         }
     } else {
         if ($action == "keys") {
             if ($var == NULL) {
                 dbg("Missing login");
                 usage();
             }
             $user = $users->getByLogin($var);
             if ($user == NULL) {