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; }
function wfUpdateUserStatus($username, $gender, $province, $city, $birthday, $status) { global $wgUser; $city = trim($city); $status = trim($status); $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; } if ($username === $wgUser->getName()) { $us = new UserStatus($wgUser); if ($us->setAll($gender, $province, $city, $birthday, $status)) { $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS); } } return $out; }
function wfGetSiteFollowedUsers() { global $wgUser, $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; } $dateArr = array(); for ($k = 1; $k < 31; $k++) { $dateArr[] = date('Y-m-d', strtotime("-{$k} day")); } $desdateArr = array_reverse($dateArr); $res['date'] = $desdateArr; foreach ($desdateArr as $key => $value) { $dayFollow = UserSiteFollow::getFollowerCountOneday($wgHuijiPrefix, $value); $dfol = (int) isset($dayFollow) ? $dayFollow : 0; $result[] = (int) $dfol; } $res['FollowCount'] = $result; if ($res) { $ret = array('success' => true, 'result' => $res); $out = json_encode($ret); return $out; } }
function wfUserUserUnfollowsResponse($follower, $followee) { 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; } $uuf = new UserUserFollow(); if ($follower === $wgUser->getName() && $followee !== $follower) { if ($uuf->deleteUserUserFollow($wgUser, User::newFromName($followee))) { $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS); } //TODO: use wfMessage instead of hard code } return $out; }
function wfUpdateUserStatus($username, $field, $value) { global $wgUser; // Sanitizer::escapeHtmlAllowEntities($html); $value = trim($value); $field = trim($field); $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; } if ($username === $wgUser->getName()) { $us = new UserStatus($wgUser); // if ($us->setAll($gender, $province, $city, $birthday, $status)){ // $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS); // } if ($us->setInfo($field, $value)) { // $out = ResponseGenerator::getJson(ResponseGenerator::SUCCESS); $ret = array('success' => true, 'result' => $us->setInfo($field, $value)); $out = json_encode($ret); return $out; } } return $out; }
function wfUserFollowsRecommend($follower, $followee) { 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; } $uuf = new UserUserFollow(); if ($follower === $wgUser->getName() && $followee !== $follower) { if ($uuf->addUserUserFollow($wgUser, User::newFromName($followee)) !== false) { $weekRank = UserStats::getUserRank(20, 'week'); $monthRank = UserStats::getUserRank(20, 'month'); $totalRank = UserStats::getUserRank(20, 'total'); if (count($weekRank) >= 8) { $recommend = $weekRank; } elseif (count($monthRank) >= 8) { $recommend = $monthRank; } else { $recommend = $totalRank; } $recommendRes = array(); $flres = array(); foreach ($recommend as $value) { $tuser = User::newFromName($value['user_name']); $isFollow = $uuf->checkUserUserFollow($wgUser, $tuser); if (!$isFollow && $value['user_name'] != $wgUser->getName()) { $flres['avatar'] = $value['avatarImage']; $flres['username'] = $value['user_name']; $flres['userurl'] = $value['user_url']; $recommendRes[] = $flres; } } $n = count($recommendRes); $i = 5; $newUser = isset($recommendRes[$i]) ? $recommendRes[$i] : null; $res = array('success' => true, 'result' => $newUser); $out = json_encode($res); return $out; } } }