PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Admin / SettingsPages / Membership / FileDownloads.php
wp-user-avatar / src / Admin / SettingsPages / Membership Last commit date
CouponsPage 1 year ago CustomersPage 5 months ago DashboardPage 1 year ago DownloadLogsPage 1 year ago ExportPage 5 months ago GroupsPage 1 year ago OrdersPage 1 year ago PlansPage 2 months ago SubscriptionsPage 3 months ago TaxSettings 3 years ago views 1 month ago CheckListHeader.php 3 years ago CheckoutFieldsManager.php 1 year ago ContextualStateChangeHelper.php 3 years ago FileDownloads.php 3 years ago PaymentMethods.php 1 year ago PaymentSettings.php 1 month ago PlanIntegrationsMetabox.php 10 months ago SettingsFieldsParser.php 1 year ago index.php 3 years ago
FileDownloads.php
100 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\Membership;
4
5 use ProfilePress\Core\Admin\SettingsPages\AbstractSettingsPage;
6 use ProfilePress\Custom_Settings_Page_Api;
7
8 class FileDownloads
9 {
10 public function __construct()
11 {
12 add_filter('ppress_settings_page_submenus_tabs', [$this, 'header_sub_menu_tab']);
13
14 add_action('ppress_admin_settings_submenu_page_payments_file-downloads', [$this, 'file_downloads_page']);
15
16 add_action('ppress_register_menu_page_payments_file-downloads', function () {
17
18 add_filter('ppress_general_settings_admin_page_title', function () {
19 return esc_html__('File Downloads &lsaquo; Payments', 'wp-user-avatar');
20 });
21 });
22 }
23
24 public function header_sub_menu_tab($tabs)
25 {
26 $tabs[176] = ['parent' => 'payments', 'id' => 'file-downloads', 'label' => esc_html__('File Downloads', 'wp-user-avatar')];
27
28 return $tabs;
29 }
30
31 public function file_downloads_page()
32 {
33 $instance = Custom_Settings_Page_Api::instance();
34 $instance->option_name(PPRESS_FILE_DOWNLOADS_OPTION_NAME);
35 $instance->page_header(esc_html__('File Downloads', 'wp-user-avatar'));
36
37 $instance->add_view_classes('ppress-file-downloads');
38
39 $settings = [
40 [
41 'download_method' => [
42 'label' => esc_html__('Download Method', 'wp-user-avatar'),
43 'type' => 'select',
44 'options' => [
45 'direct' => esc_html__('Force Downloads', 'wp-user-redirect'),
46 'xsendfile' => esc_html__('X-Accel-Redirect/X-Sendfile', 'wp-user-redirect'),
47 'redirect' => esc_html__('Redirect (Insecure)', 'wp-user-redirect')
48 ],
49 'description' => sprintf(
50 __("Select the file download method. If you are using X-Accel-Redirect/X-Sendfile download method (recommended, especially for delivery large files), make sure that you have applied settings as described in <a href='%s'>Downloadable Product Handling</a> guide.", 'wp-user-avatar'),
51 'https://profilepress.com/article/sell-downloads-wordpress-membership/#servers'
52 )
53 ],
54 'download_limit' => [
55 'label' => esc_html__('Download Limit', 'wp-user-avatar'),
56 'description' => esc_html__('The maximum number of times files can be downloaded (Leaving blank or using a value of 0 is unlimited). Can be overwritten for each membership plan.', 'wp-user-avatar'),
57 'value' => '0',
58 'type' => 'number'
59 ],
60 'download_expiry' => [
61 'label' => esc_html__('Download Expiry', 'wp-user-avatar'),
62 'description' => esc_html__('How long in days should download links be valid for? Default is 1 day from the time they are generated. Can be overwritten for each membership plan.', 'wp-user-avatar'),
63 'value' => '1',
64 'type' => 'number'
65 ],
66 'access_restriction' => [
67 'label' => esc_html__('Access restriction', 'wp-user-avatar'),
68 'checkbox_label' => esc_html__('Downloads require login', 'wp-user-avatar'),
69 'description' => esc_html__('Enable to require users to be logged in to download files.', 'wp-user-avatar'),
70 'type' => 'checkbox'
71 ],
72 'downloads_add_hash_filename' => [
73 'label' => esc_html__('Filename', 'wp-user-avatar'),
74 'checkbox_label' => esc_html__('Append a unique string to filename for security', 'wp-user-avatar'),
75 'description' => sprintf(
76 __("Not required if your download directory is protected. <a href='%s'>See this guide</a> for more details. Files already uploaded will not be affected.", 'woocommerce'),
77 'https://profilepress.com/article/sell-downloads-wordpress-membership/#unique-string'
78 ),
79 'type' => 'checkbox'
80 ]
81 ]
82 ];
83
84 $instance->main_content($settings);
85 $instance->remove_white_design();
86 AbstractSettingsPage::register_core_settings($instance);
87 $instance->build();
88 }
89
90 public static function get_instance()
91 {
92 static $instance = null;
93
94 if (is_null($instance)) {
95 $instance = new self();
96 }
97
98 return $instance;
99 }
100 }