Skip to content
Snippets Groups Projects
Commit b8d01f33 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

adjustments to studip >= 4.2

parent 9d460a91
No related branches found
No related tags found
No related merge requests found
......@@ -28,19 +28,36 @@ class StatisticsController extends PluginController
);
$this->getCached($this->semester->id, function () {
$query = "SELECT plugins.pluginid AS id,
pluginname AS name,
COUNT(poiid) AS quantity
FROM plugins
LEFT JOIN plugins_activated USING (pluginid)
LEFT JOIN seminare
ON SUBSTR(plugins_activated.poiid, 4) = seminare.Seminar_id
WHERE start_time BETWEEN ? AND ?
AND plugins_activated.state = 'on'
AND FIND_IN_SET('StandardPlugin', plugintype)
AND plugins.enabled = 'yes'
GROUP BY plugins.pluginid
if (StudipVersion::olderThan('4.2')) {
$query = "SELECT `plugins`.`pluginid` AS id,
`plugins`.`pluginname` AS name,
COUNT(`seminare`.`Seminar_id`) AS quantity
FROM `plugins`
LEFT JOIN `plugins_activated` USING (`pluginid`)
LEFT JOIN `seminare`
ON SUBSTR(`plugins_activated`.`poiid`, 4) = `seminare`.`Seminar_id`
WHERE `seminare`.`start_time` BETWEEN ? AND ?
AND `plugins_activated`.`state` = 'on'
AND FIND_IN_SET('StandardPlugin', `plugintype`)
AND `plugins`.`enabled` = 'yes'
GROUP BY `plugins`.`pluginid`
ORDER BY quantity DESC";
} else {
$query = "SELECT `plugins`.`pluginid` AS id,
`plugins`.`pluginname` AS name,
COUNT(`seminare`.`Seminar_id`) AS quantity
FROM `plugins`
LEFT JOIN `plugins_activated` USING (`pluginid`)
LEFT JOIN `seminare`
ON `plugins_activated`.`range_type` = 'sem'
AND `plugins_activated`.`range_id` = `seminare`.`Seminar_id`
WHERE `seminare`.`start_time` BETWEEN ? AND ?
AND `plugins_activated`.`state` = 1
AND FIND_IN_SET('StandardPlugin', `plugins`.`plugintype`)
AND `plugins`.`enabled` = 'yes'
GROUP BY `plugins`.`pluginid`
ORDER BY quantity DESC";
}
$plugins = DBManager::get()->fetchAll($query, [
$this->semester->beginn,
$this->semester->ende
......@@ -467,6 +484,10 @@ class StatisticsController extends PluginController
private function getCached($index, Closure $generator)
{
if (!$GLOBALS['CACHING_ENABLE']) {
return $generator();
}
$this->createSidebarCachePruner($index);
$cache = StudipCacheFactory::getCache();
......
......@@ -13,6 +13,13 @@
</tr>
</thead>
<tbody>
<? if (count($plugins) === 0): ?>
<tr>
<td colspan="2">
<?= _('In diesem Semester wurden noch keine Standardplugins aktiviert') ?>
</td>
</tr>
<? endif; ?>
<? foreach ($plugins as $plugin): ?>
<tr>
<td>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment