<?php /** * List a user's friends' pages * * @package ElggPages */ $owner = elgg_get_page_owner_entity(); if (!$owner) { forward('', '404'); } elgg_push_breadcrumb(elgg_echo("pages"), "pages/all"); elgg_push_breadcrumb($owner->name, "pages/owner/{$owner->username}"); elgg_push_breadcrumb(elgg_echo('friends')); elgg_register_title_button(); $title = elgg_echo('pages:friends'); $options = array('type' => 'object', 'subtype' => 'page_top', 'full_view' => false, 'relationship' => 'friend', 'relationship_guid' => $owner->guid, 'relationship_join_on' => 'container_guid', 'no_results' => elgg_echo('pages:none')); $wheres = pages_tools_get_publication_wheres(); if (!empty($wheres)) { $options['wheres'] = $wheres; } $content = elgg_list_entities_from_relationship($options); $params = array('filter_context' => 'friends', 'content' => $content, 'title' => $title); $body = elgg_view_layout('content', $params); echo elgg_view_page($title, $body);
<?php /** * List all pages * * @package ElggPages */ $title = elgg_echo('pages:all'); elgg_pop_breadcrumb(); elgg_push_breadcrumb(elgg_echo('pages')); elgg_register_title_button(); $options = array('types' => 'object', 'subtypes' => 'page_top', 'full_view' => false, 'no_results' => elgg_echo('pages:none')); if (!elgg_is_admin_logged_in() && ($wheres = pages_tools_get_publication_wheres())) { $options["wheres"] = $wheres; } $content = elgg_list_entities($options); $body = elgg_view_layout('content', array('filter_context' => 'all', 'content' => $content, 'title' => $title, 'sidebar' => elgg_view('pages/sidebar'))); echo elgg_view_page($title, $body);
* * @package ElggPages */ $owner = elgg_get_page_owner_entity(); if (!$owner) { forward('pages/all'); } // access check for closed groups group_gatekeeper(); $title = elgg_echo('pages:owner', array($owner->name)); elgg_push_breadcrumb(elgg_echo("pages"), "pages/all"); elgg_push_breadcrumb($owner->name); elgg_register_title_button(); $options = array('types' => 'object', 'subtypes' => 'page_top', 'container_guid' => elgg_get_page_owner_guid(), 'full_view' => false); // show everything if you can edit the page owner if (!$owner->canEdit() && ($wheres = pages_tools_get_publication_wheres())) { $options["wheres"] = $wheres; } if (!($content = elgg_list_entities($options))) { $content = '<p>' . elgg_echo('pages:none') . '</p>'; } $filter_context = ''; if (elgg_get_page_owner_guid() == elgg_get_logged_in_user_guid()) { $filter_context = 'mine'; } $sidebar = elgg_view('pages/sidebar/navigation'); $sidebar .= elgg_view('pages/sidebar'); $params = array('filter_context' => $filter_context, 'content' => $content, 'title' => $title, 'sidebar' => $sidebar); if (elgg_instanceof($owner, 'group')) { $params['filter'] = ''; }
function pages_tools_daily_cron_hook($hook, $type, $return_value, $params) { if (pages_tools_use_advanced_publication_options()) { $publication_id = add_metastring("publication_date"); $expiration_id = add_metastring("expiration_date"); $dbprefix = elgg_get_config("dbprefix"); $time = elgg_extract("time", $params, time()); $publish_options = array("type" => "object", "subtype" => array("page_top"), "limit" => false, "joins" => array("JOIN " . $dbprefix . "metadata mdtime ON e.guid = mdtime.entity_guid", "JOIN " . $dbprefix . "metastrings mstime ON mdtime.value_id = mstime.id"), "metadata_name_value_pairs" => array("name" => "unpublished", "value" => true), "wheres" => array("((mdtime.name_id = " . $publication_id . ") AND (DATE(mstime.string) = DATE(NOW())))")); $expire_options = array("type" => "object", "subtypes" => array("page_top", "page"), "limit" => false, "joins" => array("JOIN " . $dbprefix . "metadata mdtime ON e.guid = mdtime.entity_guid", "JOIN " . $dbprefix . "metastrings mstime ON mdtime.value_id = mstime.id"), "wheres" => pages_tools_get_publication_wheres()); $expire_options["wheres"][] = "((mdtime.name_id = " . $expiration_id . ") AND (DATE(mstime.string) = DATE(NOW())))"; // ignore access $ia = elgg_set_ignore_access(true); // get unpublished pages that need to be published if ($entities = elgg_get_entities_from_metadata($publish_options)) { foreach ($entities as $entity) { // add river event add_to_river("river/object/page/create", "create", $entity->getOwner(), $entity->getGUID()); // set time created $entity->time_created = $time; // make sure the page is listed unset($entity->unpublished); // notify the user notify_user($entity->getOwnerGUID(), $entity->site_guid, elgg_echo("pages_tools:notify:publish:subject"), elgg_echo("pages_tools:notify:publish:message", array($entity->title, $entity->getURL()))); // save everything $entity->save(); } } // get pages that have expired if ($entities = elgg_get_entities_from_metadata($expire_options)) { foreach ($entities as $entity) { // remove river event elgg_delete_river(array("object_guid" => $entity->getGUID(), "action_type" => "create")); // make sure the page is no longer listed $entity->unpublished = true; // notify the user notify_user($entity->getOwnerGUID(), $entity->site_guid, elgg_echo("pages_tools:notify:expire:subject"), elgg_echo("pages_tools:notify:expire:message", array($entity->title, $entity->getURL()))); // save everything $entity->save(); } } // reset access elgg_set_ignore_access($ia); } }