Changeset 3460447
- Timestamp:
- 02/13/2026 01:54:03 AM (5 days ago)
- Location:
- wp-downloadmanager/trunk
- Files:
-
- 4 edited
-
download-manager.php (modified) (3 diffs)
-
download-options.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
wp-downloadmanager.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-downloadmanager/trunk/download-manager.php
r3137641 r3460447 140 140 $file_upload_to = $file_upload_to . '/'; 141 141 } 142 if(move_uploaded_file($_FILES['file_upload']['tmp_name'], $file_path.$file_upload_to.basename($_FILES['file_upload']['name']))) { 143 $file = $file_upload_to.basename($_FILES['file_upload']['name']); 144 $file = download_rename_file($file_path, $file); 145 $file_size = filesize($file_path.$file); 142 $validate = wp_check_filetype_and_ext( $_FILES['file_upload']['tmp_name'], basename( $_FILES['file_upload']['name'] ) ); 143 if ( $validate['type'] === false ) { 144 $text = '<p style="color: red;">' . __('File type is invalid', 'wp-downloadmanager') . '</p>'; 145 break; 146 } 147 if( move_uploaded_file( $_FILES['file_upload']['tmp_name'], $file_path.$file_upload_to . basename( $_FILES['file_upload']['name'] ) ) ) { 148 $file = $file_upload_to . basename( $_FILES['file_upload']['name'] ); 149 $file = download_rename_file( $file_path, $file ); 150 $file_size = filesize( $file_path . $file ); 146 151 } else { 147 $text = '<p style="color: red;">' .__('Error In Uploading File', 'wp-downloadmanager').'</p>';152 $text = '<p style="color: red;">' . __('Error In Uploading File', 'wp-downloadmanager') . '</p>'; 148 153 break; 149 154 } 150 155 } else { 151 $text = '<p style="color: red;">' .__('Error In Uploading File', 'wp-downloadmanager').'</p>';156 $text = '<p style="color: red;">' . __('Error In Uploading File', 'wp-downloadmanager') . '</p>'; 152 157 break; 153 158 } … … 209 214 check_admin_referer('wp-downloadmanager_delete-file'); 210 215 $file_id = ! empty( $_POST['file_id'] ) ? intval( $_POST['file_id'] ) : 0; 211 $file = ! empty( $_POST['file'] ) ? sanitize_text_field( $_POST['file'] ) : ''; 212 $file_name = ! empty( $_POST['file_name'] ) ? sanitize_text_field( $_POST['file_name'] ) : ''; 216 $file = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->downloads WHERE file_id = %d", $file_id ) ); 213 217 $unlinkfile = ! empty( $_POST['unlinkfile'] ) ? intval( $_POST['unlinkfile'] ) : 0; 214 if ($unlinkfile == 1) {215 if (!unlink($file_path.$file)) {216 $text = '<p style="color: red;">' .sprintf(__('Error In Deleting File \'%s (%s)\' From Server', 'wp-downloadmanager'), $file_name, $file).'</p>';218 if ( $unlinkfile === 1 ) { 219 if ( ! unlink( $file_path . $file->file ) ) { 220 $text = '<p style="color: red;">' . sprintf( __( 'Error In Deleting File \'%s (%s)\' From Server', 'wp-downloadmanager' ), $file->file_name, $file->file ) . '</p>'; 217 221 } else { 218 $text = '<p style="color: green;">' .sprintf(__('File \'%s (%s)\' Deleted From Server Successfully', 'wp-downloadmanager'), $file_name, $file).'</p>';222 $text = '<p style="color: green;">' . sprintf( __( 'File \'%s (%s)\' Deleted From Server Successfully', 'wp-downloadmanager' ), $file->file_name, $file->file ) . '</p>'; 219 223 } 220 224 } 221 $deletefile = $wpdb->query( "DELETE FROM $wpdb->downloads WHERE file_id = $file_id");222 if (!$deletefile) {223 $text .= '<p style="color: red;">' .sprintf(__('Error In Deleting File \'%s (%s)\'', 'wp-downloadmanager'), $file_name, $file).'</p>';225 $deletefile = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->downloads WHERE file_id = %d", $file->file_id ) ); 226 if ( ! $deletefile ) { 227 $text .= '<p style="color: red;">' . sprintf( __('Error In Deleting File \'%s (%s)\'', 'wp-downloadmanager'), $file->file_name, $file->file) . '</p>'; 224 228 } else { 225 $text .= '<p style="color: green;">' .sprintf(__('File \'%s (%s)\' Deleted Successfully', 'wp-downloadmanager'), $file_name, $file).'</p>';229 $text .= '<p style="color: green;">' . sprintf( __('File \'%s (%s)\' Deleted Successfully', 'wp-downloadmanager'), $file->file_name, $file->file) . '</p>'; 226 230 } 227 231 break; … … 377 381 <!-- Delete A File --> 378 382 <form method="post" action="<?php echo admin_url('admin.php?page='.plugin_basename(__FILE__)); ?>"> 379 <input type="hidden" name="file_id" value="<?php echo intval($file->file_id); ?>" /> 380 <input type="hidden" name="file" value="<?php echo esc_attr( removeslashes( $file->file ) ); ?>" /> 381 <input type="hidden" name="file_name" value="<?php echo esc_attr( removeslashes( $file->file_name ) ); ?>" /> 383 <input type="hidden" name="file_id" value="<?php echo esc_attr( intval( $file->file_id ) ); ?>" /> 382 384 <?php wp_nonce_field('wp-downloadmanager_delete-file'); ?> 383 385 <div class="wrap"> -
wp-downloadmanager/trunk/download-options.php
r3294467 r3460447 40 40 41 41 // Validate 42 if ( substr( $download_path, 0, strlen( WP_CONTENT_DIR ) ) !== WP_CONTENT_DIR ) { 42 $real_download_path = realpath( $download_path ); 43 $real_wp_content_dir = realpath( WP_CONTENT_DIR ); 44 45 if ( false === $real_download_path || false === $real_wp_content_dir || strpos( $real_download_path . DIRECTORY_SEPARATOR, $real_wp_content_dir ) !== 0 || strpos( $download_path, '../' ) !== false ) { 43 46 $download_path = WP_CONTENT_DIR; 44 47 } -
wp-downloadmanager/trunk/readme.txt
r3364847 r3460447 4 4 Tags: file, files, download, downloads, manager, downloadmanager, downloadsmanager, filemanager, filesmanager 5 5 Requires at least: 4.0 6 Tested up to: 6. 87 Stable tag: 1.69 6 Tested up to: 6.9 7 Stable tag: 1.69.1 8 8 License: GPLv2 9 9 … … 59 59 60 60 ## Changelog 61 62 ### Version 1.69.1 63 * FIXED: Use file_id to fetch file again before deleting files. 64 * FIXED: Don't allow directory traversal for download_path 65 61 66 ### Version 1.69 62 67 * FIXED: Only allow certain files to be uploaded based on `wp_check_filetype_and_ext()` -
wp-downloadmanager/trunk/wp-downloadmanager.php
r3364847 r3460447 4 4 Plugin URI: https://lesterchan.net/portfolio/programming/php/ 5 5 Description: Adds a simple download manager to your WordPress blog. 6 Version: 1.69 6 Version: 1.69.1 7 7 Author: Lester 'GaMerZ' Chan 8 8 Author URI: https://lesterchan.net … … 31 31 32 32 ### Version 33 define( 'WP_DOWNLOADMANAGER_VERSION', '1.69 ' );33 define( 'WP_DOWNLOADMANAGER_VERSION', '1.69.1' ); 34 34 35 35 ### Create text domain for translations … … 1075 1075 $template_download_embedded = str_replace("%FILE_CATEGORY_ID%", (int) $file->file_category, $template_download_embedded); 1076 1076 $template_download_embedded = str_replace("%FILE_CATEGORY_NAME%", stripslashes($download_categories[(int) $file->file_category]), $template_download_embedded); 1077 $template_download_embedded = str_replace("%FILE_DATE%", mysql2date(get_option('date_format'), gmdate('Y-m-d H:i:s', $file->file_date)), $template_download_embedded);1078 $template_download_embedded = str_replace("%FILE_TIME%", mysql2date(get_option('time_format'), gmdate('Y-m-d H:i:s', $file->file_date)), $template_download_embedded);1079 $template_download_embedded = str_replace("%FILE_UPDATED_DATE%", mysql2date(get_option('date_format'), gmdate('Y-m-d H:i:s', $file->file_updated_date)), $template_download_embedded);1080 $template_download_embedded = str_replace("%FILE_UPDATED_TIME%", mysql2date(get_option('time_format'), gmdate('Y-m-d H:i:s', $file->file_updated_date)), $template_download_embedded);1077 $template_download_embedded = str_replace("%FILE_DATE%", mysql2date(get_option('date_format'), gmdate('Y-m-d H:i:s', (int) $file->file_date)), $template_download_embedded); 1078 $template_download_embedded = str_replace("%FILE_TIME%", mysql2date(get_option('time_format'), gmdate('Y-m-d H:i:s', (int) $file->file_date)), $template_download_embedded); 1079 $template_download_embedded = str_replace("%FILE_UPDATED_DATE%", mysql2date(get_option('date_format'), gmdate('Y-m-d H:i:s', (int) $file->file_updated_date)), $template_download_embedded); 1080 $template_download_embedded = str_replace("%FILE_UPDATED_TIME%", mysql2date(get_option('time_format'), gmdate('Y-m-d H:i:s', (int) $file->file_updated_date)), $template_download_embedded); 1081 1081 $template_download_embedded = str_replace("%FILE_HITS%", number_format_i18n($file->file_hits), $template_download_embedded); 1082 1082 $template_download_embedded = str_replace("%FILE_DOWNLOAD_URL%", download_file_url($file->file_id, $file->file), $template_download_embedded);
Note: See TracChangeset
for help on using the changeset viewer.