Ejemplo n.º 1
0
 public static function prepareMenu($h, $t, $v, $p)
 {
     $default = new MenuList(elgg_extract('default', $v, []));
     $alt = new MenuList(elgg_extract('alt', $v, []));
     // dump alt items into default
     $default->appendList($alt);
     $avatar = $default->get('profile');
     $account = $default->get('account');
     if ($avatar && $account) {
         $user = elgg_get_logged_in_user_entity();
         // copy account children under avatar
         $children = new MenuList($account->getChildren());
         // copy admin out
         $admin = $children->remove('administration');
         $url = $avatar->getHref();
         $profile = new \ElggMenuItem('view-profile', elgg_echo('profile'), $url);
         $children->move($profile, 0);
         $avatar->setHref(null);
         elgg_push_context('mrclay_aalborg_topbar');
         $avatar->setText(elgg_view_entity_icon($user, 'tiny'));
         elgg_pop_context();
         $default->remove($account);
         $default->push($avatar);
         if ($admin) {
             $admin->setTooltip(elgg_echo('admin'));
             $admin->setText(elgg_view_icon('settings-alt'));
             $default->move($admin, 0);
         }
     }
     return ['default' => $default->getItems()];
 }
Ejemplo n.º 2
0
 /**
  * Map column headers to a proper representation in the row cell
  * @param ElggEntity $entity
  * @param boolean $csv
  * @return array
  */
 public function getRowCells($entity)
 {
     $row = array();
     $headers = $this->getColumnHeaders();
     foreach ($headers as $header => $label) {
         $value = '';
         switch ($header) {
             default:
                 $value = $entity->{$header};
                 if (is_array($value)) {
                     $value = implode('; ', $value);
                 }
                 break;
             case 'guid':
                 $value = $entity->guid;
                 break;
             case 'icon':
                 $value = $entity->getIconURL();
                 if (!elgg_in_context('plaintext')) {
                     $value = elgg_view_entity_icon($entity, 'small');
                 }
                 break;
             case 'title':
                 $value = elgg_instanceof($entity, 'object') ? $entity->title : $entity->name;
                 if (!elgg_in_context('plaintext')) {
                     $value = elgg_view('output/url', array('text' => $value, 'href' => $entity->getURL()));
                 }
                 break;
             case 'time_created':
                 $value = date('M d, Y H:i', $entity->time_created);
                 break;
             case 'owner_guid':
                 $value = '';
                 $owner = $entity->getOwnerEntity();
                 if (elgg_instanceof($owner)) {
                     $value = $owner->guid;
                     if (!elgg_in_context('plaintext')) {
                         $value = elgg_view('output/url', array('text' => elgg_instanceof($owner, 'object') ? $owner->title : $owner->name, 'href' => $owner->getURL()));
                     }
                 }
                 break;
             case 'container_guid':
                 $value = '';
                 $container = $entity->getContainerEntity();
                 if (elgg_instanceof($container)) {
                     $value = $container->guid;
                     if (!elgg_in_context('plaintext')) {
                         $value = elgg_view('output/url', array('text' => elgg_instanceof($container, 'object') ? $container->title : $container->name, 'href' => $container->getURL()));
                     }
                 }
                 break;
         }
         $row[$header] = $value;
     }
     return elgg_trigger_plugin_hook('export:entity', 'table', array('headers' => $this->getColumnHeaders(), 'entity' => $entity), $row);
 }
Ejemplo n.º 3
0
function user_picker_add_user($user_id)
{
    $user = get_entity($user_id);
    if (!$user || !$user instanceof ElggUser) {
        return false;
    }
    $icon = elgg_view_entity_icon($user, 'tiny', array('use_hover' => false));
    // this html must be synced with the userpicker.js library
    $code = '<li><div class="elgg-image-block">';
    $code .= "<div class='elgg-image'>{$icon}</div>";
    $code .= "<div class='elgg-image-alt'><a href='#' class='elgg-userpicker-remove'>X</a></div>";
    $code .= "<div class='elgg-body'>" . $user->name . "</div>";
    $code .= "</div>";
    $code .= "<input type=\"hidden\" name=\"members[]\" value=\"{$user_id}\">";
    $code .= '</li>';
    return $code;
}
Ejemplo n.º 4
0
function wire_get_posts($context, $limit = 10, $offset = 0, $username)
{
    if (!$username) {
        $user = elgg_get_loggedin_user_entity();
    } else {
        $user = get_user_by_username($username);
        if (!$user) {
            throw new InvalidParameterException('registration:usernamenotvalid');
        }
    }
    if ($context == "all") {
        $params = array('types' => 'object', 'subtypes' => 'thewire', 'limit' => $limit, 'full_view' => FALSE, 'no_results' => elgg_echo('thewire:noposts'));
    }
    if ($context == "mine" || $context == "user") {
        $params = array('types' => 'object', 'subtypes' => 'thewire', 'owner_guid' => $user->guid, 'limit' => $limit, 'full_view' => FALSE, 'no_results' => elgg_echo('thewire:noposts'));
    }
    $latest_wire = elgg_get_entities($params);
    if ($context == "friends") {
        $options = array('type' => 'object', 'subtype' => 'thewire', 'full_view' => false, 'no_results' => elgg_echo('thewire:noposts'));
        $latest_wire = $user->getFriendsObjects($options, $limit, $offset);
    }
    if ($latest_wire) {
        foreach ($latest_wire as $single) {
            $wire['guid'] = $single->guid;
            $owner = get_entity($single->owner_guid);
            $wire['owner']['guid'] = $owner->guid;
            $wire['owner']['name'] = $owner->name;
            $wire['owner']['avatar_url'] = elgg_view_entity_icon($owner, 'small');
            $wire['time_created'] = (int) $single->time_created;
            $wire['description'] = $single->description;
            $return[] = $wire;
        }
    } else {
        $msg = elgg_echo('thewire:noposts');
        $return[] = $msg;
    }
    echo json_encode($return, true) . '<br/>';
}
Ejemplo n.º 5
0
/**
 * Get exportable entity values
 *
 * @param ElggEntity $entity
 * @return array
 */
