diff --git a/administrator/components/com_media/resources/scripts/components/browser/browser.vue b/administrator/components/com_media/resources/scripts/components/browser/browser.vue index 03418317072c4..8b9866ef2e768 100644 --- a/administrator/components/com_media/resources/scripts/components/browser/browser.vue +++ b/administrator/components/com_media/resources/scripts/components/browser/browser.vue @@ -18,8 +18,8 @@
  • {{ translate('COM_MEDIA_MEDIA_NAME') }}
  • {{ translate('COM_MEDIA_MEDIA_SIZE') }}
  • {{ translate('COM_MEDIA_MEDIA_DIMENSION') }}
  • -
  • {{ translate('COM_MEDIA_MEDIA_CREATED_AT') }}
  • -
  • {{ translate('COM_MEDIA_MEDIA_MODIFIED_AT') }}
  • +
  • {{ translate('COM_MEDIA_MEDIA_DATE_CREATED') }}
  • +
  • {{ translate('COM_MEDIA_MEDIA_DATE_MODIFIED') }}
  • diff --git a/administrator/components/com_media/resources/scripts/components/infobar/infobar.vue b/administrator/components/com_media/resources/scripts/components/infobar/infobar.vue index e0af862215f64..4d9959292335d 100644 --- a/administrator/components/com_media/resources/scripts/components/infobar/infobar.vue +++ b/administrator/components/com_media/resources/scripts/components/infobar/infobar.vue @@ -14,10 +14,10 @@
    {{ translate('COM_MEDIA_MEDIA_TYPE') }}
    {{ item.type || '-' }}
    -
    {{ translate('COM_MEDIA_MEDIA_CREATED_AT') }}
    +
    {{ translate('COM_MEDIA_MEDIA_DATE_CREATED') }}
    {{ item.create_date_formatted }}
    -
    {{ translate('COM_MEDIA_MEDIA_MODIFIED_AT') }}
    +
    {{ translate('COM_MEDIA_MEDIA_DATE_MODIFIED') }}
    {{ item.modified_date_formatted }}
    {{ translate('COM_MEDIA_MEDIA_DIMENSION') }}
    diff --git a/administrator/components/com_media/resources/styles/components/_media-breadcrumb.scss b/administrator/components/com_media/resources/styles/components/_media-breadcrumb.scss index 73adff045494b..07b4389f02971 100644 --- a/administrator/components/com_media/resources/styles/components/_media-breadcrumb.scss +++ b/administrator/components/com_media/resources/styles/components/_media-breadcrumb.scss @@ -64,3 +64,32 @@ .breadcrumb-item + .breadcrumb-item::before { display: none; } + +/* RTL override */ + +html[dir=rtl] .media-breadcrumb { + margin: 0 0 0 auto; +} + +html[dir=rtl] .media-breadcrumb-item::after, .media-breadcrumb-item::before { + right: 100%; + border-right: 10px solid transparent; + border-left: 0; +} + +html[dir=rtl] .media-breadcrumb-item { + padding: 0 22px 0 8px; +} + +html[dir=rtl] .media-breadcrumb-item::before { + border-right-color: #fafafa; +} + +html[dir=rtl] .media-breadcrumb-item:first-of-type { + padding-right: 16px; + padding-left: 0; +} + +html[dir=rtl] .media-breadcrumb-item:last-of-type::after { + border-right: 10px solid #fff; +} diff --git a/administrator/components/com_media/resources/styles/components/_media-infobar.scss b/administrator/components/com_media/resources/styles/components/_media-infobar.scss index 92e4ee221465a..444d3f7dd8712 100644 --- a/administrator/components/com_media/resources/styles/components/_media-infobar.scss +++ b/administrator/components/com_media/resources/styles/components/_media-infobar.scss @@ -11,7 +11,7 @@ background-color: $info-bg; border-left: 1px solid $border-color; h2 { - padding: 10px ($gutter-width + 30px) 10px $gutter-width; + padding: 20px ($gutter-width + 15px) 10px ($gutter-width - 5px); margin: (-$gutter-width) (-$gutter-width) $gutter-width; font-weight: normal; line-height: $info-title-height; @@ -66,3 +66,24 @@ border: 2px solid #ccc; border-radius: 50%; } + +/* RTL override */ + +html[dir=rtl] .media-infobar { + left: 0; + right: auto; +} + +html[dir=rtl] .infobar-close { + left: 0; + right: auto; +} + +html[dir=rtl] .media-infobar dd { + margin-right: 0; + margin-left: auto; + direction: ltr; +} +html[dir=rtl] .media-infobar h2 { + padding: 20px $gutter-width 10px 0; +} diff --git a/administrator/components/com_media/resources/styles/components/_media-tree.scss b/administrator/components/com_media/resources/styles/components/_media-tree.scss index 29011e90cecb8..ecef74311c2e5 100644 --- a/administrator/components/com_media/resources/styles/components/_media-tree.scss +++ b/administrator/components/com_media/resources/styles/components/_media-tree.scss @@ -127,6 +127,35 @@ ul.media-tree { vertical-align: middle; } +/* RTL override */ + .media-tree-item.active > a .item-name { font-weight: bold; } + +html[dir=rtl] .media-tree-item::after, .media-tree-item::before { + left: 0; + right: 15px; +} + +html[dir=rtl] .media-tree-item::before { + margin: 0; +} + +html[dir=rtl] .media-browser-table .dimension, .media-browser-table .size { + direction: ltr; +} + +html[dir=rtl] .media-browser-table .created, .media-browser-table .modified { + direction: ltr; +} + +html[dir=rtl] .media-tree-item .item-icon { + padding-left: 2px; + padding-right: 24px; +} + +html[dir=rtl] ul.media-tree ul { + margin-right: 24px; +} + diff --git a/administrator/components/com_media/tmpl/media/default_texts.php b/administrator/components/com_media/tmpl/media/default_texts.php index 3da68744e7ef6..d0924d465b6c4 100644 --- a/administrator/components/com_media/tmpl/media/default_texts.php +++ b/administrator/components/com_media/tmpl/media/default_texts.php @@ -10,31 +10,34 @@ use Joomla\CMS\Language\Text; -Text::script('COM_MEDIA_ACTION_RENAME', true); Text::script('COM_MEDIA_ACTION_DELETE', true); Text::script('COM_MEDIA_ACTION_EDIT', true); Text::script('COM_MEDIA_ACTION_PREVIEW', true); +Text::script('COM_MEDIA_ACTION_RENAME', true); +Text::script('COM_MEDIA_ACTION_SHARE', true); +Text::script('COM_MEDIA_BREADCRUMB_LABEL', true); +Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL', true); +Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL_DESC', true); +Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL_HEADING', true); Text::script('COM_MEDIA_CREATE_NEW_FOLDER', true); -Text::script('COM_MEDIA_CREATE_NEW_FOLDER_SUCCESS', true); Text::script('COM_MEDIA_CREATE_NEW_FOLDER_ERROR', true); +Text::script('COM_MEDIA_CREATE_NEW_FOLDER_SUCCESS', true); Text::script('COM_MEDIA_DECREASE_GRID', true); Text::script('COM_MEDIA_DELETE_ERROR', true); Text::script('COM_MEDIA_DELETE_SUCCESS', true); -Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL_DESC', true); -Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL_HEADING', true); -Text::script('COM_MEDIA_CONFIRM_DELETE_MODEL', true); Text::script('COM_MEDIA_ERROR', true); Text::script('COM_MEDIA_ERROR_NOT_AUTHENTICATED', true); Text::script('COM_MEDIA_ERROR_NOT_AUTHORIZED', true); Text::script('COM_MEDIA_ERROR_NOT_FOUND', true); +Text::script('COM_MEDIA_FILE_EXISTS_AND_OVERRIDE', true); Text::script('COM_MEDIA_FOLDER', true); Text::script('COM_MEDIA_FOLDER_NAME', true); Text::script('COM_MEDIA_INCREASE_GRID', true); -Text::script('COM_MEDIA_MEDIA_CREATED_AT', true); +Text::script('COM_MEDIA_MEDIA_DATE_CREATED', true); +Text::script('COM_MEDIA_MEDIA_DATE_MODIFIED', true); Text::script('COM_MEDIA_MEDIA_DIMENSION', true); Text::script('COM_MEDIA_MEDIA_EXTENSION', true); Text::script('COM_MEDIA_MEDIA_MIME_TYPE', true); -Text::script('COM_MEDIA_MEDIA_MODIFIED_AT', true); Text::script('COM_MEDIA_MEDIA_NAME', true); Text::script('COM_MEDIA_MEDIA_SIZE', true); Text::script('COM_MEDIA_MEDIA_TYPE', true); @@ -47,18 +50,15 @@ Text::script('COM_MEDIA_SEARCH', true); Text::script('COM_MEDIA_SELECT_ALL', true); Text::script('COM_MEDIA_SERVER_ERROR', true); +Text::script('COM_MEDIA_SHARE', true); +Text::script('COM_MEDIA_SHARE_COPY_FAILED_ERROR', true); +Text::script('COM_MEDIA_SHARE_DESC', true); Text::script('COM_MEDIA_TOGGLE_INFO', true); Text::script('COM_MEDIA_TOGGLE_LIST_VIEW', true); Text::script('COM_MEDIA_TOGGLE_SELECT_ITEM', true); +Text::script('COM_MEDIA_TOOLBAR_LABEL', true); Text::script('COM_MEDIA_UPLOAD_SUCCESS', true); -Text::script('JCANCEL', true); -Text::script('JAPPLY', true); Text::script('JACTION_CREATE', true); +Text::script('JAPPLY', true); +Text::script('JCANCEL', true); Text::script('JLIB_FORM_FIELD_REQUIRED_VALUE', true); -Text::script('COM_MEDIA_FILE_EXISTS_AND_OVERRIDE', true); -Text::script('COM_MEDIA_SHARE', true); -Text::script('COM_MEDIA_SHARE_DESC', true); -Text::script('COM_MEDIA_ACTION_SHARE', true); -Text::script('COM_MEDIA_SHARE_COPY_FAILED_ERROR', true); -Text::script('COM_MEDIA_TOOLBAR_LABEL', true); -Text::script('COM_MEDIA_BREADCRUMB_LABEL', true); diff --git a/administrator/language/en-GB/en-GB.com_media.ini b/administrator/language/en-GB/en-GB.com_media.ini index dfeee59cc910b..2aadde293c68c 100644 --- a/administrator/language/en-GB/en-GB.com_media.ini +++ b/administrator/language/en-GB/en-GB.com_media.ini @@ -11,12 +11,12 @@ COM_MEDIA_ACTION_RENAME="Rename item" COM_MEDIA_ACTION_SHARE="Get a sharable link" COM_MEDIA_BREADCRUMB_LABEL="Breadcrumb" COM_MEDIA_CONFIGURATION="Media: Options" +COM_MEDIA_CONFIRM_DELETE_MODEL="Delete" COM_MEDIA_CONFIRM_DELETE_MODEL_DESC="Are you sure you want to delete this item?" COM_MEDIA_CONFIRM_DELETE_MODEL_HEADING="Confirm Delete" -COM_MEDIA_CONFIRM_DELETE_MODEL="Delete" COM_MEDIA_CREATE_NEW_FOLDER="Create New Folder" -COM_MEDIA_CREATE_NEW_FOLDER_SUCCESS="Folder created." COM_MEDIA_CREATE_NEW_FOLDER_ERROR="Error creating folder." +COM_MEDIA_CREATE_NEW_FOLDER_SUCCESS="Folder created." COM_MEDIA_DECREASE_GRID="Decrease grid size" COM_MEDIA_DELETE_ERROR="Error deleting the item." COM_MEDIA_DELETE_SUCCESS="Item deleted." @@ -52,11 +52,12 @@ COM_MEDIA_FOLDER="Folder" COM_MEDIA_FOLDER_NAME="Folder Name" COM_MEDIA_FOLDERS="Media Folders" COM_MEDIA_FOLDERS_PATH_LABEL="Warning! Path Folder
    Changing the 'Path to files folder' from the default of 'images' may break your links.
    The 'Path to images' folder has to be the same or a subfolder of 'Path to files'." -COM_MEDIA_MEDIA_CREATED_AT="Created at" +COM_MEDIA_INCREASE_GRID="Increase grid size" +COM_MEDIA_MEDIA_DATE_CREATED="Date created" +COM_MEDIA_MEDIA_DATE_MODIFIED="Date modified" COM_MEDIA_MEDIA_DIMENSION="Dimensions" COM_MEDIA_MEDIA_EXTENSION="Extension" COM_MEDIA_MEDIA_MIME_TYPE="MIME Type" -COM_MEDIA_MEDIA_MODIFIED_AT="Modified at" COM_MEDIA_MEDIA_NAME="Name" COM_MEDIA_MEDIA_SIZE="Size" COM_MEDIA_MEDIA_TYPE="Type" @@ -71,8 +72,8 @@ COM_MEDIA_SEARCH="Search..." COM_MEDIA_SELECT_ALL="Toggle select all" COM_MEDIA_SERVER_ERROR="Internal server error" COM_MEDIA_SHARE="Share the file" -COM_MEDIA_SHARE_DESC="Share the file with others. Anyone with link can view the file" COM_MEDIA_SHARE_COPY_FAILED_ERROR="Error copying to clipboard" +COM_MEDIA_SHARE_DESC="Share the file with others. Anyone with link can view the file" COM_MEDIA_TOGGLE_INFO="Toggle item info" COM_MEDIA_TOGGLE_LIST_VIEW="Toggle between grid and table views" COM_MEDIA_TOGGLE_SELECT_ITEM="Toggle select item" diff --git a/language/en-GB/en-GB.com_media.ini b/language/en-GB/en-GB.com_media.ini index 8b7963dd51fad..8cd38350edd7d 100644 --- a/language/en-GB/en-GB.com_media.ini +++ b/language/en-GB/en-GB.com_media.ini @@ -3,6 +3,7 @@ ; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php ; Note : All ini files need to be saved as UTF-8 +COM_MEDIA="Media" COM_MEDIA_ACTION_DELETE="Delete item" COM_MEDIA_ACTION_EDIT="Edit item" COM_MEDIA_ACTION_PREVIEW="Preview item" @@ -10,22 +11,35 @@ COM_MEDIA_ACTION_RENAME="Rename item" COM_MEDIA_ACTION_SHARE="Get a sharable link" COM_MEDIA_ALIGN="Image Float" COM_MEDIA_ALIGN_DESC="This will apply the classes 'float-left', 'pull-center' or 'float-right' to the '
    ' or '' element." +COM_MEDIA_BREADCRUMB_LABEL="Breadcrumb" COM_MEDIA_BROWSE_FILES="Browse Files" COM_MEDIA_CAPTION="Caption" COM_MEDIA_CAPTION_CLASS_DESC="This will apply the entered class to the '
    ' element. For example: 'text-left', 'text-right', 'text-center'." COM_MEDIA_CAPTION_CLASS_LABEL="Caption Class" COM_MEDIA_CLEAR_LIST="Clear List" COM_MEDIA_CONFIGURATION="Media: Options" +COM_MEDIA_CONFIRM_DELETE_MODEL="Delete" +COM_MEDIA_CONFIRM_DELETE_MODEL_DESC="Are you sure you want to delete this item?" +COM_MEDIA_CONFIRM_DELETE_MODEL_HEADING="Confirm Delete" COM_MEDIA_CREATE_FOLDER="Create Folder" +COM_MEDIA_CREATE_NEW_FOLDER="Create New Folder" +COM_MEDIA_CREATE_NEW_FOLDER_ERROR="Error creating folder." +COM_MEDIA_CREATE_NEW_FOLDER_SUCCESS="Folder created." COM_MEDIA_CURRENT_PROGRESS="Current progress" COM_MEDIA_DECREASE_GRID="Decrease grid size" +COM_MEDIA_DELETE_ERROR="Error deleting the item." +COM_MEDIA_DELETE_SUCCESS="Item deleted." COM_MEDIA_DESCFTP="To upload, change and delete media files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below." COM_MEDIA_DESCFTPTITLE="FTP Login Details" COM_MEDIA_DETAIL_VIEW="Detail View" COM_MEDIA_DIRECTORY="Folder" COM_MEDIA_DIRECTORY_UP="Folder Up" +COM_MEDIA_ERROR="An error occurred." COM_MEDIA_ERROR_BAD_REQUEST="Bad Request" COM_MEDIA_ERROR_FILE_EXISTS="File already exists." +COM_MEDIA_ERROR_NOT_AUTHENTICATED="You are not authenticated. Please login." +COM_MEDIA_ERROR_NOT_AUTHORIZED="You are not authorized" +COM_MEDIA_ERROR_NOT_FOUND="File or Folder not found" COM_MEDIA_ERROR_UNABLE_TO_BROWSE_FOLDER_WARNDIRNAME="Unable to browse: %s. Folder name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_CREATE_FOLDER_WARNDIRNAME="Unable to create folder. Folder name must only have alphanumeric characters and no spaces." COM_MEDIA_ERROR_UNABLE_TO_DELETE="Unable to delete: " @@ -55,34 +69,54 @@ COM_MEDIA_FIELD_PATH_IMAGE_FOLDER_DESC="Enter the path to the image folder relat COM_MEDIA_FIELD_PATH_IMAGE_FOLDER_LABEL="Path to Image Folder" COM_MEDIA_FIELD_RESTRICT_UPLOADS_DESC="Restrict uploads for lower than manager users to images if Fileinfo or MIME Magic isn't installed." COM_MEDIA_FIELD_RESTRICT_UPLOADS_LABEL="Restrict Uploads" +COM_MEDIA_FILE_EXISTS_AND_OVERRIDE="%s already exists. Do you want to replace it?" COM_MEDIA_FILES="Files" COM_MEDIA_FILESIZE="File size" COM_MEDIA_FOLDER="Folder" +COM_MEDIA_FOLDER_NAME="Folder Name" COM_MEDIA_FOLDERS="Folders" COM_MEDIA_IMAGE_DESCRIPTION="Image Description" COM_MEDIA_IMAGE_URL="Image URL" COM_MEDIA_INCREASE_GRID="Increase grid size" +COM_MEDIA_INCREASE_GRID="Increase grid size" COM_MEDIA_INSERT="Insert" COM_MEDIA_INSERT_IMAGE="Insert Image" COM_MEDIA_MAXIMUM_SIZE="Maximum Size" COM_MEDIA_MEDIA="Media" +COM_MEDIA_MEDIA_DATE_CREATED="Date created" +COM_MEDIA_MEDIA_DATE_MODIFIED="Date modified" +COM_MEDIA_MEDIA_DIMENSION="Dimensions" +COM_MEDIA_MEDIA_EXTENSION="Extension" +COM_MEDIA_MEDIA_MIME_TYPE="MIME Type" +COM_MEDIA_MEDIA_NAME="Name" +COM_MEDIA_MEDIA_SIZE="Size" +COM_MEDIA_MEDIA_TYPE="Type" COM_MEDIA_NAME="Image Name" COM_MEDIA_NO_IMAGES_FOUND="No Images Found" COM_MEDIA_NOT_SET="Not Set" COM_MEDIA_OPEN_ITEM_ACTIONS="Open item actions" COM_MEDIA_OVERALL_PROGRESS="Overall Progress" COM_MEDIA_PIXEL_DIMENSIONS="Pixel Dimensions (w x h)" +COM_MEDIA_PLEASE_SELECT_ITEM="Please select item." +COM_MEDIA_RENAME="Rename" +COM_MEDIA_RENAME_ERROR="Error renaming item." +COM_MEDIA_RENAME_SUCCESS="Item renamed." +COM_MEDIA_SEARCH="Search..." COM_MEDIA_SELECT_ALL="Toggle select all" +COM_MEDIA_SERVER_ERROR="Internal server error" +COM_MEDIA_SHARE="Share the file" +COM_MEDIA_SHARE_COPY_FAILED_ERROR="Error copying to clipboard" +COM_MEDIA_SHARE_DESC="Share the file with others. Anyone with link can view the file" COM_MEDIA_START_UPLOAD="Start Upload" COM_MEDIA_THUMBNAIL_VIEW="Thumbnail View" COM_MEDIA_TITLE="Image Title" COM_MEDIA_TOGGLE_INFO="Toggle item info" COM_MEDIA_TOGGLE_LIST_VIEW="Toggle between grid and table views" COM_MEDIA_TOGGLE_SELECT_ITEM="Toggle select item" +COM_MEDIA_TOOLBAR_LABEL="Media Manager" COM_MEDIA_UP="Up" COM_MEDIA_UPLOAD="Upload" COM_MEDIA_UPLOAD_COMPLETE="Upload Complete" COM_MEDIA_UPLOAD_FILE="Upload file" +COM_MEDIA_UPLOAD_SUCCESS="Item uploaded." COM_MEDIA_UPLOAD_SUCCESSFUL="Upload Successful" -COM_MEDIA_SHARE="Share the file" -COM_MEDIA_SHARE_DESC="Share the file with others. Anyone with link can view the file" diff --git a/plugins/filesystem/local/Adapter/LocalAdapter.php b/plugins/filesystem/local/Adapter/LocalAdapter.php index 58c9fd985b09c..bb58f5862a1fc 100644 --- a/plugins/filesystem/local/Adapter/LocalAdapter.php +++ b/plugins/filesystem/local/Adapter/LocalAdapter.php @@ -17,6 +17,7 @@ use Joomla\CMS\Filesystem\Folder; use Joomla\CMS\Filesystem\Path; use Joomla\CMS\Helper\MediaHelper; +use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\String\PunycodeHelper; use Joomla\CMS\Uri\Uri; @@ -344,9 +345,9 @@ private function getPathInformation(string $path): \stdClass // Dates $obj->create_date = $createDate->format('c', true); - $obj->create_date_formatted = $createDate->format(Text::_('DATE_FORMAT_LC5'), true); + $obj->create_date_formatted = HTMLHelper::_('date', $createDate, Text::_('DATE_FORMAT_LC5')); $obj->modified_date = $modifiedDate->format('c', true); - $obj->modified_date_formatted = $modifiedDate->format(Text::_('DATE_FORMAT_LC5'), true); + $obj->modified_date_formatted = HTMLHelper::_('date', $modifiedDate, Text::_('DATE_FORMAT_LC5')); if (MediaHelper::isImage($obj->name)) {