PluginProbe
User Access Manager / 1.1.1
User Access Manager v1.1.1
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | user-access-manager.php +67 -9 1.0 → 1.1.1 View file →
@@ -1,11 +1,10 @@
1 1 <?php
2 -
3 2 /**
4 3 * Plugin Name: User Access Manager
5 4 * Plugin URI: http://www.gm-alex.de/projects/wordpress/plugins/user-access-manager/
6 5 * Author URI: http://www.gm-alex.de/
7 - * Version: 1.0
6 + * Version: 1.1.1
8 7 * Author: Alexander Schneider
9 8 * Description: Manage the access to your posts, pages, categories and files.
10 9 *
11 10 * user-access-manager.php
@@ -45,12 +44,57 @@
45 44 WP_PLUGIN_DIR.'/'.plugin_basename(dirname(__FILE__)).'/'
46 45 );
47 46 }
48 47
48 +
49 49 //Defines
50 50 require_once 'includes/database.define.php';
51 51 require_once 'includes/language.define.php';
52 52
53 +
54 +//Check requirements
55 +$stop = false;
56 +
57 +//Check php version
58 +$phpVersion = phpversion();
59 +
60 +if ($phpVersion < 5.0) {
61 + add_action(
62 + 'admin_notices',
63 + create_function(
64 + '',
65 + 'echo \'<div id="message" class="error"><p><strong>'.
66 + sprintf(TXT_PHP_VERSION_TO_LOW, $phpVersion).
67 + '</strong></p></div>\';'
68 + )
69 + );
70 +
71 + $stop = true;
72 +}
73 +
74 +//Check wordpress version
75 +global $wp_version;
76 +
77 +if ($wp_version < 3.0) {
78 + add_action(
79 + 'admin_notices',
80 + create_function(
81 + '',
82 + 'echo \'<div id="message" class="error"><p><strong>'.
83 + sprintf(TXT_WORDPRESS_VERSION_TO_LOW, $wp_version).
84 + '</strong></p></div>\';'
85 + )
86 + );
87 +
88 + $stop = true;
89 +}
90 +
91 +//If we have a error stop plugin.
92 +if ($stop) {
93 + return;
94 +}
95 +
96 +
53 97 //Classes
54 98 require_once 'class/UserAccessManager.class.php';
55 99 require_once 'class/UamUserGroup.class.php';
56 100 require_once 'class/UamAccessHandler.class.php';
@@ -67,11 +111,9 @@
67 111 * @return null;
68 112 */
69 113 function userAccessManagerAP()
70 114 {
71 - global $userAccessManager,
72 - $uamUserGroup,
73 - $uamAccessHandler,
115 + global $userAccessManager,
74 116 $current_user;
75 117
76 118 if (!isset($userAccessManager)) {
77 119 return;
@@ -78,10 +120,23 @@
78 120 }
79 121
80 122 $userAccessManager->atAdminPanel = true;
81 123 $uamOptions = $userAccessManager->getAdminOptions();
82 - $userAccessManager->update();
83 124
125 + if ($userAccessManager->isDatabaseUpdateNecessary()) {
126 + $link = 'admin.php?page=uam_setup';
127 +
128 + add_action(
129 + 'admin_notices',
130 + create_function(
131 + '',
132 + 'echo \'<div id="message" class="error"><p><strong>'.
133 + sprintf(TXT_NEED_DATABASE_UPDATE, $link).
134 + '</strong></p></div>\';'
135 + )
136 + );
137 + }
138 +
84 139 get_currentuserinfo();
85 140 $curUserdata = get_userdata($current_user->ID);
86 141
87 142 if ($userAccessManager->getAccessHandler()->checkUserAccess()
@@ -221,10 +276,10 @@
221 276
222 277 //Redirect
223 278 $uamOptions = $userAccessManager->getAdminOptions();
224 279
225 - if ($uamOptions['redirect'] != 'false' || isset($_GET['getfile'])) {
226 - add_action('template_redirect', array(&$userAccessManager, 'redirect'));
280 + if ($uamOptions['redirect'] != 'false' || isset($_GET['uamgetfile'])) {
281 + add_filter('wp_headers', array(&$userAccessManager, 'redirect'), 10, 2);
227 282 }
228 283
229 284 //Actions
230 285 if (function_exists('add_action')) {
@@ -238,8 +293,9 @@
238 293 if (function_exists('add_filter')) {
239 294 add_filter('wp_get_attachment_thumb_url', array(&$userAccessManager, 'getFileUrl'), 10, 2);
240 295 add_filter('wp_get_attachment_url', array(&$userAccessManager, 'getFileUrl'), 10, 2);
241 296 add_filter('the_posts', array(&$userAccessManager, 'showPost'));
297 + add_filter('posts_where_paged', array(&$userAccessManager, 'showPostSql'));
242 298 add_filter('wp_get_nav_menu_items', array(&$userAccessManager, 'showCustomMenu'));
243 299 add_filter('comments_array', array(&$userAccessManager, 'showComment'));
244 300 add_filter('get_pages', array(&$userAccessManager, 'showPage'));
245 301 add_filter('get_terms', array(&$userAccessManager, 'showCategory'), 10, 2);
@@ -244,8 +300,10 @@
244 300 add_filter('get_pages', array(&$userAccessManager, 'showPage'));
245 301 add_filter('get_terms', array(&$userAccessManager, 'showCategory'), 10, 2);
246 302 add_filter('get_next_post_where', array(&$userAccessManager, 'showNextPreviousPost'));
247 303 add_filter('get_previous_post_where', array(&$userAccessManager, 'showNextPreviousPost'));
248 - //add_filter('the_title', array(&$userAccessManager, 'showTitle'), 10, 2);
304 + add_filter('post_link', array(&$userAccessManager, 'cachePostLinks'), 10, 2);
249 305 add_filter('edit_post_link', array(&$userAccessManager, 'showGroupMembership'), 10, 2);
306 + add_filter('parse_query', array(&$userAccessManager, 'parseQuery'));
307 + add_filter('getarchives_where', array(&$userAccessManager, 'showPostSql'));
250 308 }
251 309 }