PageRenderTime 39ms CodeModel.GetById 11ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/plugins/s2member/includes/templates/cfg-files/s2member-files.php

https://gitlab.com/Gashler/dp
PHP | 108 lines | 64 code | 29 blank | 15 comment | 1 complexity | f8ab9132df9e9bd26971d98b0b369c94 MD5 | raw file
  1. <?php
  2. if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
  3. exit("Do not access this file directly.");
  4. global /* A Multisite ``$base`` configuration? */ $base;
  5. $ws_plugin__s2member_temp_s_base = (!empty ($base)) ? $base : c_ws_plugin__s2member_utils_urls::parse_url (network_home_url ("/"), PHP_URL_PATH);
  6. // This works on Multisite installs too. The function ``network_home_url ()`` defaults to ``home_url ()`` on standard WordPress® installs.
  7. // Do NOT use ``site`` URL. Must use the `home` URL here, because that's what WordPress® uses in its own `mod_rewrite` implementation.
  8. ?>
  9. Options +FollowSymLinks -Indexes
  10. <IfModule mod_env.c>
  11. # No GZIP for script-based file downloads.
  12. SetEnv no-gzip 1
  13. </IfModule>
  14. <IfModule mod_rewrite.c>
  15. # Enable rewrite and configure base.
  16. RewriteEngine On
  17. RewriteBase <?php echo $ws_plugin__s2member_temp_s_base . "\n"; ?>
  18. # Initialize all environment variables we're using below.
  19. RewriteCond %{ENV:s2member_file_download_setup} !^complete$
  20. 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]
  21. # Handle virtual directories, common on multisite networks.
  22. RewriteCond %{ENV:s2member_file_download_wp_vdir_check} !^complete$
  23. RewriteCond %{THE_REQUEST} ^(?:GET|HEAD)(?:[\ ]+)(?:<?php echo preg_quote ($ws_plugin__s2member_temp_s_base, " "); ?>)([_0-9a-zA-Z\-]+/)(?:wp-content/)
  24. RewriteRule ^(.*)$ - [E=s2member_file_download_wp_vdir:,E=s2member_file_download_wp_vdir:%1,E=s2member_file_download_wp_vdir_check:complete]
  25. # Handle streaming download requests via the rewrite engine.
  26. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-stream/)(.+)$
  27. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_stream:,E=s2member_file_stream:&s2member_file_stream=yes]
  28. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-stream-(.+?)/)(.+)$
  29. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_stream:,E=s2member_file_stream:&s2member_file_stream=%2]
  30. # Handle inline file requests via the rewrite engine.
  31. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-inline/)(.+)$
  32. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_inline:,E=s2member_file_inline:&s2member_file_inline=yes]
  33. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-inline-(.+?)/)(.+)$
  34. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_inline:,E=s2member_file_inline:&s2member_file_inline=%2]
  35. # Handle storage specifications via the rewrite engine.
  36. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-storage-(.+?)/)(.+)$
  37. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_storage:,E=s2member_file_storage:&s2member_file_storage=%2]
  38. # Handle remote authorization requests via the rewrite engine.
  39. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-remote/)(.+)$
  40. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_remote:,E=s2member_file_remote:&s2member_file_remote=yes]
  41. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-remote-(.+?)/)(.+)$
  42. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_remote:,E=s2member_file_remote:&s2member_file_remote=%2]
  43. # Handle SSL file requests via the rewrite engine.
  44. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-ssl/)(.+)$
  45. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_file_ssl:,E=s2member_file_ssl:&s2member_file_ssl=yes]
  46. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-ssl-(.+?)/)(.+)$
  47. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_file_ssl:,E=s2member_file_ssl:&s2member_file_ssl=%2]
  48. # Handle file download keys via the rewrite engine.
  49. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-file-download-key-(.+?)/)(.+)$
  50. 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]
  51. # Handle confirmations having beek skipped via the rewrite engine.
  52. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-skip-confirmation/)(.+)$
  53. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%2,E=s2member_skip_confirmation:,E=s2member_skip_confirmation:&s2member_skip_confirmation=yes]
  54. RewriteCond %{ENV:s2member_file_download} ^(.*?)(?:s2member-skip-confirmation-(.+?)/)(.+)$
  55. RewriteRule ^(.*)$ - [N,E=s2member_file_download:,E=s2member_file_download:%1%3,E=s2member_skip_confirmation:,E=s2member_skip_confirmation:&s2member_skip_confirmation=%2]
  56. # Cleanup variables not used in this request. Looking for `0` values.
  57. RewriteCond %{ENV:s2member_file_download_wp_vdir} ^0$
  58. RewriteRule ^(.*)$ - [E=s2member_file_download_wp_vdir:]
  59. RewriteCond %{ENV:s2member_file_stream} ^0$
  60. RewriteRule ^(.*)$ - [E=s2member_file_stream:]
  61. RewriteCond %{ENV:s2member_file_inline} ^0$
  62. RewriteRule ^(.*)$ - [E=s2member_file_inline:]
  63. RewriteCond %{ENV:s2member_file_storage} ^0$
  64. RewriteRule ^(.*)$ - [E=s2member_file_storage:]
  65. RewriteCond %{ENV:s2member_file_remote} ^0$
  66. RewriteRule ^(.*)$ - [E=s2member_file_remote:]
  67. RewriteCond %{ENV:s2member_file_ssl} ^0$
  68. RewriteRule ^(.*)$ - [E=s2member_file_ssl:]
  69. RewriteCond %{ENV:s2member_file_download_key} ^0$
  70. RewriteRule ^(.*)$ - [E=s2member_file_download_key:]
  71. RewriteCond %{ENV:s2member_skip_confirmation} ^0$
  72. RewriteRule ^(.*)$ - [E=s2member_skip_confirmation:]
  73. # Put everything together now and process the internal rewrite.
  74. 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]
  75. </IfModule>
  76. <IfModule !mod_rewrite.c>
  77. deny from all
  78. </IfModule>
  79. <?php unset ($ws_plugin__s2member_temp_s_base); ?>