/** * @transaction * * @param int $userId ユーザID * * @return Logics_Result */ public function destroy($userId) { $result = new Logics_Result(); $aUser = new User($userId); if ($aUser->isSelected()) { $or = new Sabel_Db_Condition_Or(); $or->add(C::create(C::EQUAL, "user_id", $aUser->id)); $or->add(C::create(C::EQUAL, "request_id", $aUser->id)); $request = new Request(); $request->delete($or); $or = new Sabel_Db_Condition_Or(); $or->add(C::create(C::EQUAL, "user_id", $aUser->id)); $or->add(C::create(C::EQUAL, "follow_id", $aUser->id)); $follower = new Follower(); $follower->delete($or); $status = new Status(); $status->delete("user_id", $userId); $aUser->save(array("delete_flag" => true)); } return $result; }
/** * @userCache * * @param int $userId ユーザID * @param int $targetId フォロー中ユーザのID * * @return Logics_Result */ public function remove($userId, $targetId) { $result = new Logics_Result(); $aUser = new User($userId); $target = new User($targetId); if ($aUser->isSelected() && $target->isSelected()) { if (!Follower::isFollowed($userId, $targetId) && $target->isProtected()) { $request = new Request(); $request->setCondition("user_id", $userId); $request->setCondition("request_id", $targetId); $request->delete(); $result->removeType = "request"; } else { $follower = new Follower(); $follower->setCondition("user_id", $userId); $follower->setCondition("follow_id", $targetId); $follower->delete(); $result->removeType = "follow"; } } else { $result->failure(); } return $result; }
static function getAllAsHtmlOptions($selectValue) { return "<option " . User::isSelected(User::ROLL_ADMIN, $selectValue) . "value=" . User::ROLL_ADMIN . "> Admin"; }