Skip to content

Commit 6b66fcd

Browse files
committed
[2.0.1] Filter sites by extension criteria in the Install Extension page
Close gh-962
1 parent db83cba commit 6b66fcd

13 files changed

Lines changed: 344 additions & 5 deletions

File tree

CHANGELOG

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
<?php die(); ?>
2+
Akeeba Panopticon 2.0.1
3+
================================================================================
4+
+ Filter sites by CMS version, PHP version, extension name, author, author URL, and update status in the Install Extension page [gh-962]
5+
26
Akeeba Panopticon 2.0.0
37
================================================================================
48
+ User self-registration [gh-726]

ViewTemplates/Extensioninstall/default.blade.php

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<h4>@lang('PANOPTICON_EXTENSIONINSTALL_LBL_STEP_SELECT')</h4>
3333

3434
{{-- Site selection form --}}
35-
<form action="@route('index.php?view=extensioninstall&task=review')" method="post"
35+
<form action="@route('index.php?view=extensioninstall')" method="post"
3636
name="adminForm" id="adminForm">
3737

3838
{{-- Filters --}}
@@ -50,6 +50,82 @@
5050
</button>
5151
</div>
5252
</div>
53+
{{-- Site-level filters: CMS Version, PHP Version, Update Status --}}
54+
<div class="d-flex flex-column flex-lg-row justify-content-lg-center gap-2 mt-2">
55+
<div>
56+
<label class="visually-hidden" for="cmsFamily">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_CMS_VERSION')</label>
57+
{{ $this->container->html->select->genericList(
58+
array_merge(['' => $this->getLanguage()->text('PANOPTICON_EXTENSIONINSTALL_LBL_CMSVERSION_SELECT')], $this->knownCmsVersions),
59+
'cmsFamily',
60+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
61+
selected: $this->getModel('site')->getState('cmsFamily'),
62+
idTag: 'cmsFamily',
63+
translate: false
64+
) }}
65+
</div>
66+
<div>
67+
<label class="visually-hidden" for="phpFamily">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_PHP_VERSION')</label>
68+
{{ $this->container->html->select->genericList(
69+
array_merge(['' => $this->getLanguage()->text('PANOPTICON_EXTENSIONINSTALL_LBL_PHPVERSION_SELECT')], $this->knownPhpVersions),
70+
'phpFamily',
71+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
72+
selected: $this->getModel('site')->getState('phpFamily'),
73+
idTag: 'phpFamily',
74+
translate: false
75+
) }}
76+
</div>
77+
<div>
78+
<label class="visually-hidden" for="extUpdates">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES')</label>
79+
{{ $this->container->html->select->genericList(
80+
[
81+
'' => $this->getLanguage()->text('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_SELECT'),
82+
'1' => $this->getLanguage()->text('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_YES'),
83+
'0' => $this->getLanguage()->text('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_NO'),
84+
],
85+
'extUpdates',
86+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
87+
selected: $this->getModel('site')->getState('extUpdates'),
88+
idTag: 'extUpdates',
89+
translate: false
90+
) }}
91+
</div>
92+
</div>
93+
{{-- Extension-level filters: Name, Author, Author URL --}}
94+
<div class="d-flex flex-column flex-lg-row justify-content-lg-center gap-2 mt-2">
95+
<div>
96+
<label class="visually-hidden" for="ext_name">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME')</label>
97+
{{ $this->container->html->select->genericList(
98+
$this->extensionNames,
99+
'ext_name',
100+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
101+
selected: $this->getModel('site')->getState('ext_name'),
102+
idTag: 'ext_name',
103+
translate: false
104+
) }}
105+
</div>
106+
<div>
107+
<label class="visually-hidden" for="ext_author">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR')</label>
108+
{{ $this->container->html->select->genericList(
109+
$this->extensionAuthors,
110+
'ext_author',
111+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
112+
selected: $this->getModel('site')->getState('ext_author'),
113+
idTag: 'ext_author',
114+
translate: false
115+
) }}
116+
</div>
117+
<div>
118+
<label class="visually-hidden" for="ext_author_url">@lang('PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL')</label>
119+
{{ $this->container->html->select->genericList(
120+
$this->extensionAuthorUrls,
121+
'ext_author_url',
122+
['class' => 'form-select akeebaGridViewAutoSubmitOnChange'],
123+
selected: $this->getModel('site')->getState('ext_author_url'),
124+
idTag: 'ext_author_url',
125+
translate: false
126+
) }}
127+
</div>
128+
</div>
53129
</div>
54130

