diff options
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/blog/views/default/blog/sidebar_menu.php | 9 | ||||
| -rw-r--r-- | mod/tagcloud/languages/de.php | 12 | ||||
| -rw-r--r-- | mod/tagcloud/languages/en.php | 14 | ||||
| -rw-r--r-- | mod/tagcloud/manifest.xml | 10 | ||||
| -rw-r--r-- | mod/tagcloud/start.php | 18 | ||||
| -rw-r--r-- | mod/tagcloud/tagcloud.php | 16 | ||||
| -rw-r--r-- | mod/tagcloud/views/default/output/tagcloud.php | 47 | ||||
| -rw-r--r-- | mod/tagcloud/views/default/tagcloud/css.php | 16 | ||||
| -rw-r--r-- | mod/tagcloud/views/default/widgets/tagcloud/edit.php | 20 | ||||
| -rw-r--r-- | mod/tagcloud/views/default/widgets/tagcloud/view.php | 9 | 
10 files changed, 169 insertions, 2 deletions
| diff --git a/mod/blog/views/default/blog/sidebar_menu.php b/mod/blog/views/default/blog/sidebar_menu.php index 1a6124dbd..b910b420b 100644 --- a/mod/blog/views/default/blog/sidebar_menu.php +++ b/mod/blog/views/default/blog/sidebar_menu.php @@ -34,9 +34,14 @@ $page_owner = page_owner_entity();  if ($loggedin_user) {  } -  ?>  <ul class="submenu">  	<li><a href="">Drafts</a></li> -</ul>
\ No newline at end of file +</ul> + +<?php // temporarily force tag-cloud display +	echo "<h3>Tagcloud</h3>"; +	echo "<div class='tagcloud sidebar'>".display_tagcloud(0, 100, 'tags')."</div>"; +	echo "<a href=\"{$vars['url']}mod/tagcloud/tagcloud.php\">All site tags</a>"; +?> diff --git a/mod/tagcloud/languages/de.php b/mod/tagcloud/languages/de.php new file mode 100644 index 000000000..1192202b3 --- /dev/null +++ b/mod/tagcloud/languages/de.php @@ -0,0 +1,12 @@ +<?php + +	$german = array( +		"tagcloud:widget:title" => "Schlagworte", +		"tagcloud:widget:description" => "Schlagworte", +		"tagcloud:widget:notags" => "Anzahl anzeigen", +		"item:object" => "Alle Einträge", +	); +					 +	add_translation("de",$german); + +?> diff --git a/mod/tagcloud/languages/en.php b/mod/tagcloud/languages/en.php new file mode 100644 index 000000000..749a86434 --- /dev/null +++ b/mod/tagcloud/languages/en.php @@ -0,0 +1,14 @@ +<?php + +  $english = array( +    'tagcloud:widget:title' => 'Tag Cloud', +    'tagcloud:site:title' => 'Site Tag Cloud', +    'tagcloud:widget:description' => 'Tag cloud', +    'tagcloud:widget:numtags' => 'Number of tags to show', +    'item:object' => 'Items', +    'advancedsearchtitle' => '%s with tags matching %s', +	); + +  add_translation('en',$english); + +?> diff --git a/mod/tagcloud/manifest.xml b/mod/tagcloud/manifest.xml new file mode 100644 index 000000000..7f08072b9 --- /dev/null +++ b/mod/tagcloud/manifest.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin_manifest> +        <field key="author" value="Curverider, Cash Costello" /> +        <field key="version" value="1.0" /> +        <field key="description" value="Site-wide and widget-based tag clouds." /> +        <field key="website" value="http://www.elgg.org/" /> +        <field key="copyright" value="(C) Curverider 2008-2010" /> +		<field key="licence" value="GNU Public License version 2" /> +		<field key="elgg_version" value="2010030101" /> +</plugin_manifest> diff --git a/mod/tagcloud/start.php b/mod/tagcloud/start.php new file mode 100644 index 000000000..cb397d7e9 --- /dev/null +++ b/mod/tagcloud/start.php @@ -0,0 +1,18 @@ +<?php +	function tagcloud_init() { +    add_widget_type('tagcloud', elgg_echo('tagcloud:widget:title'), elgg_echo('tagcloud:widget:description')); +     +	// Extend CSS +	extend_view('css','tagcloud/css'); +	 +	if(is_plugin_enabled('blog')) { +		// extend blog sidebar with a tag-cloud +	} +	if(is_plugin_enabled('bookmarks')) { +		// extend bkmrks sidebar with a tag-cloud +	} +				      +  } +			 +  register_elgg_event_handler('init', 'system', 'tagcloud_init');	 +?> diff --git a/mod/tagcloud/tagcloud.php b/mod/tagcloud/tagcloud.php new file mode 100644 index 000000000..564e839e3 --- /dev/null +++ b/mod/tagcloud/tagcloud.php @@ -0,0 +1,16 @@ +<?php +/** + * Display site tagcloud + **/ +  +// Load Elgg engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); +  +$title = elgg_view_title(elgg_echo('tagcloud:site:title')); +$tags = "<div class='tagcloud site'>".display_tagcloud(0, 100, 'tags')."</div>"; + +//select the correct canvas area +$body = elgg_view_layout("one_column_with_sidebar", $title . $tags, $sidebar); +		 +// Display page +page_draw(sprintf(elgg_echo('tagcloud:site:title'),$page_owner->name),$body);
\ No newline at end of file diff --git a/mod/tagcloud/views/default/output/tagcloud.php b/mod/tagcloud/views/default/output/tagcloud.php new file mode 100644 index 000000000..aa3d84081 --- /dev/null +++ b/mod/tagcloud/views/default/output/tagcloud.php @@ -0,0 +1,47 @@ +<?php + +	/** +	 * Elgg tagcloud +	 * Displays a tagcloud +	 */ +     +	if (!empty($vars['subtype'])) { +		$subtype = "&subtype=" . urlencode($vars['subtype']); +	} else { +		$subtype = ""; +	} +	if (!empty($vars['object'])) { +		$object = "&object=" . urlencode($vars['object']); +	} else { +		$object = ""; +	} +	 +	if (empty($vars['tagcloud']) && !empty($vars['value'])) +		$vars['tagcloud'] = $vars['value']; + +	if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) { + +		if (get_context() === 'random') +			shuffle($vars['tagcloud']); +	 +		$counter = 0; +		$cloud = ""; +		$max = 0; +		foreach($vars['tagcloud'] as $tag) { +			if ($tag->total > $max) { +				$max = $tag->total; +			} +		} +		foreach($vars['tagcloud'] as $tag) { +			if (!empty($cloud)) $cloud .= ","; +			$size = round((log($tag->total) / log($max)) * 100) + 80; +			if ($size < 100) $size = 100; +			$cloud .= "<a href=\"" . $vars['url'] . "search/?tag=". urlencode($tag->tag) . $object . $subtype . "\" style=\"font-size: {$size}%\" title=\"".addslashes($tag->tag)." ({$tag->total})\" style=\"text-decoration:none;\">" . htmlentities($tag->tag, ENT_QUOTES, 'UTF-8') . "</a>"; +		} +		$tags = explode(',', $cloud); +		asort($tags); +		$tags = implode(',', $tags); +		echo str_replace(",", " ", $tags); +	} + +?> diff --git a/mod/tagcloud/views/default/tagcloud/css.php b/mod/tagcloud/views/default/tagcloud/css.php new file mode 100644 index 000000000..00e972c8a --- /dev/null +++ b/mod/tagcloud/views/default/tagcloud/css.php @@ -0,0 +1,16 @@ +<?php +	/** +	 * Elgg tagcloud +	 */ +?> + +.tagcloud { +	text-align:justify; +	font-size:1.0em; /* default font-size for single page tagcloud */ +} +.tagcloud.site a { +	margin-right:0.2em; +} +.tagcloud.sidebar { +	font-size:0.7em; /* reset default size for sidebar tagclouds */ +}
\ No newline at end of file diff --git a/mod/tagcloud/views/default/widgets/tagcloud/edit.php b/mod/tagcloud/views/default/widgets/tagcloud/edit.php new file mode 100644 index 000000000..449266f13 --- /dev/null +++ b/mod/tagcloud/views/default/widgets/tagcloud/edit.php @@ -0,0 +1,20 @@ +<p> +<?php  + +	$num_items = $vars['entity']->num_items; +	if (!isset($num_items)) $num_items = 30; + +  echo elgg_echo('tagcloud:widget:numtags');  +	 +	echo elgg_view('input/pulldown', array( +			'internalname' => 'params[num_items]', +			'options_values' => array( '10' => '10', +                                 '20' => '20', +			                           '30' => '30', +			                           '50' => '50', +			                           '100' => '100', +			                         ), +			'value' => $num_items +		)); +?> +</p> diff --git a/mod/tagcloud/views/default/widgets/tagcloud/view.php b/mod/tagcloud/views/default/widgets/tagcloud/view.php new file mode 100644 index 000000000..dc9666185 --- /dev/null +++ b/mod/tagcloud/views/default/widgets/tagcloud/view.php @@ -0,0 +1,9 @@ +<?php + +	$num_items = $vars['entity']->num_items; +	if (!isset($num_items)) $num_items = 30; + +  $prev_context = get_context();	 +  echo display_tagcloud(1, $num_items, 'tags', '', '', page_owner()); +  set_context($prev_context); +?> | 
