Skip to content

Commit 7aa9eb5

Browse files
authored
[5.4] Upmerge 2025-05-20 joomla#45499
2 parents b7a1380 + ba6a92f commit 7aa9eb5

File tree

9 files changed

+115
-87
lines changed

9 files changed

+115
-87
lines changed

administrator/components/com_media/resources/scripts/components/infobar/infobar.vue

Lines changed: 51 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,64 +4,67 @@
44
v-if="showInfoBar && item"
55
class="media-infobar"
66
>
7-
<span
8-
class="infobar-close"
9-
@click="hideInfoBar()"
10-
>×</span>
11-
<h2>{{ item.name }}</h2>
12-
<div
13-
v-if="item.path === '/'"
14-
class="text-center"
15-
>
16-
<span class="icon-file placeholder-icon" />
17-
Select file or folder to view its details.
18-
</div>
19-
<dl v-else>
20-
<dt>{{ translate('COM_MEDIA_FOLDER') }}</dt>
21-
<dd>{{ item.directory }}</dd>
7+
<div class="media-infobar-inner">
8+
<span
9+
class="infobar-close"
10+
@click="hideInfoBar()"
11+
>×</span>
12+
<h2>{{ item.name }}</h2>
13+
<div
14+
v-if="item.path === '/'"
15+
class="text-center"
16+
>
17+
<span class="icon-file placeholder-icon" />
18+
Select file or folder to view its details.
19+
</div>
20+
<dl v-else>
21+
<dt>{{ translate('COM_MEDIA_FOLDER') }}</dt>
22+
<dd>{{ item.directory }}</dd>
2223

23-
<dt>{{ translate('COM_MEDIA_MEDIA_TYPE') }}</dt>
24-
<dd v-if="item.type === 'file'">
25-
{{ translate('COM_MEDIA_FILE') }}
26-
</dd>
27-
<dd v-else-if="item.type === 'dir'">
28-
{{ translate('COM_MEDIA_FOLDER') }}
29-
</dd>
30-
<dd v-else>
31-
-
32-
</dd>
24+
<dt>{{ translate('COM_MEDIA_MEDIA_TYPE') }}</dt>
25+
<dd v-if="item.type === 'file'">
26+
{{ translate('COM_MEDIA_FILE') }}
27+
</dd>
28+
<dd v-else-if="item.type === 'dir'">
29+
{{ translate('COM_MEDIA_FOLDER') }}
30+
</dd>
31+
<dd v-else>
32+
-
33+
</dd>
3334

34-
<dt>{{ translate('COM_MEDIA_MEDIA_DATE_CREATED') }}</dt>
35-
<dd>{{ item.create_date_formatted }}</dd>
35+
<dt>{{ translate('COM_MEDIA_MEDIA_DATE_CREATED') }}</dt>
36+
<dd>{{ item.create_date_formatted }}</dd>
3637

37-
<dt>{{ translate('COM_MEDIA_MEDIA_DATE_MODIFIED') }}</dt>
38-
<dd>{{ item.modified_date_formatted }}</dd>
38+
<dt>{{ translate('COM_MEDIA_MEDIA_DATE_MODIFIED') }}</dt>
39+
<dd>{{ item.modified_date_formatted }}</dd>
3940

40-
<dt>{{ translate('COM_MEDIA_MEDIA_DIMENSION') }}</dt>
41-
<dd v-if="item.width || item.height">
42-
{{ item.width }}px * {{ item.height }}px
43-
</dd>
44-
<dd v-else>
45-
-
46-
</dd>
41+
<dt>{{ translate('COM_MEDIA_MEDIA_DIMENSION') }}</dt>
42+
<dd v-if="item.width || item.height">
43+
{{ item.width }}px * {{ item.height }}px
44+
</dd>
45+
<dd v-else>
46+
-
47+
</dd>
4748

