function fetchOrderDetail($id) { require_once PATH_CORE . '/classes/orders.class.php'; require_once PATH_CORE . '/classes/prizes.class.php'; $orderTable = new OrderTable($this->db); $order = $orderTable->getRowObject(); $prizeTable = new PrizeTable($this->db); $prize = $prizeTable->getRowObject(); if ($order->load($id) && $prize->load($order->prizeid) && $order->userid == $this->page->session->u->userid) { switch ($order->status) { default: case 'refunded': $tablecode .= '<tr><td>refunded</td><td>' . $order->dateRefunded . '</td></tr>'; case 'canceled': $tablecode .= '<tr><td>canceled</td><td>' . $order->dateCanceled . '</td></tr>'; case 'shipped': $tablecode .= '<tr><td>shipped</td><td>' . $order->dateShipped . '</td></tr>'; case 'approved': $tablecode .= '<tr><td>approved</td><td>' . $order->dateApproved . '</td></tr>'; case 'submitted': $tablecode .= '<tr><td>submitted</td><td>' . $order->dateSubmitted . '</td></tr>'; } $code = ' <div id="readStoryList"> <div class="panel_block"> <div class="thumb">' . template::buildLinkedRewardPic($prize->id, $prize->thumbnail, 180) . '</div> <div class="storyBlockWrap clearfix"> <p class="storyHead">Order #' . $id . ': ' . template::buildRewardLink($prize->title, $prize->id) . '</p> <div class="storyBlockMeta"> <p class="pointValue">Redeemed ' . $order->pointCost . ' <span class="pts">pts</span></p> </div><!--end "storyBlockMeta"-->' . '<p>Reviewed by: ' . $order->reviewedBy . '</p>' . '<!--<p class="storyCaption">--><p>' . '<table> <tr><th>Status</th><th>Date</th></tr>' . $tablecode . '</table>' . '</p>' . '</div><!--end "storyBlockWrap"--> </div><!--end "panel_block"--> </div><!--end "readStoryList"--> '; } else { $code .= $this->page->buildMessage('error', "There was a problem retreiving your order record", "Invalid order id={$id}, bad prizeid={$prize->id}, or unauthorized userid={$userid}"); } $code = '<div class="">' . $code . '</div>'; //$code .= 'TODO: We did this panel goes here:'; return $code; }
// type // submittingUserId // url // Media // content hosted elsewhere, but newscloud relevant - ignore for now // Invitations Table -- need this to filter invite list and also help us assign credit when someone joins if ($manageObj->modifyLibrary(PATH_CORE . '/classes/', 'adTrack.class.php')) { // Create ContentImages table for the contact us functions require_once PATH_CORE . '/classes/adTrack.class.php'; AdTrackTable::createTable($manageObj); $AdTrackTable = new AdTrackTable($manageObj->db); } if ($manageObj->modifyLibrary(PATH_CORE . '/classes/', 'orders.class.php')) { // Orders Table require_once PATH_CORE . '/classes/orders.class.php'; OrderTable::createTable($manageObj); $orderTable = new orderTable($manageObj->db); // test populate if desired } if ($manageObj->modifyLibrary(PATH_CORE . '/classes/', 'outboundMessages.class.php')) { // Create OutboundMessages table for the contact us functions require_once PATH_CORE . '/classes/outboundMessages.class.php'; OutboundMessageTable::createTable($manageObj); $outboundMessagesTable = new OutboundMessageTable($manageObj->db); //$outboundMessagesTable->testPopulate(); } echo "\n\tEnd Initializing Street Team / Facebook tables\n"; if (defined('ENABLE_CARDS')) { if ($manageObj->modifyLibrary(PATH_FACEBOOK . '/classes/', 'cards.class.php')) { // Card Table require_once PATH_FACEBOOK . '/classes/cards.class.php';
function processPrizeOrder($prizeid, $userid, &$message) { require_once PATH_CORE . '/classes/user.class.php'; require_once PATH_CORE . '/classes/prizes.class.php'; require_once PATH_CORE . '/classes/orders.class.php'; $orderTable = new OrderTable($this->db); $userTable = new UserTable($this->db); $userInfoTable = new UserInfoTable($this->db); $prizeTable = new PrizeTable($this->db); $user = $userTable->getRowObject(); $userInfo = $userInfoTable->getRowObject(); $prize = $prizeTable->getRowObject(); $order = $orderTable->getRowObject(); if (!$user->load($userid) || !$userInfo->load($userid) || !$prize->load($prizeid)) { $message = "There was an error loading prize and/or user records."; return false; } $userInfoTable->updateUserCachedPointsAndChallenges($userid, $user, $userInfo); // slightly inefficient, calls load again // final check, in case something else happened if (!$this->checkOrderPossible($prize, $user, $userinfo, $message)) { return false; } // everythings ok: if (!($prize->isWeekly || $prize->isGrand)) { $user->cachedPointTotal -= $prize->pointCost; } $prize->currentStock--; $order->userid = $user->userid; $order->prizeid = $prize->id; $order->pointCost = $prize->pointCost; // cache points spent in here for proper recordkeeping. $phpnow = time(); $order->dateSubmitted = date('Y-m-d H:i:s', $phpnow); $order->status = 'submitted'; if (!$order->insert()) { $message = 'Error submitting your order, please email support.'; return false; } $user->update(); $prize->update(); $message .= 'Your order number is #' . $order->id . '.'; // debatable -- should this show up in the log if its a weekly or grand prize? $log = $this->app->getActivityLog(); $log->add($log->serialize(0, $this->page->session->userid, 'redeemed', $_POST['prizeid'], 0)); return $order->id; }