Example #1
0
 /**
  * Banish an Ad.
  *
  * @param Ad $ad
  *
  * @return Reponse
  */
 protected function banish(Ad $ad, $oldStatus)
 {
     $reasons = [];
     $existingReasons = Request::get('reasons');
     $newReasons = Request::get('newReasons');
     $existingReasons = is_array($existingReasons) ? $existingReasons : [];
     if (is_array($newReasons)) {
         foreach ($newReasons as $reason) {
             $reasons[] = Reason::firstOrCreate($reason)->id;
         }
     }
     $reasons = array_merge($reasons, $existingReasons);
     $ad->reasons()->sync($reasons);
     if ($oldStatus != 'banned') {
         event(new AdWasBanned($ad, $this->admin));
     }
 }