Skip to content

Commit

Permalink
Merge pull request #98 from JLTRY/master
Browse files Browse the repository at this point in the history
Make filename safe adapt PR #23
  • Loading branch information
JLTRY authored Dec 31, 2024
2 parents 84e3e92 + 6880256 commit ec39eef
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 4 deletions.
6 changes: 6 additions & 0 deletions attachments_component/admin/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,12 @@
label="ATTACH_FORBIDDEN_FILENAME_CHARACTERS" size="40"
description="ATTACH_FORBIDDEN_FILENAME_CHARACTERS_DESCRIPTION">
</field>
<field name="sanitize_filename_characters" type="radio" default="0" layout="joomla.form.field.radio.switcher"
label="ATTACH_SANITIZE_FILENAME"
description="ATTACH_SANITIZE_FILENAME_DESCRIPTION">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="attachments_table_style" type="text" default="attachmentsList"
label="ATTACH_CSS_STYLE_FOR_ATTACHMENTS_TABLES" size="40"
description="ATTACH_CSS_STYLE_FOR_ATTACHMENTS_TABLES_DESCRIPTION">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,8 @@ ATTACH_RELATIVE_URL_TOOLTIP="Επιλέξτε αυτό το κουτί για ν
ATTACH_RESET="Επαναφορά"
ATTACH_RESET_ORDER="Επαναφορά Ταξινόμησης"
ATTACH_SAVE="Αποθήκευση"
ATTACH_SANITIZE_FILENAME="Εκκαθάριση Ονόματος Αρχείου"
ATTACH_SANITIZE_FILENAME_DESCRIPTION="Εκκαθάριση Ονόματος Αρχείου : αφαιρεί τους ειδικούς χαρακτήρες"
ATTACH_SECURE_ATTACHMENT_DOWNLOADS="Ασφαλείς λήψεις συνημμένων"
ATTACH_SECURE_ATTACHMENT_DOWNLOADS_DESCRIPTION="Χρησιμοποιήστε ασφαλείς λήψεις συνημμένων. Όταν χρησιμοποιούνται ασφαλείς λήψεις, μόνο οι χρήστες με κατάλληλα δικαιώματα θα μπορούν να κατεβάσουν τα συνημμένα. Σημείωση: Σε 'ασφαλή' λειτουργία, η λίστα συνημμένων δεν εμφανίζεται όταν ο χρήστης δεν έχει συνδεθεί (εκτός αν η επιλογή 'Εμφάνιση συνημμένων σε ασφαλή κατάσταση' έχει οριστεί σε 'Ναι')."
ATTACH_SELECT_ENTITY_S="Επιλέξτε %s"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,8 @@ ATTACH_RELATIVE_URL_TOOLTIP="Check this box to enter a URL relative to this Joom
ATTACH_RESET="Reset"
ATTACH_RESET_ORDER="Reset Order"
ATTACH_SAVE="Save"
ATTACH_SANITIZE_FILENAME="Sanitize FileName"
ATTACH_SANITIZE_FILENAME_DESCRIPTION="Sanitize FileName : removes special characters "
ATTACH_SECURE_ATTACHMENT_DOWNLOADS="Secure attachment downloads"
ATTACH_SECURE_ATTACHMENT_DOWNLOADS_DESCRIPTION="Use secure attachment downloads. When secure downloads are used, only users with appropriate permissions will be able to download the attachments. Note: In 'secure' mode, the attachments list is not displayed when the user is not logged in (unless the 'List attachments in secure mode' option is set to 'True')."
ATTACH_SELECT_ENTITY_S="Select %s"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ ATTACH_RELATIVE_URL_TOOLTIP="Cochez cette case pour entrer une adresse relative
ATTACH_RESET="Réinitialiser"
ATTACH_RESET_ORDER="Réinitialiser l'ordre"
ATTACH_SAVE="Enregistrer"
ATTACH_SANITIZE_FILENAME="Nettoie les noms des fichiers"
ATTACH_SANITIZE_FILENAME_DESCRIPTION="Nettoie les noms des fichiers : enlève les caractèrer speciaux"
ATTACH_SECURE_ATTACHMENT_DOWNLOADS="Téléchargement de pièces jointes sécurisé"
ATTACH_SECURE_ATTACHMENT_DOWNLOADS_DESCRIPTION="Utilise le téléchargement de pièces jointes sécurisé. Quand les téléchargements sécurisés sont utilisés, seuls les utilisateurs avec les permissions appropriées peuvent télécharger les pièces jointes. Note: Dans le mode «sécurisé», la liste des pièces jointes n'est pas affichée quand l'utilisateur n'est pas enregistré (A moins que l'option 'Liste de pièces jointes sécurisé' soit placée sur 'Oui')."
ATTACH_SELECT_ENTITY_S="Selectionnez %s"
Expand Down
12 changes: 8 additions & 4 deletions attachments_component/site/src/Helper/AttachmentsHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -436,10 +436,14 @@ public static function upload_file(&$attachment, &$parent, $attachment_id=false,
}

// Get the new filename
// (Note: The following replacement is necessary to allow
// single quotes in filenames to work correctly.)
// Trim of any trailing period (to avoid exploits)
$filename = rtrim(StringHelper::str_ireplace("\'", "'", $_FILES['upload']['name']), '.');
// Make filename safe
$filename_safe = $params->get('sanitize_filename_characters', false);
if ( $filename_safe ) {
$filename = File::makeSafe(strtolower($_FILES['upload']['name']));
} else {
// Trim of any trailing period (to avoid exploits)
$filename = rtrim(StringHelper::str_ireplace("\'", "'", $_FILES['upload']['name']), '.');
}
$ftype = $_FILES['upload']['type'];

// Check the file size
Expand Down

0 comments on commit ec39eef

Please sign in to comment.