/** * @transaction * @userCache * * @param int $userId ユーザID * @param string $comment コメント * * @return Logics_Result */ public function post($userId, $comment) { $result = new Logics_Result(); $length = mb_strlen($comment); if ($length < 1) { $result->setErrors(array("コメントを入力してください")); } elseif ($length > Status::COMMENT_MAX_LENGTH) { $result->setErrors(array("コメントは" . Status::COMMENT_MAX_LENGTH . "以内で入力してください")); } else { // $aUser = new User($userId); // if ($aUser->isActive()) { // $aUser->save(array("updated_at" => now())); $result->aStatus = Status::post($userId, $comment); // } else { // throw new Exception_UserNotFound(__METHOD__); // } } 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; }