aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/user/default_access.php46
-rw-r--r--views/default/user/settings/default_access.php30
2 files changed, 76 insertions, 0 deletions
diff --git a/actions/user/default_access.php b/actions/user/default_access.php
new file mode 100644
index 000000000..264bfb45b
--- /dev/null
+++ b/actions/user/default_access.php
@@ -0,0 +1,46 @@
+<?php
+ /**
+ * Action for changing a user's default access level
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2009
+ * @link http://elgg.org/
+ */
+
+ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+ global $CONFIG;
+
+ if ($CONFIG->allow_user_default_access) {
+
+ gatekeeper();
+
+ $default_access = get_input('default_access');
+ $user_id = get_input('guid');
+ $user = "";
+
+ if (!$user_id)
+ $user = $_SESSION['user'];
+ else
+ $user = get_entity($user_id);
+
+ if ($user)
+ {
+ $current_default_access = $user->getPrivateSetting('elgg_default_access');
+ if ($default_access != $current_default_access)
+ {
+ if ($user->setPrivateSetting('elgg_default_access',$default_access))
+ system_message(elgg_echo('user:default_access:success'));
+ else
+ register_error(elgg_echo('user:default_access:fail'));
+ }
+ }
+ else
+ register_error(elgg_echo('user:default_access:fail'));
+ }
+
+ //forward($_SERVER['HTTP_REFERER']);
+ //exit;
+?> \ No newline at end of file
diff --git a/views/default/user/settings/default_access.php b/views/default/user/settings/default_access.php
new file mode 100644
index 000000000..c53b27233
--- /dev/null
+++ b/views/default/user/settings/default_access.php
@@ -0,0 +1,30 @@
+<?php
+ /**
+ * Provide a way of setting your default access
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2009
+ * @link http://elgg.org/
+ */
+ if ($vars['config']->allow_user_default_access) {
+ $user = page_owner_entity();
+
+ if ($user) {
+ if (false === ($default_access = $user->getPrivateSetting('elgg_default_access'))) {
+ $default_access = $vars['config']->default_access;
+ }
+ ?>
+ <h3><?php echo elgg_echo('default_access:settings'); ?></h3>
+ <p>
+ <?php echo elgg_echo('default_access:label'); ?>:
+ <?php
+
+ echo elgg_view('input/access',array('internalname' => 'default_access', 'value' => $default_access));
+
+ ?>
+ </p>
+
+<?php }} ?> \ No newline at end of file