55131
<table class="table table-striped align-middle" id="adminList" role="table">
@@ -161,6 +237,6 @@
161237
</table>
162238

163239
<input type="hidden" name="site_ids" id="site_ids" value="">
164-
<input type="hidden" name="task" id="task" value="review">
240+
<input type="hidden" name="task" id="task" value="main">
165241
<input type="hidden" name="token" value="@token()">
166242
</form>

languages/el-GR.glossary.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ CMS Version | Έκδοση CMS |
6565
PHP Version | Έκδοση PHP |
6666
Extension | Επέκταση | Singular (Joomla)
6767
Extensions | Επεκτάσεις | Plural (Joomla)
68+
Extension Name | Όνομα Επέκτασης |
69+
Extension Author | Συγγραφέας Επέκτασης |
70+
Extension Updates | Ενημερώσεις Επεκτάσεων |
71+
Author URL | URL Συγγραφέα |
72+
Out of Date | Μη Ενημερωμένο | Extension update status: has available updates
73+
Up to Date | Ενημερωμένο | Extension update status: no updates needed
74+
Update Status | Κατάσταση Ενημέρωσης |
6875
Plugin | Πρόσθετο | WordPress plugin
6976
Plugins | Πρόσθετα | WordPress plugins
7077
Theme | Θέμα | WordPress theme

languages/el-GR.ini

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2240,6 +2240,18 @@ PANOPTICON_EXTENSIONINSTALL_LBL_CMS_VERSION="Έκδοση CMS"
22402240
PANOPTICON_EXTENSIONINSTALL_LBL_PHP_VERSION="Έκδοση PHP"
22412241
PANOPTICON_EXTENSIONINSTALL_LBL_SITE_SELECT="– Ιστότοπος –"
22422242
PANOPTICON_EXTENSIONINSTALL_LBL_CMSTYPE_SELECT="– Τύπος CMS –"
2243+
PANOPTICON_EXTENSIONINSTALL_LBL_CMSVERSION_SELECT="– Έκδοση CMS –"
2244+
PANOPTICON_EXTENSIONINSTALL_LBL_PHPVERSION_SELECT="– Έκδοση PHP –"
2245+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES="Ενημερώσεις Επεκτάσεων"
2246+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_SELECT="– Κατάσταση Ενημέρωσης –"
2247+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_YES="Μη Ενημερωμένο"
2248+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_NO="Ενημερωμένο"
2249+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME="Όνομα Επέκτασης"
2250+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME_SELECT="– Όνομα Επέκτασης –"
2251+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR="Συγγραφέας Επέκτασης"
2252+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_SELECT="– Συγγραφέας –"
2253+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL="URL Συγγραφέα"
2254+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL_SELECT="– URL Συγγραφέα –"
22432255
PANOPTICON_EXTENSIONINSTALL_LBL_URL="URL Λήψης Επέκτασης"
22442256
PANOPTICON_EXTENSIONINSTALL_LBL_URL_HELP="Η άμεση διεύθυνση URL λήψης για το πακέτο επέκτασης (αρχείο ZIP). Ο απομακρυσμένος ιστότοπος θα το κατεβάσει απευθείας από αυτό το URL."
22452257
PANOPTICON_EXTENSIONINSTALL_LBL_FILE="Αρχείο Πακέτου Επέκτασης"