48-
<dt>{{ translate('COM_MEDIA_MEDIA_SIZE') }}</dt>
49-
<dd v-if="item.size">
50-
{{ (item.size / 1024).toFixed(2) }} KB
51-
</dd>
52-
<dd v-else>
53-
-
54-
</dd>
49+
<dt>{{ translate('COM_MEDIA_MEDIA_SIZE') }}</dt>
50+
<dd v-if="item.size">
51+
{{ (item.size / 1024).toFixed(2) }} KB
52+
</dd>
53+
<dd v-else>
54+
-
55+
</dd>
5556

56-
<dt>{{ translate('COM_MEDIA_MEDIA_MIME_TYPE') }}</dt>
57-
<dd>{{ item.mime_type }}</dd>
57+
<dt>{{ translate('COM_MEDIA_MEDIA_MIME_TYPE') }}</dt>
58+
<dd>{{ item.mime_type }}</dd>
5859

59-
<dt>{{ translate('COM_MEDIA_MEDIA_EXTENSION') }}</dt>
60-
<dd>{{ item.extension || '-' }}</dd>
61-
</dl>
60+
<dt>{{ translate('COM_MEDIA_MEDIA_EXTENSION') }}</dt>
61+
<dd>{{ item.extension || '-' }}</dd>
62+
</dl>
63+
</div>
6264
</div>
6365
</transition>
6466
</template>
67+
6568
<script>
6669
import * as types from '../../store/mutation-types.es6';
6770

administrator/components/com_media/resources/scripts/components/tree/disk.vue

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
<template>
22
<div class="media-disk">
3-
<h2
4-
:id="diskId"
5-
class="media-disk-name"
6-
>
7-
{{ disk.displayName }}
8-
</h2>
9-
<MediaDrive
10-
v-for="(drive, index) in disk.drives"
11-
:key="index"
12-
:disk-id="diskId"
13-
:counter="index"
14-
:drive="drive"
15-
:total="disk.drives.length"
16-
/>
3+
<details open>
4+
<summary>
5+
<h2
6+
:id="diskId"
7+
class="media-disk-name"
8+
>
9+
{{ disk.displayName }}
10+
</h2>
11+
</summary>
12+
<MediaDrive
13+
v-for="(drive, index) in disk.drives"
14+
:key="index"
15+
:disk-id="diskId"
16+
:counter="index"
17+
:drive="drive"
18+
:total="disk.drives.length"
19+
/>
20+
</details>
1721
</div>
1822
</template>
1923

administrator/manifests/libraries/phpass.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<authorEmail>[email protected]</authorEmail>
99
<authorUrl>https://www.openwall.com/phpass/</authorUrl>
1010
<license>PD / GWC</license>
11-
<version>0.3</version>
11+
<version>0.5.1</version>
1212
<packagerurl>https://www.openwall.com/phpass/</packagerurl>
1313

1414
<files folder="phpass">

build/media_source/com_media/scss/components/_layout.scss

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545
}
4646

4747
.media-sidebar {
48-
flex: 0 0 280px;
48+
flex: 1 1 300px;
4949
padding: 1rem;
50+
@media (min-width: 768px) {
51+
position: sticky;
52+
top: 75px;
53+
align-self: flex-start;
54+
max-width: 300px;
55+
}
5056
}

