PluginProbe
404 Solution / 4.3.3
404 Solution v4.3.3
4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.19 4.1.18 4.1.17 4.1.16 4.1.15 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.3 trunk 2.30.0 All 109 releases
404-solution / includes / view / View_SimpleSettings.php

View_SimpleSettings.php in 404 Solution 4.3.3, at includes/view/View_SimpleSettings.php

106 lines 8.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (!defined('ABSPATH')) {
4 exit;
5 }
6
7 /**
8 * Presents the Simple Mode options page.
9 */
10 class ABJ_404_Solution_View_SimpleSettings extends ABJ_404_Solution_ViewComponent {
11
12 /**
13 * Echo the Simple Mode options page.
14 * @param array<string, mixed> $options The plugin options
15 * @return void
16 */
17 function echoSimpleModeOptions($options) {
18 $behaviorTilesHtml = $this->optionsPresenter->getBehaviorTilesHTML($options);
19
20 $selectedAutoRedirects = $this->optionsPresenter->getCheckedAttr($options, 'auto_redirects');
21 $selectedCapture404 = $this->optionsPresenter->getCheckedAttr($options, 'capture_404');
22 $selectedDefaultRedirect301 = ($options['default_redirect'] == '301') ? 'selected' : '';
23 $selectedDefaultRedirect302 = ($options['default_redirect'] == '302') ? 'selected' : '';
24 $selectedDefaultRedirect307 = ($options['default_redirect'] == '307') ? 'selected' : '';
25 $selectedDefaultRedirect308 = ($options['default_redirect'] == '308') ? 'selected' : '';
26
27 $selectedThemeDefault = ($options['admin_theme'] == 'default') ? 'selected' : '';
28 $selectedThemeCalm = ($options['admin_theme'] == 'calm') ? 'selected' : '';
29 $selectedThemeMono = ($options['admin_theme'] == 'mono') ? 'selected' : '';
30 $selectedThemeNeon = ($options['admin_theme'] == 'neon') ? 'selected' : '';
31 $selectedThemeObsidian = ($options['admin_theme'] == 'obsidian') ? 'selected' : '';
32
33 $notifyFrequency = isset($options['admin_notification_frequency']) ? (string)(is_scalar($options['admin_notification_frequency']) ? $options['admin_notification_frequency'] : 'instant') : 'instant';
34 $selectedNotifyInstant = ($notifyFrequency === 'instant') ? 'selected' : '';
35 $selectedNotifyDaily = ($notifyFrequency === 'daily') ? 'selected' : '';
36 $selectedNotifyWeekly = ($notifyFrequency === 'weekly') ? 'selected' : '';
37 $selectedNotifyNever = ($notifyFrequency === 'never') ? 'selected' : '';
38
39 $html = ABJ_404_Solution_FileSystemService::readFileContents(dirname(__DIR__) . "/html/adminOptionsSimple.html");
40 $html = $this->f->str_replace('{behaviorTiles}', $behaviorTilesHtml, $html);
41 $html = $this->f->str_replace('{selectedAutoRedirects}', $selectedAutoRedirects, $html);
42 $html = $this->f->str_replace('{selectedCapture404}', $selectedCapture404, $html);
43 $html = $this->f->str_replace('{selectedDefaultRedirect301}', $selectedDefaultRedirect301, $html);
44 $html = $this->f->str_replace('{selectedDefaultRedirect302}', $selectedDefaultRedirect302, $html);
45 $html = $this->f->str_replace('{selectedDefaultRedirect307}', $selectedDefaultRedirect307, $html);
46 $html = $this->f->str_replace('{selectedDefaultRedirect308}', $selectedDefaultRedirect308, $html);
47
48 $html = $this->f->str_replace('{capture_deletion}', esc_attr($this->optionsPresenter->optStr($options, 'capture_deletion')), $html);
49 $html = $this->f->str_replace('{admin_notification}', esc_attr($this->optionsPresenter->optStr($options, 'admin_notification')), $html);
50 $html = $this->f->str_replace('{maximum_log_disk_usage}', esc_attr($this->optionsPresenter->optStr($options, 'maximum_log_disk_usage')), $html);
51
52 $html = $this->f->str_replace('{selectedThemeDefault}', $selectedThemeDefault, $html);
53 $html = $this->f->str_replace('{selectedThemeCalm}', $selectedThemeCalm, $html);
54 $html = $this->f->str_replace('{selectedThemeMono}', $selectedThemeMono, $html);
55 $html = $this->f->str_replace('{selectedThemeNeon}', $selectedThemeNeon, $html);
56 $html = $this->f->str_replace('{selectedThemeObsidian}', $selectedThemeObsidian, $html);
57 $html = $this->f->str_replace('{theme_default}', __('Default (Follows WordPress)', '404-solution'), $html);
58
59 $html = $this->f->str_replace('{Core Settings}', __('Core Settings', '404-solution'), $html);
60 $html = $this->f->str_replace('{404 Capture}', __('404 Capture', '404-solution'), $html);
61 $html = $this->f->str_replace('{Maintenance}', __('Maintenance', '404-solution'), $html);
62 $html = $this->f->str_replace('{Default 404 destination}', __('Default 404 destination', '404-solution'), $html);
63 $html = $this->f->str_replace('{Where to send visitors when a 404 error occurs}', __('Where to send visitors when a 404 error occurs', '404-solution'), $html);
64 $html = $this->f->str_replace('{Create automatic redirects}', __('Create automatic redirects', '404-solution'), $html);
65 $html = $this->f->str_replace('{Automatically redirect 404s to similar pages when a good match is found}', __('Automatically redirect 404s to similar pages when a good match is found', '404-solution'), $html);
66 $html = $this->f->str_replace('{Redirect type}', __('Redirect type', '404-solution'), $html);
67 $html = $this->f->str_replace('{Permanent 301}', __('Permanent 301', '404-solution'), $html);
68 $html = $this->f->str_replace('{Temporary 302}', __('Temporary 302', '404-solution'), $html);
69 $html = $this->f->str_replace('{301 for SEO, 302 for temporary changes}', __('301 for SEO, 302 for temporary changes', '404-solution'), $html);
70 $html = $this->f->str_replace('{Collect incoming 404 URLs}', __('Collect incoming 404 URLs', '404-solution'), $html);
71 $html = $this->f->str_replace('{Log 404 errors so you can review and fix them}', __('Log 404 errors so you can review and fix them', '404-solution'), $html);
72 $html = $this->f->str_replace('{Delete captured URLs after}', __('Delete captured URLs after', '404-solution'), $html);
73 $html = $this->f->str_replace('{days}', __('days', '404-solution'), $html);
74 $html = $this->f->str_replace('{Auto-remove old 404 records (0 to keep forever)}', __('Auto-remove old 404 records (0 to keep forever)', '404-solution'), $html);
75 $html = $this->f->str_replace('{Notify me when captured URLs exceed}', __('Notify me when captured URLs exceed', '404-solution'), $html);
76 $html = $this->f->str_replace('{URLs}', __('URLs', '404-solution'), $html);
77 $html = $this->f->str_replace('{Show admin notice when 404 count gets high (0 to disable)}', __('Show admin notice when 404 count gets high (0 to disable)', '404-solution'), $html);
78 $html = $this->f->str_replace('{Maximum log storage}', __('Maximum log storage', '404-solution'), $html);
79 $html = $this->f->str_replace('{Oldest logs are deleted when this limit is reached}', __('Oldest logs are deleted when this limit is reached', '404-solution'), $html);
80 $html = $this->f->str_replace('{Admin theme}', __('Admin theme', '404-solution'), $html);
81 $html = $this->f->str_replace('{Calm Ops (Light)}', __('Calm Ops (Light)', '404-solution'), $html);
82 $html = $this->f->str_replace('{Monochrome Minimal (Light)}', __('Monochrome Minimal (Light)', '404-solution'), $html);
83 $html = $this->f->str_replace('{Neon Slate (Dark)}', __('Neon Slate (Dark)', '404-solution'), $html);
84 $html = $this->f->str_replace('{Obsidian Blue (Dark)}', __('Obsidian Blue (Dark)', '404-solution'), $html);
85 $html = $this->f->str_replace('{Save Settings}', __('Save Settings', '404-solution'), $html);
86 $html = $this->f->str_replace('{Need more control?}', __('Need more control?', '404-solution'), $html);
87 $html = $this->f->str_replace('{Switch to Advanced Mode}', __('Switch to Advanced Mode', '404-solution'), $html);
88 $html = $this->f->str_replace('{for 30+ additional options.}', __('for 30+ additional options.', '404-solution'), $html);
89
90 $html = $this->f->str_replace('{selectedNotifyInstant}', $selectedNotifyInstant, $html);
91 $html = $this->f->str_replace('{selectedNotifyDaily}', $selectedNotifyDaily, $html);
92 $html = $this->f->str_replace('{selectedNotifyWeekly}', $selectedNotifyWeekly, $html);
93 $html = $this->f->str_replace('{selectedNotifyNever}', $selectedNotifyNever, $html);
94 $html = $this->f->str_replace('{Email notification frequency}', __('Email notification frequency', '404-solution'), $html);
95 $html = $this->f->str_replace('{Instant (when threshold exceeded)}', __('Instant (when threshold exceeded)', '404-solution'), $html);
96 $html = $this->f->str_replace('{Daily digest}', __('Daily digest', '404-solution'), $html);
97 $html = $this->f->str_replace('{Weekly digest}', __('Weekly digest', '404-solution'), $html);
98 $html = $this->f->str_replace('{Never}', __('Never', '404-solution'), $html);
99 $html = $this->f->str_replace('{Choose how often to receive email notifications about captured 404s.}', __('Choose how often to receive email notifications about captured 404s.', '404-solution'), $html);
100 $html = $this->f->str_replace('{Temporary 307 (preserve method)}', __('Temporary 307 (preserve method)', '404-solution'), $html);
101 $html = $this->f->str_replace('{Permanent 308 (preserve method)}', __('Permanent 308 (preserve method)', '404-solution'), $html);
102
103 echo $html;
104 }
105 }
106