X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpublictagcloud.php;h=e9f33d58b6d95df7925a07355e20ec31217f1c38;hb=b4e649fe906a793cd5e62d6390065ea5d41c40db;hp=ec28edbadc9b79beb89721cfa49b0a9b1d34f5e1;hpb=bf15df5b1951bc5dc327ec55d578b2ccdaf858a9;p=quix0rs-gnu-social.git diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index ec28edbadc..e9f33d58b6 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -47,7 +47,7 @@ define('TAGS_PER_PAGE', 100); class PublictagcloudAction extends Action { - function isReadOnly() + function isReadOnly($args) { return true; } @@ -64,6 +64,22 @@ class PublictagcloudAction extends Action common_config('site', 'name'))); } + function showEmptyList() + { + $message = _('No one has posted a notice with a [hashtag](%%doc.tags%%) yet.') . ' '; + + if (common_logged_in()) { + $message .= _('Be the first to post one!'); + } + else { + $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!'); + } + + $this->elementStart('div', 'guide'); + $this->raw(common_markup_to_html($message)); + $this->elementEnd('div'); + } + function showLocalNav() { $nav = new PublicGroupNav($this); @@ -103,7 +119,8 @@ class PublictagcloudAction extends Action $cnt = $tags->find(); if ($cnt > 0) { - $this->elementStart('p', 'tagcloud'); + $this->elementStart('div', array('id' => 'tagcloud', + 'class' => 'section')); $tw = array(); $sum = 0; @@ -114,36 +131,43 @@ class PublictagcloudAction extends Action ksort($tw); + $this->elementStart('dl'); + $this->element('dt', null, _('Tag cloud')); + $this->elementStart('dd'); + $this->elementStart('ul', 'tags xoxo tag-cloud'); foreach ($tw as $tag => $weight) { $this->showTag($tag, $weight, $weight/$sum); } - - $this->elementEnd('p'); + $this->elementEnd('ul'); + $this->elementEnd('dd'); + $this->elementEnd('dl'); + $this->elementEnd('div'); + } else { + $this->showEmptyList(); } } function showTag($tag, $weight, $relative) { - # XXX: these should probably tune to the size of the site if ($relative > 0.1) { - $cls = 'largest'; + $rel = 'tag-cloud-7'; } else if ($relative > 0.05) { - $cls = 'verylarge'; + $rel = 'tag-cloud-6'; } else if ($relative > 0.02) { - $cls = 'large'; + $rel = 'tag-cloud-5'; } else if ($relative > 0.01) { - $cls = 'medium'; + $rel = 'tag-cloud-4'; } else if ($relative > 0.005) { - $cls = 'small'; + $rel = 'tag-cloud-3'; } else if ($relative > 0.002) { - $cls = 'verysmall'; + $rel = 'tag-cloud-2'; } else { - $cls = 'smallest'; + $rel = 'tag-cloud-1'; } - $this->element('a', array('class' => "$cls weight-$weight relative-$relative", - 'href' => common_local_url('tag', array('tag' => $tag))), + $this->elementStart('li', $rel); + $this->element('a', array('href' => common_local_url('tag', array('tag' => $tag))), $tag); - $this->text(' '); + $this->elementEnd('li'); } }