build/media_source/com_media/scss/components/_media-infobar.scss

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ $fa-css-prefix: fa;
66
top: 0;
77
inset-inline-end: 0;
88
bottom: 0;
9-
z-index: 4;
109
float: none;
1110
width: 25%;
12-
padding: $gutter-width;
13-
overflow-y: auto;
1411
background-color: $info-bg;
15-
border-inline-start: 1px solid $border-color;
12+
.media-infobar-inner {
13+
position: sticky;
14+
top: 120px;
15+
padding: $gutter-width;
16+
}
1617
h2 {
1718
padding-block-start: 8px;
1819
padding-block-end: 8px;
1920
padding-inline-start: ($gutter-width - 5px);
20-
padding-inline-end: ($gutter-width + 15px);
21+
padding-inline-end: ($gutter-width + 20px);
2122
margin: (-$gutter-width) (-$gutter-width) $gutter-width;
2223
font-weight: normal;
2324
word-wrap: break-word;

build/media_source/com_media/scss/components/_media-tree.scss

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,24 @@ ul.media-tree {
1414
}
1515

1616
.media-disk {
17-
position: sticky;
18-
top: 75px;
19-
left: 0;
17+
inset-inline-start: 0;
2018
display: block;
21-
margin-bottom: 10px;
19+
margin-block-end: 10px;
20+
> details {
21+
margin: initial;
22+
h2 {
23+
margin-block-end: 0;
24+
display: inline-block;
25+
}
26+
summary ~ * {
27+
margin-block-start: 0;
28+
}
29+
}
2230
}
2331

2432
.media-drive {
25-
overflow-x: auto;
33+
max-height: 75vh;
34+
overflow: auto;
2635
background-color: $sidebar-drive-bg;
2736
border: 1px solid $border-color;
2837
+ .media-drive {
@@ -84,22 +93,30 @@ ul.media-tree {
8493
&::after {
8594
content: none;
8695
}
87-
&:hover {
96+
&:hover,
97+
&:focus-visible {
8898
cursor: pointer;
8999
}
90100
}
91101

92102
.media-tree-item a {
93103
display: block;
94104
padding: 0 7px;
105+
overflow: hidden;
95106
line-height: $sidebar-tree-line-height;
96107
text-decoration: none;
108+
text-overflow: ellipsis;
97109
white-space: nowrap;
98110
cursor: pointer;
111+
&:hover,
112+
&:focus-visible {
113+
background-color: $sidebar-tree-item-hover-bg;
114+
}
99115
}
100116

101117
.media-tree-item.active > a {
102-
&:hover {
118+
&:hover,
119+
&:focus-visible {
103120
text-decoration: none;
104121
background-color: $sidebar-tree-item-hover-bg;
105122
}
@@ -119,11 +136,7 @@ ul.media-tree {
119136
}
120137

121138
.item-name {
122-
display: inline-block;
123-
overflow: hidden;
124139
font-size: .9em;
125-
text-overflow: ellipsis;
126-
white-space: nowrap;
127140
vertical-align: middle;
128141
}
129142

build/media_source/system/js/fields/calendar.es5.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,11 @@
653653
}
654654
this.firstdayname = (this.params.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
655655

656+
// Check if the direction is 'rtl' and reverse the shortDays array if true
657+
if (this.params.direction === 'rtl') {
658+
this.strings.shortDays.reverse();
659+
}
660+
656661
var fdow = this.params.firstDayOfWeek,
657662
cell = this.firstdayname,
658663
weekend = this.params.weekend;

installation/tmpl/remove/default.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ class="form-check-input"
192192
<?php endif; ?>
193193
<?php if ($this->development) : ?>
194194
<div id="removeInstallationTab" class="flex-column">
195-
<p><?php echo Text::_('INSTL_SITE_DEVMODE_LABEL'); ?></p>
195+
<p class="alert alert-info text-center"><?php echo Text::_('INSTL_SITE_DEVMODE_LABEL'); ?></p>
196196
<button id="removeInstallationFolder" class="btn btn-danger w-100"><?php echo Text::sprintf('INSTL_COMPLETE_REMOVE_FOLDER', 'installation'); ?></button>
197197
</div>
198198
<?php endif; ?>

libraries/phpass/PasswordHash.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Portable PHP password hashing framework.
44
#
5-
# Version 0.5 / genuine.
5+
# Version 0.5.1 / Joomla Project.
66
#
77
# Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in
88
# the public domain. Revised in subsequent years, still public domain.
@@ -216,11 +216,7 @@ function CheckPassword($password, $stored_hash)
216216
if ($hash[0] === '*')
217217
$hash = crypt($password, $stored_hash);
218218

219-
# This is not constant-time. In order to keep the code simple,
220-
# for timing safety we currently rely on the salts being
221-
# unpredictable, which they are at least in the non-fallback
222-
# cases (that is, when we use /dev/urandom and bcrypt).
223-
return $hash === $stored_hash;
219+
return hash_equals($hash, $stored_hash);
224220
}
225221
}
226222

0 commit comments

Comments
 (0)