PluginProbe
Autoptimize / 0.1
Autoptimize v0.1
2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 All 107 releases
autoptimize / classes / autoptimizeConfig.php

autoptimizeConfig.php in Autoptimize 0.1, at classes/autoptimizeConfig.php

105 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class autoptimizeConfig
4 {
5 private $config = null;
6 static private $instance = null;
7
8 private function __construct()
9 {
10 //Singleton
11 if(is_admin())
12 {
13 //Add the admin page and settings
14 add_action('admin_menu',array($this,'addmenu'));
15 add_action('admin_init',array($this,'registersettings'));
16 }
17 }
18
19 static public function instance()
20 {
21 //Only one instance
22 if (self::$instance == null)
23 {
24 self::$instance = new autoptimizeConfig();
25 }
26
27 return self::$instance;
28 }
29
30 public function show()
31 {
32 ?>
33 <div class="wrap">
34 <h2>Autoptimize Settings</h2>
35
36 <form method="post" action="options.php">
37 <?php settings_fields('autoptimize'); ?>
38 <table class="form-table">
39
40 <tr valign="top">
41 <th scope="row">Optimize HTML Code?</th>
42 <td><input type="checkbox" name="autoptimize_html" <?php echo get_option('autoptimize_html')?'checked="checked" ':''; ?>/></td>
43 </tr>
44
45 <tr valign="top">
46 <th scope="row">Optimize JavaScript Code?</th>
47 <td><input type="checkbox" name="autoptimize_js" <?php echo get_option('autoptimize_js')?'checked="checked" ':''; ?>/></td>
48 </tr>
49
50 <tr valign="top">
51 <th scope="row">Optimize CSS Code? </th>
52 <td><input type="checkbox" name="autoptimize_css" <?php echo get_option('autoptimize_css')?'checked="checked" ':''; ?>/></td>
53 </tr>
54
55 </table>
56
57 <p class="submit">
58 <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
59 </p>
60
61 </form>
62 </div>
63 <?php
64 }
65
66 public function addmenu()
67 {
68 add_options_page('Autoptimize Options','Autoptimize',8,'autoptimize',array($this,'show'));
69 }
70
71 public function registersettings()
72 {
73 register_setting('autoptimize','autoptimize_html');
74 register_setting('autoptimize','autoptimize_js');
75 register_setting('autoptimize','autoptimize_css');
76 }
77
78 public function get($key)
79 {
80 if(!is_array($this->config))
81 {
82 //Default config
83 $config = array('autoptimize_html' => 1,
84 'autoptimize_js' => 1,
85 'autoptimize_css' => 1);
86
87 //Override with user settings
88 if(get_option('autoptimize_html')!==false)
89 $config['autoptimize_html'] = get_option('autoptimize_html');
90 if(get_option('autoptimize_js')!==false)
91 $config['autoptimize_js'] = get_option('autoptimize_js');
92 if(get_option('autoptimize_css')!==false)
93 $config['autoptimize_css'] = get_option('autoptimize_css');
94
95 //Save for next question
96 $this->config = $config;
97 }
98
99 if(isset($this->config[$key]))
100 return $this->config[$key];
101
102 return false;
103 }
104 }
105