Ejemplo n.º 1
0
 /**
  * Generates the full index at once.
  */
 function generateIndex()
 {
     // delete old index
     $delete = new rex_sql();
     $delete->setTable($this->tablePrefix . '587_searchindex');
     $delete->delete();
     $delete2 = new rex_sql();
     $delete2->setTable($this->tablePrefix . '587_searchcacheindex_ids');
     $delete2->delete();
     $delete3 = new rex_sql();
     $delete3->setTable($this->tablePrefix . '587_searchcache');
     $delete3->delete();
     // index articles
     $art_sql = new rex_sql();
     $art_sql->setTable($this->tablePrefix . 'article');
     if ($art_sql->select('id,clang')) {
         foreach ($art_sql->getArray() as $art) {
             $this->indexArticle($art['id'], $art['clang']);
         }
     }
     // index columns
     foreach ($this->includeColumns as $table => $columnArray) {
         foreach ($columnArray as $column) {
             $this->indexColumn($table, $column);
         }
     }
     // index mediapool
     if ($this->indexMediapool) {
         $mediaSQL = new rex_sql();
         $mediaSQL->setTable($this->tablePrefix . 'file');
         if ($mediaSQL->select('file_id, category_id, filename')) {
             foreach ($mediaSQL->getArray() as $file) {
                 $this->indexFile(str_replace('\\', '/', substr($this->mediaFolder, strlen($this->documentRoot))) . '/' . $file['filename'], false, false, $file['file_id'], $file['category_id']);
             }
         }
     }
     // index files
     foreach ($this->includeDirectories as $dir) {
         foreach (a587_getFiles($dir, $this->fileExtensions) as $filename) {
             $this->indexFile($filename);
         }
     }
 }
Ejemplo n.º 2
0
                 $filenameArray = explode('.', $file['filename']);
                 $fileext = $filenameArray[count($filenameArray) - 1];
                 // check file-extension
                 if (!in_array($fileext, $REX['ADDON']['settings']['rexsearch']['fileextensions'])) {
                     continue;
                 }
             }
             #$js_output .= 'index("mediapool",new Array("'.urlencode($file['filename']).'","'.urlencode($file['file_id']).'","'.urlencode($file['category_id']).'"));';
             $js_output .= 'indexArray.push(new Array("mediapool",new Array("' . urlencode($file['filename']) . '","' . urlencode($file['file_id']) . '","' . urlencode($file['category_id']) . '")));';
             $globalcount++;
         }
     }
 }
 if (!empty($REX['ADDON']['settings']['rexsearch']['indexfolders']) and is_array($REX['ADDON']['settings']['rexsearch']['indexfolders'])) {
     foreach ($REX['ADDON']['settings']['rexsearch']['indexfolders'] as $dir) {
         foreach (a587_getFiles($dir, isset($REX['ADDON']['settings']['rexsearch']['fileextensions']) ? $REX['ADDON']['settings']['rexsearch']['fileextensions'] : array(), true) as $filename) {
             if (!empty($REX['ADDON']['settings']['rexsearch']['fileextensions'])) {
                 // extract file-extension
                 $filenameArray = explode('.', $filename);
                 $fileext = $filenameArray[count($filenameArray) - 1];
                 // check file-extension
                 if (!in_array($fileext, $REX['ADDON']['settings']['rexsearch']['fileextensions'])) {
                     continue;
                 }
             }
             #$js_output .= 'index("file","'.($filename).'");';
             $js_output .= 'indexArray.push(new Array("file","' . $filename . '"));';
             $globalcount++;
         }
     }
 }