Beispiel #1
0
 public function attachExternalLinks($link, $urls, $blacklist)
 {
     $existing_el = array_pluck($link->externals->toArray(), 'id');
     foreach ($urls as $url) {
         if (!in_array($url, $existing_el)) {
             $parsed_url = parse_url($url);
             if ($this->checkIfContainsBlackListItem($url, $blacklist) || isset($parsed_url['path']) && strlen($parsed_url['path']) < 2 || !filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) || !filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) || strpos($url, 'ailto:') || strpos($url, 'keywords/') || strpos($url, 'entities/')) {
                 $external_links_object = ExternalLinks::make($link->id, $url, 0, 1);
             } else {
                 $external_links_object = ExternalLinks::make($link->id, $url);
             }
             $this->external_links->save($external_links_object);
         }
     }
 }