PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.0.8
Nested Pages v3.0.8
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.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 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.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / app / Config / SettingsRepository.php
wp-nested-pages / app / Config Last commit date
Settings.php 8 years ago SettingsRepository.php 8 years ago
SettingsRepository.php
161 lines
1 <?php
2 namespace NestedPages\Config;
3
4 use NestedPages\Entities\PostType\PostTypeRepository;
5
6 class SettingsRepository
7 {
8 /**
9 * Is the Datepicker UI option enabled
10 * @return boolean
11 */
12 public function datepickerEnabled()
13 {
14 $option = get_option('nestedpages_ui', false);
15 if ( $option && isset($option['datepicker']) && $option['datepicker'] == 'true' ) return true;
16 return false;
17 }
18
19 /**
20 * Is the Menu Sync Option Visible
21 */
22 public function hideMenuSync()
23 {
24 $option = get_option('nestedpages_ui', false);
25 if ( $option && isset($option['hide_menu_sync']) && $option['hide_menu_sync'] == 'true' ) return true;
26 return false;
27 }
28
29 /**
30 * Is menu sync enabled?
31 */
32 public function menuSyncEnabled()
33 {
34 $option = get_option('nestedpages_menusync');
35 return ( $option == 'sync' ) ? true : false;
36 }
37
38 /**
39 * Is AJAX menu sync disabled?
40 */
41 public function autoMenuDisabled()
42 {
43 $option = get_option('nestedpages_ui', false);
44 if ( $option && isset($option['manual_menu_sync']) && $option['manual_menu_sync'] == 'true' ) return true;
45 return false;
46 }
47
48 /**
49 * Is AJAX page order disabled?
50 */
51 public function autoPageOrderDisabled()
52 {
53 $option = get_option('nestedpages_ui', false);
54 if ( $option && isset($option['manual_page_order_sync']) && $option['manual_page_order_sync'] == 'true' ) return true;
55 return false;
56 }
57
58 /**
59 * Are menus completely disabled?
60 * @return boolean
61 */
62 public function menusDisabled()
63 {
64 $option = get_option('nestedpages_disable_menu');
65 if ( $option && $option == 'true' ) return true;
66 return false;
67 }
68
69 /**
70 * Array of configurable standard fields
71 * @return array
72 */
73 public function standardFields($post_type)
74 {
75 $post_type_repo = new PostTypeRepository;
76
77 $fields = [
78 'title' => __('Post Title', 'wp-nested-pages'),
79 'slug' => __('Slug', 'wp-nested-pages'),
80 'date' => __('Post Date', 'wp-nested-pages'),
81 'author' => __('Author', 'wp-nested-pages'),
82 'status' => __('Post Status', 'wp-nested-pages'),
83 'password' => __('Password/Private', 'wp-nested-pages'),
84 'allow_comments' => __('Allow Comments', 'wp-nested-pages')
85 ];
86
87 if ( $post_type == 'page' ) {
88 $fields['template'] = __('Template', 'wp-nested-pages');
89 $fields['menu_options'] = __('Menu Options', 'wp-nested-pages');
90 }
91
92 $fields['hide_in_np'] = __('Hide in Nested Pages', 'wp-nested-pages');
93
94 // Taxonomies
95 $enabled_h_taxonomies = $post_type_repo->getTaxonomies($post_type);
96 $enabled_f_taxonomies = $post_type_repo->getTaxonomies($post_type, false);
97 $enabled_taxonomies = array_merge($enabled_h_taxonomies, $enabled_f_taxonomies);
98 if ( empty($enabled_taxonomies) ) return $fields;
99
100 $fields['hide_taxonomies'] = __('Taxonomies', 'wp-nested-pages');
101 $fields['taxonomies'] = [];
102 foreach($enabled_taxonomies as $taxonomy){
103 $fields['taxonomies'][$taxonomy->name] = $taxonomy->labels->name;
104 }
105
106 return $fields;
107 }
108
109 /**
110 * Get All Image Sizes Available in the theme
111 */
112 public function getImageSizes()
113 {
114 global $_wp_additional_image_sizes;
115 $sizes = [];
116 foreach ( get_intermediate_image_sizes() as $_size ) {
117 if ( in_array( $_size, ['thumbnail', 'medium', 'medium_large', 'large'] ) ) {
118 $sizes[ $_size ]['width'] = get_option( "{$_size}_size_w" );
119 $sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
120 $sizes[ $_size ]['crop'] = (bool) get_option( "{$_size}_crop" );
121 } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
122 $sizes[ $_size ] = [
123 'width' => $_wp_additional_image_sizes[ $_size ]['width'],
124 'height' => $_wp_additional_image_sizes[ $_size ]['height'],
125 'crop' => $_wp_additional_image_sizes[ $_size ]['crop'],
126 ];
127 }
128 }
129 return $sizes;
130 }
131
132 /**
133 * Get a specific image/thumbnail size
134 */
135 public function getImageSize($size)
136 {
137 $sizes = $this->getImageSizes();
138 if ( isset( $sizes[ $size ] ) ) return $sizes[ $size ];
139 return false;
140 }
141
142 /**
143 * Reset all plugin settings
144 */
145 public function resetSettings()
146 {
147 $options = [
148 'nested_pages_custom_fields_hidden',
149 'nestedpages_allowsorting',
150 'nestedpages_disable_menu',
151 'nestedpages_menu',
152 'nestedpages_menusync',
153 'nestedpages_posttypes',
154 'nestedpages_ui',
155 'nestedpages_version'
156 ];
157 foreach($options as $option){
158 delete_option($option);
159 }
160 }
161 }