PluginProbe
Disable Comments & Delete All Comments / trunk
Disable Comments & Delete All Comments vtrunk
1.3.3 1.3.2 trunk 1.0.0 1.0.4 1.0.5 1.0.8 1.0.9 1.1.1 1.1.3 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.3.0 1.3.1
comments-plus / libs / factory / templates / includes / class-search-options.php

class-search-options.php in Disable Comments & Delete All Comments trunk, at libs/factory/templates/includes/class-search-options.php

87 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WBCR\Factory_Templates_134;
4
5 /**
6 * Class Search options
7 *
8 * Allows you to collect all the options from the plugin pages, is a registry of options.
9 *
10 * @author Alex Kovlaev <alex.kovalevv@gmail.com>, https://github.com/alexkovalevv
11 *
12 * @since 2.2.0
13 */
14 class Search_Options {
15
16 private static $_all_options;
17
18 /**
19 * Registers page options in the options registry
20 *
21 * This will allow the user to search all the plugin options.
22 *
23 * @param array $options
24 * @param string $page_url
25 * @param string $page_id
26 * @since 2.2.0
27 *
28 */
29 public static function register_options($options, $page_url, $page_id)
30 {
31 if( empty($options) || !is_array($options) ) {
32 return;
33 }
34
35 $extracted_options = static::recursive_extraxt_options($options);
36
37 if( !empty($extracted_options) ) {
38 foreach((array)$extracted_options as $option) {
39 if( 'div' === $option['type'] || 'html' === $option['type'] || !isset($option['title']) ) {
40 continue;
41 }
42
43 $formated_option['title'] = $option['title'];
44
45 /*if( isset($option['hint']) ) {
46 $formated_option['hint'] = $option['hint'];
47 }*/
48
49 $formated_option['page_url'] = $page_url . '#factory-control-' . $option['name'];
50 $formated_option['page_id'] = $page_id;
51
52 static::$_all_options[] = $formated_option;
53 }
54 }
55 }
56
57 /**
58 * Extracted options from a nested array
59 * @param array $options
60 * @return array
61 * @since 2.2.0
62 */
63 protected static function recursive_extraxt_options($options)
64 {
65 $extracted_options = [];
66
67 foreach($options as $option) {
68 if( isset($option['items']) ) {
69 $extracted_options = array_merge($extracted_options, static::recursive_extraxt_options($option['items']));
70 } else {
71 $extracted_options[] = $option;
72 }
73 }
74
75 return $extracted_options;
76 }
77
78 /**
79 * Get all plugin options
80 * @return mixed
81 * @since 2.2.0
82 */
83 public static function get_all_options()
84 {
85 return static::$_all_options;
86 }
87 }