Toggle navigation
Identificarse
Zerga Bidea
Global
Idiomas
Idioma predefinido
XWiki
Añadir extensiones
Código fuente wiki de
Añadir extensiones
Última modificación por
ZERGABIDEA administratzailea
el 2017/06/27 10:09
Ocultar números de línea
1: {{template name="extension.vm" output="false"/}} 2: 3: {{velocity}} 4: ## HTML cleaner messes up the content of the legend tag. 5: {{html clean="false"}} 6: #if ($isAjaxRequest) 7: #handleExtensionRequest() 8: #else 9: <div class="full column"> 10: #displayExtensionSearchBar() 11: 12: #if ($request.extensionId && $request.extensionVersion) 13: ## Advanced search. 14: #handleExtensionRequest() 15: #else 16: ## Simple search. 17: #set ($noResultsMessageKey = 'extensions.search.noResults') 18: #set ($paginationParams = {}) 19: ## Dump whitespace generated by the pagination macro 20: #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 27: #if ("$!selectedRepositoryId" != '') 28: #set ($repository = $extensionManager.getRepository($selectedRepositoryId)) 29: #if ("$!request.search" == '') 30: ## Fetch extensions from known repositories. 31: #if ($selectedRepositoryId == 'core') 32: #set($extensions = $services.extension.core.getCoreExtensions()) 33: #elseif ($selectedRepositoryId == 'installed') 34: #if ($xcontext.isMainWiki()) 35: #set($extensions = $services.extension.installed.getInstalledExtensions()) 36: #else 37: #set($extensions = $services.extension.installed.getInstalledExtensions($extensionNamespace)) 38: #end 39: #elseif ($selectedRepositoryId == 'local') 40: #set($extensions = $services.extension.local.getLocalExtensions()) 41: #end 42: #if ($extensions) 43: #set ($totalHits = $extensions.size()) 44: #if ($totalHits == 0) 45: #set ($noResultsMessageKey = "extensions.search.repository.${selectedRepositoryId}.empty") 46: #end 47: ## All extensions from the specified repository have been fetched. We need to display only the current page. 48: #set ($extensions = $extensions.subList($paginationParams.firstItem, $mathtool.min($extensions.size(), $mathtool.add($paginationParams.firstItem, $paginationParams.itemsPerPage)))) 49: #end 50: #end 51: #end 52: #if (!$extensions) 53: #set($extensionQuery = $services.extension.newQuery("$!request.search")) 54: #set($void = $extensionQuery.setOffset($paginationParams.firstItem)) 55: #set($void = $extensionQuery.setLimit($paginationParams.itemsPerPage)) 56: #if ($selectedRepositoryId == 'installed') 57: #if ($xcontext.isMainWiki()) 58: #set ($extensions = $services.extension.installed.repository.searchInstalledExtensions($extensionQuery)) 59: #else 60: ## When searching for installed extensions in a subwiki we need to take the namespace into account. 61: #set ($extensions = $services.extension.installed.repository.searchInstalledExtensions($extensionNamespace, $extensionQuery)) 62: #end 63: #else 64: #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage)) 65: #end 66: #set ($totalHits = $extensions.totalHits) 67: #end 68: #if ($selectedRepositoryId == 'recommended') 69: #if (!$extensions.iterator().hasNext()) 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 = '') 74: #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage)) 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: #end 87: #end 88: #if (!$extensions.iterator().hasNext()) 89: <div class="box infomessage">$services.localization.render($noResultsMessageKey, ["<em>$!escapetool.xml($request.search)</em>"])</div> 90: #else 91: #if ($totalHits && $totalHits > $paginationParams.itemsPerPage) 92: #set ($hasPagination = true) 93: #set ($paginationParams.totalItems = $totalHits) 94: #set ($paginationParams.url = $doc.getURL($xcontext.action, $request.getQueryString().replaceAll('(^|&)firstIndex=[^&]++&?', '$1'))) 95: #pagination($paginationParams) 96: #end 97: #foreach($extension in $extensions) 98: #displayExtension($extension) 99: #end 100: #if ($hasPagination) 101: #set ($discard = $paginationParams.put('position', 'bottom')) 102: #pagination($paginationParams) 103: #end 104: #end 105: #end 106: </div> 107: #end 108: {{/html}} 109: {{/velocity}}