예제 #1
0
 public function searchInAudience()
 {
     $audienceName = Input::get('audience');
     $searchterm = Input::get('keyword');
     if (LaravelLocalization::getCurrentLocale() == 'en') {
         $audience = Audience::where('route_en', $audienceName)->first();
     } elseif (LaravelLocalization::getCurrentLocale() == 'nl') {
         $audience = Audience::where('route_nl', $audienceName)->first();
     }
     if (strlen($searchterm) >= 3) {
         $posts = Post::search($searchterm, $audience->id);
         foreach ($posts as $post) {
             $audiences = explode(",", $post->audiences);
             $post->audiences = "";
             if (LaravelLocalization::getCurrentLocale() == 'en') {
                 for ($i = 0; $i < count($audiences); $i++) {
                     $post->audiences = substr_replace($post->audiences . Audience::where('id', $audiences[$i])->first()->name_en . ", ", "", -1);
                 }
             } else {
                 if (LaravelLocalization::getCurrentLocale() == 'nl') {
                     for ($i = 0; $i < count($audiences); $i++) {
                         $post->audiences = substr_replace($post->audiences . Audience::where('id', $audiences[$i])->first()->name_nl . ", ", "", -1);
                     }
                 }
             }
         }
         $offers = Offer::search($searchterm, $audience->id);
         foreach ($offers as $offer) {
             $offer->audiences = $audienceName;
         }
         if (is_array($posts) && is_array($offers)) {
             return array_merge($offers, $posts);
         } elseif (is_array($posts)) {
             return $posts;
         } elseif (is_array($offers)) {
             return $offers;
         } else {
             return null;
         }
     } else {
         return null;
     }
 }