Browse Source

- Merge with edhelas

pull/16/head
Jaussoin Timothée 12 years ago
parent
commit
5e0ecd9ffb
  1. 42
      app/models/item/ItemDAO.php
  2. 78
      app/widgets/Explore/Explore.php
  3. 9
      app/widgets/Explore/_explore_chatrooms.tpl
  4. 9
      app/widgets/Explore/_explore_groups.tpl
  5. 6
      app/widgets/Explore/explore.tpl
  6. 7
      app/widgets/ServerNodes/ServerNodes.php
  7. 1
      themes/movim/css/style.css

42
app/models/item/ItemDAO.php

@ -75,6 +75,48 @@ class ItemDAO extends ModlSQL {
return $this->run('Server');
}
function getConferenceServers() {
$this->_sql = '
select server, count(node) as number
from item
where node not like :node
and node = :name
group by server
order by number desc';
$this->prepare(
'Item',
array(
'node' => 'urn:xmpp:microblog:0:comments%',
// It's a hack to affect an empty string
'name' => ''
)
);
return $this->run('Server');
}
function getGroupServers() {
$this->_sql = '
select server, count(node) as number
from item
where node not like :node
and node != :name
group by server
order by number desc';
$this->prepare(
'Item',
array(
'node' => 'urn:xmpp:microblog:0:comments%',
// Little hack here too
'name' => ''
)
);
return $this->run('Server');
}
function getItems($server) {
$this->_sql = '

78
app/widgets/Explore/Explore.php

@ -35,66 +35,30 @@ class Explore extends WidgetCommon {
function prepareServers() {
$nd = new \modl\ItemDAO();
$servers = $nd->getServers();
$html = '<ul class="list">';
$chatrooms = '';
$pubsubs = '';
foreach($servers as $s) {
list($type, $server ,$ext) = explode('.', $s->server);
switch ($type) {
case 'conference':
$cat = 'chatroom';
break;
case 'muc':
$cat = 'chatroom';
break;
case 'discussion':
$cat = 'chatroom';
break;
case 'chat':
$cat = 'chatroom';
break;
case 'pubsub':
$cat = 'pubsub';
break;
default:
if($ext == null)
$cat = null;
else
$cat = 'pubsub';
break;
}
$groups = $nd->getGroupServers();
$chatrooms = $nd->getConferenceServers();
if(!filter_var($s->server, FILTER_VALIDATE_EMAIL) && isset($cat)) {
if($cat == 'chatroom') {
$chatrooms .= '
<li>
<a href="'.Route::urlize('server', $s->server).'">
<span class="tag green">'.t('Chatrooms').'</span>'.
$s->server. '
<span class="tag">'.$s->number.'</span>
</a>
</li>';
} elseif($cat == 'pubsub') {
$pubsubs .= '
<li>
<a href="'.Route::urlize('server', $s->server).'">
<span class="tag orange">'.t('Groups').'</span>'.
$s->server. '
<span class="tag">'.$s->number.'</span>
</a>
</li>';
}
}
}
// A little filter
$i = 0;
foreach($chatrooms as $c) {
if(filter_var($c->server, FILTER_VALIDATE_EMAIL))
unset($chatrooms[$i]);
$html .= $pubsubs.$chatrooms;
if(count(explode('.', $c->server)) < 3)
unset($chatrooms[$i]);
$html .= '</ul>';
$i++;
}
$html = '';
$groupsview = $this->tpl();
$groupsview->assign('groups', $groups);
$html .= $groupsview->draw('_explore_groups', true);
$chatroomsview = $this->tpl();
$chatroomsview->assign('chatrooms', $chatrooms);
$html .= $chatroomsview->draw('_explore_chatrooms', true);
return $html;
}

9
app/widgets/Explore/_explore_chatrooms.tpl

@ -0,0 +1,9 @@
{loop="chatrooms"}
<li class="block">
<a href="{$c->route('server', $value->server)}">
<span class="tag green">{$c->t('Chatrooms')}</span>
{$value->server}
<span class="tag">{$value->number}</span>
</a>
</li>
{/loop}

9
app/widgets/Explore/_explore_groups.tpl

@ -0,0 +1,9 @@
{loop="groups"}
<li class="block">
<a href="{$c->route('server', $value->server)}">
<span class="tag orange">{$c->t('Groups')}</span>
{$value->server}
<span class="tag">{$value->number}</span>
</a>
</li>
{/loop}

6
app/widgets/Explore/explore.tpl

@ -1,9 +1,13 @@
<div id="serverresult" class="paddedtop">
<a class="button color purple oppose icon search" href="{$myserver}">{$c->t('Discover my server')}</a>
<h2>{$c->t('Discussion Servers')}</h2>
{$servers}
<ul class="list">
{$servers}
</ul>
</div>
<div class="clear"></div>
<div class="paddedtopbottom">
<h2>{$c->t('Last registered')}</h2>

7
app/widgets/ServerNodes/ServerNodes.php

@ -108,10 +108,13 @@ class ServerNodes extends WidgetCommon
$tags .= '<span class="tag green">'.t('Subscribed').'</span>';
$url = '';
if($i->node != null)
if($i->node != null) {
$url = 'href="'.Route::urlize('node', array($i->server, $i->node)).'"';
elseif($i->jid != null)
} elseif($i->jid != null && !filter_var($i->jid, FILTER_VALIDATE_EMAIL)) {
$url = 'href="'.Route::urlize('server', array($i->jid)).'"';
} else {
$tags .= '<span class="tag">'.$i->jid.'</span>';
}
$html .= '
<li>

1
themes/movim/css/style.css

@ -480,6 +480,7 @@ ul.list {
ul.list li {
border-bottom: 1px solid #EEE;
clear: both;
padding: 0 0.5em;
}
ul.list li:last-child {

Loading…
Cancel
Save