public function SearchApiAttachmentsLinksAlterSettings::isFileIndexable in Search API attachments 7
Checks if file is allowed to be indexed.
Parameters
object $file: The file object.
object $item: The search api item.
string $field_name: The file name.
Return value
bool TRUE is the file is allowed to be indexed, FALSE otherwise.
Overrides SearchApiAttachmentsAlterSettings::isFileIndexable
1 call to SearchApiAttachmentsLinksAlterSettings::isFileIndexable()
- SearchApiAttachmentsLinksAlterSettings::alterItems in contrib/search_api_attachments_links/ includes/ callback_attachments_links_settings.inc 
- Alter items before indexing.
File
- contrib/search_api_attachments_links/ includes/ callback_attachments_links_settings.inc, line 68 
- Search API data alteration callback.
Class
- SearchApiAttachmentsLinksAlterSettings
- @file Search API data alteration callback.
Code
public function isFileIndexable($link, $item, $field_name = NULL) {
  // Extension restriction.
  $exclude = explode(' ', $this->options['excluded_extensions']);
  // File size restriction.
  if (isset($this->options['max_file_size'])) {
    $max_file_size = parse_size($this->options['max_file_size']);
  }
  else {
    $max_file_size = '0';
  }
  // Extension restriction.
  if (!in_array(pathinfo($link['url'], PATHINFO_EXTENSION), $exclude)) {
    // File size restriction.
    if ($max_file_size > $this
      ->getUrlSize($link['url'])) {
      // Allow customization of indexability rules.
      foreach (module_implements('search_api_attachments_indexable') as $module) {
        if (module_invoke($module, 'search_api_attachments_indexable', $link, $item, $field_name) === FALSE) {
          return FALSE;
        }
      }
      return TRUE;
    }
  }
  return FALSE;
}