function elgg_tokeninput_export_entity($entity)
{
    if (!elgg_instanceof($entity)) {
        if ($entity_from_guid = get_entity($entity)) {
            $entity = $entity_from_guid;
        } else {
            return elgg_tokeninput_export_metadata($entity);
        }
    }
    $type = $entity->getType();
    $subtype = $entity->getSubtype();
    $icon = elgg_view_entity_icon($entity, 'small', array('use_hover' => false));
    if (elgg_instanceof($entity, 'user')) {
        $title = "{$entity->name} ({$entity->username})";
    } else {
        if (elgg_instanceof($entity, 'group')) {
            $title = $entity->name;
        } else {
            $title = $entity->getDisplayName();
            if (!$title) {
                $title = elgg_echo('untitled');
            }
            $metadata[] = elgg_echo('byline', array($entity->getOwnerEntity()->name));
        }
    }
    if ($entity->description) {
        $metadata[] = elgg_get_excerpt(elgg_strip_tags($entity->description), 100);
    }
    if ($entity->location) {
        $metadata[] = $entity->location;
    }
    $export = array('label' => $title, 'value' => $entity->guid, 'metadata' => $metadata ? implode('<br />', $metadata) : '', 'icon' => $icon, 'type' => $type, 'subtype' => $subtype, 'html_result' => elgg_view_exists("tokeninput/{$type}/{$subtype}") ? elgg_view("tokeninput/{$type}/{$subtype}", array('entity' => $entity, 'for' => 'result')) : null, 'html_token' => elgg_view_exists("tokeninput/{$type}/{$subtype}") ? elgg_view("tokeninput/{$type}/{$subtype}", array('entity' => $entity, 'for' => 'token')) : null);
    $export = elgg_trigger_plugin_hook('tokeninput:entity:export', $type, array('entity' => $entity), $export);
    array_walk_recursive($export, function (&$value) {
        $value = is_string($value) ? html_entity_decode($value, ENT_QUOTES, 'UTF-8') : $value;
    });
    return $export;
}
Ejemplo n.º 6
0
 function show_friends_json($username, $limit = 10, $offset = 0)
 {
     if ($username) {
         $user = get_user_by_username($username);
     } else {
         $user = elgg_get_logged_in_user_entity();
     }
     if (!$user) {
         throw new InvalidParameterException(elgg_echo('registration:usernamenotvalid'));
     }
     $options = array('relationship' => 'friend', 'relationship_guid' => $user->guid, 'inverse_relationship' => false, 'type' => 'user', 'full_view' => false, 'no_results' => elgg_echo('friends:none'));
     $friends = $user->getFriends($options, 10, 0);
     if ($friends) {
         foreach ($friends as $single) {
             $friend['guid'] = $single->guid;
             $friend['username'] = $single->username;
             $friend['name'] = $single->name;
             $friend['avatar_url'] = elgg_view_entity_icon($single, 'small');
             $return[] = $friend;
         }
     }
     echo json_encode($return, true) . '<br/>';
 }
Ejemplo n.º 7
0
/**
 * Page handler for autocomplete endpoint.
 *
 * @todo split this into functions/objects, this is way too big
 *
 * /livesearch?q=<query>
 *
 * Other options include:
 *     match_on	   string all or array(groups|users|friends)
 *     match_owner int    0/1
 *     limit       int    default is 10
 *
 * @param array $page
 * @return string JSON string is returned and then exit
 * @access private
 */
