3 |
Node:
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
= PHP API =
16 | To get started, first read the
documentation.
17 |
//your users unique license key
18 | define('KEY_CODE', '0000-0000-0000-0000');
19 |
20 | //callback license key server
21 | $LICENSE_KEY = KEY_CODE;
22 | $keydata = file_get_contents("/?key=$LICENSE_KEY");
23 |
24 | //license node
25 | if (!isset($_GET['icryptic'])) {
26 |
27 | //check if license node online
28 | $license_node = curl_init('/'); //node domain
29 | curl_setopt($license_node, CURLOPT_RETURNTRANSFER, true);
30 | curl_setopt($license_node, CURLOPT_NOSIGNAL, 1);
31 | curl_setopt($license_node, CURLOPT_TIMEOUT_MS, 400); //timeout in 400 ms
32 | $data = curl_exec($license_node);
33 | $curl_errno = curl_errno($license_node);
34 | $curl_error = curl_error($license_node);
35 | curl_close($license_node);
36 |
37 | //if offline do nothing
38 | if ($curl_errno > 0) { } else {
39 |
40 | //if online and license good do noting or else prompt invalid
41 | if(strpos($keydata, 'GOOD') !== FALSE){ }else{ exit("INVALID LICENSE KEY"); }
42 |
43 | }
44 | }
45 |
46 |
47 |
--------------------------------------------------------------------------------
/wordpress edition/wp-content/themes/license-key-server/dashboard_func.php:
--------------------------------------------------------------------------------
1 | base == 'dashboard' ) {
15 | wp_redirect( admin_url( 'index.php?page=dashboard_view' ) );
16 |
17 | }
18 | }
19 | }
20 |
21 |
22 | function p_edf_register_menu() {
23 | add_dashboard_page( 'General', 'General', 'read', 'dashboard_view', array( &$this,'p_edf_create_dashboard') );
24 |
25 | }
26 |
27 |
28 | function p_edf_create_dashboard() {
29 | include_once( 'dashboard.php' );
30 |
31 | }
32 | }
33 |
34 |
35 | // instantiate dashboard class
36 | $GLOBALS['plugin_edf_dashboard'] = new edf_dashboard();
37 |
--------------------------------------------------------------------------------
/wordpress edition/wp-content/themes/license-key-server/footer.php:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/wordpress edition/wp-content/themes/license-key-server/functions.php:
--------------------------------------------------------------------------------
1 | _x( 'Keys', 'Post Type General Name', 'wp_license_key' ),
16 | 'singular_name' => _x( 'Key', 'Post Type Singular Name', 'wp_license_key' ),
17 | 'menu_name' => __( 'Manage Keys', 'wp_license_key' ),
18 | 'parent_item_colon' => __( 'Parent Key:', 'wp_license_key' ),
19 | 'all_items' => __( 'All Keys', 'wp_license_key' ),
20 | 'view_item' => __( 'View Key', 'wp_license_key' ),
21 | 'add_new_item' => __( 'Add New Key', 'wp_license_key' ),
22 | 'add_new' => __( 'New Key', 'wp_license_key' ),
23 | 'edit_item' => __( 'Edit Key', 'wp_license_key' ),
24 | 'update_item' => __( 'Update Key', 'wp_license_key' ),
25 | 'search_items' => __( 'Search keys', 'wp_license_key' ),
26 | 'not_found' => __( 'No keys found', 'wp_license_key' ),
27 | 'not_found_in_trash' => __( 'No keys found in Trash', 'wp_license_key' ),
28 | );
29 | $rewrite = array(
30 | 'slug' => 'license-key',
31 | 'with_front' => true,
32 | 'pages' => false,
33 | 'feeds' => false,
34 | );
35 | $args = array(
36 | 'label' => __( 'key', 'wp_license_key' ),
37 | 'description' => __( 'License Key', 'wp_license_key' ),
38 | 'labels' => $labels,
39 | 'supports' => array( 'title', 'revisions', ),
40 | 'hierarchical' => false,
41 | 'public' => true,
42 | 'show_ui' => true,
43 | 'show_in_menu' => false,
44 | 'show_in_nav_menus' => false,
45 | 'show_in_admin_bar' => false,
46 | 'menu_position' => 10,
47 | 'menu_icon' => '',
48 | 'can_export' => true,
49 | 'has_archive' => false,
50 | 'exclude_from_search' => true,
51 | 'publicly_queryable' => true,
52 | 'query_var' => 'key',
53 | 'rewrite' => $rewrite,
54 | 'capability_type' => 'page',
55 | );
56 | register_post_type( 'key', $args );
57 |
58 | }
59 |
60 | // Hook into the 'init' action
61 | add_action( 'init', 'license_key', 0 );
62 |
63 | // Change license post_type title
64 | function change_license_key_title( $title ){
65 | $screen = get_current_screen();
66 |
67 | if ( 'key' == $screen->post_type ) {
68 | $title = '0000-0000-0000-0000';
69 | }
70 |
71 | return $title;
72 | }
73 | add_filter( 'enter_title_here', 'change_license_key_title' );
74 |
75 | // Remove default wp admin menus
76 | function remove_menus(){
77 |
78 | remove_menu_page( 'edit.php' ); //Posts
79 | remove_menu_page( 'upload.php' ); //Media
80 | remove_menu_page( 'edit.php?post_type=page' ); //Pages
81 | remove_menu_page( 'edit-comments.php' ); //Comments
82 | remove_menu_page( 'themes.php' ); //Appearance
83 | remove_menu_page( 'plugins.php' ); //Plugins
84 | remove_menu_page( 'users.php' ); //Users
85 | remove_menu_page( 'tools.php' ); //Tools
86 | remove_menu_page( 'options-general.php' ); //Settings
87 |
88 | }
89 | add_action( 'admin_menu', 'remove_menus' );
90 |
91 | // Remove default wp admin submenus
92 | function adjust_the_wp_menu() {
93 | remove_submenu_page( 'themes.php', 'customize.php' );
94 | //remove_submenu_page( 'themes.php', 'theme-editor.php' );
95 | remove_submenu_page( 'options-general.php', 'options-reading.php' );
96 | remove_submenu_page( 'options-general.php', 'options-discussion.php' );
97 | remove_submenu_page( 'options-general.php', 'options-media.php' );
98 | remove_submenu_page( 'options-general.php', 'options-permalink.php' );
99 | remove_submenu_page( 'options-general.php', 'options-writing.php' );
100 | }
101 | add_action( 'admin_menu', 'adjust_the_wp_menu', 999 );
102 |
103 | // Custom adminbar
104 | function lkm_admin_bar_render() {
105 | global $wp_admin_bar;
106 | $wp_admin_bar->remove_menu('comments');
107 | echo '';
108 | }
109 | add_action( 'wp_before_admin_bar_render', 'lkm_admin_bar_render' );
110 |
111 | // Remove the WordPress Logo from the Toolbar
112 | function remove_wp_logo( $wp_admin_bar ) {
113 | $wp_admin_bar->remove_node( 'wp-logo' );
114 | }
115 | add_action( 'admin_bar_menu', 'remove_wp_logo', 999 );
116 |
117 | // remove some more from adminbar
118 | add_action( 'admin_bar_menu', 'remove_wp_nodes', 999 );
119 | function remove_wp_nodes()
120 | {
121 | global $wp_admin_bar;
122 | $wp_admin_bar->remove_node( 'new-post' );
123 | $wp_admin_bar->remove_node( 'new-page' );
124 | $wp_admin_bar->remove_node( 'new-link' );
125 | $wp_admin_bar->remove_node( 'new-media' );
126 | $wp_admin_bar->remove_node('about');
127 | $wp_admin_bar->remove_node('wporg');
128 | $wp_admin_bar->remove_node('documentation');
129 | $wp_admin_bar->remove_node('support-forums');
130 | $wp_admin_bar->remove_node('feedback');
131 | $wp_admin_bar->remove_node('view-site');
132 | }
133 |
134 | // customize left wp-admin footer text
135 | function lkm_admin_footer() {
136 | echo '© ';
137 | echo date('Y');
138 | echo ' Jason Jersey | GNU GPL 3.0+';
139 | }
140 | add_filter('admin_footer_text', 'lkm_admin_footer');
141 |
142 | // remove wp version from admin footer
143 | function lkm_version() {
144 | echo 'License Key Manager (Server Node) v';
145 | echo icryptic_version();
146 | }
147 | add_filter( 'update_footer', 'lkm_version', '1234');
148 |
149 | //hide nag updates
150 | function wphidenag_updates(){
151 | remove_action( 'admin_notices', 'update_nag', 3 );
152 | }
153 | add_action('admin_menu','wphidenag_updates');
154 |
155 | //get ready to change backend text
156 | add_filter('gettext', 'change_howdy', 10, 3);
157 |
158 | //start changing backend text
159 | function change_howdy($translated, $text, $domain) {
160 |
161 | if (!is_admin() || 'default' != $domain)
162 | return $translated;
163 |
164 | if (false !== strpos($translated, 'Howdy'))
165 | return str_replace('Howdy', 'Yeehaw', $translated);
166 |
167 | if (false !== strpos($translated, 'My Sites'))
168 | return str_replace('My Sites', 'My Nodes', $translated);
169 |
170 | if (false !== strpos($translated, 'Public'))
171 | return str_replace('Public', 'Active', $translated);
172 |
173 | if (false !== strpos($translated, 'Password protected'))
174 | return str_replace('Password protected', 'Safe mode', $translated);
175 |
176 | if (false !== strpos($translated, 'Password Protected'))
177 | return str_replace('Password Protected', 'Safe Mode', $translated);
178 |
179 | if (false !== strpos($translated, 'Post updated'))
180 | return str_replace('Post updated', 'Key updated', $translated);
181 |
182 | if (false !== strpos($translated, 'Post published'))
183 | return str_replace('Post published', 'Key created', $translated);
184 |
185 | if (false !== strpos($translated, 'Site Title'))
186 | return str_replace('Site Title', 'Node Name', $translated);
187 |
188 | if (false !== strpos($translated, 'Tagline'))
189 | return str_replace('Tagline', 'Description', $translated);
190 |
191 | if (false !== strpos($translated, 'site is about'))
192 | return str_replace('site is about', 'node is for', $translated);
193 |
194 | if (false !== strpos($translated, 'General Settings'))
195 | return str_replace('General Settings', 'Node Settings', $translated);
196 |
197 | if (false !== strpos($translated, 'Site Address'))
198 | return str_replace('Site Address', 'Node Address', $translated);
199 |
200 | if (false !== strpos($translated, 'Add New Site'))
201 | return str_replace('Add New Site', 'Add New Node', $translated);
202 |
203 | if (false !== strpos($translated, 'Site added'))
204 | return str_replace('Site added', 'Node added', $translated);
205 |
206 | if (false !== strpos($translated, 'Edit Site'))
207 | return str_replace('Edit Site', 'Update Node', $translated);
208 |
209 | if (false !== strpos($translated, 'Create a New Site'))
210 | return str_replace('Create a New Site', 'Create New Node', $translated);
211 |
212 | if (false !== strpos($translated, 'Primary Site'))
213 | return str_replace('Primary Site', 'Primary Node', $translated);
214 |
215 | if (false !== strpos($translated, 'Draft'))
216 | return str_replace('Draft', 'Preparing', $translated);
217 |
218 | if (false !== strpos($translated, 'Publish'))
219 | return str_replace('Publish', 'Start', $translated);
220 |
221 | if (false !== strpos($translated, 'Visibility'))
222 | return str_replace('Visibility', 'License', $translated);
223 |
224 | if (false !== strpos($translated, 'Visibility'))
225 | return str_replace('Visibility', 'License', $translated);
226 |
227 | if (false !== strpos($translated, 'Private'))
228 | return str_replace('Private', 'Inactive', $translated);
229 |
230 | return $translated;
231 | }
232 |
233 | //disable theme updates
234 | remove_action( 'load-update-core.php', 'wp_update_themes' );
235 | add_filter( 'pre_site_transient_update_themes', create_function( '$a', "return null;" ) );
236 |
--------------------------------------------------------------------------------
/wordpress edition/wp-content/themes/license-key-server/header.php:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/wordpress edition/wp-content/themes/license-key-server/index.php:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |