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()]; }
/** * 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); }
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; }
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/>'; }
/** * 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; }
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/>'; }
/** * 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; }
<?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>";
<?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));
<?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;
<?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);
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;
} # 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;
* * @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";
<?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); }
* @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}
* * 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>';
<?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);
/** * 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; }
$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]);
/** * 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; }
<?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);
<?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))));
$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>';
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")); } } }
<?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 = '';
<?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(); }
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)); }
} $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);
<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