PluginProbe
Photonic Gallery & Lightbox for Flickr, SmugMug & Others / 3.36
Photonic Gallery & Lightbox for Flickr, SmugMug & Others v3.36
3.36 3.35 3.34 3.33 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.33 2.34 2.40 2.41 2.42 2.43 2.44 All 141 releases
photonic / Options / Options.php

Options.php in Photonic Gallery & Lightbox for Flickr, SmugMug & Others 3.36, at Options/Options.php

81 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Photonic_Plugin\Options;
3
4 class Options {
5 private static ?Options $instance;
6
7 private function __construct() {
8 require_once 'Defaults.php';
9 }
10
11 /**
12 * Build up the options for the settings pages.
13 */
14 public function prepare_options() {
15 global $photonic_setup_options;
16
17 $photonic_setup_options = [];
18 if (is_admin() && !empty($_REQUEST['page']) && in_array($_REQUEST['page'], ['photonic-options-manager', 'photonic-options'], true)) { // phpcs:ignore WordPress.Security.NonceVerification
19 require_once 'Option_Tab.php';
20
21 require_once 'Generic.php';
22 $options = Generic::get_instance()->get_options();
23 $this->add_options($options, $photonic_setup_options);
24
25 require_once 'Flickr.php';
26 $options = Flickr::get_instance()->get_options();
27 $this->add_options($options, $photonic_setup_options);
28
29 require_once 'Google.php';
30 $options = Google::get_instance()->get_options();
31 $this->add_options($options, $photonic_setup_options);
32
33 require_once 'SmugMug.php';
34 $options = SmugMug::get_instance()->get_options();
35 $this->add_options($options, $photonic_setup_options);
36
37 require_once 'Instagram.php';
38 $options = Instagram::get_instance()->get_options();
39 $this->add_options($options, $photonic_setup_options);
40
41 require_once 'Zenfolio.php';
42 $options = Zenfolio::get_instance()->get_options();
43 $this->add_options($options, $photonic_setup_options);
44
45 require_once 'DeviantArt.php';
46 $options = DeviantArt::get_instance()->get_options();
47 $this->add_options($options, $photonic_setup_options);
48
49 require_once 'Lightbox.php';
50 $options = Lightbox::get_instance()->get_options();
51 $this->add_options($options, $photonic_setup_options);
52
53 $defaults = Defaults::get_options();
54 foreach ($photonic_setup_options as $default_option) {
55 if (isset($default_option['id'])) {
56 $default_option['std'] = $defaults[$default_option['id']];
57 }
58 }
59 }
60 }
61
62 public static function get_instance(): Options {
63 if (!isset(self::$instance)) {
64 self::$instance = new Options();
65 }
66 return self::$instance;
67 }
68
69 /**
70 * @param array $options
71 * @param array $photonic_setup_options
72 */
73 public function add_options(array $options, array &$photonic_setup_options) {
74 foreach ($options as $option) {
75 $photonic_setup_options[] = $option;
76 }
77 }
78 }
79
80 Options::get_instance();
81