PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 260927
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v260927
260927 260917 260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 All 190 releases
s2member / src / includes / templates / cfg-files / s2member-files.php

s2member-files.php in s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions 260927, at src/includes/templates/cfg-files/s2member-files.php

116 lines 6.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // @codingStandardsIgnoreFile
3 if(!defined('WPINC')) // MUST have WordPress.
4 exit('Do not access this file directly.');
5
6 global /* A Multisite ``$base`` configuration? */ $base;
7 $ws_plugin__s2member_temp_s_base = (!empty($base)) ? $base : c_ws_plugin__s2member_utils_urls::parse_url (network_home_url ('/'), PHP_URL_PATH);
8 // This works on Multisite installs too. The function ``network_home_url ()`` defaults to ``home_url ()`` on standard WordPress installs.
9 // Do NOT use ``site`` URL. Must use the `home` URL here, because that's what WordPress uses in its own `mod_rewrite` implementation.
10 ?>
11
12 <IfModule env_module>
13 # No GZIP for script-based file downloads.
14 SetEnv no-gzip 1
15 </IfModule>
16
17 <IfModule rewrite_module>
18 # Enable symlinks (required for rewrites).
19 Options +FollowSymLinks
20
21 # Enable rewrite and configure base.
22 RewriteEngine On
23 RewriteBase <?php echo $ws_plugin__s2member_temp_s_base . "\n"; ?>
24
25 # Initialize all environment variables we're using below.
26 RewriteCond %{ENV:s2member_file_download_setup} !^complete$
27 RewriteRule ^(.*)$ - [E=s2member_file_download_wp_vdir:0,E=s2member_file_download:$1,E=s2member_file_stream:0,E=s2member_file_inline:0,E=s2member_file_storage:0,E=s2member_file_remote:0,E=s2member_file_ssl:0,E=s2member_file_download_key:0,E=s2member_skip_confirmation:0,E=s2member_file_download_setup:complete]
28
29 # Handle virtual directories, common on multisite networks.
30 RewriteCond %{ENV:s2member_file_download_wp_vdir_check} !^complete$
31 RewriteCond %{THE_REQUEST} ^(?:GET|HEAD)(?:[\ ]+)(?:<?php echo preg_quote ($ws_plugin__s2member_temp_s_base, ' '); ?>)([_0-9a-zA-Z\-]+/)(?:wp-content/)
32 RewriteRule ^(.*)$ - [E=s2member_file_download_wp_vdir:,E=s2member_file_download_wp_vdir:%1,E=s2member_file_download_wp_vdir_check:complete]
33
34 # Handle streaming download requests via the rewrite engine.
35 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-stream/)(.+)$
36 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_stream:,E=s2member_file_stream:&s2member_file_stream=yes]
37
38 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-stream-(.+?)/)(.+)$
39 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_stream:,E=s2member_file_stream:&s2member_file_stream=%2]
40
41 # Handle inline file requests via the rewrite engine.
42 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-inline/)(.+)$
43 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_inline:,E=s2member_file_inline:&s2member_file_inline=yes]
44
45 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-inline-(.+?)/)(.+)$
46 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_inline:,E=s2member_file_inline:&s2member_file_inline=%2]
47
48 # Handle storage specifications via the rewrite engine.
49 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-storage-(.+?)/)(.+)$
50 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_storage:,E=s2member_file_storage:&s2member_file_storage=%2]
51
52 # Handle remote authorization requests via the rewrite engine.
53 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-remote/)(.+)$
54 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_remote:,E=s2member_file_remote:&s2member_file_remote=yes]
55
56 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-remote-(.+?)/)(.+)$
57 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_remote:,E=s2member_file_remote:&s2member_file_remote=%2]
58
59 # Handle SSL file requests via the rewrite engine.
60 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-ssl/)(.+)$
61 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_ssl:,E=s2member_file_ssl:&s2member_file_ssl=yes]
62
63 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-ssl-(.+?)/)(.+)$
64 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_ssl:,E=s2member_file_ssl:&s2member_file_ssl=%2]
65
66 # Handle file download keys via the rewrite engine.
67 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-download-key-(.+?)/)(.+)$
68 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_download_key:,E=s2member_file_download_key:&s2member_file_download_key=%2]
69
70 # Handle confirmations having beek skipped via the rewrite engine.
71 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-skip-confirmation/)(.+)$
72 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_skip_confirmation:,E=s2member_skip_confirmation:&s2member_skip_confirmation=yes]
73
74 RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-skip-confirmation-(.+?)/)(.+)$
75 RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_skip_confirmation:,E=s2member_skip_confirmation:&s2member_skip_confirmation=%2]
76
77 # Cleanup variables not used in this request. Looking for `0` values.
78 RewriteCond %{ENV:s2member_file_download_wp_vdir} ^0$
79 RewriteRule ^(.*)$ - [E=s2member_file_download_wp_vdir:]
80
81 RewriteCond %{ENV:s2member_file_stream} ^0$
82 RewriteRule ^(.*)$ - [E=s2member_file_stream:]
83
84 RewriteCond %{ENV:s2member_file_inline} ^0$
85 RewriteRule ^(.*)$ - [E=s2member_file_inline:]
86
87 RewriteCond %{ENV:s2member_file_storage} ^0$
88 RewriteRule ^(.*)$ - [E=s2member_file_storage:]
89
90 RewriteCond %{ENV:s2member_file_remote} ^0$
91 RewriteRule ^(.*)$ - [E=s2member_file_remote:]
92
93 RewriteCond %{ENV:s2member_file_ssl} ^0$
94 RewriteRule ^(.*)$ - [E=s2member_file_ssl:]
95
96 RewriteCond %{ENV:s2member_file_download_key} ^0$
97 RewriteRule ^(.*)$ - [E=s2member_file_download_key:]
98
99 RewriteCond %{ENV:s2member_skip_confirmation} ^0$
100 RewriteRule ^(.*)$ - [E=s2member_skip_confirmation:]
101
102 # Put everything together now and process the internal rewrite.
103 RewriteRule ^(.*)$ %{ENV:s2member_file_download_wp_vdir}?s2member_file_download=%{ENV:s2member_file_download}%{ENV:s2member_file_stream}%{ENV:s2member_file_inline}%{ENV:s2member_file_storage}%{ENV:s2member_file_remote}%{ENV:s2member_file_ssl}%{ENV:s2member_file_download_key}%{ENV:s2member_skip_confirmation} [QSA,L]
104 </IfModule>
105
106 <IfModule !rewrite_module>
107 <IfModule authz_core_module>
108 Require all denied
109 </IfModule>
110 <IfModule !authz_core_module>
111 deny from all
112 </IfModule>
113 </IfModule>
114
115 <?php unset($ws_plugin__s2member_temp_s_base); ?>
116