function rewardBetaTesters() { $testers = array(); require_once PATH_CORE . '/classes/user.class.php'; require_once PATH_CORE . '/classes/challenges.class.php'; $ct = new ChallengeCompletedTable($this->db); $cc = $ct->getRowObject(); $challengeTable = new ChallengeTable($this->db); $betaTestChallenge = $challengeTable->getRowObject(); if (!$betaTestChallenge->loadWhere("shortName='betaTest'")) { echo "Couldn't find betaTest challenge"; return false; } $userTable = new UserTable($this->db); $user = $userTable->getRowObject(); $backdate = "2009-02-28 00:00:00"; foreach ($testers as $email) { if ($user->loadWhere("email='{$email}'")) { echo "User {$user->name}, {$email} found..."; $statuscode = ''; if (!$ct->submitAutomaticChallenge($user->userid, 'betaTest', &$statuscode, false)) { echo "Challenge approval failure: {$statuscode}"; } else { echo $statuscode; // TODO: take this out when done testing //$this->db->log($statuscode); // now backdate it! if ($cc->loadWhere("userid={$user->userid} AND challengeid={$betaTestChallenge->id}")) { //$cc->dateSubmitted = $backdate; // can leave this probably $cc->dateAwarded = $backdate; $cc->update(); echo "...backdated succesfully"; } else { echo "Couldnt find CC to backdate!"; } } } else { echo "No user found with email {$email}."; } echo "<br />"; } }
function checkSubmitSiteChallenge($log) { //echo 'log action:' . $log->action . '<br>'; if (!(array_search($log->action, array_keys(self::$siteChallengeActions)) === false)) { //echo 'found action in siteChallengeActions<br>'; require_once PATH_CORE . '/classes/challenges.class.php'; $ct = new ChallengeCompletedTable($this->db); if (!$ct->submitAutomaticChallenge($log->userid1, $log->action, &$statuscode, self::$siteChallengeActions[$log->action], $log->id)) { //echo $statuscode; // TODO: take this out when done testing //$this->db->log($statuscode); } //echo $statuscode; // TODO: take this out when done testing //$this->db->log("checkSubmitSiteChallenge $log->action: $statuscode dontLog: ".self::$siteChallengeActions[$log->action]); //$this->db->log(print_r(self::$siteChallengeActions, true)); // update cached user vars for select site actions require_once PATH_CORE . '/classes/user.class.php'; $ut = new UserTable($this->db); $uit = new UserInfoTable($this->db); $user = $ut->getRowObject(); $userinfo = $uit->getRowObject(); switch ($log->action) { case 'invite': if ($userinfo->load($log->userid1)) { $userinfo->cachedFriendsInvited++; $userinfo->update(); } break; case 'comment': if ($user->load($log->userid1)) { $user->cachedCommentsPosted++; $user->update(); } break; case 'postStory': case 'postBlog': if ($user->load($log->userid1)) { $user->cachedStoriesPosted++; $user->update(); } break; default: break; } } }