PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.64
Download Manager v3.3.64
3.3.65 3.3.64 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 week ago AssetManager 2 weeks ago Category 2 years ago Form 6 months ago MediaLibrary 2 weeks ago Package 4 days ago User 1 week ago Widgets 2 years ago __ 1 week ago wpdm-core.php 6 months ago wpdm-functions.php 2 weeks ago wpdm-start-download.php 5 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