languages/en-GB.ini

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2097,6 +2097,18 @@ PANOPTICON_EXTENSIONINSTALL_LBL_CMS_VERSION="CMS Version"
20972097
PANOPTICON_EXTENSIONINSTALL_LBL_PHP_VERSION="PHP Version"
20982098
PANOPTICON_EXTENSIONINSTALL_LBL_SITE_SELECT="– Site –"
20992099
PANOPTICON_EXTENSIONINSTALL_LBL_CMSTYPE_SELECT="– CMS Type –"
2100+
PANOPTICON_EXTENSIONINSTALL_LBL_CMSVERSION_SELECT="– CMS Version –"
2101+
PANOPTICON_EXTENSIONINSTALL_LBL_PHPVERSION_SELECT="– PHP Version –"
2102+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES="Extension Updates"
2103+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_SELECT="– Update Status –"
2104+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_YES="Out of Date"
2105+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_NO="Up to Date"
2106+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME="Extension Name"
2107+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME_SELECT="– Extension Name –"
2108+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR="Extension Author"
2109+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_SELECT="– Author –"
2110+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL="Author URL"
2111+
PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL_SELECT="– Author URL –"
21002112
PANOPTICON_EXTENSIONINSTALL_LBL_URL="Extension Download URL"
21012113
PANOPTICON_EXTENSIONINSTALL_LBL_URL_HELP="The direct download URL for the extension package (ZIP file). The remote site will download it directly from this URL."
21022114
PANOPTICON_EXTENSIONINSTALL_LBL_FILE="Extension Package File"

languages/panopticon.pot

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9952,6 +9952,66 @@ msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_CMSTYPE_SELECT"
99529952
msgid "– CMS Type –"
99539953
msgstr ""
99549954

9955+
#, phpformat
9956+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_CMSVERSION_SELECT"
9957+
msgid "– CMS Version –"
9958+
msgstr ""
9959+
9960+
#, phpformat
9961+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_PHPVERSION_SELECT"
9962+
msgid "– PHP Version –"
9963+
msgstr ""
9964+
9965+
#, phpformat
9966+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES"
9967+
msgid "Extension Updates"
9968+
msgstr ""
9969+
9970+
#, phpformat
9971+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_SELECT"
9972+
msgid "– Update Status –"
9973+
msgstr ""
9974+
9975+
#, phpformat
9976+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_YES"
9977+
msgid "Out of Date"
9978+
msgstr ""
9979+
9980+
#, phpformat
9981+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_UPDATES_NO"
9982+
msgid "Up to Date"
9983+
msgstr ""
9984+
9985+
#, phpformat
9986+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME"
9987+
msgid "Extension Name"
9988+
msgstr ""
9989+
9990+
#, phpformat
9991+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_NAME_SELECT"
9992+
msgid "– Extension Name –"
9993+
msgstr ""
9994+
9995+
#, phpformat
9996+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR"
9997+
msgid "Extension Author"
9998+
msgstr ""
9999+
10000+
#, phpformat
10001+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_SELECT"
10002+
msgid "– Author –"
10003+
msgstr ""
10004+
10005+
#, phpformat
10006+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL"
10007+
msgid "Author URL"
10008+
msgstr ""
10009+
10010+
#, phpformat
10011+
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_EXT_AUTHOR_URL_SELECT"
10012+
msgid "– Author URL –"
10013+
msgstr ""
10014+
995510015
#, phpformat
995610016
msgctxt "PANOPTICON_EXTENSIONINSTALL_LBL_URL"
995710017
msgid "Extension Download URL"

media/js/extensioninstall.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,14 @@
164164
// Clear the stored selection after submitting
165165
localStorage.removeItem(STORAGE_KEY);
166166

167+
// Set task to review before submitting (form default is 'main' for filter submissions)
168+
const taskField = document.getElementById("task");
169+
170+
if (taskField)
171+
{
172+
taskField.value = "review";
173+
}
174+
167175
document.getElementById("adminForm").submit();
168176
};
169177

media/js/extensioninstall.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)