function input_livesearch_page_handler($page)
{
    global $CONFIG;
    // only return results to logged in users.
    if (!($user = elgg_get_logged_in_user_entity())) {
        exit;
    }
    if (!($q = get_input('term', get_input('q')))) {
        exit;
    }
    $q = sanitise_string($q);
    // replace mysql vars with escaped strings
    $q = str_replace(array('_', '%'), array('\\_', '\\%'), $q);
    $match_on = get_input('match_on', 'all');
    if (!is_array($match_on)) {
        $match_on = array($match_on);
    }
    // all = users and groups
    if (in_array('all', $match_on)) {
        $match_on = array('users', 'groups');
    }
    if (get_input('match_owner', false)) {
        $owner_where = 'AND e.owner_guid = ' . $user->getGUID();
    } else {
        $owner_where = '';
    }
    $limit = sanitise_int(get_input('limit', 10));
    // grab a list of entities and send them in json.
    $results = array();
    foreach ($match_on as $match_type) {
        switch ($match_type) {
            case 'users':
                $query = "SELECT * FROM {$CONFIG->dbprefix}users_entity as ue, {$CONFIG->dbprefix}entities as e\n\t\t\t\t\tWHERE e.guid = ue.guid\n\t\t\t\t\t\tAND e.enabled = 'yes'\n\t\t\t\t\t\tAND ue.banned = 'no'\n\t\t\t\t\t\tAND (ue.name LIKE '{$q}%' OR ue.name LIKE '% {$q}%' OR ue.username LIKE '{$q}%')\n\t\t\t\t\tLIMIT {$limit}\n\t\t\t\t";
                if ($entities = get_data($query)) {
                    foreach ($entities as $entity) {
                        // @todo use elgg_get_entities (don't query in a loop!)
                        $entity = get_entity($entity->guid);
                        /* @var ElggUser $entity */
                        if (!$entity) {
                            continue;
                        }
                        if (in_array('groups', $match_on)) {
                            $value = $entity->guid;
                        } else {
                            $value = $entity->username;
                        }
                        $output = elgg_view_list_item($entity, array('use_hover' => false, 'class' => 'elgg-autocomplete-item'));
                        $icon = elgg_view_entity_icon($entity, 'tiny', array('use_hover' => false));
                        $result = array('type' => 'user', 'name' => $entity->name, 'desc' => $entity->username, 'guid' => $entity->guid, 'label' => $output, 'value' => $value, 'icon' => $icon, 'url' => $entity->getURL());
                        $results[$entity->name . rand(1, 100)] = $result;
                    }
                }
                break;
            case 'groups':
                // don't return results if groups aren't enabled.
                if (!elgg_is_active_plugin('groups')) {
                    continue;
                }
                $query = "SELECT * FROM {$CONFIG->dbprefix}groups_entity as ge, {$CONFIG->dbprefix}entities as e\n\t\t\t\t\tWHERE e.guid = ge.guid\n\t\t\t\t\t\tAND e.enabled = 'yes'\n\t\t\t\t\t\t{$owner_where}\n\t\t\t\t\t\tAND (ge.name LIKE '{$q}%' OR ge.name LIKE '% {$q}%' OR ge.description LIKE '% {$q}%')\n\t\t\t\t\tLIMIT {$limit}\n\t\t\t\t";
                if ($entities = get_data($query)) {
                    foreach ($entities as $entity) {
                        // @todo use elgg_get_entities (don't query in a loop!)
                        $entity = get_entity($entity->guid);
                        /* @var ElggGroup $entity */
                        if (!$entity) {
                            continue;
                        }
                        $output = elgg_view_list_item($entity, array('use_hover' => false, 'class' => 'elgg-autocomplete-item'));
                        $icon = elgg_view_entity_icon($entity, 'tiny', array('use_hover' => false));
                        $result = array('type' => 'group', 'name' => $entity->name, 'desc' => strip_tags($entity->description), 'guid' => $entity->guid, 'label' => $output, 'value' => $entity->guid, 'icon' => $icon, 'url' => $entity->getURL());
                        $results[$entity->name . rand(1, 100)] = $result;
                    }
                }
                break;
            case 'friends':
                $query = "SELECT * FROM\n\t\t\t\t\t\t{$CONFIG->dbprefix}users_entity as ue,\n\t\t\t\t\t\t{$CONFIG->dbprefix}entity_relationships as er,\n\t\t\t\t\t\t{$CONFIG->dbprefix}entities as e\n\t\t\t\t\tWHERE er.relationship = 'friend'\n\t\t\t\t\t\tAND er.guid_one = {$user->getGUID()}\n\t\t\t\t\t\tAND er.guid_two = ue.guid\n\t\t\t\t\t\tAND e.guid = ue.guid\n\t\t\t\t\t\tAND e.enabled = 'yes'\n\t\t\t\t\t\tAND ue.banned = 'no'\n\t\t\t\t\t\tAND (ue.name LIKE '{$q}%' OR ue.name LIKE '% {$q}%' OR ue.username LIKE '{$q}%')\n\t\t\t\t\tLIMIT {$limit}\n\t\t\t\t";
                if ($entities = get_data($query)) {
                    foreach ($entities as $entity) {
                        // @todo use elgg_get_entities (don't query in a loop!)
                        $entity = get_entity($entity->guid);
                        /* @var ElggUser $entity */
                        if (!$entity) {
                            continue;
                        }
                        $output = elgg_view_list_item($entity, array('use_hover' => false, 'class' => 'elgg-autocomplete-item'));
                        $icon = elgg_view_entity_icon($entity, 'tiny', array('use_hover' => false));
                        $result = array('type' => 'user', 'name' => $entity->name, 'desc' => $entity->username, 'guid' => $entity->guid, 'label' => $output, 'value' => $entity->username, 'icon' => $icon, 'url' => $entity->getURL());
                        $results[$entity->name . rand(1, 100)] = $result;
                    }
                }
                break;
            default:
                header("HTTP/1.0 400 Bad Request", true);
                echo "livesearch: unknown match_on of {$match_type}";
                exit;
                break;
        }
    }
    ksort($results);
    header("Content-Type: application/json");
    echo json_encode(array_values($results));
    exit;
}
Ejemplo n.º 8
0
<?php

$entity = elgg_extract('entity', $vars);
if (elgg_is_admin_logged_in()) {
    elgg_require_js('pool/reorder');
}
$turns = $entity->getTurnsNowAndAfter();
$items = '';
foreach ($turns as $turn) {
    $date = date('j.n.Y', $turn->value);
    $time = date('H:i', $turn->value);
    $name = $turn->getOwnerEntity()->name;
    $user = $turn->getOwnerEntity();
    $image = elgg_view_entity_icon($user, 'small');
    $metadata = null;
    if (elgg_is_admin_logged_in()) {
        $metadata = elgg_view('output/confirmlink', array('text' => elgg_echo('pool:remove'), 'href' => "action/pool/remove?guid={$entity->guid}&user_guid={$user->guid}", 'is_action' => true, 'class' => 'elgg-menu-entity'));
    }
    $body = elgg_view('object/elements/summary', array('entity' => $user, 'subtitle' => $user->name, 'metadata' => $metadata, 'title' => elgg_echo('pool:list:title', array($date, $time))));
    $block = elgg_view_image_block($image, $body, array('id' => $user->guid));
    $items .= "<li>{$block}</li>";
}
echo "<ul id=\"elgg-pool-users\">{$items}</ul>";
Ejemplo n.º 9
0
<?php

/**
 * Post comment on album river view
 */
elgg_require_js('tidypics/tidypics');
elgg_load_js('lightbox');
elgg_load_css('lightbox');
$item = $vars['item'];
$comment = $item->getObjectEntity();
$subject = $item->getSubjectEntity();
$target = $item->getTargetEntity();
$subject_link = elgg_view('output/url', array('href' => $subject->getURL(), 'text' => $subject->name, 'class' => 'elgg-river-subject', 'is_trusted' => true));
$target_link = elgg_view('output/url', array('href' => $target->getURL(), 'text' => $target->getDisplayName(), 'class' => 'elgg-river-target', 'is_trusted' => true));
$attachments = '';
$river_comments_thumbnails = elgg_get_plugin_setting('river_comments_thumbnails', 'tidypics');
if ($river_comments_thumbnails == "show") {
    $album = $target;
    $image = $album->getCoverImage();
    if ($image) {
        $preview_size = elgg_get_plugin_setting('river_thumbnails_size', 'tidypics');
        if (!$preview_size) {
            $preview_size = 'tiny';
        }
        $attachments = elgg_view_entity_icon($image, $preview_size, array('href' => $image->getIconURL('master'), 'img_class' => 'tidypics-photo', 'link_class' => 'tidypics-lightbox'));
    }
}
$summary = elgg_echo('river:comment:object:album', array($subject_link, $target_link));
echo elgg_view('river/elements/layout', array('item' => $vars['item'], 'attachments' => $attachments, 'message' => elgg_get_excerpt($comment->description), 'summary' => $summary));
Ejemplo n.º 10
0
<?php

