コード例 #1
0
 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");
 }
コード例 #2
0
 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;
     }
 }