Beispiel #1
0
<?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);
Beispiel #2
0
<?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);
Beispiel #3
0
 *
 * @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'] = '';
}
Beispiel #4
0
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);
    }
}