public function getSites() { $db_prefix = get_config('dbprefix'); $sites = array(); foreach (subsite_manager_get_user_subsites($user->guid) as $site) { $plugin_enabled = elgg_get_entities_from_relationship(array('type' => 'object', 'subtype' => 'plugin', 'relationship_guid' => $site->guid, 'relationship' => 'active_plugin', 'inverse_relationship' => true, 'site_guid' => $site->guid, 'joins' => array("JOIN {$db_prefix}objects_entity oe on oe.guid = e.guid"), 'selects' => array("oe.title", "oe.description"), 'wheres' => array("oe.title = 'pleiobox'"), 'limit' => 1)); if (count($plugin_enabled) === 1) { $sites[] = array('name' => $site->name, 'url' => $site->url); } } return $this->sendResponse($sites); }
/** * @SWG\Get( * path="/api/sites/mine", * security={{"oauth2": {"all"}}}, * tags={"sites"}, * summary="Retrieve a list of sites the current user is member of and that have the API enabled.", * description="Retrieve a list of sites the current user is member of and that have the API enabled.", * produces={"application/json"}, * @SWG\Parameter( * name="offset", * in="query", * description="Offset the results by", * default=0, * required=false, * type="integer", * @SWG\Items(type="integer") * ), * @SWG\Parameter( * name="limit", * in="query", * description="Limit the results by", * default=20, * required=false, * type="integer", * @SWG\Items(type="integer") * ), * @SWG\Response( * response=200, * description="Succesful operation.", * @SWG\Schema( * type="array", * @SWG\Items(ref="#/definitions/Site") * ), * ) * ) */ public function getMine($request, $response, $args) { $params = $request->getQueryParams(); $current_user = elgg_get_logged_in_user_entity(); $entities = array(); foreach (subsite_manager_get_user_subsites($current_user->guid) as $entity) { if (pleio_rest_subsite_plugin_enabled($entity)) { $entities[] = $this->parseSite($entity); } } $response = $response->withHeader('Content-type', 'application/json'); return $response->write(json_encode(array('total' => count($entities), 'entities' => $entities), JSON_PRETTY_PRINT)); }
<?php $base_url = elgg_get_site_url(); ?> <div class="rhs-dropdown"> <a data-dropdown-trigger href="#" title="Pleio" class="rhs-top-navigation__link rhs-top-navigation__link--left rhs-dropdown__trigger">Pleio</a> <div class="rhs-dropdown__wrapper"> <?php if (subsite_manager_on_subsite()) { // link back to parent site $parent = elgg_get_config("site")->getOwnerEntity(); $base_url = $parent->url; echo elgg_view("output/url", array("href" => $base_url, "text" => $parent->name, "is_trusted" => true, "class" => "rhs-dropdown__link")); } $sites = subsite_manager_get_user_subsites(); if ($sites) { // list subsites foreach ($sites as $site) { if ($site->url != elgg_get_site_url()) { echo elgg_view("output/url", array("href" => $site->url, "text" => $site->name, "is_trusted" => true, "class" => "rhs-dropdown__link")); } } } echo elgg_view("output/url", array("href" => $base_url . "subsites", "text" => elgg_echo("subsite_manager:menu:subsites:all"), "class" => "rhs-dropdown__link elgg-quiet", "is_trusted" => true)); if ($sites) { echo elgg_view("output/url", array("href" => $base_url . "subsites/mine", "text" => elgg_echo("subsite_manager:menu:subsites:mine"), "class" => "rhs-dropdown__link elgg-quiet", "is_trusted" => true)); } ?> </div> </div>
/** * Activity widget content view */ $num = (int) $vars['entity']->num_display; $options = array('limit' => $num, 'pagination' => false); if (elgg_in_context('dashboard')) { if ($vars['entity']->content_type == 'friends') { $options['relationship_guid'] = elgg_get_page_owner_guid(); $options['relationship'] = 'friend'; } } else { $options['subject_guid'] = elgg_get_page_owner_guid(); } $activity_site_guid = $vars['entity']->activity_site_guid; if ($activity_site_guid) { if ($activity_site_guid == "all") { $sites = subsite_manager_get_user_subsites($vars['entity']->owner_guid); $site_guids = array(); foreach ($sites as $site) { $site_guids[] = $site->guid; } $options["site_guids"] = $site_guids; } else { $options["site_guid"] = $activity_site_guid; } } $content = elgg_list_river($options); if (!$content) { $content = elgg_echo('river:none'); } echo $content;
?> : <?php echo $type_dropdown; ?> </div> <?php } // set default value for number to display if (!isset($vars['entity']->num_display)) { $vars['entity']->num_display = 8; } $params = array('name' => 'params[num_display]', 'value' => $vars['entity']->num_display, 'options' => array(5, 8, 10, 12, 15, 20)); $num_dropdown = elgg_view('input/dropdown', $params); if (elgg_in_context('dashboard') && !subsite_manager_on_subsite()) { $sites = subsite_manager_get_user_subsites(page_owner_entity()->guid); if ($sites) { $pulldown_options = array("0" => elgg_echo("widget:river_widget:edit:site_selection:current"), "all" => elgg_echo("widget:river_widget:edit:site_selection:all")); foreach ($sites as $site) { $pulldown_options[$site->guid] = $site->name; } echo "<div>"; echo elgg_echo("widget:river_widget:edit:site_selection") . ": "; echo elgg_view("input/dropdown", array("name" => "params[activity_site_guid]", "value" => $vars['entity']->activity_site_guid, "options_values" => $pulldown_options, "style" => "width: 100px")); echo "</div>"; } } ?> <div> <?php echo elgg_echo('widget:numbertodisplay');
function subsite_manager_search_multisite_search_hook($hook, $type, $return_value, $params) { if (!$return_value) { if (subsite_manager_get_user_subsites()) { $return_value = true; } } return $return_value; }