Exemplo n.º 1
0
 /**
  * @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));
 }
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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");
        }
    }
}
Exemplo n.º 4
0
<?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'));
Exemplo n.º 5
0
<?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;
Exemplo n.º 6
0
/**
 * 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);
    }
}
Exemplo n.º 7
0
<?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));
}