PluginProbe
Powerkit – Supercharge your WordPress Site / 2.8.2
Powerkit – Supercharge your WordPress Site v2.8.2
3.1.1 3.1.0 3.0.9 3.0.8 trunk 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 All 87 releases
powerkit / core / core-powerkit-functions.php

core-powerkit-functions.php in Powerkit – Supercharge your WordPress Site 2.8.2, at core/core-powerkit-functions.php

230 lines 7.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * The basic functions for the plugin and modules
4 *
5 * @package Powerkit
6 * @subpackage Core
7 * @version 1.0.0
8 * @since 1.0.0
9 */
10
11 /**
12 * This function include files to the plugin.
13 *
14 * @param string $dir Directory where you need to search for files.
15 */
16 function powerkit_load_files( $dir ) {
17
18 $path = POWERKIT_PATH . $dir;
19
20 // Loop through files.
21 foreach ( glob( $path . '/*' ) as $file ) {
22 $basename = basename( $file );
23
24 if ( is_file( $file ) ) {
25
26 require_once wp_normalize_path( $file );
27
28 } elseif ( file_exists( sprintf( '%1$s/%2$s/%2$s.php', $path, $basename ) ) ) {
29
30 require_once wp_normalize_path( sprintf( '%1$s/%2$s/%2$s.php', $path, $basename ) );
31
32 } elseif ( file_exists( sprintf( '%1$s/%2$s/class-powerkit-%2$s.php', $path, $basename ) ) ) {
33
34 require_once wp_normalize_path( sprintf( '%1$s/%2$s/class-powerkit-%2$s.php', $path, $basename ) );
35 }
36 }
37 }
38
39 /**
40 * This function checks if the module is enabled
41 *
42 * @param array $info The module info.
43 */
44 function powerkit_register_module_info( $info ) {
45
46 $modules = (array) powerkit_get_data( 'modules' );
47
48 // Slug of module.
49 $slug = $info['slug'];
50
51 // Check exists slug.
52 if ( $slug ) {
53
54 // Enabled load extensions.
55 $module_enabled = get_option( 'powerkit_enabled_' . $slug, $info['enabled'] );
56
57 if ( $module_enabled && 'default' === $info['type'] && $info['load_extensions'] ) {
58 foreach ( $info['load_extensions'] as $extension ) {
59 $modules[ $extension ]['enabled'] = true;
60 }
61 }
62
63 // Add new info.
64 if ( isset( $modules[ $slug ] ) ) {
65 $modules[ $slug ] = array_merge( (array) $info, (array) $modules[ $slug ] );
66 } else {
67 $modules[ $slug ] = (array) $info;
68 }
69
70 // Update info.
71 powerkit_set_data( 'modules', $modules );
72 }
73 }
74
75 /**
76 * This function return modules.
77 */
78 function powerkit_get_modules() {
79 $modules = powerkit_get_data( 'modules' );
80
81 // Sort modules.
82 if ( is_array( $modules ) && $modules ) {
83 $modules_keys = array_keys( $modules );
84
85 foreach ( $modules as $key => $row ) {
86 $modules_priority[ $key ] = $row['priority'];
87 $modules_name[ $key ] = $row['name'];
88 }
89 array_multisort( $modules_priority, SORT_ASC, $modules_name, SORT_ASC, $modules, $modules_keys );
90
91 $modules = array_combine( $modules_keys, $modules );
92 }
93
94 return $modules;
95 }
96
97 /**
98 * This function return meta info of module
99 *
100 * @param string $slug The slug.
101 * @param string $field The field.
102 */
103 function powerkit_get_module_meta( $slug, $field = false ) {
104 $modules = (array) powerkit_get_data( 'modules' );
105
106 if ( $field ) {
107 if ( isset( $modules[ $slug ][ $field ] ) ) {
108 return $modules[ $slug ][ $field ];
109 }
110 }
111 if ( isset( $modules[ $slug ] ) ) {
112 return $modules[ $slug ];
113 }
114 }
115
116 /**
117 * This function return value from сonnect module.
118 *
119 * @param string $name The field name of сonnect.
120 */
121 function powerkit_connect( $name ) {
122
123 $default = array(
124 'instagram_app_url' => 'https://api.codesupply.co/instagram-connect.php',
125 'instagram_app_id' => 'MjU5MzMzMzEwNDI0NzQxOA==',
126 'instagram_app_fb_client_id' => 'MzA1NDQ5ODgzNjk4NjQ5',
127 'instagram_app_fb_url' => 'https://api.codesupply.co/facebook-connect.php?business=true',
128 'instagram_app_type' => '',
129 'instagram_app_access_token' => '',
130 'instagram_app_user_id' => '',
131 'instagram_app_username' => '',
132 'facebook_app_id' => 'MzA1NDQ5ODgzNjk4NjQ5',
133 'facebook_app_url' => 'https://api.codesupply.co/facebook-connect.php',
134 'facebook_app_access_token' => '',
135 'facebook_app_accounts' => '',
136 'facebook_share_access_token' => 'MTc5NjYwNzk4Nzc0Mjk2JTdDZmV3YV9LRU9TMHBlbHNwUE9md19qcWxqcVRr',
137 'twitter_app_url' => 'https://api.codesupply.co/twitter-connect.php',
138 'twitter_app_consumer_key' => '',
139 'twitter_app_consumer_secret' => '',
140 'twitter_app_oauth_token' => '',
141 'twitter_app_oauth_token_secret' => '',
142 'twitter_app_user_id' => '',
143 'twitter_app_screen_name' => '',
144 'youtube_key' => 'QUl6YVN5QUxlUkNTMkVoWThnY0xndlRiTlU3a3g4cXdsVDNLdU9N',
145 'telegram_token' => 'NTM1NTAwMjM4OkFBR3dUVDBOMDhoeHFPamxHYVhDVDFGa01mb2c2blRnQ2ZR',
146 'soundcloud_client_id' => 'OTcyMjBmYjM0YWQwMzRiNWQ0YjU5Yjk2N2ZkMTcxN2U=',
147 'dribbble_token' => '',
148 'vimeo_token' => 'ODhiMDU4NjA4YWViMmU2MjdiYjc4MmY2MzNkNjVjNjQ=',
149 'behance_client_id' => 'R0QxcmhQcUpvaWdaN0xqcFFEVEltMkZjOGdPemkxajQ=',
150 'twitch_client_id' => 'dmk0MDZ5OWhhNDV5MmRzcmtzcDZvMTd1bWt5NTR3',
151 'vk_token' => 'ZWRkNjQ1ZGU3ZDQ1OTQwZjllMTMyYTMyNmIxM2MxNWJjNWYxMWNhMzRkY2MzYTc1MGE2MmQxOTI4YjY5MjExZThmNTU0Nzc5ZWU3OTNmMTk2YTJiNw==',
152 );
153
154 $name = str_replace( 'powerkit_connect_', '', $name );
155
156 // Set value by slug.
157 $value = get_option( 'powerkit_connect_' . $name );
158
159 // Set default value.
160 if ( ! $value && key_exists( $name, $default ) ) {
161
162 if ( base64_encode( base64_decode( $default[ $name ], true ) ) === $default[ $name ] ) {
163 $value = base64_decode( $default[ $name ] );
164 } else {
165 $value = $default[ $name ];
166 }
167 }
168
169 return $value;
170 }
171
172 /**
173 * This function checks if the module is enabled
174 *
175 * @param string $slug The module slug.
176 */
177 function powerkit_module_enabled( $slug ) {
178 $module = powerkit_get_module_meta( $slug );
179
180 // Default status.
181 $status = $module['enabled'];
182
183 // Check database.
184 if ( 'default' === $module['type'] ) {
185 $enabled = get_option( 'powerkit_enabled_' . $slug, $module['enabled'] );
186
187 $status = '0' === $enabled ? false : $enabled;
188 }
189
190 return apply_filters( 'powerkit_module_enabled', $status, $slug );
191 }
192
193 /**
194 * This function return unique slug name to refer to this menu by.
195 *
196 * @param string $slug The module slug.
197 */
198 function powerkit_get_page_slug( $slug ) {
199 return sprintf( 'powerkit_%s', $slug );
200 }
201
202 /**
203 * This function return admin page url.
204 *
205 * @param string $slug The module slug.
206 * @param string $type The type page.
207 */
208 function powerkit_get_page_url( $slug, $type = 'general' ) {
209 switch ( $type ) {
210 case 'general':
211 return admin_url( sprintf( 'options-general.php?page=%s', powerkit_get_page_slug( $slug ) ) );
212 case 'writing':
213 return admin_url( sprintf( 'options-writing.php?page=%s', powerkit_get_page_slug( $slug ) ) );
214 case 'reading':
215 return admin_url( sprintf( 'options-reading.php?page=%s', powerkit_get_page_slug( $slug ) ) );
216 case 'discussion':
217 return admin_url( sprintf( 'options-reading.php?page=%s', powerkit_get_page_slug( $slug ) ) );
218 case 'media':
219 return admin_url( sprintf( 'options-media.php?page=%s', powerkit_get_page_slug( $slug ) ) );
220 case 'permalink':
221 return admin_url( sprintf( 'options-permalink.php?page=%s', powerkit_get_page_slug( $slug ) ) );
222 case 'themes':
223 return admin_url( sprintf( 'themes.php?page=%s', powerkit_get_page_slug( $slug ) ) );
224 case 'admin':
225 return admin_url( sprintf( 'admin.php?page=%s', powerkit_get_page_slug( $slug ) ) );
226 default:
227 return admin_url( sprintf( '%s?page=%s', $type, powerkit_get_page_slug( $slug ) ) );
228 }
229 }
230