/**
 * Elgg show the users who liked the object
 *
 * @uses $vars['annotation']
 */
if (!isset($vars['annotation'])) {
    return true;
}
$like = $vars['annotation'];
$user = $like->getOwnerEntity();
if (!$user) {
    return true;
}
$user_icon = elgg_view_entity_icon($user, 'tiny');
$user_link = elgg_view('output/url', array('href' => $user->getURL(), 'text' => $user->name, 'is_trusted' => true));
$likes_string = elgg_echo('likes:this');
$friendlytime = elgg_view_friendly_time($like->time_created);
if ($like->canEdit()) {
    $delete_button = elgg_view("output/confirmlink", array('href' => "action/likes/delete?id={$like->id}", 'text' => elgg_view_icon('delete', 'float-alt'), 'confirm' => elgg_echo('likes:delete:confirm'), 'encode_text' => false));
}
$body = <<<HTML
<p class="mbn">
\t{$delete_button}
\t{$user_link} {$likes_string}
\t<span class="elgg-subtext">
\t\t{$friendlytime}
\t</span>
</p>
HTML;
Ejemplo n.º 11
0
<?php

$entity = elgg_extract('entity', $vars);
$full_view = elgg_extract('full_view', $vars);
if ($full_view) {
    echo elgg_view('object/static/full', $vars);
    return;
}
$icon = '';
$editor = $entity->getLastEditor();
if ($editor) {
    $icon = elgg_view_entity_icon($editor, 'tiny');
}
$metadata = elgg_view_menu('entity', ['entity' => $entity, 'handler' => 'static', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz']);
$excerpt = elgg_get_excerpt($entity->description);
$params = ['entity' => $entity, 'metadata' => $metadata, 'subtitle' => elgg_view('static/by_line', $vars), 'content' => $excerpt];
$params = $params + $vars;
$list_body = elgg_view('object/elements/summary', $params);
echo elgg_view_image_block($icon, $list_body);
Ejemplo n.º 12
0
if (!elgg_is_logged_in()) {
    exit;
}
$q = sanitise_string(get_input('term'));
// replace mysql vars with escaped strings
$q = str_replace(array('_', '%'), array('\\_', '\\%'), $q);
$user_guid = elgg_get_logged_in_user_guid();
$entities = elgg_get_entities(array('type' => 'group', 'owner_guid' => $user_guid, 'limit' => 0));
$entities = array_merge($entities, elgg_get_entities_from_relationship(array('type' => 'group', 'relationship' => 'operator', 'relationship_guid' => $user_guid, 'limit' => 0)));
$all_entities = array();
while (!empty($entities)) {
    $entity = array_pop($entities);
    $childs = elgg_get_entities(array('type' => 'group', 'container_guid' => $entity->guid));
    foreach ($childs as $child) {
        array_push($entities, $child);
    }
    $all_entities[] = $entity;
}
$results = array();
foreach ($all_entities as $entity) {
    if (!preg_match("/^{$q}/i", $entity->name)) {
        continue;
    }
    $output = elgg_view_list_item($entity, array('use_hover' => false, 'class' => 'elgg-autocomplete-item'));
    $icon = elgg_view_entity_icon($entity, 'tiny', array('use_hover' => false));
    $results[$entity->name . $entity->guid] = array('type' => 'group', 'name' => $entity->name, 'desc' => strip_tags($entity->description), 'guid' => $entity->guid, 'label' => $output, 'value' => $entity->guid, 'icon' => $icon, 'url' => $entity->getURL());
}
ksort($results);
header("Content-Type: application/json");
echo json_encode(array_values($results));
exit;
Ejemplo n.º 13
0
	}
# simplified condition : 
*/
if (!in_array($vars['annotation']->id, $review_array) || $can_see_unapproved) {
    $mc_class = "generic_comment";
    $reviewed = true;
    ?>
<div
	class="<?php 
    echo $mc_class;
    ?>
">
	<!-- start of generic_comment div -->
	<div class="generic_comment_icon">
	<?php 
    echo elgg_view_entity_icon($owner, 'small');
    ?>
	</div>
	<div class="generic_comment_details">

		<!-- output the actual comment -->
	<?php 
    echo elgg_view("output/longtext", array("value" => $vars['annotation']->value));
    ?>

		<p class="generic_comment_owner">
			<a href="<?php 
    echo $owner->getURL();
    ?>
"><?php 
    echo $owner->name;
Ejemplo n.º 14
0
 *
 * @package Questions
*/
$full = elgg_extract("full_view", $vars, false);
$question = elgg_extract("entity", $vars, false);
$workflow = elgg_extract("workflow", $vars, false);
if (!$question) {
    return true;
}
if ($workflow) {
    $url = $question->getWorkflowURL();
} else {
    $url = $question->getURL();
}
$poster = $question->getOwnerEntity();
$poster_icon = elgg_view_entity_icon($poster, "small");
$poster_link = elgg_view("output/url", array("text" => $poster->name, "href" => $poster->getURL(), "is_trusted" => true));
$poster_text = elgg_echo("questions:asked", array($poster_link));
$container = $question->getContainerEntity();
if (elgg_instanceof($container, "group") && elgg_get_page_owner_guid() != $container->getGUID()) {
    $group_link = elgg_view("output/url", array("text" => $container->name, "href" => "questions/group/" . $container->getGUID() . "/all", "is_trusted" => true));
    $poster_text .= " " . elgg_echo("river:ingroup", array($group_link));
}
$tags = elgg_view("output/tags", array("tags" => $question->tags));
$categories = elgg_view("output/categories", $vars);
$date = elgg_view_friendly_time($question->time_created);
$answers_link = "";
if ($workflow) {
    $answer_subtype = "intanswer";
} else {
    $answer_subtype = "answer";
Ejemplo n.º 15
0
<?php

/**
 * Group entity view
 *
 * @package ElggGroups
 */
$group = $vars['entity'];
$icon = elgg_view_entity_icon($group, 'tiny', $vars);
$metadata = '';
if (!elgg_in_context('owner_block') && !elgg_in_context('widgets')) {
    // only show entity menu outside of widgets and owner block
    $metadata = elgg_view_menu('entity', array('entity' => $group, 'handler' => 'groups', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
}
if ($vars['full_view']) {
    echo elgg_view('groups/profile/summary', $vars);
} else {
    // brief view
    $params = array('entity' => $group, 'metadata' => $metadata, 'subtitle' => $group->briefdescription);
    $params = $params + $vars;
    $list_body = elgg_view('group/elements/summary', $params);
    echo elgg_view_image_block($icon, $list_body, $vars);
}
Ejemplo n.º 16
0
 * @uses $vars['entity']    ElggComment
 * @uses $vars['full_view'] Display full view or brief view
 */
$full_view = elgg_extract('full_view', $vars, true);
$comment = $vars['entity'];
$entity = get_entity($comment->container_guid);
$commenter = get_user($comment->owner_guid);
if (!$entity || !$commenter) {
    return true;
}
$moderating = false;
if (!$comment->isEnabled() && $entity && $entity->canEdit()) {
    $moderating = true;
}
$friendlytime = elgg_view_friendly_time($comment->time_created);
$commenter_icon = elgg_view_entity_icon($commenter, 'tiny');
$commenter_link = "<a href=\"{$commenter->getURL()}\">{$commenter->name}</a>";
$entity_title = $entity->title ? $entity->title : elgg_echo('untitled');
$entity_link = "<a href=\"{$entity->getURL()}\">{$entity_title}</a>";
$checkbox = elgg_view('input/checkbox', array('name' => 'guid', 'value' => $comment->guid, 'default' => false));
if ($full_view) {
    $anchor = "<a name=\"comment-{$comment->getGUID()}\"></a>";
    $menu = elgg_view_menu('entity', array('entity' => $comment, 'handler' => 'comment', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz float-alt'));
    $comment_text = elgg_view("output/longtext", array('value' => $comment->description, 'class' => 'elgg-inner', 'data-role' => 'comment-text'));
    $body = <<<HTML
{$anchor}
<div class="mbn">
\t{$menu}
\t{$commenter_link}
\t<span class="elgg-subtext">
\t\t{$friendlytime}
Ejemplo n.º 17
0
 *
 * Copyright (c) 2015 ModBash
 *
 * @author     Shane Barron <*****@*****.**>
 * @copyright  2015 SocialApparatus
 * @license    GNU General Public License (GPL) version 2
 * @version    1
 * @link       http://modbash.com
 */
$user = elgg_get_page_owner_entity();
if (!$user) {
    // no user so we quit view
    echo elgg_echo('viewfailure', array(__FILE__));
    return TRUE;
}
$icon = elgg_view_entity_icon($user, 'large', array('use_hover' => false, 'use_link' => false, 'img_class' => 'photo u-photo'));
$icon = "<img src='" . $user->getIconURL('large') . "' class='img-responsive'/>";
// grab the actions and admin menu items from user hover
$menu = elgg_trigger_plugin_hook('register', "menu:user_hover", array('entity' => $user), array());
$builder = new ElggMenuBuilder($menu);
$menu = $builder->getMenu();
$actions = elgg_extract('action', $menu, array());
$admin = elgg_extract('admin', $menu, array());
$profile_actions = '';
if (elgg_is_logged_in() && $actions) {
    $profile_actions = '<div class="btn-group-vertical btn-block" style="margin-top:20px;margin-bottom:20px;">';
    foreach ($actions as $action) {
        $item = elgg_view_menu_item($action, array('class' => 'btn btn-success ' . $action->getItemClass()));
        $profile_actions .= "{$item}";
    }
    $profile_actions .= '</div>';
Ejemplo n.º 18
0
<?php

/**
 * View for chat message objects
 *
 * @package Chat
 */
$entity = elgg_extract('entity', $vars);
$owner = $entity->getOwnerEntity();
$owner_name = $owner->name;
$date = elgg_view_friendly_time($entity->time_created);
$user = elgg_get_logged_in_user_entity();
$time_created = "<span id=\"timestamp\" class=\"hidden\">{$entity->time_created}</span>";
$subtitle = "{$owner_name} {$date} {$time_created}";
$params = array('entity' => $entity, 'metadata' => $metadata, 'subtitle' => $subtitle, 'content' => $entity->description);
$params = $params + $vars;
$list_body = elgg_view('object/elements/summary', $params);
$owner_icon = elgg_view_entity_icon($owner, 'small', array('use_hover' => false));
$not_read = check_entity_relationship($entity->getGUID(), 'unread', $user->getGUID());
if ($not_read) {
    // Additional class to notify that message hasn't been read before.
    $vars['class'] = 'elgg-chat-unread';
    // Mark message read
    remove_entity_relationship($entity->getGUID(), 'unread', $user->getGUID());
}
echo elgg_view_image_block($owner_icon, $list_body, $vars);
Ejemplo n.º 19
0
 /**
  * Returns tagged friends
  *
  * @param string $format links|icons or null for an array of entities
  * @param size   $size   Icon size
  * @return mixed
  */
 function getTaggedFriends($format = null, $size = 'small')
 {
     $tagged_friends = array();
     $tags = new \ElggBatch('elgg_get_entities_from_relationship', array('types' => 'user', 'relationship' => 'tagged_in', 'relationship_guid' => $this->guid, 'inverse_relationship' => true, 'limit' => false));
     foreach ($tags as $tag) {
         if ($format == 'links') {
             $tagged_friends[] = elgg_view('output/url', array('text' => isset($tag->name) ? $tag->name : $tag->title, 'href' => $tag->getURL(), 'is_trusted' => true));
         } else {
             if ($format == 'icons') {
                 $tagged_friends[] = elgg_view_entity_icon($tag, $size, array('class' => 'wall-post-tag-icon', 'use_hover' => false));
             } else {
                 $tagged_friends[] = $tag;
             }
         }
     }
     return $tagged_friends;
 }
Ejemplo n.º 20
0
$form_data = $delete_button;
$form_data .= '<table class="elgg-table">';
$form_data .= '<thead>';
$form_data .= '<tr>';
$form_data .= '<th class="center">' . elgg_view('input/checkbox', ['name' => 'checkall', 'default' => false]) . '</th>';
$form_data .= '<th>' . elgg_echo('groups:group') . '</th>';
$form_data .= '<th class="center">' . elgg_echo('groups:edit') . '</th>';
$form_data .= '<th class="center">' . elgg_echo('groups:delete') . '</th>';
$form_data .= '</tr>';
$form_data .= '</thead>';
// add group rows
$rows = [];
foreach ($batch as $group) {
    $cells = [];
    // brief view
    $icon = elgg_view_entity_icon($group, 'tiny');
    $params = ['entity' => $group, 'metadata' => '', 'subtitle' => $group->briefdescription];
    $list_body = elgg_view('group/elements/summary', $params);
    $group_summary = elgg_view_image_block($icon, $list_body);
    $cells[] = elgg_format_element('td', ['class' => 'center'], elgg_view('input/checkbox', ['name' => 'group_guids[]', 'value' => $group->getGUID(), 'default' => false]));
    $cells[] = elgg_format_element('td', [], $group_summary);
    $cells[] = elgg_format_element('td', ['class' => 'center'], elgg_view('output/url', ['text' => elgg_view_icon('settings-alt'), 'title' => elgg_echo('edit'), 'href' => "groups/edit/{$group->getGUID()}"]));
    $cells[] = elgg_format_element('td', ['class' => 'center'], elgg_view('output/url', ['text' => elgg_view_icon('delete-alt'), 'title' => elgg_echo('delete'), 'confirm' => elgg_echo('deleteconfirm'), 'href' => "action/groups/delete?guid={$group->getGUID()}"]));
    $rows[] = elgg_format_element('tr', [], implode('', $cells));
}
$form_data .= elgg_format_element('tbody', [], implode('', $rows));
$form_data .= '</table>';
$form_data .= $delete_button;
// pagination
$form_data .= elgg_view('navigation/pagination', ['limit' => $limit, 'offset' => $offset, 'count' => $group_count]);
echo elgg_view('input/form', ['id' => 'group-tools-admin-bulk-delete', 'action' => 'action/group_tools/admin/bulk_delete', 'body' => $form_data]);
Ejemplo n.º 21
0
/**
 * Format a recipient to be listed in the recipient autocomplete or listing
 *
 * @param mixed $recipient Can be an ElggUser, ElggGroup or email address
 *
 * @return array Contains, of false on failure
 * 					- type : user, group or email
 * 					- label: used in the autocomplete dropdown
 * 					- content: used in the listing view
 * 					- value: eighter a guid of email address
 */
function newsletter_format_recipient($recipient)
{
    $result = false;
    if (!empty($recipient)) {
        if (elgg_instanceof($recipient, "user")) {
            $icon = elgg_view_entity_icon($recipient, "tiny", array("use_hover" => false, "use_link" => false));
            // label for autoselect listing
            $label = elgg_view_image_block($icon, $recipient->name, array("class" => "elgg-autocomplete-item"));
            // content for if selected
            $content = "<div class='newsletter-recipient-result phs'>";
            $content .= elgg_view("input/hidden", array("name" => "user_guids[]", "value" => $recipient->getGUID()));
            $content .= elgg_view_image_block($icon, $recipient->name, array("image_alt" => elgg_view_icon("delete-alt")));
            $content .= "</div>";
            $result = array("type" => "user", "value" => $recipient->getGUID(), "label" => $label, "content" => $content);
        } elseif (elgg_instanceof($recipient, "group")) {
            $icon = elgg_view_entity_icon($recipient, "tiny", array("use_hover" => false, "href" => false));
            // label for autoselect listing
            $name = "<span>" . elgg_echo("groups:group") . ": </span>" . $recipient->name;
            $name .= "<span class='elgg-quiet'> (" . $recipient->getMembers(0, 0, true) . " " . elgg_echo("groups:member") . ")</span>";
            $label = elgg_view_image_block($icon, $name, array("class" => "elgg-autocomplete-item newsletter-recipient-autocomplete-group"));
            // content for if selected
            $name = $recipient->name;
            $name .= "<span class='elgg-quiet'> (" . $recipient->getMembers(0, 0, true) . " " . elgg_echo("groups:member") . ")</span>";
            $content = "<div class='newsletter-recipient-result phs'>";
            $content .= elgg_view("input/hidden", array("name" => "group_guids[]", "value" => $recipient->getGUID()));
            $content .= elgg_view_image_block($icon, $name, array("image_alt" => elgg_view_icon("delete-alt")));
            $content .= "</div>";
            $result = array("type" => "group", "value" => $recipient->getGUID(), "label" => $label, "content" => $content);
        } elseif (newsletter_is_email_address($recipient)) {
            $name = "<span>" . elgg_echo("newsletter:recipients:email") . ": </span>" . $recipient;
            $label = elgg_view_image_block("", $name, array("class" => "elgg-autocomplete-item newsletter-recipient-autocomplete-email"));
            $content = "<div class='newsletter-recipient-result phs'>";
            $content .= elgg_view("input/hidden", array("name" => "emails[]", "value" => $recipient));
            $content .= elgg_view_image_block("", $recipient, array("image_alt" => elgg_view_icon("delete-alt")));
            $content .= "</div>";
            $result = array("type" => "email", "label" => $label, "content" => $content);
        }
    }
    return $result;
}
Ejemplo n.º 22
0
<?php

/**
 * shows a group membership a user has done with a group
 */
$user = elgg_get_page_owner_entity();
if (!$user instanceof ElggUser || !$user->canEdit()) {
    return;
}
$group = elgg_extract('entity', $vars);
if (!$group instanceof ElggGroup) {
    return;
}
$icon = elgg_view_entity_icon($group, 'small');
$menu = elgg_view_menu('membershiprequest', ['entity' => $group, 'user' => $user, 'order_by' => 'priority', 'class' => 'elgg-menu-hz float-alt']);
$summary = elgg_view('group/elements/summary', ['entity' => $group, 'subtitle' => $group->briefdescription, 'metadata' => $menu]);
echo elgg_view_image_block($icon, $summary);
Ejemplo n.º 23
0
<?php

/**
 * Image tag river view
 */
$tagger = $vars['item']->getSubjectEntity();
$tagged_user = $vars['item']->getObjectEntity();
$annotation = $vars['item']->getAnnotation();
if (!$annotation) {
    return;
}
$image = get_entity($annotation->entity_guid);
// viewer may not have permission to view image
if (!$image) {
    return;
}
$attachments = elgg_view_entity_icon($image, 'tiny');
$tagger_link = elgg_view('output/url', array('href' => $tagger->getURL(), 'text' => $tagger->name, 'class' => 'elgg-river-subject', 'is_trusted' => true));
$tagged_link = elgg_view('output/url', array('href' => $tagged_user->getURL(), 'text' => $tagged_user->name, 'class' => 'elgg-river-object', 'is_trusted' => true));
$image_link = elgg_view('output/url', array('href' => $image->getURL(), 'text' => $image->getTitle(), 'is_trusted' => true));
echo elgg_view('river/elements/layout', array('item' => $vars['item'], 'attachments' => $attachments, 'summary' => elgg_echo('image:river:tagged', array($tagger_link, $tagged_link, $image_link))));
Ejemplo n.º 24
0
        $time_lower = $now - 7 * 24 * 60 * 60;
        break;
    case 'day':
        $time_lower = $now - 1 * 24 * 60 * 60;
        break;
    default:
        $time_lower = null;
        break;
}
$limit = get_input('limit', 10);
$offset = get_input('offset', 0);
$leaders = get_leaderboard($time_lower, $now, $limit, $offset);
if (sizeof($leaders) > 0) {
    echo '<ul class="elgg-list">';
    foreach ($leaders as $leader) {
        $icon = elgg_view_entity_icon($leader, 'small');
        $link = elgg_view('output/url', array('text' => $leader->name, 'href' => $leader->getURL()));
        $badges = elgg_list_entities_from_relationship(array('relationship' => HYPEGAMEMECHANICS_CLAIMED_REL, 'relationship_guid' => $leader->guid, 'inverse_relationship' => false, 'limit' => 0, 'full_view' => false, 'list_type' => 'gallery', 'icon_size' => 'small', 'icon_user_status' => false, 'gallery_class' => 'gm-badge-gallery', 'item_class' => 'gm-badge-item'));
        $score = elgg_get_annotations(array('annotation_calculation' => 'sum', 'annotation_names' => 'gm_score', 'guids' => $leader->guid, 'annotation_created_time_lower' => $time_lower, 'annotation_created_time_upper' => $time_upper));
        if ((int) $score < 0) {
            $score_str = "<span class=\"gm-score-negative\">{$score}</span>";
        } else {
            $score_str = "<span class=\"gm-score-positive\">+{$score}</span>";
        }
        echo '<li class="elgg-item">';
        echo elgg_view_image_block($icon, $link . $badges, array('image_alt' => $score_str));
        echo '</li>';
    }
    echo '</ul>';
} else {
    echo '<p>' . elgg_echo('mechanics:leaderboard:empty') . '</p>';
Ejemplo n.º 25
0
 if ($event->canEdit()) {
     $ordered_relationships[] = EVENT_MANAGER_RELATION_ATTENDING_PENDING;
 }
 foreach ($ordered_relationships as $rel) {
     if ($rel == EVENT_MANAGER_RELATION_ATTENDING || $rel == EVENT_MANAGER_RELATION_ATTENDING_PENDING || $event->{$rel} || $rel == EVENT_MANAGER_RELATION_ATTENDING_WAITINGLIST && $event->canEdit() && $event->waiting_list_enabled) {
         if (array_key_exists($rel, $relationships)) {
             $members = $relationships[$rel];
             $rel_title = "";
             if ($event->canEdit()) {
                 $rel_title .= elgg_view("output/url", array("is_action" => true, "href" => "action/event_manager/attendees/export?guid=" . $event->getGUID() . "&rel=" . $rel, "title" => elgg_echo("event_manager:event:exportattendees"), "text" => elgg_view_icon("download"), "class" => "float-alt"));
             }
             $rel_title .= elgg_echo("event_manager:event:relationship:" . $rel . ":label") . " (" . count($members) . ")";
             $rel_content = "";
             foreach ($members as $member) {
                 $member_entity = get_entity($member);
                 $member_info = elgg_view_entity_icon($member_entity, "small", array("event" => $event));
                 if ($event->canEdit()) {
                     $rel = $member_entity->name;
                     if ($member_entity instanceof ElggUser) {
                         $rel .= " " . $member_entity->username;
                     } else {
                         $rel .= " " . $member_entity->email;
                     }
                     $member_info = "<span class='event-manager-event-view-attendee-info' rel='" . $rel . "'>" . $member_info . "</span>";
                 }
                 $rel_content .= $member_info;
             }
             $result .= elgg_view_module("info", $rel_title, $rel_content, array("class" => "event-manager-event-view-attendees"));
         }
     }
 }
Ejemplo n.º 26
0
<?php

/**
 * View for answer object
 *
 * @package Questions
 */
$full = elgg_extract('full_view', $vars, FALSE);
$answer = elgg_extract('entity', $vars, FALSE);
if (!$answer) {
    return TRUE;
}
$answer_guid = $answer->getGUID();
$owner = $answer->getOwnerEntity();
$container = $answer->getContainerEntity();
$owner_icon = elgg_view_entity_icon($owner, 'tiny');
$owner_link = elgg_view('output/url', array('href' => "answers/owner/{$owner->username}", 'text' => $owner->name, 'is_trusted' => true));
$author_text = elgg_echo('byline', array($owner_link));
$date = elgg_view_friendly_time($answer->time_created);
// The "on" status changes for comments, so best to check for !Off
if ($answer->comments_on != 'Off') {
    $comments_count = $answer->countComments();
    //only display if there are commments
    if ($comments_count != 0) {
        $text = elgg_echo("comments") . " ({$comments_count})";
        $comments_link = elgg_view('output/url', array('href' => "#answer-comment-{$answer_guid}", 'text' => $text, 'is_trusted' => true));
    } else {
        $comments_link = '';
    }
} else {
    $comments_link = '';
Ejemplo n.º 27
0
<?php

if ($user = $vars["entity"]) {
    $site = get_entity($user->site_guid);
    echo "<div id='subsite-manager-profile-no-member'>";
    echo "<div>";
    echo elgg_view_entity_icon($user, "medium", array("use_hover" => false, "use_link" => false)) . "<br />";
    echo "<label>" . $user->name . "</label><br />";
    echo elgg_echo("subsite_manager:profile:no_member:header");
    echo "</div>";
    echo elgg_echo("subsite_manager:profile:no_member:visit", array("<a href='" . $site->url . "profile/" . $user->username . "'>", "</a>"));
    echo "</div>";
} else {
    forward();
}
Ejemplo n.º 28
0
if ($time_preference == 'date') {
    $friendlytime = date(elgg_echo("friendlytime:date_format"), $folder->time_created);
} else {
    $friendlytime = elgg_view_friendly_time($folder->time_created);
}
$title = $folder->title;
$entity_menu = "";
if (!elgg_in_context("widgets")) {
    $entity_menu = elgg_view_menu("entity", array("entity" => $folder, "handler" => "bookmark_tools/bmfolder", "sort_by" => "priority", "class" => "elgg-menu-hz"));
}
if ($full_view) {
    // full view
    $icon = elgg_view_entity_icon($folder, "small");
    $owner_link = elgg_view("output/url", array("text" => $folder->getOwnerEntity()->name, "href" => $folder->getOwnerEntity()->getURL()));
    $owner_text = elgg_echo("byline", array($owner_link));
    $subtitle = "{$owner_text} {$friendlytime}";
    $params = array("entity" => $folder, "metadata" => $entity_menu, "tags" => elgg_view("output/tags", array("value" => $folder->tags)), "subtitle" => $subtitle);
    $params = $params + $vars;
    $summary = elgg_view("object/elements/summary", $params);
    echo elgg_view("object/elements/full", array("entity" => $folder, "title" => false, "icon" => $icon, "summary" => $summary, "body" => elgg_view("output/longtext", array("value" => $folder->description))));
} else {
    // summary view
    $icon = elgg_view_entity_icon($folder, "tiny");
    if (!elgg_in_context("widgets")) {
        $icon_alt = elgg_view("input/checkbox", array("name" => "bmfolder_guids[]", "value" => $folder->getGUID(), "default" => false));
    }
    $params = array("entity" => $folder, "metadata" => $entity_menu);
    $params = $params + $vars;
    $list_body = elgg_view("object/elements/summary", $params);
    echo elgg_view_image_block($icon, $list_body, array("class" => "bookmark-tools-folder", "image_alt" => $icon_alt));
}
Ejemplo n.º 29
0
Archivo: content.php Proyecto: n8b/VMN
                    }
                    $result .= elgg_view_image_block($icon, $text);
                } else {
                    $result .= "<div>";
                    if ($show_timestamp) {
                        $result .= "<span title='" . strftime("%c", $entity->time_created) . "'>" . strftime("%d %b", $entity->time_created) . "</span> - ";
                    }
                    $result .= "<a href='" . $entity_url . "'>" . $entity->title . "</a>";
                    $result .= "</div>";
                }
            } else {
                // simple
                $owner = $entity->getOwnerEntity();
                $icon = "";
                if ($show_avatar) {
                    $icon = elgg_view_entity_icon($owner, "small");
                }
                $text = elgg_view("output/url", array("href" => $entity_url, "text" => $entity->title));
                $text .= "<br />";
                $text .= "<a href='" . $owner->getURL() . "'>" . $owner->name . "</a>";
                if ($show_timestamp) {
                    $text .= " <span class='elgg-quiet'>" . elgg_view_friendly_time($entity->time_created) . "</span>";
                }
                $result .= elgg_view_image_block($icon, $text);
            }
            $result .= "</li>";
        }
        $result .= "</ul>";
    }
} else {
    $result = elgg_list_entities($options);
Ejemplo n.º 30
0
			<div class="notifications_content_item_all">
				<a class="delete-notification" title="<?php 
        echo elgg_echo('delete');
        ?>
" href="#" id="<?php 
        echo $notify->guid;
        ?>
">
				<span class="elgg-icon elgg-icon-delete" style="float:right"></span>
				</a>
				<span class="notification_icon_all">
					<?php 
        $from_entity = get_entity($notify->from_guid);
        ?>
					<?php 
        echo elgg_view_entity_icon($from_entity, 'small', array('use_hover' => false, 'use_link' => true));
        ?>
				</span>
				<span class="notification_message_all">
					<?php 
        echo $notify->description;
        ?>
					<br>
					<p class="notification_timeago">
						<?php 
        echo elgg_view_friendly_time($notify->time_created);
        ?>
					</p>
				</span>

				<?php