PluginProbe ʕ •ᴥ•ʔ
Code Manager / 1.0.20
Code Manager v1.0.20
1.0.47 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.3 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.4 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
code-manager / Code_Manager / Code_Manager_Dashboard.php
code-manager / Code_Manager Last commit date
Code_Manager.php 3 years ago Code_Manager_Dashboard.php 3 years ago Code_Manager_Export.php 3 years ago Code_Manager_Form.php 3 years ago Code_Manager_Import.php 3 years ago Code_Manager_Import_File.php 3 years ago Code_Manager_List.php 3 years ago Code_Manager_List_View.php 3 years ago Code_Manager_Model.php 3 years ago Code_Manager_Preview.php 3 years ago Code_Manager_Settings.php 3 years ago Code_Manager_Tabs.php 3 years ago Message_Box.php 3 years ago WP_List_Table.php 3 years ago
Code_Manager_Dashboard.php
297 lines
1 <?php
2 /**
3 * Code Manager dashboard class
4 *
5 * @package Code_Manager
6 */
7
8 namespace Code_Manager {
9
10 /**
11 * Manages the plugin dashboard in the back-end
12 */
13 class Code_Manager_Dashboard {
14
15 /**
16 * Add plugin dashboard to plugin back-end page
17 *
18 * @return void
19 */
20 public static function add_dashboard() {
21 $dashboard = new Code_Manager_Dashboard();
22 $dashboard->dashboard();
23 }
24
25 /**
26 * Get saved navigation type or use default
27 *
28 * @param string $navigation_type Navigation type.
29 * @return bool
30 */
31 protected static function navigation_enabled( $navigation_type ) {
32 $code_manager_plugin_navigation = get_option( 'code_manager_plugin_navigation' );
33 if ( false === $code_manager_plugin_navigation ) {
34 $code_manager_plugin_navigation = 'dashboard';
35 }
36 return in_array( $code_manager_plugin_navigation, array( 'both', $navigation_type ), true );
37 }
38
39 /**
40 * Check if dashboard is enabled
41 *
42 * @return bool
43 */
44 public static function dashboard_enabled() {
45 return self::navigation_enabled( 'dashboard' );
46 }
47
48 /**
49 * Check if menu is enabled
50 *
51 * @return bool
52 */
53 public static function menu_enabled() {
54 return self::navigation_enabled( 'menu' );
55 }
56
57 /**
58 * Add dashboard to page top
59 *
60 * @return void
61 */
62 public function dashboard() {
63 if ( self::dashboard_enabled() ) {
64 $this->dashboard_default();
65 $this->dashboard_mobile();
66
67 if ( isset( $_REQUEST['tabmode'] ) && 'on' === $_REQUEST['tabmode'] ) {
68 $this->toolbar_tabmode();
69 } elseif (
70 (
71 ! isset( $_REQUEST['action'] ) ||
72 (
73 '-1' === $_REQUEST['action']
74 )
75 ) &&
76 isset( $_REQUEST['page'] ) && 'code_manager' === $_REQUEST['page']
77 ) {
78 $this->toolbar_listmode();
79 }
80 }
81 }
82
83 /**
84 * Default dashboard, using full page width
85 *
86 * @return void
87 */
88 protected function dashboard_default() {
89 ?>
90 <div id="cm-dashboard" style="display:none">
91 <div class="cm-dashboard">
92 <div class="cm-dashboard-group cm-dashboard-group-code">
93 <div class="icons">
94 <a class="cm-dashboard-item cm_tooltip_icons" href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager" title="Standard WordPress list view">
95 <i class="fas fa-table-list"></i>
96 <div class="label">List mode</div>
97 </a>
98 <a class="cm-dashboard-item cm_tooltip_icons" href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager&tabmode=on" title="Open multiple code editors simultaneously">
99 <i class="fas fa-folder"></i>
100 <div class="label">Tab mode</div>
101 </a>
102 <a class="cm-dashboard-item cm_tooltip_icons" href="https://code-manager.com/code/" title="Download reusable code from plugin website" target="_blank">
103 <i class="fas fa-cloud-download"></i>
104 <div class="label">Download</div>
105 </a>
106 </div>
107 <div class="subject">Code</div>
108 </div>
109 <div class="cm-dashboard-group cm-dashboard-group-settings">
110 <div class="icons">
111 <a class="cm-dashboard-item cm_tooltip_icons" href="<?php echo admin_url( 'options-general.php?page=code_manager_settings' ); ?>" title="Plugin Settings">
112 <i class="fas fa-cog"></i>
113 <div class="label">Settings</div>
114 </a>
115 <?php
116 if ( code_manager_fs()->is_registered() ) {
117 ?>
118 <a class="cm-dashboard-item cm_tooltip_icons" href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager-account" title="Manage Account">
119 <i class="fas fa-user"></i>
120 <div class="label">Account</div>
121 </a>
122 <?php
123 }
124 ?>
125 <a class="cm-dashboard-item cm_tooltip_icons" target="_blank" href="https://code-manager.com/pricing/" title="Online Pricing, Licensing and Ordering">
126 <i class="fas fa-hand-holding-usd"></i>
127 <div class="label">Pricing</div>
128 </a>
129 <?php
130 $menufound = false;
131 if ( self::menu_enabled() ) {
132 global $submenu;
133 $plugin_navigation_default_page = get_option( 'plugin_navigation_default_page' );
134 if ( isset( $submenu[ $plugin_navigation_default_page ] ) ) {
135 foreach ( $submenu[ $plugin_navigation_default_page ] as $pluginmenu ) {
136 if ( 'code_manager-pricing' === $pluginmenu[2] ) {
137 $menufound = true;
138 break;
139 }
140 }
141 }
142 } else {
143 $menufound = true;
144 }
145 if ( $menufound ) {
146 ?>
147 <a class="cm-dashboard-item cm_tooltip_icons" href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager-pricing" title="Upgrade plugin from dashboard">
148 <i class="fas fa-gem"></i>
149 <div class="label">Upgrade</div>
150 </a>
151 <?php
152 }
153 ?>
154 </div>
155 <div class="subject">Manage</div>
156 </div>
157 <div class="cm-dashboard-group cm-dashboard-group-support">
158 <div class="icons">
159 <a class="cm-dashboard-item cm_tooltip_icons" target="_blank" href="https://code-manager.com/blog/docs/index/getting-started/read-this-first/" title="Online Help and Documentation">
160 <i class="fas fa-question-circle"></i>
161 <div class="label">Docs</div>
162 </a>
163 <a class="cm-dashboard-item cm_tooltip_icons" target="_blank" href="https://wordpress.org/support/plugin/code-manager/" title="Public Support Forum">
164 <i class="fas fa-life-ring"></i>
165 <div class="label">Forum</div>
166 </a>
167 <?php
168 if ( code_manager_fs()->is_premium() ) {
169 ?>
170 <a class="cm-dashboard-item cm_tooltip_icons" target="_blank" href="https://users.freemius.com/store/2612" title="Premium Support">
171 <i class="fas fa-ambulance"></i>
172 <div class="label">Premium</div>
173 </a>
174 <?php
175 }
176 ?>
177 </div>
178 <div class="subject">Support</div>
179 </div>
180 </div>
181 </div>
182 <?php
183 }
184
185 /**
186 * Mobile dashboard, using hamburger menu icon
187 *
188 * @return void
189 */
190 protected function dashboard_mobile() {
191 ?>
192 <div id="cm-dashboard-mobile" style="display:none">
193 <div id="cm-dashboard-drop-down">
194 <div class="cm_nav_toggle" onclick="toggleMenu()"><i class="fas fa-bars"></i></div>
195 <div class="cm_nav_title">Code Manager</div>
196 </div>
197 <ul>
198 <li class="menu-item"><a href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager"><i class="fas fa-table-list"></i> List mode</a></li>
199 <li class="menu-item"><a href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager&tabmode=on"><i class="fas fa-folder"></i> Tab mode</a></li>
200 <li class="menu-item cm-separator"><a href="https://code-manager.com/code/" target="_blank"><i class="fas fa-cloud-download"></i> Download reusable code</a></li>
201 <li class="menu-item"><a href="<?php echo admin_url( 'options-general.php?page=code_manager_settings' ); ?>"><i class="fas fa-cog"></i> Settings</a></li>
202 <li class="menu-item"><a href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager-account"><i class="fas fa-user"></i> Account</a></li>
203 <?php
204 $menufound = false;
205 if ( self::menu_enabled() ) {
206 global $submenu;
207 $plugin_navigation_default_page = get_option( 'plugin_navigation_default_page' );
208 if ( isset( $submenu[ $plugin_navigation_default_page ] ) ) {
209 foreach ( $submenu[ $plugin_navigation_default_page ] as $pluginmenu ) {
210 if ( 'code_manager-pricing' === $pluginmenu[2] ) {
211 $menufound = true;
212 break;
213 }
214 }
215 }
216 } else {
217 $menufound = true;
218 }
219 ?>
220 <li class="menu-item <?php echo $menufound ? '' : 'cm-separator'; ?>"><a href="https://code-manager.com/pricing/" target="_blank"><i class="fas fa-hand-holding-usd"></i> Pricing</a></li>
221 <?php
222 if ( $menufound ) {
223 ?>
224 <li class="menu-item cm-separator"><a href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager-pricing"><i class="fas fa-gem"></i> Upgrade</a></li>
225 <?php
226 }
227 ?>
228 <li class="menu-item"><a target="_blank" href="https://code-manager.com/blog/docs/index/"><i class="fas fa-circle-question"></i> Online Documentation</a></li>
229 <li class="menu-item"><a target="_blank" href="https://wordpress.org/plugins/code-manager/"><i class="fas fa-life-ring"></i> Support Forum</a></li>
230 <?php
231 if ( code_manager_fs()->is_premium() ) {
232 ?>
233 <li class="menu-item"><a target="_blank" href="<?php echo admin_url( 'admin.php' ); ?>?page=code_manager-wp-support-forum"><i class="fas fa-ambulance"></i> Premium Support</a></li>
234 <?php
235 }
236 ?>
237 </ul>
238 </div>
239 <?php
240 }
241
242 /**
243 * Add tab mode toolbar to dashboard
244 *
245 * @return void
246 */
247 protected function toolbar_tabmode() {
248 ?>
249 <div class="cm-dashboard-toolbar">
250 <div>
251 <div>
252 <i id="code_manager_new" class="fas fa-plus-circle cm_tooltip" title="Add new code"></i>
253 <br/>
254 Add new code
255 </div>
256 </div>
257 <div>
258 <div>
259 <i id="code_manager_open" class="fas fa-folder-open cm_tooltip" title="Open existing code"></i>
260 <br/>
261 Open existing code
262 </div>
263 </div>
264 </div>
265 <?php
266 }
267
268 /**
269 * Add list mode toolbar to dashboard
270 *
271 * @return void
272 */
273 protected function toolbar_listmode() {
274 ?>
275 <div class="cm-dashboard-toolbar">
276 <div>
277 <div>
278 <i id="code_manager_new" class="fas fa-plus-circle cm_tooltip" title="Add new code" onclick="window.location.href='?page=<?php echo CODE_MANAGER_MENU_SLUG; ?>&action=new'"></i>
279 <br/>
280 Add new code
281 </div>
282 </div>
283 <div>
284 <div>
285 <i id="code_manager_import" class="fas fa-cloud-upload cm_tooltip" title="Import code" onclick="jQuery('#upload_file_container').toggle()"></i>
286 <br/>
287 Import code
288 </div>
289 </div>
290 </div>
291 <?php
292 }
293
294 }
295
296 }
297