/** * @SWG\Post( * path="/api/users/me", * security={{"oauth2": {"all"}}}, * tags={"user"}, * summary="Get information of the resource owner.", * description="Get information of the resource owner.", * produces={"application/json"}, * @SWG\Response( * response=200, * description="Succesful operation." * ) * ) */ public function me($request, $response, $args) { $site = elgg_get_site_entity(); $user = elgg_get_logged_in_user_entity(); if (!$user) { throw new Exception("Could not find the logged in user."); } $json = array("guid" => $user->guid, "username" => $user->username, "name" => $user->name, "email" => $user->email, "icon" => "{$site->url}/mod/profile/icondirect.php?guid={$user->guid}&joindate={$user->time_created}", "url" => $user->getURL(), "language" => $user->language, "isAdmin" => subsite_manager_is_superadmin_logged_in()); $response = $response->withHeader("Content-type", "application/json"); return $response->write(json_encode($json, JSON_PRETTY_PRINT)); }
function subsite_manager_remove_superadmin($user_guid = 0) { $result = false; if (empty($user_guid)) { $user_guid = elgg_get_logged_in_user_guid(); } if (!empty($user_guid) && subsite_manager_is_superadmin_logged_in()) { if (remove_private_setting($user_guid, "superadmin")) { $result = true; } } return $result; }
function subsite_manager_pagesetup() { // validate the page_owner $page_owner = elgg_get_page_owner_entity(); if (!empty($page_owner) && elgg_instanceof($page_owner, "group")) { $site = elgg_get_site_entity(); if ($page_owner->site_guid != $site->getGUID()) { // you're viewing a group of a different (sub)site system_message(elgg_echo("changebookmark")); forward($page_owner->getURL()); } } // Display a message for non-subsite users subsite_manager_check_subsite_user(); $context = elgg_get_context(); // handle menu items if (elgg_is_admin_logged_in()) { // add to admin menu if (subsite_manager_is_superadmin_logged_in()) { //only for super admins elgg_register_admin_menu_item("administer", "import", "users", 150); elgg_register_admin_menu_item("administer", "bulk_remove", "users", 160); } // list subsite administrators elgg_register_admin_menu_item("administer", "admins", "users", 110); elgg_register_admin_menu_item("administer", "move_group", "administer_utilities"); if (!subsite_manager_on_subsite()) { elgg_register_admin_menu_item("administer", "new", "subsites", 20); elgg_register_admin_menu_item("administer", "plugins", "subsites", 30); elgg_register_admin_menu_item("administer", "admins", "subsites", 40); elgg_register_menu_item("page", array("name" => "subsites", "href" => "subsites", "text" => elgg_echo("subsite_manager:menu:admin:manage"), "context" => "admin", "section" => "administer", "parent_name" => "subsites", "priority" => 10, "target" => "_blank")); } else { // remove add user menu item if (!subsite_manager_is_superadmin_logged_in()) { elgg_unregister_menu_item("page", "users:add"); } // list membership requests elgg_register_admin_menu_item("administer", "membership", "users", 120); // invite members elgg_register_admin_menu_item("administer", "invite", "users", 130); // view invitations elgg_register_admin_menu_item("administer", "invitations", "users", 140); } } if (elgg_is_logged_in() && !subsite_manager_on_subsite()) { // site menu elgg_register_menu_item("site", array("name" => "subsites", "href" => "subsites", "text" => elgg_echo("subsite_manager:menu:subsites"))); } // disable search engine indexing elgg_extend_view("page/elements/head", "metatags/noindex"); elgg_extend_view("page/elements/head", "subsite_manager/remove_rss", 499); elgg_unextend_view("page/elements/head", "profile/metatags"); if (in_array($context, array("profile", "friends", "friendsof"))) { elgg_unregister_plugin_hook_handler("output:before", "layout", "elgg_views_add_rss_link"); } // do we need to disable htmlawed for admins if (elgg_get_config("disable_htmlawed")) { if (elgg_is_admin_logged_in() || elgg_in_context("static")) { elgg_unregister_plugin_hook_handler("validate", "input", "htmlawed_filter_tags"); } } }
<?php if (!subsite_manager_is_superadmin_logged_in()) { forward('/'); } echo "<p>" . elgg_echo('subsite_manager:users:bulk_remove:description') . "</p>"; echo elgg_view_form('subsite_manager/users/bulk_remove', array('enctype' => 'multipart/form-data'));
<?php /** * Change the plugin categories for Plugin Manager * because some plugin will not always be displayed * */ // restrict the displayed plugin for subsite admins (on subsites) if (subsite_manager_on_subsite() && !subsite_manager_is_superadmin_logged_in()) { $plugins = elgg_get_plugins("any"); $categories = array(); foreach ($plugins as $id => $plugin) { $show_plugin = subsite_manager_show_plugin($plugin); if ($show_plugin) { $plugin_categories = $plugin->getManifest()->getCategories(); if (isset($plugin_categories)) { foreach ($plugin_categories as $category) { if (!array_key_exists($category, $categories)) { $categories[$category] = ElggPluginManifest::getFriendlyCategory($category); } } } } } asort($categories); // we want bundled/nonbundled pulled to be at the top of the list unset($categories['bundled']); unset($categories['nonbundled']); $common_categories = array('all' => elgg_echo('admin:plugins:category:all'), 'active' => elgg_echo('admin:plugins:category:active'), 'inactive' => elgg_echo('admin:plugins:category:inactive'), 'bundled' => elgg_echo('admin:plugins:category:bundled'), 'nonbundled' => elgg_echo('admin:plugins:category:nonbundled')); $categories = array_merge($common_categories, $categories); $vars["category_options"] = $categories;
/** * Protect the translation editor from unautherized admins * * @param string $hook 'route' * @param string $type 'translation_editor' * @param array $returnvalue page elements * @param null $params null */ function subsite_manager_translation_editor_route_hook($hook, $type, $returnvalue, $params) { if (subsite_manager_on_subsite() && !subsite_manager_is_superadmin_logged_in()) { register_error(elgg_echo("subsite_manager:action:error:on_subsite")); forward(REFERER); } }
<?php /** * Elgg administration plugin screen * * Shows a list of plugins that can be sorted and filtered. * * @package Elgg.Core * @subpackage Admin.Plugins */ elgg_load_js('lightbox'); elgg_load_css('lightbox'); if (!subsite_manager_on_subsite()) { elgg_generate_plugin_entities(); } $installed_plugins = elgg_get_plugins('any'); if (subsite_manager_is_superadmin_logged_in() && get_input("advanced") == "yes") { echo elgg_view("admin/plugins/advanced", array("installed_plugins" => $installed_plugins)); } else { echo elgg_view("admin/plugins/simple", array("installed_plugins" => $installed_plugins)); }