コード例 #1
0
function wfUserSiteFollowsResponse($username, $servername)
{
    global $wgUser;
    $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->addUserSiteFollow($wgUser, $servername) >= 0) {
            $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS);
        }
    }
    return $out;
}
コード例 #2
0
 /**
  * add follow user or site
  * @param  object $target user object or site object
  * @return boolean
  */
 public function follow($target)
 {
     if ($target instanceof Site) {
         if (!$target->exists()) {
             return false;
         }
         $usf = new UserSiteFollow();
         return $usf->addUserSiteFollow($this->mUser, $target->getPrefix());
     } elseif ($target instanceof User) {
         // if ($target->getId() == 0){
         // 	return false;
         // }
         // if ($target->getId() == $this->mUser->getId()){
         // 	return false;
         // }
         $uuf = new UserUserFollow();
         return $uuf->addUserUserFollow($this->mUser, $target);
     } else {
         return false;
     }
 }