PluginProbe
JSON API Auth / 2.9.1
JSON API Auth v2.9.1
3.1.2 3.1.1 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 3.0.0 3.1.0 trunk 0.1 1.0 1.1 1.2 1.3 1.4 1.5 1.5.1 All 33 releases
json-api-auth / json-api-auth.php

json-api-auth.php in JSON API Auth 2.9.1, at json-api-auth.php

87 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 /*
4
5 Plugin Name: JSON API Auth
6 Plugin URI: http://www.parorrey.com/solutions/json-api-auth/
7 Description: Extends the JSON API Plugin for RESTful user authentiocation
8 Version: 2.9.1
9 Author: Ali Qureshi
10 Author URI: http://www.parorrey.com
11 License: GPLv3
12
13 */
14
15 include_once(ABSPATH . 'wp-admin/includes/plugin.php');
16
17 define('JSON_API_AUTH_HOME', dirname(__FILE__));
18
19 function auth_action_links($links)
20 {
21
22 $links[] = '<a href="' . esc_url(get_admin_url(null, '/options-general.php?page=json-api')) . '">JSON API</a>';
23
24 $links[] = '<a href="https://www.parorrey.com/solutions/json-api-user-plus/" target="_blank">' . __('Upgrade to User Plus', 'json-api-auth') . '</a>';
25
26 return $links;
27 }
28 add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'auth_action_links', 10, 1);
29
30
31 if (!(is_plugin_active('json-api/json-api.php') || is_plugin_active('json-api-master/json-api.php'))) {
32
33 add_action('admin_notices', 'pim_auth_draw_notice_json_api');
34
35 return;
36
37 }
38
39 add_filter('json_api_controllers', 'pimAuthJsonApiController');
40
41 add_filter('json_api_auth_controller_path', 'setAuthControllerPath');
42
43 add_action('init', 'json_api_auth_checkAuthCookie', 100);
44
45 load_plugin_textdomain('json-api-auth', false, basename(dirname(__FILE__)) . '/languages');
46
47 function pim_auth_draw_notice_json_api()
48 {
49
50 echo '<div id="message" class="error fade"><p style="line-height: 150%">';
51
52 _e('<strong>JSON API Auth</strong></a> requires the JSON API plugin to be activated. Please <a href="https://github.com/PI-Media/json-api">install / activate JSON API</a> first from <a href="https://github.com/PI-Media/json-api" target="_blank">GitHub repository here</a>. <br>You can also upgrade to a pro verison <a href="http://www.parorrey.com/solutions/json-api-user-plus/" target="_blank">JSON API User Plus</a> for JSON API Auth.', 'json-api-auth');
53
54 echo '</p></div>';
55
56 }
57
58
59 function pimAuthJsonApiController($aControllers)
60 {
61
62 $aControllers[] = 'Auth';
63 return $aControllers;
64
65 }
66
67
68 function setAuthControllerPath($sDefaultPath)
69 {
70
71 return dirname(__FILE__) . '/controllers/Auth.php';
72
73 }
74
75 function json_api_auth_checkAuthCookie($sDefaultPath)
76 {
77 global $json_api;
78
79 if ($json_api->query->cookie) {
80 $user_id = wp_validate_auth_cookie($json_api->query->cookie, 'logged_in');
81 if ($user_id) {
82 $user = get_userdata($user_id);
83
84 wp_set_current_user($user->ID, $user->user_login);
85 }
86 }
87 }