public function user_index($nickname = null) { if (!$nickname) { $nickname = $this->GetData('nickname'); } $user = User::find_by_nickname($nickname); $newaward = new LoyaltyAward(); if ($this->post) { $newaward->user_id = $user->id; $newaward->points = $this->PostData("points"); $newaward->justification = $this->PostData("justification"); $newaward->awarded_by_id = Site::CurrentUser()->id; if (!$this->csrf) { Site::InstantFlash('error', 'Invalid form submission'); } elseif ($newaward->save()) { Site::Flash("notice", "The loyalty points have been awarded"); Redirect("admin/users/" . $user->permalink() . "/loyalty"); } else { Site::InstantFlash('error', 'Unable to award loyalty points'); } } $page = 1; if ($this->GetData('page')) { $page = $this->GetData('page'); } $id = mysql_real_escape_string($user->id); $awards = LoyaltyAward::paginate("users.id = '{$id}'", "loyalty_awards.id DESC", $page, 50); $this->assign("user", $user); $this->assign("awards", $awards); $this->assign('newaward', $newaward); $this->title = "{$user->nickname} :: Loyalty"; $this->render("loyalty_award/user_index.tpl"); }
public static function award_loyalty($to, $awarded_by = null, $points = 0, $justification = "Automated award", $redeemed = false) { if (is_a($awarded_by, 'User')) { $awarded_by = $awarded_by->id; } if (is_a($to, 'User')) { $to = $to->id; } if (!$awarded_by) { $awarded_by = User::find_by_nickname('Administrator')->id; } $award = new LoyaltyAward(); $award->user_id = $to; $award->awarded_by_id = $awarded_by; $award->justification = $justification; $award->points = $points; $award->redeemed = $redeemed; if ($award->save()) { return true; } else { return false; } }