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