コード例 #1
0
function wfUserSiteUnfollowsResponse($username, $servername)
{
    global $wgUser, $wgSitename, $wgServer, $wgHuijiPrefix;
    $out = ResponseGenerator::getJson(ResponseGenerator::ERROR_UNKNOWN);
    // This feature is only available for logged-in users.
    if (!$wgUser->isLoggedIn()) {
        $out = ResponseGenerator::getJson(ResponseGenerator::ERROR_NOT_LOGGED_IN);
        return $out;
    }
    // No need to allow blocked users to access this page, they could abuse it, y'know.
    if ($wgUser->isBlocked()) {
        $out = ResponseGenerator::getJson(ResponseGenerator::ERROR_BLOCKED);
        return $out;
    }
    // Database operations require write mode
    if (wfReadOnly()) {
        $out = ResponseGenerator::getJson(ResponseGenerator::ERROR_READ_ONLY);
        return $out;
    }
    // Are we even allowed to do this?
    if (!$wgUser->isAllowed('edit')) {
        $out = ResponseGenerator::getJson(ResponseGenerator::ERROR_NOT_ALLOWED);
        return $out;
    }
    $usf = new UserSiteFollow();
    if ($username === $wgUser->getName()) {
        // && $servername === $wgServer
        if ($usf->deleteUserSiteFollow($wgUser, $servername)) {
            $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS);
        }
    }
    return $out;
}
コード例 #2
0
 /**
  * delete follow user or site
  * @param  object $target user object or site object
  * @return boolean
  */
 public function unfollow($target)
 {
     if ($target instanceof Site) {
         $usf = new UserSiteFollow();
         return $usf->deleteUserSiteFollow($this->mUser, $target->getPrefix());
     } elseif ($target instanceof User) {
         $uuf = new UserUserFollow();
         return $uuf->deleteUserUserFollow($this->mUser, $target);
     } else {
         return false;
     }
 }