Изменения документа Расширения
Редактировал(а) Андрей Ганьков 2025/07/06 04:58
От версии 2.1
отредактировано Андрей Ганьков
на 2020/12/14 12:25
на 2020/12/14 12:25
Изменить комментарий:
Install extension [org.xwiki.platform:xwiki-platform-extension-ui/12.10]
К версии 1.1
отредактировано superadmin
на 2020/10/06 10:51
на 2020/10/06 10:51
Изменить комментарий:
Install extension [org.xwiki.platform:xwiki-platform-extension-ui/12.8]
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Автор документа
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki:XWiki.gav1 +XWiki.superadmin - Содержимое
-
... ... @@ -13,14 +13,17 @@ 13 13 ## Advanced search. 14 14 #handleExtensionRequest() 15 15 #else 16 - #if ($request.index_start) 17 - #set ($void = $extensionManager.getRepository('index').index("wiki:${xcontext.database}")) 18 - #end 19 19 ## Simple search. 20 20 #set ($noResultsMessageKey = 'extensions.search.noResults') 21 21 #set ($paginationParams = {}) 22 22 ## Dump whitespace generated by the pagination macro 23 23 #set ($discard = "#paginationPrepareParams($paginationParams)") 21 + #set ($repository = $extensionManager) 22 + #if ($request.repo) 23 + #set ($selectedRepositoryId = $request.repo) 24 + #elseif (!$selectedRepositoryId) 25 + #set ($selectedRepositoryId = 'recommended') 26 + #end 24 24 #if ("$!selectedRepositoryId" != '') 25 25 #set ($repository = $extensionManager.getRepository($selectedRepositoryId)) 26 26 #if ("$!request.search" == '') ... ... @@ -47,7 +47,7 @@ 47 47 #end 48 48 #end 49 49 #if (!$extensions) 50 - #set($extensionQuery = $services.extension. index.newQuery("$!request.search"))53 + #set($extensionQuery = $services.extension.newQuery("$!request.search")) 51 51 #set($void = $extensionQuery.setOffset($paginationParams.firstItem)) 52 52 #set($void = $extensionQuery.setLimit($paginationParams.itemsPerPage)) 53 53 #if ($selectedRepositoryId == 'installed') ... ... @@ -57,35 +57,31 @@ 57 57 ## When searching for installed extensions in a subwiki we need to take the namespace into account. 58 58 #set ($extensions = $services.extension.installed.repository.searchInstalledExtensions($extensionNamespace, $extensionQuery)) 59 59 #end 60 - #elseif ($repository) 61 - #set ($extensions = $repository.search($extensionQuery)) 62 62 #else 63 - #if ($recommended) 64 - #set($void = $extensionQuery.addFilter('recommended', true, 'EQUAL')) 65 - #end 66 - #if ($indexed) 67 - #set ($repository = $extensionManager.index.repository) 68 - #if ($compatible) 69 - #set ($void = $extensionQuery.setCompatible(true, '', "wiki:$xcontext.database")) 70 - #end 71 - #else 72 - #set ($repository = $extensionManager) 73 - #end 74 - #set ($extensions = $repository.search($extensionQuery)) 64 + #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage)) 75 75 #end 76 76 #set ($totalHits = $extensions.totalHits) 77 77 #end 78 - 79 - #if ($recommended) 68 + #if ($selectedRepositoryId == 'recommended') 80 80 #if (!$extensions.iterator().hasNext()) 81 - <div class="box warningmessage">$services.localization.render('extensions.search.recommended.fallback', ["<em>$!escapetool.xml($request.search)</em>"])</div> 82 - ## Search again with the recommended filter 70 + <div class="box warningmessage">$services.localization.render('extensions.search.repository.recommended.fallback', ["<em>$!escapetool.xml($request.search)</em>", "<strong>$services.localization.render('extensions.search.repository.remote.label')</strong>"])</div> 71 + ## Fallback to all remote extensions 72 + #set ($repository = $extensionManager) 73 + #set($selectedRepositoryId = '') 83 83 #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage)) 84 - #set ($totalHits = $extensions.totalHits) 85 - #set ($recommended = false) 75 + #else 76 + <div class="box infomessage">$services.localization.render('extensions.search.repository.recommended.disclaimer') 77 + <form action="${xwiki.relativeRequestURL}"> 78 + #if ($request.section) 79 + <input type="hidden" name="section" value="${escapetool.xml($request.section)}" /> 80 + #end 81 + <input type="hidden" name="search" value="$!{escapetool.xml($request.search)}" /> 82 + <input type="hidden" name="repo" value="" /> 83 + <input type="submit" value="${escapetool.xml($services.localization.render('extensions.search.repository.remote.label'))}" class="button secondary"/> 84 + </form> 85 + </div> 86 86 #end 87 87 #end 88 - 89 89 #if (!$extensions.iterator().hasNext()) 90 90 <div class="box infomessage">$services.localization.render($noResultsMessageKey, ["<em>$!escapetool.xml($request.search)</em>"])</div> 91 91 #else ... ... @@ -103,42 +103,6 @@ 103 103 #pagination($paginationParams) 104 104 #end 105 105 #end 106 - 107 - #if ($indexed) 108 - #set ($indexJobStatus = $repository.getStatus("wiki:${xcontext.database}")) 109 - #if ($indexJobStatus) 110 - <div class="box infomessage"> 111 - #if ($indexJobStatus.state != 'FINISHED') 112 - $escapetool.xml($services.localization.render('extensions.search.indexed.started', [$xwiki.formatDate($indexJobStatus.startDate)])) 113 - #set ($discard = $xwiki.jsfx.use('uicomponents/job/job.js', true)) 114 - #set ($jobStatusURL = $doc.getURL('get', $escapetool.url({ 115 - 'xpage': 'job_status_json', 116 - 'outputSyntax': 'plain', 117 - 'jobId': $indexJobStatus.request.id 118 - }))) 119 - <div class="xcontent job-status" data-url="$escapetool.xml($jobStatusURL)"> 120 - #displayJobProgressBar($indexJobStatus, true) 121 - </div> 122 - #else 123 - $escapetool.xml($services.localization.render('extensions.search.indexed.on', [$xwiki.formatDate($indexJobStatus.startDate)])) 124 - #end 125 - #else 126 - <div class="box warningmessage">$escapetool.xml($services.localization.render('extensions.search.indexed.nojob')) 127 - #end 128 - <form action="${xwiki.relativeRequestURL}"> 129 - #if ($request.section) 130 - <input type="hidden" name="section" value="${escapetool.xml($request.section)}" /> 131 - #end 132 - <input type="hidden" name="search" value="$!{escapetool.xml($request.search)}" /> 133 - <input type="hidden" name="recommended" value="$recommended" /> 134 - <input type="hidden" name="indexed" value="$indexed" /> 135 - <input type="hidden" name="compatible" value="$compatible" /> 136 - #if ($indexJobStatus.state != 'RUNNING') 137 - <input type="submit" value="${escapetool.xml($services.localization.render('extensions.search.indexed.reindex'))}" name="index_start" class="button secondary"/> 138 - #end 139 - </form> 140 - </div> 141 - #end 142 142 #end 143 143 </div> 144 144 #end