public function execute() { $syntax = 'syntax: ' . Common::getAbsoluteURL('remoteupdate.php') . '?sitename=FOO&username=BAR'; $server = htmlspecialchars($_SERVER['SERVER_NAME'], ENT_QUOTES); $unknownsite = 'Join us: ' . Common::getAbsoluteURL('join_us'); # "Join us: http://$server/join.php"; $unknownuser = '******' . Common::getAbsoluteURL('register') . ' for global ranking. Please note that the username is case sensitive for remoteupdates.'; // flag for images. 0=normal text, 1=default image, we can assign different image styles to higher numbers $img = (int) Common::getGet('img', 0); if ($img === 1) { header("Content-Type: image/png"); } if (false === ($sitename = Common::getRequest('sitename'))) { $this->outDie($syntax); } if (false === ($onsitename = Common::getRequest('username'))) { $this->outDie($syntax); } if ($sitename === 'FOO' && $onsitename === 'BAR') { $this->outDie('Doh! Not literally!'); } if (false === ($site = WC_Site::getByName($sitename)) && false === ($site = WC_Site::getByClassName($sitename))) { $this->outExit($unknownsite); } $this->module->includeClass('WC_RegAt'); if (false === ($user = WC_RegAt::getUserByOnsiteName($onsitename, $site->getID()))) { $this->outExit($unknownuser); } # Update him $result = $site->onUpdateUser($user); $site->saveOption(WC_Site::AUTO_UPDATE, true); # Output result switch ($img) { case 0: $this->outResult($result); break; case 1: $this->imgDisplayText($result->getMessage()); break; } }
public function onLinkSiteAfterMail(WC_Site $site, GWF_User $user, $onsitename) { if (WC_Freeze::isUserFrozenOnSite($user->getID(), $site->getID())) { return $this->module->error('err_site_ban', array($site->displayName())); } if ($site->isUserLinked($user)) { return $this->module->error('err_already_linked', array($site->displayName())); } $siteid = $site->getVar('site_id'); $userid = $user->getVar('user_id'); if (false !== WC_RegAt::getUserByOnsiteName($onsitename, $siteid)) { return $this->module->error('err_already_linked2', array(GWF_HTML::display($onsitename), $site->displayName())); } $options = 0; $options |= $site->isDefaultHidden() ? WC_RegAt::HIDE_SITENAME : 0; $regat = new WC_RegAt(array('regat_uid' => $userid, 'regat_sid' => $siteid, 'regat_onsitename' => $onsitename, 'regat_onsitescore' => 0, 'regat_challcount' => $site->getVar('site_challcount'), 'regat_options' => $options, 'regat_langid' => $site->getLangID(), 'regat_tagbits' => $site->getTagBits(), 'regat_linkdate' => GWF_Time::getDate(GWF_Date::LEN_DAY))); if (false === $regat->insert()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $site->increase('site_linkcount', 1)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } $error = $site->onUpdateUser($user, true, true); if (false === ($regat2 = WC_RegAt::getRegatRow($userid, $siteid))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } require_once GWF_CORE_PATH . 'module/WeChall/WC_FirstLink.php'; if (false === WC_FirstLink::insertFirstLink($user, $site, $onsitename, $regat2->getOnsiteScore())) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $error->display($this->module->lang('btn_linked_sites')) . $this->module->message('msg_site_linked', array($site->displayName())); }