예제 #1
0
 public function onRenderBadge()
 {
     $id = post('id');
     $badge = Badge::find($id);
     return BadgeManager::render($this, $badge);
 }
 public function onRenderBadge()
 {
     $badge = $this->loadBadge();
     return BadgeManager::render($this, $badge);
 }
예제 #3
0
 /** 
  * Process and determine if an award can be issued
  * based on a provided activity code
  *
  * @param object $user
  * A user model for which the activity should act upon
  * 
  * @param array $params
  * An array of parameters for validating activities 
  *
  * @return boolean
  * returns true if the process was successful
  */
 public static function process(User $user, $params = [])
 {
     $activity = $params['activity'];
     if (self::canComplete($activity, $user)) {
         if ($user->activities()->save($activity)) {
             Event::fire('dma.friends.activity.completed', [$activity, $user]);
             // log an entry to the activity log
             FriendsLog::activity(['user' => $user, 'object' => $activity]);
             // Award points
             $userExtend = new UserExtend($user);
             $userExtend->addPoints($activity->points);
             // Hand everything off to the badges
             BadgeManager::applyActivityToBadges($user, $activity);
             $messages = Session::get('activityMessage');
             if (!is_array($messages) && $messages) {
                 $messages = [$messages];
             }
             $message = !empty(trim(strip_tags($activity->complete_message))) ? $activity->complete_message : Lang::get('dma.friends::lang.activities.codeSuccess', ['title' => $activity->title]);
             $messages[] = $message;
             Session::put('activityMessage', $messages);
             return $activity;
         }
     }
     return false;
 }