} if (!isset($rex->info['Collection']['keywords_field'])) { $keywords = ''; } elseif (strpos($rex->info['Collection']['keywords_field'], ',') !== false) { $op = ''; foreach (preg_split('/, ?/', $rex->info['Collection']['keywords_field']) as $f) { $keywords .= $op . $parameters['data'][$f]; $op = ', '; } } else { $keywords = $parameters['data'][$rex->info['Collection']['keywords_field']]; } $data = array('title' => $parameters['data'][$rex->title], 'url' => site_prefix() . '/index/' . sprintf($rex->info['Collection']['sitesearch_url'], $parameters['key']), 'description' => $description, 'keywords' => $keywords, 'body' => $parameters['data'][$rex->info['Collection']['body_field']], 'access' => $access, 'status' => $status, 'team' => $team, 'ctype' => $parameters['collection'], 'mtime' => (string) $mtime, 'domain' => $default_domain); if ($parameters['collection'] == 'sitellite_filesystem') { loader_import('sitesearch.Extractor'); $function = extractor_get_function('inc/data/' . $parameters['key']); if (!$function) { $data['body'] = $data['description']; } else { $new = $function('inc/data/' . $parameters['key']); if (!$new) { $data['body'] = $data['description']; } else { $data['body'] = $new; } } } loader_import('sitesearch.SiteSearch'); $search = new SiteSearch(); $search->addDocument($data);
$op = ', '; } } else { $keywords = $item->{$rex->info['Collection']['keywords_field']}; } $data = array('title' => $item->{$rex->title}, 'url' => site_prefix() . '/index/' . sprintf($rex->info['Collection']['sitesearch_url'], $item->{$rex->key}), 'description' => $description, 'keywords' => $keywords, 'body' => $item->{$rex->body}, 'access' => $item->sitellite_access, 'status' => $item->sitellite_status, 'team' => $item->sitellite_team, 'ctype' => $collection, 'mtime' => (string) $mtime, 'domain' => $default_domain); if ($collection == 'sitellite_filesystem') { $new = extractor_run('inc/data/' . $item->{$rex->key}); if (!$new) { $data['body'] = $data['description']; } else { $data['body'] = $new; } } $counts[$collection]++; $res = $search->addDocument($data); if (!$res) { echo 'Error adding document: ' . $search->error . NEWLINE; echo 'Document: ' . $data['ctype'] . '/' . $item->{$rex->key} . NEWLINE; echo 'Document URL: ' . $data['url'] . NEWLINE; return; } } } $folders = ini_parse('inc/app/sitesearch/conf/folders.ini.php'); if (count($folders) > 0) { loader_import('saf.File.Directory'); foreach ($folders as $name => $info) { switch ($info['type']) { case 'site': // 1. wget the site