PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.63
Download Manager v3.3.63
3.3.63 3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / src / wpdm-start-download.php
download-manager / src Last commit date
Admin 1 day ago AssetManager 1 week ago Category 2 years ago Form 6 months ago MediaLibrary 1 week ago Package 1 day ago User 1 day ago Widgets 2 years ago __ 1 day ago wpdm-core.php 5 months ago wpdm-functions.php 1 week ago wpdm-start-download.php 4 months ago wpdm-strings.php 3 years ago
wpdm-start-download.php
118 lines
1 <?php
2
3 use WPDM\__\FileSystem;
4 use WPDM\__\Crypt;
5 use WPDM\__\Messages;
6 use WPDM\__\TempStorage;
7
8 if(!defined("ABSPATH")) die('!');
9
10
11 global $current_user, $dfiles;
12 $current_user = wp_get_current_user();
13
14 //Check for blocked IPs
15 if(wpdm_ip_blocked()) {
16 $_ipblockedmsg = __('Your IP address is blocked!', 'download-manager');
17 $ipblockedmsg = get_option('__wpdm_blocked_ips_msg', '');
18 $ipblockedmsg = $ipblockedmsg == ''?$_ipblockedmsg:$ipblockedmsg;
19 Messages::error($ipblockedmsg, 1);
20 }
21
22 //Check for blocked users by email
23 if(is_user_logged_in() && $current_user->user_email && !wpdm_verify_email($current_user->user_email)) {
24 $emsg = get_option('__wpdm_blocked_domain_msg');
25 if(trim($emsg) === '') $emsg = __('Your email address is blocked!', 'download-manager');
26 Messages::fullPage('Error!', $emsg, 'error');
27 }
28
29 do_action("wpdm_onstart_download", $package);
30
31 $speed = (int)get_option('__wpdm_download_speed', 10240); //in KB - default 10 MB
32 $speed = $speed > 0 ? $speed : 10240;
33 $speed = apply_filters('wpdm_download_speed', $speed);
34 //$user = get_user_by('id', $package['author']);
35
36 //$user_upload_dir = UPLOAD_DIR . $user->user_login . '/';
37
38 $_content_dir = str_replace('\\','/',WP_CONTENT_DIR);
39 $_old_up_dir = $_content_dir.'/uploads/download-manager-files/';
40 //wpdmdd($package);
41 //Only published packages are downloadable
42 $downloadable_post_status = apply_filters("wpdm_downloadable_post_status", array('publish','private'), $package);
43 if(!in_array($package['post_status'], $downloadable_post_status)) Messages::fullPage("404", "<div class='card p-4 bg-danger text-white'>".__( "Package you are trying to download is not available!" , "download-manager" )."</div>");
44
45 $limit_msg = Messages::download_limit_exceeded($package['ID']);
46
47 if (wpdm_is_download_limit_exceed($package['ID'])) Messages::fullPage("Error!", $limit_msg, 'error');
48 //$files = WPDM()->package->getFiles($package['ID']);
49 $files = $package['files'];
50 $files = array_values($files);
51 $fileCount = count($files) && $files[0] !== '' ? 1 : 0;
52
53 if($fileCount === 0){
54 Messages::fullPage(__( "No Files", "download-manager" ), \WPDM\__\UI::div(__( "No file is attached with this package!", "download-manager" ), "alert alert-danger d-inline-block"));
55 }
56
57 //$idvdl = Individual file download status
58 $idvdl = ( WPDM()->package->isSingleFileDownloadAllowed( $package['ID'] ) || wpdm_query_var('oid', false) ) && isset($_GET['ind']);
59
60 $parallel_download = (int)get_option('__wpdm_parallel_download', 1);
61
62 if($parallel_download === 0 && (int)TempStorage::get("download.".wpdm_get_client_ip()) === 1)
63 Messages::error(get_option('__wpdm_parallel_download_msg', "Another download is in progress from your IP, please wait until finished."), 1);
64
65 if ($fileCount > 1 && !$idvdl) {
66 Messages::error(esc_attr__( 'Multi-file download is only available with the pro version!', "download-manager" ), 1);
67 }
68 else {
69
70 $tmpfiles = $files;
71 $indfile = array_shift($tmpfiles);
72
73 $firstfile = array_shift($files);
74 $firstfile = file_exists($firstfile) ? $firstfile : UPLOAD_DIR.$firstfile;
75
76 WPDM()->downloadHistory->add($package['ID'], $indfile ? : $firstfile, wpdm_query_var('oid'));
77
78 //URL Download
79 if ($indfile != '' && strpos($indfile, '://')) {
80
81 if (!isset($package['url_protect']) || $package['url_protect'] == 0) {
82 $indfile = wpdm_escs(htmlspecialchars_decode($indfile));
83 header('location: ' . urldecode($indfile));
84
85 } else {
86 $r_filename = wpdm_basename($indfile);
87 $r_filename = explode("?", $r_filename);
88 $r_filename = $r_filename[0];
89 wpdm_download_file($indfile, $r_filename, $speed, 1, $package);
90
91 }
92
93 die();
94 }
95
96
97 $filepath = WPDM()->fileSystem->absPath($indfile, $package['ID']);
98
99 if(!$filepath)
100 Messages::fullPage('Error!', "<div class='card bg-danger text-white p-4' style='max-width: 500px;margin: 0 auto;text-align: center'>" . __("Sorry! File not found!", "download-manager") . "</div>", 'error');
101 //$plock = get_wpdm_meta($file['id'],'password_lock',true);
102 //$fileinfo = get_wpdm_meta($package['id'],'fileinfo');
103
104 $filename = wpdm_basename($filepath);
105 $filename = preg_replace("/([0-9]+)[wpdm]+_/", "", $filename);
106
107 wpdm_download_file($filepath, $filename, $speed, 1, $package);
108 //@unlink($filepath);
109
110 }
111
112 TempStorage::kill("download.".wpdm_get_client_ip());
113
114 do_action("after_download", $package);
115
116 die();
117
118