streams/Zotlabs/Widget/Site_projects.php

52 lines
1.1 KiB
PHP
Raw Normal View History

2020-09-09 06:39:51 +00:00
<?php
namespace Zotlabs\Widget;
class Site_projects {
function widget($args) {
2020-11-24 05:28:33 +00:00
$r = q("select site_project, site_type, count(site_project) as total from site where site_project != '' and site_flags != 256 and site_dead = 0 group by site_project order by site_project desc");
2020-09-09 06:39:51 +00:00
$results = [];
2020-11-24 05:28:33 +00:00
usort($r, [ 'self', 'site_sort' ]);
2020-09-09 06:39:51 +00:00
if ($r) {
foreach ($r as $rv) {
$result = [];
$result['name'] = $rv['site_project'];
2020-11-24 05:28:33 +00:00
$result['type'] = $rv['site_type'];
2020-09-09 06:39:51 +00:00
$result['cname'] = ucfirst($result['name']);
if ($rv['site_project'] === $_REQUEST['project']) {
$result['selected'] = true;
}
$result['total'] = $rv['total'];
$results[] = $result;
}
$o = replace_macros(get_markup_template('site_projects.tpl'), [
'$title' => t('Projects'),
'$desc' => '',
'$all' => t('All projects'),
'base' => z_root() . '/sites',
'$sel_all' => (($_REQUEST['project']) ? false : true),
'$terms' => $results
]);
return $o;
}
}
2020-11-24 05:28:33 +00:00
static function site_sort($a,$b) {
if ($a['site_type'] === $b['site_type']) {
return strncmp($a,$b);
}
return (($a['site_type'] < $b['site_type']) ? -1 : 1);
}
2020-09-09 06:39:51 +00:00
}