diff options
author | daita <maxence@pontapreta.net> | 2016-11-07 12:58:47 +0300 |
---|---|---|
committer | daita <maxence@pontapreta.net> | 2016-11-07 12:58:47 +0300 |
commit | 7c8d360cccebbfb2c57656ced296aee9de87e895 (patch) | |
tree | 9c8613a222a027726cfa12ac835273fbf16abbdf | |
parent | 87c5bfc83bbbc43dd8359e479cf25e195b03988e (diff) |
Admin Files Filters
-rw-r--r-- | appinfo/routes.php | 5 | ||||
-rw-r--r-- | css/admin.css | 52 | ||||
-rw-r--r-- | js/settings.admin.js | 191 | ||||
-rw-r--r-- | lib/Controller/SettingsController.php | 108 | ||||
-rw-r--r-- | lib/Service/ConfigService.php | 7 | ||||
-rw-r--r-- | templates/settings.admin.php | 102 |
6 files changed, 409 insertions, 56 deletions
diff --git a/appinfo/routes.php b/appinfo/routes.php index 004dfe6..1c75b84 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -36,6 +36,11 @@ return [ 'verb' => 'POST' ], [ + 'name' => 'settings#setOptionsFilesFilters', + 'url' => 'ajax/settings/option_files_filters.php', + 'verb' => 'POST' + ], + [ 'name' => 'settings#setOptionsBookmarks', 'url' => 'ajax/settings/option_bookmarks.php', 'verb' => 'POST' diff --git a/css/admin.css b/css/admin.css index 43e5387..074876c 100644 --- a/css/admin.css +++ b/css/admin.css @@ -1,6 +1,6 @@ #nextant_saving_settings, #nextant_saving_files, - #nextant_saving_bookmarks, #nextant_saving_check, - #nextant_saving_status { + #nextant_saving_files_filters, #nextant_saving_bookmarks, + #nextant_saving_check, #nextant_saving_status { font-weight: bolder; font-size: 12px; margin-left: 30px; @@ -10,9 +10,46 @@ } #nextant-display { - width: 400px; + width: 450px; height: 250px; position: relative; + border-radius: 20px; + padding: 10px; +} + +#nextant-filters { + width: 450px; + height: 250px; + border-radius: 20px; + position: absolute; + margin-top: 20px; + padding: 10px; + top: 400px; +} + +DIV.solr_filters_item { + float: left; + width: 200px; + font-style: italic; + font-size: 12px; +} + +DIV.solr_filters_item_large { + float: left; + width: 400px; + font-style: italic; + font-size: 12px; +} + +DIV.solr_filters_title { + font-weight: bold; + font-size: 13px; +} + +DIV.nextant-box { + border: solid 1px #f3f3f3; + box-shadow: 2px 2px 5px #0000004D; + background: #f8f8f8; } DIV.nextant-display-line { @@ -51,4 +88,13 @@ TD.nextant_admin_head { padding: 4px; padding-right: 30px; font-style: italic; +} + +#solr_switch_filters, #solr_switch_filters:hover { + cursor: pointer; + font-size: 12px; +} + +#solr_switch_filters:hover { + text-decoration: underline; }
\ No newline at end of file diff --git a/js/settings.admin.js b/js/settings.admin.js index aa54b6e..9efaac3 100644 --- a/js/settings.admin.js +++ b/js/settings.admin.js @@ -26,13 +26,17 @@ $(document) .ready( function() { + var timerSavingFilesFiltersExtensions = null; + var nextantSettings = { init : function() { + $('#nextant-display').fadeOut(0); $('#nextant_saving_status').fadeOut(0); $('#nextant_saving_check').fadeOut(0); $('#nextant_saving_settings').fadeOut(0); $('#nextant_saving_files').fadeOut(0); + $('#nextant_saving_files_filters').fadeOut(0); $('#nextant_saving_bookmarks').fadeOut(0); nextantSettings.statusclearall(true); nextantSettings.checksuboptions(true); @@ -98,6 +102,45 @@ $(document) nextantSettings.updatesuboptions); }, + savesuboptions_files_filters : function(switched) { + + nextantSettings.saving('files_filters', true); + + var data = { + index_files_filters_text : ($('#solr_filters_text') + .is(':checked')) ? 1 : 0, + index_files_filters_pdf : ($('#solr_filters_pdf') + .is(':checked')) ? 1 : 0, + index_files_filters_office : ($('#solr_filters_office') + .is(':checked')) ? 1 : 0, + index_files_filters_image : ($('#solr_filters_image') + .is(':checked')) ? 1 : 0, + index_files_filters_audio : ($('#solr_filters_audio') + .is(':checked')) ? 1 : 0, + index_files_filters_extensions : $( + '#solr_filters_extensions').val() + } + + if (switched == 'index_files_filters_text') + data.index_files_filters_text = (data.index_files_filters_text == 1) ? 0 + : 1; + if (switched == 'index_files_filters_pdf') + data.index_files_filters_pdf = (data.index_files_filters_pdf == 1) ? 0 + : 1; + if (switched == 'index_files_filters_office') + data.index_files_filters_office = (data.index_files_filters_office == 1) ? 0 + : 1; + if (switched == 'index_files_filters_image') + data.index_files_filters_image = (data.index_files_filters_image == 1) ? 0 + : 1; + if (switched == 'index_files_filters_audio') + data.index_files_filters_audio = (data.index_files_filters_audio == 1) ? 0 + : 1; + + $.post(OC.filePath('nextant', 'ajax/settings', + 'option_files_filters.php'), data, + nextantSettings.updatesuboptions); + }, savesuboptions_bookmarks : function(switched) { nextantSettings.saving('bookmarks', true); @@ -128,9 +171,15 @@ $(document) index_delay : $('#solr_index_delay').val(), display_result : $('#solr_display_result') .val(), + replace_core_search : ($('#solr_replace_core_search') + .is(':checked')) ? 1 : 0, force_index : force_index } + if (switched == 'replace_core_search') + data.replace_core_search = (data.replace_core_search == 1) ? 0 + : 1; + $.post(OC.filePath('nextant', 'ajax/settings', 'option_status.php'), data, nextantSettings.updatesuboptions); @@ -190,8 +239,25 @@ $(document) if (response.index_files == 1) $('#solr_sub_files').show(delay); - else + else { $('#solr_sub_files').hide(delay); + $('#nextant-filters').hide(delay); + } + + $('#solr_filters_text').prop('checked', + (response.index_files_filters_text == 1)); + $('#solr_filters_pdf').prop('checked', + (response.index_files_filters_pdf == 1)); + $('#solr_filters_office').prop('checked', + (response.index_files_filters_office == 1)); + $('#solr_filters_image').prop('checked', + (response.index_files_filters_image == 1)); + $('#solr_filters_item').prop('checked', + (response.index_files_filters_item == 1)); + if ($('#solr_filters_extensions').val() == '') + $('#solr_filters_extensions') + .val( + response.index_files_filters_extensions); $('#solr_index_bookmarks').prop('checked', (response.index_bookmarks == 1)); @@ -213,11 +279,26 @@ $(document) $('#solr_sub_bookmarks').hide(delay); $('#solr_index_delay').val(response.index_delay); + $( '#solr_display_result option[value="' + response.display_result + '"]') .prop('selected', true); + $('#solr_replace_core_search').prop('checked', + (response.replace_core_search == 1)); + if (response.index_files_tree == 1) { + $('#solr_replace_core_search :input').attr( + "disabled", false); + $('#solr_replace_core_search_td').fadeTo(delay, + 1); + } else { + $('#solr_replace_core_search :input').attr( + "disabled", true); + $('#solr_replace_core_search_td').fadeTo(delay, + 0.5); + } + if (response.index_files_last > 0) $('#solr_index_files_last').text( response.index_files_last_format); @@ -314,7 +395,23 @@ $(document) } }, + filtersswitch : function() { + if ($('#nextant-filters').is(':visible')) + nextantSettings.filtershide(); + else + nextantSettings.filtersshow(); + }, + + filtersshow : function() { + $('#nextant-filters').show(400); + }, + + filtershide : function() { + $('#nextant-filters').hide(400); + }, + save : function() { + $('#nextant-display').fadeIn(300); $('#nextant_apply').attr('disabled', true); $('#solr_url').attr('disabled', true); $('#solr_core').attr('disabled', true); @@ -444,6 +541,10 @@ $(document) nextantSettings.saving('settings', false); nextantSettings.reset(); nextantSettings.checksuboptions(false); + setTimeout(function() { + $('#nextant-display').fadeOut(300); + }, 20000); + break; } @@ -462,6 +563,13 @@ $(document) $('#solr_index_files_cont').mousedown(function() { nextantSettings.savesuboptions_files('index_files'); }); + + $('#solr_switch_filters').click(function() { + nextantSettings.filtersswitch(); + }); + + $('#nextant-filters').hide(); + $('#solr_index_files_live') .mousedown( function() { @@ -471,25 +579,21 @@ $(document) $('#solr_index_files_max_size').on('input', function(e) { nextantSettings.savesuboptions_files(); }); - - - - + $('#solr_index_files_tree') - .mousedown( - function() { - nextantSettings - .savesuboptions_files('index_files_tree'); - }); - + .mousedown( + function() { + nextantSettings + .savesuboptions_files('index_files_tree'); + }); + $('#solr_index_files_sharelink') - .mousedown( - function() { - nextantSettings - .savesuboptions_files('index_files_sharelink'); - }); - - + .mousedown( + function() { + nextantSettings + .savesuboptions_files('index_files_sharelink'); + }); + $('#solr_index_files_external') .mousedown( function() { @@ -502,7 +606,50 @@ $(document) nextantSettings .savesuboptions_files('index_files_encrypted'); }); - + + $('#solr_filters_text') + .mousedown( + function() { + nextantSettings + .savesuboptions_files_filters('index_files_filters_text'); + }); + $('#solr_filters_pdf') + .mousedown( + function() { + nextantSettings + .savesuboptions_files_filters('index_files_filters_pdf'); + }); + $('#solr_filters_office') + .mousedown( + function() { + nextantSettings + .savesuboptions_files_filters('index_files_filters_office'); + }); + $('#solr_filters_image') + .mousedown( + function() { + nextantSettings + .savesuboptions_files_filters('index_files_filters_image'); + }); + $('#solr_filters_audio') + .mousedown( + function() { + nextantSettings + .savesuboptions_files_filters('index_files_filters_audio'); + }); + + $('#solr_filters_extensions') + .on( + 'input', + function(e) { + clearTimeout(timerSavingFilesFiltersExtensions) + timerSavingFilesFiltersExtensions = setTimeout( + function() { + nextantSettings + .savesuboptions_files_filters(); + }, 1200); + }); + $('#nextant_force_index').on('click', function() { nextantSettings.savesuboptions_status('force_index'); }); @@ -515,6 +662,12 @@ $(document) $('#solr_display_result').on('change', function() { nextantSettings.savesuboptions_status(); }); + $('#solr_replace_core_search') + .mousedown( + function() { + nextantSettings + .savesuboptions_files('replace_core_search'); + }); $('#solr_index_bookmarks_cont') .mousedown( function() { diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index ad6ef68..1083c59 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -102,7 +102,14 @@ class SettingsController extends Controller 'index_files_sharelink' => $this->configService->getAppValue('index_files_sharelink'), 'index_files_external' => $this->configService->getAppValue('index_files_external'), 'index_files_encrypted' => $this->configService->getAppValue('index_files_encrypted'), + 'index_files_filters_text' => $this->configService->getAppValue('index_files_filters_text'), + 'index_files_filters_pdf' => $this->configService->getAppValue('index_files_filters_pdf'), + 'index_files_filters_office' => $this->configService->getAppValue('index_files_filters_office'), + 'index_files_filters_image' => $this->configService->getAppValue('index_files_filters_image'), + 'index_files_filters_audio' => $this->configService->getAppValue('index_files_filters_audio'), + 'index_files_filters_extensions' => self::FileFiltersExtensionsAsList($this->configService->getAppValue('index_files_filters_extensions')), 'display_result' => $this->configService->getAppValue('display_result'), + 'replace_core_search' => $this->configService->getAppValue('replace_core_search'), 'current_docs' => $this->solrTools->count('files'), 'bookmarks_app_enabled' => (\OCP\App::isEnabled('bookmarks')), 'index_bookmarks' => $this->configService->getAppValue('index_bookmarks'), @@ -119,7 +126,7 @@ class SettingsController extends Controller return $response; } - public function setOptionsFiles($index_files, $index_files_live, $index_files_max_size, $index_files_tree, $index_files_sharelink, $index_files_external, $index_files_encrypted) + public function setOptionsFiles($index_files, $index_files_live, $index_files_max_size, $index_files_tree, $index_files_sharelink, $index_files_external, $index_files_encrypted, $index_files_filters) { $this->configService->setAppValue('index_files', $index_files); $this->configService->setAppValue('index_files_live', $index_files_live); @@ -128,10 +135,24 @@ class SettingsController extends Controller $this->configService->setAppValue('index_files_external', $index_files_external); $this->configService->setAppValue('index_files_encrypted', $index_files_encrypted); $this->configService->setAppValue('index_files_max_size', $index_files_max_size); + $this->configService->setAppValue('index_files_filters', $index_files_filters); return $this->updateSubOptions(false, 'files'); } + public function setOptionsFilesFilters($index_files_filters_text, $index_files_filters_pdf, $index_files_filters_office, $index_files_filters_image, $index_files_filters_audio, $index_files_filters_extensions) + { + $this->configService->setAppValue('index_files_filters_text', $index_files_filters_text); + $this->configService->setAppValue('index_files_filters_pdf', $index_files_filters_pdf); + $this->configService->setAppValue('index_files_filters_office', $index_files_filters_office); + $this->configService->setAppValue('index_files_filters_image', $index_files_filters_image); + $this->configService->setAppValue('index_files_filters_audio', $index_files_filters_audio); + + $this->configService->setAppValue('index_files_filters_extensions', self::FileFiltersExtensionsAsString($index_files_filters_extensions)); + + return $this->updateSubOptions(false, 'files_filters'); + } + public function setOptionsBookmarks($index_bookmarks) { $this->configService->setAppValue('index_bookmarks', $index_bookmarks); @@ -139,11 +160,13 @@ class SettingsController extends Controller return $this->updateSubOptions(false, 'bookmarks'); } - public function setOptionsStatus($index_delay, $display_result, $force_index) + public function setOptionsStatus($index_delay, $display_result, $replace_core_search, $force_index) { if ($index_delay > 0) $this->configService->setAppValue('index_delay', $index_delay); $this->configService->setAppValue('display_result', $display_result); + // $this->configService->setAppValue('replace_core_search', $replace_core_search); + if ($force_index === '1') { $this->configService->setAppValue('configured', '1'); $this->configService->needIndexFiles(true); @@ -240,11 +263,7 @@ class SettingsController extends Controller private function test_extract(&$message) { - $testFile = __DIR__ . '/../../LICENSE'; - $doc = new ItemDocument(ItemDocument::TYPE_TEST, 1); - $doc->setAbsolutePath($testFile); - $doc->setPath('/LICENSE'); - $doc->setMTime(time()); + $doc = self::generateTestDocument(1, __DIR__ . '/../../LICENSE', '/LICENSE'); $data = array( $doc @@ -263,6 +282,7 @@ class SettingsController extends Controller private function test_update(&$message) { + $doc = self::generateTestDocument(1, __DIR__ . '/../../LICENSE', '/LICENSE2'); $asource = $this->indexService->getDocuments(ItemDocument::TYPE_TEST, '_nextant_test', 1, $ierror); if ($asource == false || sizeof($asource) != 1) { @@ -271,18 +291,24 @@ class SettingsController extends Controller } $source = $asource[0]; - $final = new ItemDocument(ItemDocument::TYPE_TEST, 1); - $final->setOwner('_nextant_test'); - $final->setPath('/LICENSE2'); - $final->setShare(array( + $doc->setPath('/LICENSE2'); + $doc->setShare(array( 'nextant_test_share' )); - $final->setShareGroup(array( + $doc->setShareGroup(array( 'nextant_test_share_group' )); - $final->deleted(false); + $doc->deleted(false); - $this->solrTools->updateDocument($final, $source, true, $ierror); + $data = array( + $doc + ); + $this->indexService->updateDocuments(ItemDocument::TYPE_TEST, '_nextant_test', $data, $asource, $ierror); + + if (! $this->solrTools->commit($ierror)) { + $message = 'Error during commit (Error #' . $ierror->getCode() . ')'; + return false; + } if (! $source->isUpdated()) { $message = 'Error Updating field (Error #' . $ierror->getCode() . ')'; @@ -322,7 +348,10 @@ class SettingsController extends Controller private function test_delete(&$message) { $doc = new ItemDocument(ItemDocument::TYPE_TEST, 1); - $this->solrTools->removeDocument($doc, $ierror); + $data = array( + $doc + ); + $this->indexService->removeDocuments($data, $ierror); if ($doc->isRemoved()) { $message = 'Test document deleted'; return true; @@ -352,4 +381,53 @@ class SettingsController extends Controller $message = 'Configuration failed to be saved. Please reload this page.'; return false; } + + private static function generateTestDocument($docid, $absolutePath, $path) + { + $doc = new ItemDocument(ItemDocument::TYPE_TEST, $docid); + $doc->setAbsolutePath($absolutePath); + $doc->setPath($path); + $doc->setMTime(time()); + + return $doc; + } + + public static function FileFiltersExtensionsAsArray($text) + { + $extensions = array(); + if ($text == '') + return $extensions; + + $lines = explode("\n", $text); + foreach ($lines as $line) { + $exts = explode(' ', $line); + foreach ($exts as $ext) { + $ext = trim($ext); + if (strlen($ext) > 1 && substr($ext, 0, 1) === '.' && ! in_array($ext, $extensions)) + $extensions[] = $ext; + } + } + + return $extensions; + } + + public static function FileFiltersExtensionsAsString($arr) + { + if (! is_array($arr)) + $arr = self::FileFiltersExtensionsAsArray($arr); + return implode(' ', $arr); + } + + public static function FileFiltersExtensionsAsList($text) + { + $a = self::FileFiltersExtensionsAsArray($text); + + $lines = array(); + $chunk = array_chunk($a, 6); + foreach ($chunk as $c) { + $lines[] = self::FileFiltersExtensionsAsString($c); + } + + return implode("\n", $lines); + } }
\ No newline at end of file diff --git a/lib/Service/ConfigService.php b/lib/Service/ConfigService.php index dfee2c2..d612848 100644 --- a/lib/Service/ConfigService.php +++ b/lib/Service/ConfigService.php @@ -45,6 +45,7 @@ class ConfigService 'solr_core' => 'nextant', 'solr_timeout' => 30, 'display_result' => 1, + 'replace_core_search' => 0, 'index_delay' => 2, 'index_locked' => 0, @@ -60,6 +61,12 @@ class ConfigService 'index_files_encrypted' => 0, 'index_files_live' => 1, 'index_files_max_size' => 40, + 'index_files_filters_text' => 1, + 'index_files_filters_pdf' => 1, + 'index_files_filters_office' => 1, + 'index_files_filters_image' => 0, + 'index_files_filters_audio' => 0, + 'index_files_filters_extensions' => '', 'index_bookmarks' => 0, 'index_bookmarks_needed' => 1 diff --git a/templates/settings.admin.php b/templates/settings.admin.php index 3f47e12..dd18b4b 100644 --- a/templates/settings.admin.php +++ b/templates/settings.admin.php @@ -85,7 +85,7 @@ style('nextant', 'admin'); </tr> <tr class="nextant_admin_head" id="solr_index_files_cont"> <td><div id="nextant_saving_files">Saving</div></td> - <td class="nextant_admin_head"><input type="checkbox" + <td colspan="2" class="nextant_admin_head"><input type="checkbox" name="solr_index_files" id="solr_index_files" value="1" style="margin: 5px; margin-right: 15px;">Indexing Files</td> </tr> @@ -98,6 +98,10 @@ style('nextant', 'admin'); <?php p($l->t('Maximum File Size (Mb) :')) ?></td> <td><input type="text" id="solr_index_files_max_size" style="width: 100px;"></td> + <td style="width: 60px; padding-right: 10px;">[<span + style="font-size: 12px;" id="solr_switch_filters">Edit your + filters</span>] + </td> </tr> @@ -105,9 +109,9 @@ style('nextant', 'admin'); <td class="nextant_admin_left"> <?php p($l->t('Live Index :')); ?> </td> - <td><input type="checkbox" name="solr_index_files_live" - id="solr_index_files_live" value="1" style="margin: 10px;"> (<a - id="nextant_help_link" + <td colspan="2"><input type="checkbox" + name="solr_index_files_live" id="solr_index_files_live" + value="1" style="margin: 10px;"> (<a id="nextant_help_link" href="https://github.com/daita/nextant/wiki/Extracting,-Live-Update" target="_blank">help</a>)</td> </tr> @@ -115,38 +119,41 @@ style('nextant', 'admin'); <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Index Files Tree :')) ?></td> - <td><input type="checkbox" name="solr_index_files_tree" - id="solr_index_files_tree" value="1" style="margin: 10px;"></td> + <td colspan="2"><input type="checkbox" + name="solr_index_files_tree" id="solr_index_files_tree" + value="1" style="margin: 10px;"></td> </tr> <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Index Public Links :')) ?></td> - <td><input type="checkbox" name="solr_index_files_sharelink" + <td colspan="2"><input type="checkbox" + name="solr_index_files_sharelink" id="solr_index_files_sharelink" value="1" style="margin: 10px;"></td> </tr> <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Index External Storage :')) ?></td> - <td><input type="checkbox" name="solr_index_files_external" - id="solr_index_files_external" value="1" style="margin: 10px;"></td> + <td colspan="2"><input type="checkbox" + name="solr_index_files_external" id="solr_index_files_external" + value="1" style="margin: 10px;"></td> </tr> <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Index Encrypted Files :')) ?></td> - <td><input type="checkbox" name="solr_index_files_encrypted" + <td colspan="2"><input type="checkbox" + name="solr_index_files_encrypted" id="solr_index_files_encrypted" value="1" style="margin: 10px;"></td> </tr> <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Last index :')) ?></td> - <td><div id="solr_index_files_last"></div></td> + <td colspan="2"><div id="solr_index_files_last"></div></td> </tr> - </table> </div> @@ -212,6 +219,17 @@ style('nextant', 'admin'); </select></td> </tr> + <!-- + <tr style="height: 30px;"> + <td class="nextant_admin_left"> + <?php p($l->t('Fully Replace Core Search:')) ?></td> + <td id="solr_replace_core_search_td"><input type="checkbox" + name="solr_replace_core_search" id="solr_replace_core_search" + value="1" style="margin: 10px;"> (needs <b>Index Files Tree</b> + enabled)</td> + </tr> + --> + <tr style="height: 30px;"> <td class="nextant_admin_left"> <?php p($l->t('Number of documents :')) ?></td> @@ -250,7 +268,7 @@ style('nextant', 'admin'); </td> <td style="padding-left: 30px; padding-top: 40px; vertical-align: top"> - <div id="nextant-display"> + <div id="nextant-display" class="nextant-box"> <div id="ping" class="nextant-display-line"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> @@ -259,7 +277,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="schema" class="nextant-display-line" style="top: 30px;"> + <div id="schema" class="nextant-display-line" style="top: 40px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -267,7 +285,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="extract" class="nextant-display-line" style="top: 60px;"> + <div id="extract" class="nextant-display-line" style="top: 70px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -275,7 +293,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="update" class="nextant-display-line" style="top: 90px;"> + <div id="update" class="nextant-display-line" style="top: 100px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -283,7 +301,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="search" class="nextant-display-line" style="top: 120px;"> + <div id="search" class="nextant-display-line" style="top: 130px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -291,7 +309,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="delete" class="nextant-display-line" style="top: 150px;"> + <div id="delete" class="nextant-display-line" style="top: 160px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -299,7 +317,7 @@ style('nextant', 'admin'); <div id="text" class="nextant_display_text"></div> </div> - <div id="save" class="nextant-display-line" style="top: 190px;"> + <div id="save" class="nextant-display-line" style="top: 200px;"> <img id="icon_check" class="nextant_display_icon" src="<?php print_unescaped(OCP\image_path('nextant', 'check.png')); ?>" /> <img id="icon_fail" class="nextant_display_icon" @@ -308,6 +326,52 @@ style('nextant', 'admin'); </div> </div> + + <div id="nextant-filters" class="nextant-box"> + + <div id="nextant_saving_files_filters" + style="position: absolute; top: 10px; right: 25px;">Saving</div> + + <div class="solr_filters_item_large solr_filters_title">Type of + files to extract</div> + + <div class="solr_filters_item_large"> + <input type="checkbox" name="solr_filters_text" + id="solr_filters_text" value="1" style="margin: 10px;"> Text File + (Text, Html, Source Code, ...) + </div> + <div class="solr_filters_item"> + <input type="checkbox" name="solr_filters_pdf" + id="solr_filters_pdf" value="1" style="margin: 10px;"> E-pub / + PDF / rtf + </div> + <div class="solr_filters_item"> + <input type="checkbox" name="solr_filters_office" + id="solr_filters_office" value="1" style="margin: 10px;"> Office + Documents + </div> + <div class="solr_filters_item"> + <input type="checkbox" name="solr_filters_image" + id="solr_filters_image" value="1" style="margin: 10px;"> Image + (Jpeg, Tiff) + </div> + <div class="solr_filters_item"> + <input type="checkbox" name="solr_filters_audio" + id="solr_filters_audio" value="1" style="margin: 10px;"> Audio + File (mp3, flac) + </div> + + <div class="solr_filters_item_large solr_filters_title" + style="margin-top: 15px;">Extension you wish to ignore (.java + .xml)</div> + <div class="solr_filters_item_large"> + <textarea name="" style="width: 435px; height: 75px;" + id="solr_filters_extensions"></textarea> + </div> + + </div> + + </td> </tr> |