Пример #1
0
 public function createMember($rest)
 {
     $post = $rest->getRequest()->getPost();
     MM_LogApi::logRequest(json_encode($post), "/createMember");
     if (!Utils::isAuthenticated($post)) {
         return new Response($rest, null, RESPONSE_ERROR_MESSAGE_AUTH, RESPONSE_ERROR_CODE_AUTH, RESPONSE_ERROR_MESSAGE_AUTH);
     }
     $req = new stdClass();
     $req->membership_level_id = self::$REGEX_INTEGER_ONLY;
     $req->email = self::$REGEX_CONTAINS_EMAIL;
     $data = Utils::processApiRequestData($post, $req);
     if (MM_Response::isError($data)) {
         return new Response($rest, null, $data->message, RESPONSE_ERROR_CODE_MISSING_PARAMS, RESPONSE_ERROR_MESSAGE_MISSING_PARAMS);
     }
     $result = MM_APIService::createMember($data);
     if (MM_Response::isSuccess($result)) {
         $user = MM_User::findByEmail($data->email);
         if (!$user->isValid()) {
             return new Response($rest, null, "Failed to create user with email address {$data->email}", RESPONSE_ERROR_CODE_CONFLICT, RESPONSE_ERROR_MESSAGE_CONFLICT);
         }
         $userData = array('member_id' => $user->getId(), 'username' => $user->getUsername(), 'email' => $user->getEmail(), 'password' => $user->getPassword(), 'confirmationUrl' => $result->getData(MM_Response::$DATA_KEY_URL));
         return new Response($rest, $userData, $userData);
     } else {
         return new Response($rest, null, $result->message, RESPONSE_ERROR_CODE_CONFLICT, RESPONSE_ERROR_MESSAGE_CONFLICT);
     }
 }