mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-06-06 17:51:15 -04:00
Minor additions.
This commit is contained in:
parent
480c4aab79
commit
a371ee2afd
10 changed files with 335 additions and 242 deletions
|
@ -10,6 +10,14 @@ It uses the [Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-1733
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
|
||||||
|
### v0.14.1 · *2011-09-01*
|
||||||
|
|
||||||
|
* display meta information in bottom bar (icon view)
|
||||||
|
* added zh-cn translation by [Dongsheng Cai](http://github.com/dongsheng)
|
||||||
|
* added pl translation by Radosław Zając
|
||||||
|
* added ru translation by Богдан Илюхин
|
||||||
|
|
||||||
|
|
||||||
### v0.14 · *2011-08-16*
|
### v0.14 · *2011-08-16*
|
||||||
|
|
||||||
* added image thumbnails for PHP version
|
* added image thumbnails for PHP version
|
||||||
|
|
|
@ -3,7 +3,7 @@ custom = true
|
||||||
|
|
||||||
# project
|
# project
|
||||||
project.name = h5ai
|
project.name = h5ai
|
||||||
project.version = 0.14
|
project.version = 0.14.1
|
||||||
|
|
||||||
|
|
||||||
# src
|
# src
|
||||||
|
|
BIN
release/h5ai-0.14.1.tar.gz
Normal file
BIN
release/h5ai-0.14.1.tar.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -153,6 +153,17 @@ body > footer {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
float: right
|
float: right
|
||||||
}
|
}
|
||||||
|
.status {
|
||||||
|
&.default {
|
||||||
|
}
|
||||||
|
&.dynamic {
|
||||||
|
display: none;
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
#langSelector {
|
#langSelector {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
@ -17,9 +17,13 @@
|
||||||
</span>
|
</span>
|
||||||
<span class="center">
|
<span class="center">
|
||||||
<span class="hideOnNoJs">
|
<span class="hideOnNoJs">
|
||||||
<span class="folderCount"></span> <span class="l10n-folders">folders</span>
|
<span class="status default">
|
||||||
·
|
<span class="folderCount"></span> <span class="l10n-folders">folders</span>
|
||||||
<span class="fileCount"></span> <span class="l10n-files">files</span>
|
·
|
||||||
|
<span class="fileCount"></span> <span class="l10n-files">files</span>
|
||||||
|
</span>
|
||||||
|
<span class="status dynamic">
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -43,9 +43,13 @@
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span class="center">
|
<span class="center">
|
||||||
<?php echo $extended->getFolderCount(); ?> <span class="l10n-folders">folders</span>
|
<span class="status default">
|
||||||
·
|
<?php echo $extended->getFolderCount(); ?> <span class="l10n-folders">folders</span>
|
||||||
<?php echo $extended->getFileCount(); ?> <span class="l10n-files">files</span>
|
·
|
||||||
|
<?php echo $extended->getFileCount(); ?> <span class="l10n-files">files</span>
|
||||||
|
</span>
|
||||||
|
<span class="status dynamic">
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/h5ai/js/lib/jquery.min.js"></script>
|
<script src="/h5ai/js/lib/jquery.min.js"></script>
|
||||||
|
|
|
@ -170,6 +170,33 @@ var H5ai = function ( options, langs ) {
|
||||||
.click( $.proxy( function () {
|
.click( $.proxy( function () {
|
||||||
this.applyViewmode( "icons" );
|
this.applyViewmode( "icons" );
|
||||||
}, this ) );
|
}, this ) );
|
||||||
|
|
||||||
|
$( "#extended .entry" ).hover(
|
||||||
|
function () {
|
||||||
|
if ( $( "#extended" ).hasClass( "icons-view" ) ) {
|
||||||
|
$this = $( this );
|
||||||
|
$( ".status.default" ).hide();
|
||||||
|
$( ".status.dynamic" )
|
||||||
|
.empty()
|
||||||
|
.append( $this.find( ".label" ).clone() )
|
||||||
|
.append( " · " )
|
||||||
|
.append( $this.find( ".date" ).clone() )
|
||||||
|
.show();
|
||||||
|
|
||||||
|
if ( ! $this.hasClass( "folder" ) ) {
|
||||||
|
$( ".status.dynamic" )
|
||||||
|
.append( " · " )
|
||||||
|
.append( $this.find( ".size" ).clone() );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
$( ".status.default" ).show();
|
||||||
|
$( ".status.dynamic" )
|
||||||
|
.empty()
|
||||||
|
.hide();
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,104 +5,104 @@
|
||||||
|
|
||||||
h5aiOptions = {
|
h5aiOptions = {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* An array of view modes the user may choose from. Currently there
|
* An array of view modes the user may choose from. Currently there
|
||||||
* are two possible values: "details" and "icons". The first value
|
* are two possible values: "details" and "icons". The first value
|
||||||
* indicates the default view mode. If only one value is given the
|
* indicates the default view mode. If only one value is given the
|
||||||
* view mode is fixed and the selector buttons are hidden.
|
* view mode is fixed and the selector buttons are hidden.
|
||||||
* The user selected view mode is also stored local in modern browsers
|
* The user selected view mode is also stored local in modern browsers
|
||||||
* so that it will be persistent.
|
* so that it will be persistent.
|
||||||
*/
|
*/
|
||||||
"viewmodes": [ "details", "icons" ],
|
"viewmodes": [ "details", "icons" ],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default sort order. Valid values for column are "name", "date" and
|
* Default sort order. Valid values for column are "name", "date" and
|
||||||
* "size".
|
* "size".
|
||||||
* If you are using the JavaScript version please make sure to change
|
* If you are using the JavaScript version please make sure to change
|
||||||
* IndexOrderDefault in js.htaccess as well.
|
* IndexOrderDefault in js.htaccess as well.
|
||||||
*/
|
*/
|
||||||
"sortorder": {
|
"sortorder": {
|
||||||
"column": "name",
|
"column": "name",
|
||||||
"ascending": true
|
"ascending": true
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Show a folder tree, boolean.
|
* Show a folder tree, boolean.
|
||||||
* Note that this tree might have side effects as it sends HEAD requests
|
* Note that this tree might have side effects as it sends HEAD requests
|
||||||
* to the folders, and therefore will invoke index.php scripts. Use
|
* to the folders, and therefore will invoke index.php scripts. Use
|
||||||
* folderStatus below to avoid such requests.
|
* folderStatus below to avoid such requests.
|
||||||
* It might also affect performance significantly.
|
* It might also affect performance significantly.
|
||||||
*/
|
*/
|
||||||
"showTree": true,
|
"showTree": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Slide tree bar into viewport if there is enough space, boolean.
|
* Slide tree bar into viewport if there is enough space, boolean.
|
||||||
*/
|
*/
|
||||||
"slideTree": true,
|
"slideTree": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Associative array of folders and their HTTP status codes to
|
* Associative array of folders and their HTTP status codes to
|
||||||
* avoid HEAD requests to that folders. The key (folder) must start
|
* avoid HEAD requests to that folders. The key (folder) must start
|
||||||
* and end with a slash (/).
|
* and end with a slash (/).
|
||||||
* For example:
|
* For example:
|
||||||
* "/some/folder/": 200
|
* "/some/folder/": 200
|
||||||
* will always return HTTP status 200 (OK), which will be interpreted
|
* will always return HTTP status 200 (OK), which will be interpreted
|
||||||
* as a non auto indexed folder, that means a folder containing an
|
* as a non auto indexed folder, that means a folder containing an
|
||||||
* appropriate default index file.
|
* appropriate default index file.
|
||||||
*/
|
*/
|
||||||
"folderStatus": {
|
"folderStatus": {
|
||||||
/*
|
/*
|
||||||
* for example:
|
* for example:
|
||||||
* "/some/folder/": 200
|
* "/some/folder/": 200
|
||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Localization, for example "en", "de" etc. - see h5aiLangs below for
|
* Localization, for example "en", "de" etc. - see h5aiLangs below for
|
||||||
* possible values. Adjust it to your needs. If lang is not found in
|
* possible values. Adjust it to your needs. If lang is not found in
|
||||||
* h5aiLangs it defaults to "en".
|
* h5aiLangs it defaults to "en".
|
||||||
*/
|
*/
|
||||||
"lang": null,
|
"lang": null,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Try to use browser language, falls back to previous specified lang.
|
* Try to use browser language, falls back to previous specified lang.
|
||||||
*/
|
*/
|
||||||
"useBrowserLang": true,
|
"useBrowserLang": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set parent folder labels to real folder names.
|
* Set parent folder labels to real folder names.
|
||||||
*/
|
*/
|
||||||
"setParentFolderLabels": true,
|
"setParentFolderLabels": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Link the hover effects between crumb, extended view and tree.
|
* Link the hover effects between crumb, extended view and tree.
|
||||||
*/
|
*/
|
||||||
"linkHoverStates": true,
|
"linkHoverStates": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Only used in PHP implementation.
|
* Only used in PHP implementation.
|
||||||
* Date format in PHP syntax, for example: "Y-m-d H:i:s"
|
* Date format in PHP syntax, for example: "Y-m-d H:i:s"
|
||||||
* http://www.php.net/manual/en/function.date.php
|
* http://www.php.net/manual/en/function.date.php
|
||||||
*/
|
*/
|
||||||
"dateFormat": "Y-m-d H:i",
|
"dateFormat": "Y-m-d H:i",
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IMPORTANT: PHP implementation doesn't care about Apache's
|
* IMPORTANT: PHP implementation doesn't care about Apache's
|
||||||
* ignores, so you have to specify this here.
|
* ignores, so you have to specify this here.
|
||||||
*
|
*
|
||||||
* Only used in PHP implementation.
|
* Only used in PHP implementation.
|
||||||
* Files/folders that should never be listed. Specified
|
* Files/folders that should never be listed. Specified
|
||||||
* by the complete filename or by a regular expression.
|
* by the complete filename or by a regular expression.
|
||||||
* http://www.php.net/manual/en/function.preg-match.php
|
* http://www.php.net/manual/en/function.preg-match.php
|
||||||
*/
|
*/
|
||||||
"ignore": [ "h5ai", "h5ai.header.html", "h5ai.footer.html" ],
|
"ignore": [ "h5ai", "h5ai.header.html", "h5ai.footer.html" ],
|
||||||
"ignoreRE": [ "/^\\./" ],
|
"ignoreRE": [ "/^\\./" ],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Only used in PHP implementation.
|
* Only used in PHP implementation.
|
||||||
* Show thumbnails in Icons view.
|
* Show thumbnails in Icons view.
|
||||||
*/
|
*/
|
||||||
"showThumbs": true
|
"showThumbs": true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,159 +112,198 @@ h5aiOptions = {
|
||||||
*/
|
*/
|
||||||
h5aiLangs = {
|
h5aiLangs = {
|
||||||
|
|
||||||
"en": {
|
"en": {
|
||||||
"lang": "english",
|
"lang": "english",
|
||||||
"details": "details",
|
"details": "details",
|
||||||
"icons": "icons",
|
"icons": "icons",
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"lastModified": "Last modified",
|
"lastModified": "Last modified",
|
||||||
"size": "Size",
|
"size": "Size",
|
||||||
"parentDirectory": "Parent Directory",
|
"parentDirectory": "Parent Directory",
|
||||||
"empty": "empty",
|
"empty": "empty",
|
||||||
"folders": "folders",
|
"folders": "folders",
|
||||||
"files": "files"
|
"files": "files"
|
||||||
},
|
},
|
||||||
|
|
||||||
"de": {
|
"de": {
|
||||||
"lang": "deutsch",
|
"lang": "deutsch",
|
||||||
"details": "Details",
|
"details": "Details",
|
||||||
"icons": "Icons",
|
"icons": "Icons",
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"lastModified": "Geändert",
|
"lastModified": "Geändert",
|
||||||
"size": "Größe",
|
"size": "Größe",
|
||||||
"parentDirectory": "Übergeordnetes Verzeichnis",
|
"parentDirectory": "Übergeordnetes Verzeichnis",
|
||||||
"empty": "leer",
|
"empty": "leer",
|
||||||
"folders": "Ordner",
|
"folders": "Ordner",
|
||||||
"files": "Dateien"
|
"files": "Dateien"
|
||||||
},
|
},
|
||||||
|
|
||||||
"fr": {
|
"fr": {
|
||||||
"lang": "français",
|
"lang": "français",
|
||||||
"details": "détails",
|
"details": "détails",
|
||||||
"icons": "icônes",
|
"icons": "icônes",
|
||||||
"name": "Nom",
|
"name": "Nom",
|
||||||
"lastModified": "Dernière modification",
|
"lastModified": "Dernière modification",
|
||||||
"size": "Taille",
|
"size": "Taille",
|
||||||
"parentDirectory": "Dossier parent",
|
"parentDirectory": "Dossier parent",
|
||||||
"empty": "vide",
|
"empty": "vide",
|
||||||
"folders": "Répertoires",
|
"folders": "Répertoires",
|
||||||
"files": "Fichiers"
|
"files": "Fichiers"
|
||||||
},
|
},
|
||||||
|
|
||||||
"nl": {
|
"nl": {
|
||||||
"lang": "nederlands",
|
"lang": "nederlands",
|
||||||
"details": "details",
|
"details": "details",
|
||||||
"icons": "iconen",
|
"icons": "iconen",
|
||||||
"name": "Naam",
|
"name": "Naam",
|
||||||
"lastModified": "Laatste wijziging",
|
"lastModified": "Laatste wijziging",
|
||||||
"size": "Grootte",
|
"size": "Grootte",
|
||||||
"parentDirectory": "Bovenliggende map",
|
"parentDirectory": "Bovenliggende map",
|
||||||
"empty": "lege",
|
"empty": "lege",
|
||||||
"folders": "[?folders?]",
|
"folders": "[?folders?]",
|
||||||
"files": "[?files?]"
|
"files": "[?files?]"
|
||||||
},
|
},
|
||||||
|
|
||||||
"sv": {
|
"sv": {
|
||||||
"lang": "svenska",
|
"lang": "svenska",
|
||||||
"details": "detaljerad",
|
"details": "detaljerad",
|
||||||
"icons": "ikoner",
|
"icons": "ikoner",
|
||||||
"name": "Filnamn",
|
"name": "Filnamn",
|
||||||
"lastModified": "Senast ändrad",
|
"lastModified": "Senast ändrad",
|
||||||
"size": "Filstorlek",
|
"size": "Filstorlek",
|
||||||
"parentDirectory": "Till överordnad mapp",
|
"parentDirectory": "Till överordnad mapp",
|
||||||
"empty": "tom",
|
"empty": "tom",
|
||||||
"folders": "[?folders?]",
|
"folders": "[?folders?]",
|
||||||
"files": "[?files?]"
|
"files": "[?files?]"
|
||||||
},
|
},
|
||||||
|
|
||||||
"cs": {
|
"cs": {
|
||||||
"lang": "čeština",
|
"lang": "čeština",
|
||||||
"details": "podrobnosti",
|
"details": "podrobnosti",
|
||||||
"icons": "ikony",
|
"icons": "ikony",
|
||||||
"name": "Název",
|
"name": "Název",
|
||||||
"lastModified": "Upraveno",
|
"lastModified": "Upraveno",
|
||||||
"size": "Velikost",
|
"size": "Velikost",
|
||||||
"parentDirectory": "Nadřazený adresář",
|
"parentDirectory": "Nadřazený adresář",
|
||||||
"empty": "prázdný",
|
"empty": "prázdný",
|
||||||
"folders": "složek",
|
"folders": "složek",
|
||||||
"files": "souborů"
|
"files": "souborů"
|
||||||
},
|
},
|
||||||
|
|
||||||
"sk": {
|
"sk": {
|
||||||
"lang": "slovenčina",
|
"lang": "slovenčina",
|
||||||
"details": "podrobnosti",
|
"details": "podrobnosti",
|
||||||
"icons": "ikony",
|
"icons": "ikony",
|
||||||
"name": "Názov",
|
"name": "Názov",
|
||||||
"lastModified": "Upravené",
|
"lastModified": "Upravené",
|
||||||
"size": "Velkosť",
|
"size": "Velkosť",
|
||||||
"parentDirectory": "Nadriadený priečinok",
|
"parentDirectory": "Nadriadený priečinok",
|
||||||
"empty": "prázdny",
|
"empty": "prázdny",
|
||||||
"folders": "priečinkov",
|
"folders": "priečinkov",
|
||||||
"files": "súborov"
|
"files": "súborov"
|
||||||
},
|
},
|
||||||
|
|
||||||
"es": {
|
"es": {
|
||||||
"lang": "español",
|
"lang": "español",
|
||||||
"details": "Detalles",
|
"details": "Detalles",
|
||||||
"icons": "Íconos",
|
"icons": "Íconos",
|
||||||
"name": "Nombre",
|
"name": "Nombre",
|
||||||
"lastModified": "Última modificación",
|
"lastModified": "Última modificación",
|
||||||
"size": "Tamaño",
|
"size": "Tamaño",
|
||||||
"parentDirectory": "Directorio superior",
|
"parentDirectory": "Directorio superior",
|
||||||
"empty": "vacío",
|
"empty": "vacío",
|
||||||
"folders": "[?folders?]",
|
"folders": "[?folders?]",
|
||||||
"files": "[?files?]"
|
"files": "[?files?]"
|
||||||
},
|
},
|
||||||
|
|
||||||
"tr": {
|
"tr": {
|
||||||
"lang": "türkçe",
|
"lang": "türkçe",
|
||||||
"details": "detaylar",
|
"details": "detaylar",
|
||||||
"icons": "ikonlar",
|
"icons": "ikonlar",
|
||||||
"name": "İsim",
|
"name": "İsim",
|
||||||
"lastModified": "Son Düzenleme",
|
"lastModified": "Son Düzenleme",
|
||||||
"size": "Boyut",
|
"size": "Boyut",
|
||||||
"parentDirectory": "Üst Dizin",
|
"parentDirectory": "Üst Dizin",
|
||||||
"empty": "boş",
|
"empty": "boş",
|
||||||
"folders": "[?folders?]",
|
"folders": "[?folders?]",
|
||||||
"files": "[?files?]"
|
"files": "[?files?]"
|
||||||
},
|
},
|
||||||
|
|
||||||
"pt": {
|
"pt": {
|
||||||
"lang": "português",
|
"lang": "português",
|
||||||
"details": "detalhes",
|
"details": "detalhes",
|
||||||
"icons": "ícones",
|
"icons": "ícones",
|
||||||
"name": "Nome",
|
"name": "Nome",
|
||||||
"lastModified": "Última modificação",
|
"lastModified": "Última modificação",
|
||||||
"size": "Tamanho",
|
"size": "Tamanho",
|
||||||
"parentDirectory": "Diretório superior",
|
"parentDirectory": "Diretório superior",
|
||||||
"empty": "vazio",
|
"empty": "vazio",
|
||||||
"folders": "pastas",
|
"folders": "pastas",
|
||||||
"files": "arquivos"
|
"files": "arquivos"
|
||||||
},
|
},
|
||||||
|
|
||||||
"bg": {
|
"bg": {
|
||||||
"lang": "български",
|
"lang": "български",
|
||||||
"details": "детайли",
|
"details": "детайли",
|
||||||
"icons": "икони",
|
"icons": "икони",
|
||||||
"name": "Име",
|
"name": "Име",
|
||||||
"lastModified": "Последна промяна",
|
"lastModified": "Последна промяна",
|
||||||
"size": "Размер",
|
"size": "Размер",
|
||||||
"parentDirectory": "Предходна директория",
|
"parentDirectory": "Предходна директория",
|
||||||
"empty": "празно",
|
"empty": "празно",
|
||||||
"folders": "папки",
|
"folders": "папки",
|
||||||
"files": "файлове"
|
"files": "файлове"
|
||||||
},
|
},
|
||||||
|
|
||||||
"lv": {
|
"lv": {
|
||||||
"lang": "latviešu",
|
"lang": "latviešu",
|
||||||
"details": "detaļas",
|
"details": "detaļas",
|
||||||
"icons": "ikonas",
|
"icons": "ikonas",
|
||||||
"name": "Nosaukums",
|
"name": "Nosaukums",
|
||||||
"lastModified": "Pēdējoreiz modificēts",
|
"lastModified": "Pēdējoreiz modificēts",
|
||||||
"size": "Izmērs",
|
"size": "Izmērs",
|
||||||
"parentDirectory": "Vecākdirektorijs",
|
"parentDirectory": "Vecākdirektorijs",
|
||||||
"empty": "tukšs",
|
"empty": "tukšs",
|
||||||
"folders": "mapes",
|
"folders": "mapes",
|
||||||
"files": "faili"
|
"files": "faili"
|
||||||
}
|
},
|
||||||
|
|
||||||
|
"zh-cn": {
|
||||||
|
"lang": "简体中文",
|
||||||
|
"details": "详情",
|
||||||
|
"icons": "图标",
|
||||||
|
"name": "文件名",
|
||||||
|
"lastModified": "上次修改",
|
||||||
|
"size": "大小",
|
||||||
|
"parentDirectory": "上层文件夹",
|
||||||
|
"empty": "空文件夹",
|
||||||
|
"folders": "文件夹",
|
||||||
|
"files": "文件"
|
||||||
|
},
|
||||||
|
|
||||||
|
"pl": {
|
||||||
|
"lang": "polski",
|
||||||
|
"details": "szczegóły",
|
||||||
|
"icons": "ikony",
|
||||||
|
"name": "Nazwa",
|
||||||
|
"lastModified": "Ostatnia modyfikacja",
|
||||||
|
"size": "Rozmiar",
|
||||||
|
"parentDirectory": "Katalog nadrzędny",
|
||||||
|
"empty": "pusty",
|
||||||
|
"folders": "foldery",
|
||||||
|
"files": "pliki"
|
||||||
|
},
|
||||||
|
|
||||||
|
"ru": {
|
||||||
|
"lang": "русский",
|
||||||
|
"details": "детали",
|
||||||
|
"icons": "иконки",
|
||||||
|
"name": "Имя",
|
||||||
|
"lastModified": "Последние изменения",
|
||||||
|
"size": "Размер",
|
||||||
|
"parentDirectory": "Главная директория",
|
||||||
|
"empty": "пусто",
|
||||||
|
"folders": "папки",
|
||||||
|
"files": "файлы"
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue