diff options
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/embed/start.php | 1 | ||||
| -rw-r--r-- | mod/embed/views/default/embed/css.php | 6 | ||||
| -rw-r--r-- | mod/embed/views/default/embed/item.php | 44 | ||||
| -rw-r--r-- | mod/embed/views/default/js/embed/embed.php | 27 | 
4 files changed, 52 insertions, 26 deletions
| diff --git a/mod/embed/start.php b/mod/embed/start.php index a87776c7e..015c0c0e4 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -129,6 +129,7 @@ function embed_get_list_options($options = array()) {  	$defaults = array(  		'limit' => 6,  		'container_guid' => $container_guid, +		'item_class' => 'embed-item',  	);  	$options = array_merge($defaults, $options); diff --git a/mod/embed/views/default/embed/css.php b/mod/embed/views/default/embed/css.php index f654a208a..324ed1038 100644 --- a/mod/embed/views/default/embed/css.php +++ b/mod/embed/views/default/embed/css.php @@ -28,6 +28,10 @@  .embed-wrapper p {  	color: #333;  } -.embed-wrapper .elgg-image-block:hover { +.embed-item { +	padding-left: 5px; +	padding-right: 5px; +} +.embed-item:hover {  	background-color: #eee;  } diff --git a/mod/embed/views/default/embed/item.php b/mod/embed/views/default/embed/item.php index c6faa450b..4087b7408 100644 --- a/mod/embed/views/default/embed/item.php +++ b/mod/embed/views/default/embed/item.php @@ -7,25 +7,33 @@  $entity = $vars['entity']; -$image = elgg_view_entity_icon($entity, 'small'); - -$body = "<h4>" . $entity->title . "</h4>"; - -$icon = "<img src=\"{$entity->getIconURL('small')}\" />"; - -$embed_code = elgg_view('output/url', array( -	'href' => $entity->getURL(), +$title = $entity->title; +if (!$title) { +	$title = $entity->name; +} + +// different entity types have different title attribute names. +$title = isset($entity->name) ? $entity->name : $entity->title; +// don't let it be too long +$title = elgg_get_excerpt($title); + +$owner = $entity->getOwnerEntity(); +if ($owner) { +	$author_text = elgg_echo('byline', array($owner->name)); +	$date = elgg_view_friendly_time($entity->time_created); +	$subtitle = "$author_text $date"; +} else { +	$subtitle = ''; +} + +$params = array(  	'title' => $title, -	'text' => $icon, -	'encode_text' => FALSE -)); +	'entity' => $entity, +	'subtitle' => $subtitle, +	'tags' => FALSE, +); +$body = elgg_view('object/elements/summary', $params); +$image = elgg_view_entity_icon($entity, 'small'); -echo "<div class=\"embed_data\" id=\"embed_{$entity->getGUID()}\">";  echo elgg_view_image_block($image, $body); -echo '</div>'; - -// @todo JS 1.8: is this approach better than inline js? -echo "<script type=\"text/javascript\"> -	$('#embed_{$entity->getGUID()}').data('embed_code', " . json_encode($embed_code) . "); -</script>"; diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index e60c6b367..37246ee8a 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -3,7 +3,7 @@ elgg.provide('elgg.embed');  elgg.embed.init = function() {  	// inserts the embed content into the textarea -	$(".embed_data").live('click', elgg.embed.insert); +	$(".embed-item").live('click', elgg.embed.insert);  	// caches the current textarea id  	$(".embed-control").live('click', function() { @@ -24,7 +24,7 @@ elgg.embed.init = function() {  /**   * Inserts data attached to an embed list item in textarea   * - * @todo generalize lightbox closing and wysiwyg refreshing + * @todo generalize lightbox closing   *   * @param {Object} event   * @return void @@ -32,10 +32,23 @@ elgg.embed.init = function() {  elgg.embed.insert = function(event) {  	var textAreaId = elgg.embed.textAreaId; -	var content = $(this).data('embed_code'); -	$('#' + textAreaId).val($('#' + textAreaId).val() + ' ' + content + ' '); - -	<?php echo elgg_view('embed/custom_insert_js'); ?> +	// generalize this based on a css class attached to what should be inserted +	var content = ' ' + $(this).find(".elgg-image").html() + ' '; +	 +<?php +// If a wysiwyg editor has been registered, it handles the insertion by +// overriding the embed/custom_insert_js view. See the TinyMCE plugin for an +// example of this. +$custom_insert_code = elgg_view('embed/custom_insert_js'); +if ($custom_insert_code) { +	echo $custom_insert_code; +} else { +?> +	$('#' + textAreaId).val($('#' + textAreaId).val() + content); +	$('#' + textAreaId).focus(); +<?php +} +?>  	$.fancybox.close(); @@ -68,7 +81,7 @@ elgg.embed.submit = function(event) {  				if (response.status >= 0) {  					// @todo - really this should forward to what the registered defined  					// For example, forward to images tab if an image was uploaded -					var url = elgg.config.wwwroot + 'embed/embed?active_section=file'; +					var url = elgg.config.wwwroot + 'embed/embed';  					$('.embed-wrapper').parent().load(url);  				}  			} | 
