public function __construct($page) { admin_gatekeeper(); global $CONFIG; $cshop = new stdClass(); $this->controller = GLOBAL_IZAP_CURRENT_CONTROLLER; $this->action = 'action' . ucfirst($page[0]); $this->_page = $page; $this->url_vars = $this->_page; $this->page_layout = $this->page_shell = 'admin'; $cshop->view = $this->_view = 'admin/' . implode('/', $page); $this->page_elements['title'] = elgg_echo("admin:{$page[0]}"); if (count($page) > 1) { $this->page_elements['title'] .= ' : ' . elgg_echo('admin:' . implode(':', $page)); } if (method_exists($this, $this->action)) { elgg_admin_add_plugin_settings_menu(); elgg_set_context('admin'); elgg_unregister_css('elgg'); $url = elgg_get_simplecache_url('js', 'admin'); elgg_register_js('elgg.admin', $url); elgg_load_js('elgg.admin'); elgg_register_js('jquery.jeditable', 'vendors/jquery/jquery.jeditable.mini.js'); elgg_load_js('jquery.jeditable'); } $CONFIG->cshop = $cshop; }
/** * Serve pages. URLs in the form: * * pg/block_users/blocked_users/<username> - Users blocked by <username>. If not set, defaults to logged in. * pg/block_users/blocked - The page to display when a user is blocked. * * @param array $page * @return bool Depending on success */ function page_handler($page) { gatekeeper(); if (!isset($page[0])) { $page[0] = 'blocked_users'; } switch ($page[0]) { case 'blocked_user_content': $site = elgg_get_site_entity(); elgg_set_page_owner_guid($site->guid); include dirname(__FILE__) . '/pages/block_users/blocked_user_content.php'; break; case 'blocked_content': $site = elgg_get_site_entity(); elgg_set_page_owner_guid($site->guid); include dirname(__FILE__) . '/pages/block_users/blocked_content.php'; break; default: case 'blocked_users': $logged_in_user = elgg_get_logged_in_user_entity(); if (!isset($page[1])) { $page[1] = $logged_in_user->username; } set_input('blocking_username', $page[1]); // only admins can see another user's block list if ($page[1] != $logged_in_user->username) { admin_gatekeeper(); } include dirname(__FILE__) . '/pages/block_users/blocked_users.php'; } return true; }
/** * Handles the advanced statistics pages * * @param array $page requested page * * @return boolean */ function advanced_statistics_page_handler($page) { admin_gatekeeper(); switch ($page[0]) { case 'users': echo advanced_statistics_get_users_data($page[1]); break; case 'groups': echo advanced_statistics_get_groups_data($page[1]); break; case 'activity': echo advanced_statistics_get_activity_data($page[1]); break; case 'content': echo advanced_statistics_get_content_data($page[1]); break; case 'system': echo advanced_statistics_get_system_data($page[1]); break; case 'widgets': echo advanced_statistics_get_widgets_data($page[1]); break; default: return false; } return true; }
function group_tools_route_groups_handler($hook, $type, $return_value, $params) { /** * $return_value contains: * $return_value['handler'] => requested handler * $return_value['segments'] => url parts ($page) */ $result = $return_value; if (!empty($return_value) && is_array($return_value)) { $page = $return_value['segments']; switch ($page[0]) { case "all": $filter = get_input("filter"); if (empty($filter) && ($default_filter = elgg_get_plugin_setting("group_listing", "group_tools"))) { $filter = $default_filter; set_input("filter", $default_filter); } if (in_array($filter, array("open", "closed", "alpha"))) { // we will handle the output $result = false; include dirname(dirname(__FILE__)) . "/pages/groups/all.php"; } break; case "requests": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/membershipreq.php"; break; case "invite": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/invite.php"; break; case "mail": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/mail.php"; break; case "group_invite_autocomplete": $result = false; include dirname(dirname(__FILE__)) . "/procedures/group_invite_autocomplete.php"; break; case "add": if (group_tools_is_group_creation_limited()) { admin_gatekeeper(); } break; default: // check if we have an old group profile link if (isset($page[0]) && is_numeric($page[0])) { if (($group = get_entity($page[0])) && elgg_instanceof($group, "group", null, "ElggGroup")) { register_error(elgg_echo("changebookmark")); forward($group->getURL()); } } break; } } return $result; }
/** * Handles the advanced statistics pages * * @param array $page requested page * * @return boolean */ function advanced_statistics_page_handler($page) { admin_gatekeeper(); switch ($page[0]) { case "users": echo advanced_statistics_get_users_data($page[1]); break; case "groups": echo advanced_statistics_get_groups_data($page[1]); break; case "activity": echo advanced_statistics_get_activity_data($page[1]); break; case "content": echo advanced_statistics_get_content_data($page[1]); break; case "system": echo advanced_statistics_get_system_data($page[1]); break; case "widgets": echo advanced_statistics_get_widgets_data($page[1]); break; default: return false; } return true; }
function elgg_modifications_generate_digischool_menu_page_handler($page) { admin_gatekeeper(); if (elgg_is_active_plugin("menu_builder")) { // remove current menu items $current_options = array("type" => "object", "subtype" => "menu_builder_menu_item", "limit" => false); if ($current_items = elgg_get_entities($current_options)) { foreach ($current_items as $current_item) { $current_item->delete(); } } // var_dump($current_items); // exit(); // add the new ones $site = elgg_get_site_entity(); $site_acl = $site->getACL(); $menu_items = array(array("title" => "Voorpagina", "url" => "[wwwroot]", "access_id" => ACCESS_PUBLIC, "children" => array(array("title" => "Alle blogs", "url" => "[wwwroot]blog/all", "access_id" => ACCESS_PUBLIC), array("title" => "Alle activiteiten", "url" => "[wwwroot]activity", "access_id" => ACCESS_LOGGED_IN))), array("title" => "Statische pagina's", "url" => "[wwwroot]lidworden", "access_id" => ACCESS_LOGGED_IN), array("title" => "Archief", "url" => "Zelf in te vullen", "access_id" => ACCESS_PUBLIC), array("title" => "Leermiddelen", "url" => "#", "access_id" => ACCESS_PUBLIC, "children" => array(array("title" => "Vakpagina", "url" => "hier de link naar uw vakp", "access_id" => ACCESS_PUBLIC), array("title" => "Leermiddelenbank Digischool", "url" => "[wwwroot]", "access_id" => ACCESS_PUBLIC), array("title" => "Leden keurmerkgroepen", "url" => "zelf te vullen", "access_id" => ACCESS_PUBLIC))), array("title" => "Leden", "url" => "#", "access_id" => ACCESS_LOGGED_IN, "children" => array(array("title" => "Mijn groepen", "url" => "[wwwroot]groups/member/[username]", "access_id" => $site_acl), array("title" => "Mijn profielpagina", "url" => "[wwwroot]profile/[username]", "access_id" => $site_acl), array("title" => "Alle groepen", "url" => "[wwwroot]groups/all/?filter=pop", "access_id" => $site_acl), array("title" => "Lid worden", "url" => "[wwwroot]lidworden", "access_id" => ACCESS_PUBLIC), array("title" => "Content toevoegen", "url" => "[wwwroot]add", "access_id" => $site_acl), array("title" => "Mijn dashboard", "url" => "[wwwroot]dashboard", "access_id" => $site_acl), array("title" => "Zoeken leden", "url" => "[wwwroot]members", "access_id" => $site_acl), array("title" => "Mijn contacten", "url" => "[wwwroot]friends/[username]", "access_id" => $site_acl), array("title" => "Contactverzoeken", "url" => "[wwwroot]friend_request/", "access_id" => $site_acl), array("title" => "Mijn instellingen", "url" => "[wwwroot]settings", "access_id" => $site_acl), array("title" => "Nieuwe groep maken", "url" => "[wwwroot]groups/add", "access_id" => $site_acl))), array("title" => "Beheer", "url" => "[wwwroot]admin", "access_id" => ACCESS_PRIVATE, "children" => array(array("title" => "Gebruikersbeheer", "url" => "[wwwroot]admin/users/newest", "access_id" => ACCESS_PRIVATE), array("title" => "Nodig leden uit", "url" => "[wwwroot]admin/users/invite", "access_id" => ACCESS_PRIVATE), array("title" => "Pluginbeheer", "url" => "[wwwroot]admin/plugins", "access_id" => ACCESS_PRIVATE), array("title" => "Beheer template", "url" => "[wwwroot]admin/appearance/template", "access_id" => ACCESS_PRIVATE)))); $i = 0; foreach ($menu_items as $main_item) { $item = new ElggObject(); $item->subtype = "menu_builder_menu_item"; $item->owner_guid = $site->getGUID(); $item->container_guid = $site->getGUID(); $item->site_guid = $site->getGUID(); $item->access_id = $main_item["access_id"]; $item->parent_guid = 0; $item->title = $main_item["title"]; $item->url = $main_item["url"]; $item->order = $i; $i++; $item->save(); if (array_key_exists("children", $main_item)) { foreach ($main_item["children"] as $sub_item) { $submenu_item = new ElggObject(); $submenu_item->subtype = "menu_builder_menu_item"; $submenu_item->owner_guid = $site->getGUID(); $submenu_item->container_guid = $site->getGUID(); $submenu_item->site_guid = $site->getGUID(); $submenu_item->access_id = $sub_item["access_id"]; $submenu_item->parent_guid = $item->getGUID(); $submenu_item->title = $sub_item["title"]; $submenu_item->url = $sub_item["url"]; $submenu_item->order = $i; $i++; $submenu_item->save(); } } } system_message("menu created"); } else { register_error("plugin menu_builder not activated"); } forward(); }
/** * page setup - protect anon user owned pages */ function pagesetup() { $user = get_anon_user(); $page_owner = elgg_get_page_owner_entity(); if ($user->guid == $page_owner->guid) { // admin could log in as the anon user to set some things if ($user->guid != elgg_get_logged_in_user_guid()) { admin_gatekeeper(); } } }
function group_tools_route_groups_handler($hook, $type, $return_value, $params) { /** * $return_value contains: * $return_value['handler'] => requested handler * $return_value['segments'] => url parts ($page) */ $result = $return_value; if (!empty($return_value) && is_array($return_value)) { $page = $return_value['segments']; switch ($page[0]) { case "all": $filter = get_input("filter"); if (empty($filter) && ($default_filter = elgg_get_plugin_setting("group_listing", "group_tools"))) { $filter = $default_filter; set_input("filter", $default_filter); } if (in_array($filter, array("open", "closed", "alpha"))) { // we will handle the output $result = false; include dirname(dirname(__FILE__)) . "/pages/groups/all.php"; } break; case "requests": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/membershipreq.php"; break; case "invite": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/invite.php"; break; case "mail": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/mail.php"; break; case "group_invite_autocomplete": $result = false; include dirname(dirname(__FILE__)) . "/procedures/group_invite_autocomplete.php"; break; case "add": if (group_tools_is_group_creation_limited()) { admin_gatekeeper(); } break; } } return $result; }
function importUsersPageHandler($page) { admin_gatekeeper(); elgg_admin_add_plugin_settings_menu(); elgg_set_context('admin'); elgg_unregister_css('elgg'); elgg_load_js('elgg.admin'); elgg_load_js('jquery.jeditable'); $vars = array('page' => $page); $view = 'import/' . implode('/', $page); $title = "Import Users"; $content = elgg_view($view); $body = elgg_view_layout('admin', array('content' => $content, 'title' => $title)); echo elgg_view_page($title, $body, 'admin'); return true; }
/** * Shows notes on users. * * @param array $page URL segments * @return bool */ function admin_notes_pagehandler($page) { admin_gatekeeper(); $username = isset($page[0]) ? $page[0] : NULL; if ($username && !($user = get_user_by_username($username))) { // invalid username passed. emit error and forward to all. register_error(elgg_echo('admin_notes:unknown_user')); forward('admin_notes'); } // for owner blocks if ($user) { elgg_set_page_owner_guid($user->getGUID()); } else { elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); } include dirname(__FILE__) . '/pages/list_notes.php'; return true; }
/** * Serve pages related to group requests * * @param array $page The URL segments */ function group_requests_page_handler($page) { if (!isset($page[0])) { $page[0] = 'add'; } $params = array('filter' => false); switch ($page[0]) { case 'all': admin_gatekeeper(); $requests = elgg_list_entities(array('type' => 'object', 'subtype' => \Groups\Requests\Request::SUBTYPE, 'no_results' => elgg_echo('group_requests:none'))); $params['title'] = elgg_echo('group_requests:requests'); $params['content'] = $requests; break; case 'add': default: gatekeeper(); $params['title'] = elgg_echo('group_requests:request'); $params['content'] = elgg_view_form('groups/request', array(), array('user_guid' => elgg_get_logged_in_user_guid())); break; } $body = elgg_view_layout('content', $params); echo elgg_view_page($title, $body); }
/** * Take over the groups page handler in some cases * * @param string $hook the 'route' hook * @param string $type for the 'groups' page handler * @param bool $return_value tells which page is handled, contains: * $return_value['handler'] => requested handler * $return_value['segments'] => url parts ($page) * @param null $params no params provided * * @return bool false if we take over the page handler */ function group_tools_route_groups_handler($hook, $type, $return_value, $params) { $result = $return_value; if (empty($return_value) || !is_array($return_value)) { return; } $page = $return_value['segments']; switch ($page[0]) { case "all": $filter = get_input("filter"); $default_filter = elgg_get_plugin_setting("group_listing", "group_tools"); if (empty($filter) && !empty($default_filter)) { $filter = $default_filter; set_input("filter", $default_filter); } elseif (empty($filter)) { $filter = "newest"; set_input("filter", $filter); } if (in_array($filter, array("yours", "open", "closed", "alpha", "ordered", "suggested"))) { // we will handle the output $result = false; include dirname(dirname(__FILE__)) . "/pages/groups/all.php"; } break; case "suggested": $result = false; include dirname(dirname(__FILE__)) . "/pages/groups/suggested.php"; break; case "search": $result = false; include dirname(dirname(__FILE__)) . "/pages/groups/search.php"; break; case "requests": $result = false; set_input("group_guid", $page[1]); if (isset($page[2])) { set_input("subpage", $page[2]); } include dirname(dirname(__FILE__)) . "/pages/groups/membershipreq.php"; break; case "invite": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/invite.php"; break; case "mail": $result = false; set_input("group_guid", $page[1]); include dirname(dirname(__FILE__)) . "/pages/mail.php"; break; case 'members': $result = false; set_input('group_guid', $page[1]); include dirname(dirname(__FILE__)) . "/pages/groups/members.php"; break; case "group_invite_autocomplete": $result = false; include dirname(dirname(__FILE__)) . "/procedures/group_invite_autocomplete.php"; break; case "add": if (group_tools_is_group_creation_limited()) { admin_gatekeeper(); } break; case "invitations": $result = false; if (isset($page[1])) { set_input("username", $page[1]); } include dirname(dirname(__FILE__)) . "/pages/groups/invitations.php"; break; case "related": $result = false; if (isset($page[1])) { set_input("group_guid", $page[1]); } include dirname(dirname(__FILE__)) . "/pages/groups/related.php"; break; case "profile": if (isset($page[1]) && is_numeric($page[1])) { $group = get_entity($page[1]); if (empty($group)) { // is this a hidden group $ia = elgg_set_ignore_access(true); $group = get_entity($page[1]); if (!empty($group) && elgg_instanceof($group, "group")) { // report to the user if (!elgg_is_logged_in()) { $_SESSION["last_forward_from"] = current_page_url(); register_error(elgg_echo("loggedinrequired")); } else { register_error(elgg_echo("membershiprequired")); } } // restore access elgg_set_ignore_access($ia); } } break; case "activity": $result = false; if (isset($page[1])) { set_input("guid", $page[1]); } include dirname(dirname(__FILE__)) . "/pages/groups/river.php"; break; default: // check if we have an old group profile link if (isset($page[0]) && is_numeric($page[0])) { $group = get_entity($page[0]); if (!empty($group) && elgg_instanceof($group, "group", null, "ElggGroup")) { register_error(elgg_echo("changebookmark")); forward($group->getURL()); } } break; } return $result; }
function userManagementPageHandler($page) { switch ($page[0]) { case 'users': include elgg_get_plugins_path() . 'userManagement/pages/users.php'; break; case 'deactivate': $userMgmt = new UserManagement(); $userMgmt->getInactiveUsers(); $userMgmt->deactivateUsers(); break; //activate account form //activate account form case 'activate': $userMgmt = new UserManagement(); //check if user doesnt have forces email send them to different form if ($userMgmt->validEmail(get_input('email'))) { include elgg_get_plugins_path() . 'userManagement/pages/activate.php'; } else { include elgg_get_plugins_path() . 'userManagement/pages/changeEmail.php'; } break; //activate account action //activate account action case 'activation': $userMgmt = new UserManagement(); $userGuid = get_input('u'); $code = get_input('c'); $user = get_entity($userGuid); if (!$user) { register_error(elgg_echo('activate:error')); forward(REFERER); } $userMgmt->setUser($user); if (!$userMgmt->validateCode($code)) { register_error(elgg_echo('activate:error')); forward(REFERER); } //activate user if ($userMgmt->activateUser()) { system_message(elgg_echo('activate:success')); forward(REFERER); } break; case 'import': admin_gatekeeper(); elgg_admin_add_plugin_settings_menu(); elgg_set_context('admin'); elgg_unregister_css('elgg'); elgg_load_js('elgg.admin'); elgg_load_js('jquery.jeditable'); $vars = array('page' => $page); $view = 'usermanagement/' . implode('/', $page); $title = "Import Users"; $content = elgg_view($view); $body = elgg_view_layout('admin', array('content' => $content, 'title' => $title)); echo elgg_view_page($title, $body, 'admin'); break; case 'resetPassword': set_input('guid', $_SESSION['userId']); include elgg_get_plugins_path() . "userManagement/pages/resetPassword.php"; break; case 'registerEmails': include elgg_get_plugins_path() . "userManagement/pages/registerEmails.php"; break; case 'admin': if ($page[1] == activate) { include elgg_get_plugins_path() . "userManagement/pages/admin/activate.php"; } break; default: return false; } return true; }
/** * Handle pages * * @param array $page URL segments * @param string $handler Pagehandler name * @return boolean */ function page_handler($page, $handler) { elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_push_breadcrumb(elgg_echo('mechanics:points'), 'points'); switch ($page[0]) { case 'leaderboard': default: $title = elgg_echo('mechanics:leaderboard'); $filter = elgg_view('framework/mechanics/filter', array('filter_context' => 'leaderboard')); $sidebar = elgg_view('framework/mechanics/sidebar', array('filter_context' => 'leaderboard')); $content = elgg_view('framework/mechanics/leaderboard/list'); break; case 'all': case 'badges': if (elgg_is_admin_logged_in()) { elgg_register_menu_item('title', array('name' => 'add_badge', 'text' => elgg_echo('mechanics:badges:add'), 'href' => "{$handler}/badge/edit", 'class' => 'elgg-button elgg-button-action')); } $title = elgg_echo('mechanics:badges:site'); $filter = elgg_view('framework/mechanics/filter', array('filter_context' => 'badges')); $sidebar = elgg_view('framework/mechanics/sidebar', array('filter_context' => 'badges')); $content = elgg_view('framework/mechanics/badges'); break; case 'badge': elgg_push_breadcrumb(elgg_echo('mechanics:badges:site'), "{$handler}/badges"); switch ($page[1]) { case 'edit': admin_gatekeeper(); $entity = get_entity($page[2]); $title = $entity ? elgg_echo('mechanics:badges:edit', array($entity->title)) : elgg_echo('mechanics:badges:add'); $filter = false; $sidebar = elgg_view('framework/mechanics/sidebar', array('entity' => $entity)); $content = elgg_view('framework/mechanics/badge/edit', array('entity' => $entity)); break; case 'view': $entity = get_entity($page[2]); if (!elgg_instanceof($entity, 'object', HYPEGAMEMECHANICS_BADGE_SUBTYPE)) { return false; } $title = $entity->title; $filter = false; $sidebar = elgg_view('framework/mechanics/sidebar', array('entity' => $entity)); $content = elgg_view('framework/mechanics/badge/view', array('entity' => $entity)); break; } break; case 'clearSesh': //clear session badges $_SESSION['badges_check'] = 1; unset($_SESSION['badges']); break; case 'award': if (elgg_is_xhr()) { //get array of new badges and put them in the slider $content = "<ul class='rslides clearfix' id='badge-slider'>"; foreach (array_reverse($_SESSION['badges']) as $index => $badge) { $entity = get_entity($badge->guid); $icon = elgg_view_entity_icon($entity, '', array("width" => '125px', 'height' => "125px")); $content .= "<li>"; $content .= "<h2>" . elgg_echo('mechanics:badge:claim:success', array($badge->title)) . "</h2>"; $content .= "<div class='badge-icon'>" . $icon . "</div>"; $content .= "<h3>" . $badge->description . "</h3>"; $content .= "</li>"; } $content .= "</ul>"; echo $content; exit; } else { $entity = get_entity($page[1]); if (!elgg_instanceof($entity, 'user') || !$entity->canAnnotate(0, 'gm_score_award')) { return false; } elgg_set_page_owner_guid($entity->guid); $title = elgg_echo('mechanics:admin:award_to', array($entity->name)); $filter = false; $sidebar = elgg_view('framework/mechanics/sidebar', array('entity' => $entity)); $content = elgg_view('framework/mechanics/points/award', array('entity' => $entity)); } break; case 'owner': gatekeeper(); $user = get_user_by_username($page[1]); if (elgg_instanceof($user, 'user')) { elgg_set_page_owner_guid($user->guid); } else { $user = elgg_get_logged_in_user_entity(); forward("{$handler}/owner/{$user->username}"); } if (!$user || !$user->canEdit()) { return false; } if ($user->guid == elgg_get_logged_in_user_guid()) { $title = elgg_echo('mechanics:badges:mine'); $filter = elgg_view('framework/mechanics/filter', array('filter_context' => 'owner')); } else { $title = elgg_echo('machanics:badges:owner', array($user->name)); $filter = elgg_view('framework/mechanics/filter', array('filter_context' => false)); } $sidebar = elgg_view('framework/mechanics/sidebar', array('filter_context' => 'owner')); $content = elgg_view('framework/mechanics/user_badges', array('user' => $user, 'icon_size' => 'medium')); break; case 'history': gatekeeper(); $user = get_user_by_username($page[1]); if (elgg_instanceof($user, 'user')) { elgg_set_page_owner_guid($user->guid); } else { $user = elgg_get_logged_in_user_entity(); forward("{$handler}/owner/{$user->username}"); } if (!$user || !$user->canEdit()) { return false; } if ($user->guid == elgg_get_logged_in_user_guid()) { $title = elgg_echo('mechanics:points:history'); } else { $title = elgg_echo('mechanics:points:history:owner', array($user->name)); } $filter = elgg_view('framework/mechanics/filter', array('filter_context' => 'history')); $sidebar = elgg_view('framework/mechanics/sidebar', array('filter_context' => 'history')); $content .= elgg_view('framework/mechanics/history/list', array('user' => $user)); break; case 'icon': $entity = get_entity($page[1]); if (!elgg_instanceof($entity, 'object', HYPEGAMEMECHANICS_BADGE_SUBTYPE)) { return false; } $size = $page[2]; if (!array_key_exists($size, elgg_get_config('icon_sizes'))) { $size = 'medium'; } $filename = "icons/" . $entity->guid . $size . ".jpg"; $filehandler = new ElggFile(); $filehandler->owner_guid = $entity->owner_guid; $filehandler->setFilename($filename); if ($filehandler->open("read")) { $contents = $filehandler->read($filehandler->size()); } header("Content-type: image/jpeg"); header('Expires: ' . date('r', time() + 864000)); header("Pragma: public"); header("Cache-Control: public"); header("Content-Length: " . strlen($contents)); echo $contents; exit; break; } if (empty($content)) { return false; } if (elgg_is_xhr()) { echo $content; } else { elgg_push_breadcrumb($title); $layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'filter' => $filter, 'sidebar' => $sidebar)); echo elgg_view_page($title, $layout); } return true; }
/** * Serves up screenshots for plugins from * admin_plugin_screenshot/<plugin_id>/<size>/<ss_name>.<ext> * * @param array $pages The pages array * @return true */ function admin_plugin_screenshot_page_handler($pages) { admin_gatekeeper(); // only admins can use this - security feature $plugin_id = elgg_extract(0, $pages); // only thumbnail or full. $size = elgg_extract(1, $pages, 'thumbnail'); // the rest of the string is the filename $filename_parts = array_slice($pages, 2); $filename = implode('/', $filename_parts); $filename = sanitise_filepath($filename, false); $plugin = new ElggPlugin($plugin_id); if (!$plugin) { $file = elgg_get_root_path() . '_graphics/icons/default/medium.png'; } else { $file = $plugin->getPath() . $filename; if (!file_exists($file)) { $file = elgg_get_root_path() . '_graphics/icons/default/medium.png'; } } header("Content-type: image/jpeg"); // resize to 100x100 for thumbnails switch ($size) { case 'thumbnail': echo get_resized_image_from_existing_file($file, 100, 100, true); break; case 'full': default: echo file_get_contents($file); break; } return true; }
function faq_page_handler($page) { if (!isset($page[0])) { $page[0] = 'index'; } elgg_push_breadcrumb(elgg_echo('faq:shorttitle'), 'faq/'); $title = elgg_echo('faq:title'); $page_type = $page[0]; switch ($page_type) { case 'index': $area = elgg_view('faq/search'); $area .= elgg_view('faq/stats'); break; case 'list': $catId = (int) get_input("categoryId"); if (!empty($catId)) { $cats = getCategories(); $cat = get_metastring($catId); if (in_array($cat, $cats)) { elgg_push_breadcrumb(elgg_echo("faq:list:category_title") . $cat); } } $area = elgg_view('faq/list'); break; case 'ask': gatekeeper(); elgg_push_breadcrumb(elgg_echo('faq:ask:title')); $area = elgg_view('faq/forms/ask'); break; case 'asked': admin_gatekeeper(); elgg_push_breadcrumb(elgg_echo('faq:asked:title')); $area = elgg_view('faq/asked'); break; case 'add': admin_gatekeeper(); elgg_push_breadcrumb(elgg_echo('faq:add:title')); $area = elgg_view('faq/forms/add'); break; case 'edit': admin_gatekeeper(); elgg_push_breadcrumb(elgg_echo('faq:edit:title')); $area = elgg_view('faq/forms/add'); break; default: return false; } $sidebar = elgg_view('faq/sidebar'); // Format page $body = elgg_view_layout('content', array('content' => $area, 'filter' => '', 'title' => $title, 'sidebar' => $sidebar)); // Draw it echo elgg_view_page(elgg_echo('faq:title'), $body); return true; }
/** * allows the action to available only to logged in/admin * * @param string $access_to logged_in or admin */ public static function gatekeeper($access_to = 'logged_in') { if (empty($access_to)) { // in case sent value is empty $access_to = 'logged_in'; } if ($access_to == 'logged_in') { gatekeeper(); } elseif ($access_to == 'admin') { admin_gatekeeper(); } }
/** * Formats and serves out markdown files from plugins. * * URLs in format like admin_plugin_text_file/<plugin_id>/filename.ext * * The only valid files are: * * README.txt * * CHANGES.txt * * INSTALL.txt * * COPYRIGHT.txt * * LICENSE.txt * * @param array $pages * @return bool * @access private */ function admin_markdown_page_handler($pages) { admin_gatekeeper(); elgg_set_context('admin'); elgg_unregister_css('elgg'); elgg_load_js('elgg.admin'); elgg_load_js('jquery.jeditable'); elgg_load_library('elgg:markdown'); $plugin_id = elgg_extract(0, $pages); $plugin = elgg_get_plugin_from_id($plugin_id); $filename = elgg_extract(1, $pages); $error = false; if (!$plugin) { $error = elgg_echo('admin:plugins:markdown:unknown_plugin'); $body = elgg_view_layout('admin', array('content' => $error, 'title' => $error)); echo elgg_view_page($error, $body, 'admin'); return true; } $text_files = $plugin->getAvailableTextFiles(); if (!array_key_exists($filename, $text_files)) { $error = elgg_echo('admin:plugins:markdown:unknown_file'); } $file = $text_files[$filename]; $file_contents = file_get_contents($file); if (!$file_contents) { $error = elgg_echo('admin:plugins:markdown:unknown_file'); } if ($error) { $title = $error; $body = elgg_view_layout('admin', array('content' => $error, 'title' => $title)); echo elgg_view_page($title, $body, 'admin'); return true; } $title = $plugin->getManifest()->getName() . ": {$filename}"; $text = Markdown($file_contents); $body = elgg_view_layout('admin', array('content' => '<div class="elgg-markdown">' . $text . '</div>', 'title' => $title)); echo elgg_view_page($title, $body, 'admin'); return true; }
function publication_custom_register($hook, $entity_type, $ret, $params) { global $CONFIG; // Get variables $publication = get_input('publication'); $author = get_input('author'); if (!($author && $publication)) { return; } $username = get_input('username'); $password = get_input('password'); $password2 = get_input('password2'); $email = get_input('email'); $name = get_input('name'); $friend_guid = (int) get_input('friend_guid', 0); $invitecode = get_input('invitecode'); $admin = get_input('admin'); if (is_array($admin)) { $admin = $admin[0]; } if (!$CONFIG->disable_registration) { // For now, just try and register the user try { if (trim($password) != "" && strcmp($password, $password2) == 0 && ($guid = register_user($username, $password, $name, $email, false, $friend_guid, $invitecode))) { $new_user = get_entity($guid); if ($guid && $admin) { admin_gatekeeper(); $new_user->admin = 'yes'; } // Send user validation request on register only global $registering_admin; if (!$registering_admin) { request_user_validation($guid); } if (!$new_user->admin) { $new_user->disable('new_user', false); } system_message(sprintf(elgg_echo("registerok"), $CONFIG->sitename)); forward(); // Forward on success, assume everything else is an error... } else { register_error(elgg_echo("registerbad")); } } catch (RegistrationException $r) { register_error($r->getMessage()); } } else { register_error(elgg_echo('registerdisabled')); } $qs = explode('?', $_SERVER['HTTP_REFERER']); $qs = $qs[0]; $qs .= "?u=" . urlencode($username) . "&e=" . urlencode($email) . "&n=" . urlencode($name) . "&friend_guid=" . $friend_guid . "&invidecode=" . $invitecode . "&author=" . urlencode($author) . "&publication=" . $publication; forward($qs); }
public function __construct() { parent::__construct(); admin_gatekeeper(); $this->load->model('Admin_model'); }
/** * Page handler for CSV download * * @param array $page */ function upload_users_page_handler($page) { admin_gatekeeper(); switch ($page[0]) { default: return false; case 'report': $file_guid = get_input("guid"); $file = get_entity($file_guid); if (!$file) { register_error(elgg_echo('upload_users:error:file_open_error')); forward("admin/users/upload"); } header("Pragma: public"); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=\"{$file->originalfilename}\""); ob_clean(); flush(); readfile($file->getFilenameOnFilestore()); exit; break; case 'sample': set_time_limit(0); $limit = get_input('limit', 20); $offset = get_input('offset', 0); $fileName = 'upload_users_sample.csv'; header('Content-Description: File Transfer'); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename={$fileName}"); header('Expires: ' . gmdate('D, d M Y H:i:s \\G\\M\\T', strtotime("+1 day")), true); header("Pragma: public"); $dbprefix = elgg_get_config('dbprefix'); $query = "SELECT DISTINCT(md.name_id) FROM {$dbprefix}metadata md\n\t\t\t\t\tJOIN {$dbprefix}entities e ON md.entity_guid = e.guid\n\t\t\t\t\tWHERE e.type = 'user'"; $md_names = get_data($query); foreach ($md_names as $md_name) { $string = get_metastring($md_name->name_id); if ($string && !is_int($string) && !in_array($string, array('name', 'username', 'password', 'email', 'user_upload_role'))) { $md[] = $string; } } $results = array(); $options = array('types' => 'user', 'limit' => $limit, 'offset' => $offset, 'order_by' => 'e.time_created ASC'); $batch = new ElggBatch('elgg_get_entities', $options); foreach ($batch as $user) { $results[$user->guid] = array('name' => $user->name, 'username' => $user->username, 'password' => '', 'email' => $user->email, 'user_upload_role' => elgg_is_active_plugin('roles') ? roles_get_role()->name : null); foreach ($md as $string) { $value = $user->{$string}; if (is_array($value)) { $value = implode(', ', $value); } $results[$user->guid][$string] = $value; } } $fh = @fopen('php://output', 'w'); $headerDisplayed = false; foreach ($results as $data) { // Add a header row if it hasn't been added yet if (!$headerDisplayed) { // Use the keys from $data as the titles fputcsv($fh, array_keys($data)); $headerDisplayed = true; } // Put the data into the stream fputcsv($fh, $data); } fclose($fh); exit; break; } }
<?php /** * Profile Manager * * jQuery Profile Field change category * * @package profile_manager * @author ColdTrick IT Solutions * @copyright Coldtrick IT Solutions 2009 * @link http://www.coldtrick.com/ */ global $CONFIG; action_gatekeeper(); admin_gatekeeper(); $guid = get_input("guid"); $category_guid = get_input("category_guid"); if (!empty($guid)) { $entity = get_entity($guid); if ($entity->getSubtype() == CUSTOM_PROFILE_FIELDS_PROFILE_SUBTYPE || $entity->getSubtype() == CUSTOM_PROFILE_FIELDS_GROUP_SUBTYPE) { if (!empty($category_guid)) { $entity->category_guid = $category_guid; } else { unset($entity->category_guid); } echo "true"; } } exit;
/** * Handle the CSV export page * * @param array $segments */ function question_admin_page_handler($segments) { if ($segments[0] == "questions") { switch ($segment[1]) { case "csv_export": admin_gatekeeper(); include "{$pages}/admin/csv_export.php"; break; } } // return false; }