/** * @userCache * * @param int $userId ユーザID * @param int $statusId ステータスID * * @return Logics_Result */ public function remove($userId, $statusId) { $result = new Logics_Result(); $aStatus = new Status($statusId); if ($aStatus->isSelected() && $aStatus->user_id === $userId) { $aStatus->delete(); } else { $result->failure(); } return $result; }
/** * @transaction * * @param User $aUser * * @return Logics_Result */ public function preregister(User $aUser) { $result = new Logics_Result(); $aUser->created_at = $aUser->updated_at = now(); if ($errors = $this->validateModel($aUser)) { return $result->setErrors($errors); } $actKey = md5hash(); $aUser->password = md5($aUser->password); if (ENVIRONMENT === DEVELOPMENT) { $aUser->save(); } else { $aUser->save(array("act_key" => $actKey)); } $this->mail->sendActivationKey($aUser->email, $actKey); return $result; }
/** * @param int $userId ユーザID * @param string $resource 画像データ * * @return Logics_Result */ public function uploadIcon($userId, $resource) { $result = new Logics_Result(); if ($this->imanage->validate($resource)) { $aUser = new User($userId); if ($aUser->isActive()) { if ($aUser->image !== DEFAULT_IMAGE_NAME) { $this->imanage->delete($aUser->image); } $aUser->save(array("image" => $this->imanage->upload($resource))); $result->aUser = $aUser; } else { throw new Exception_UserNotFound(__METHOD__); } } else { $result->setErrors(array("サイズが大きすぎるか、非対応のフォーマットです")); } return $result; }
/** * @param int $userId リクエストされたユーザのID * @param int $requestorId リクエストしたユーザのID * * @return Logics_Result */ public function deny($userId, $requestorId) { $result = new Logics_Result(); $aUser = new User($userId); $requestor = new User($requestorId); if ($aUser->isActive() && $requestor->isActive()) { $request = new Request(); $request->setCondition("user_id", $requestor->id); $request->setCondition("request_id", $aUser->id); $request->delete(); } else { $result->failure(); } return $result; }