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; }
/** * 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; } }