streams/Code/Widget/Site_projects.php

52 lines
1.4 KiB
PHP
Raw Normal View History

2020-09-09 06:39:51 +00:00
<?php
2022-02-16 04:08:28 +00:00
namespace Code\Widget;
2020-09-09 06:39:51 +00:00
2022-02-16 04:08:28 +00:00
use Code\Render\Theme;
2022-02-12 20:43:29 +00:00
2021-12-02 23:02:31 +00:00
class Site_projects
{
public function widget($args)
{
$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");
$results = [];
usort($r, ['self', 'site_sort']);
if ($r) {
foreach ($r as $rv) {
$result = [];
$result['name'] = $rv['site_project'];
$result['type'] = $rv['site_type'];
$result['cname'] = ucfirst($result['name']);
if ($rv['site_project'] === $_REQUEST['project']) {
$result['selected'] = true;
}
$result['total'] = $rv['total'];
$results[] = $result;
}
2022-02-12 20:43:29 +00:00
$o = replace_macros(Theme::get_template('site_projects.tpl'), [
2022-03-18 19:38:08 +00:00
'$title' => t('Community Types'),
2021-12-02 23:02:31 +00:00
'$desc' => '',
2022-03-18 19:38:08 +00:00
'$all' => t('All community types'),
2022-04-06 10:19:30 +00:00
'base' => z_root() . '/communities',
2021-12-02 23:02:31 +00:00
'$sel_all' => (($_REQUEST['project']) ? false : true),
'$terms' => $results
]);
return $o;
}
}
public static function site_sort($a, $b)
{
2022-03-18 19:38:08 +00:00
return strcasecmp($a['site_project'], $b['site_project']);
2021-12-02 23:02:31 +00:00
}
2020-09-09 06:39:51 +00:00
}