streams/Code/Widget/Site_projects.php

45 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
2022-10-23 21:18:44 +00:00
class Site_projects implements WidgetInterface
2021-12-02 23:02:31 +00:00
{
2022-10-24 03:39:49 +00:00
public function widget(array $arguments): string
2021-12-02 23:02:31 +00:00
{
$results = [];
$query = q("select site_project, count(site_project) as total from site
2022-11-21 23:41:05 +00:00
where site_project != '' and site_flags != 256 and site_dead = 0 group by site_project order by site_project desc");
2022-07-20 07:15:18 +00:00
if ($query) {
usort($query, ['self', 'site_sort']);
foreach ($query as $rv) {
2021-12-02 23:02:31 +00:00
$result = [];
$result['name'] = $rv['site_project'];
$result['cname'] = ucfirst($result['name']);
if ($rv['site_project'] === $_REQUEST['project']) {
$result['selected'] = true;
}
$result['total'] = $rv['total'];
$results[] = $result;
}
2022-11-20 05:28:50 +00:00
return 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',
2022-11-20 05:28:50 +00:00
'$sel_all' => !$_REQUEST['project'],
2021-12-02 23:02:31 +00:00
'$terms' => $results
]);
}
2022-11-20 05:28:50 +00:00
return '';
2021-12-02 23:02:31 +00:00
}
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
}