diff options
| -rw-r--r-- | db/migrations/6.0.38_improved_studygroups.php | 5 | ||||
| -rw-r--r-- | db/migrations/6.0.53_rename_studygroup_expiration_cronjob.php | 21 | ||||
| -rw-r--r-- | db/studip-base-installation.sql | 2 | ||||
| -rw-r--r-- | db/studip-demo-installation.sql | 2 | ||||
| -rw-r--r-- | lib/cronjobs/expire_studygroups.class.php | 53 |
5 files changed, 25 insertions, 58 deletions
diff --git a/db/migrations/6.0.38_improved_studygroups.php b/db/migrations/6.0.38_improved_studygroups.php index 2ed7124..798efd9 100644 --- a/db/migrations/6.0.38_improved_studygroups.php +++ b/db/migrations/6.0.38_improved_studygroups.php @@ -157,9 +157,8 @@ class ImprovedStudygroups extends Migration // Add default cron tasks and schedules $new_job = [ - 'filename' => 'lib/cronjobs/studygroup_expiration.class.php', - 'class' => 'StudygroupExpirationJob', - 'priority' => 'normal' + 'filename' => 'lib/cronjobs/studygroup_expiration.php', + 'class' => StudygroupExpirationJob::class, ]; $query = "INSERT IGNORE INTO `cronjobs_tasks` diff --git a/db/migrations/6.0.53_rename_studygroup_expiration_cronjob.php b/db/migrations/6.0.53_rename_studygroup_expiration_cronjob.php new file mode 100644 index 0000000..e42bd8e --- /dev/null +++ b/db/migrations/6.0.53_rename_studygroup_expiration_cronjob.php @@ -0,0 +1,21 @@ +<?php +final class RenameStudygroupExpirationCronjob extends Migration +{ + public function description() + { + return 'Removes .class from registered cronjob filename that expires studygroups'; + } + + protected function up() + { + $query = "UPDATE `cronjobs_tasks` + SET `filename` = REPLACE(`filename`, '.class.php', '.php') + WHERE `class` = 'StudygroupExpirationJob'"; + DBManager::get()->exec($query); + } + + protected function down() + { + // No down migration since the filename was not right in the first place + } +} diff --git a/db/studip-base-installation.sql b/db/studip-base-installation.sql index a19e65d..4de0332 100644 --- a/db/studip-base-installation.sql +++ b/db/studip-base-installation.sql @@ -7873,7 +7873,7 @@ INSERT INTO `cronjobs_tasks` VALUES ('823875ed4a4b2e87baca0e5137243d96','lib/cronjobs/garbage_collector.php','GarbageCollectorJob',1,0,0,NULL,NULL), ('9c4ad2a8fe47d07e61475d25f5e539db','lib/cronjobs/send_mail_queue.php','SendMailQueueJob',1,0,0,NULL,NULL), ('9e6ef984f2bbf7f8010d4571678e28ce','lib/cronjobs/send_massmails.php','SendMassmailsJob',1,0,1,1754314729,1754314729), -('b44c160302451658c60ea8c4fc06db89','lib/cronjobs/studygroup_expiration.class.php','StudygroupExpirationJob',1,0,0,NULL,NULL), +('b44c160302451658c60ea8c4fc06db89','lib/cronjobs/studygroup_expiration.php','StudygroupExpirationJob',1,0,0,NULL,NULL), ('ca6df41746dbd2077d993d3bfddbf10c','lib/cronjobs/remind_oer_upload.php','RemindOerUpload',1,0,0,NULL,NULL), ('d19f37c382fec524b4fd51b3c5a1ada3','lib/cronjobs/send_mail_notifications.php','SendMailNotificationsJob',1,0,0,NULL,NULL); /*!40000 ALTER TABLE `cronjobs_tasks` ENABLE KEYS */; diff --git a/db/studip-demo-installation.sql b/db/studip-demo-installation.sql index 3d01436..74fd00d 100644 --- a/db/studip-demo-installation.sql +++ b/db/studip-demo-installation.sql @@ -7431,7 +7431,7 @@ INSERT INTO `cronjobs_tasks` VALUES ('2f2713671892bd9624fc27866cfd4630','lib/cronjobs/check_admission.php','CheckAdmissionJob',1,0,0,NULL,NULL), ('3428a64935e8c6a5ab5dcf5bf95fe556','lib/cronjobs/session_gc.php','SessionGcJob',1,0,0,NULL,NULL), ('43f9da3d9245d0f01b43f744e0b8cdce','lib/classes/FilesSearch/Cronjob.php','FilesSearch\\Cronjob',1,0,2,NULL,NULL), -('4b7f133f02418e9cc68c1a5a4213406f','lib/cronjobs/studygroup_expiration.class.php','StudygroupExpirationJob',1,0,0,NULL,NULL), +('4b7f133f02418e9cc68c1a5a4213406f','lib/cronjobs/studygroup_expiration.php','StudygroupExpirationJob',1,0,0,NULL,NULL), ('532b3fe76447dd85e10949a6fc5f3aa8','lib/cronjobs/cleanup_log.php','CleanupLogJob',1,0,0,NULL,NULL), ('59efbaf1e3dd0896df9a39f27f02e6c9','lib/cronjobs/send_massmails.php','SendMassmailsJob',1,0,1,1754314767,1754314767), ('5ecaecd21cd6dd3712d3d294de51c776','lib/cronjobs/import_ilias_testresults.php','ImportIliasTestresults',1,0,1,1716385357,1716385357), diff --git a/lib/cronjobs/expire_studygroups.class.php b/lib/cronjobs/expire_studygroups.class.php deleted file mode 100644 index 3ad9b93..0000000 --- a/lib/cronjobs/expire_studygroups.class.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * expire_studygroups.class.php - Removes studygroups that have reached their expiration date - * and also notifies about upcoming expirations to the founders of the studygroups. - * - * @author Rasmus Fuhse <fuhse@data-quest.de> - * @access public - * @since 6.0 - */ - -class ExpireStudygroups extends CronJob -{ - - public static function getName() - { - return _('Studiengruppen abräumen'); - } - - public static function getDescription() - { - return _('Löscht ablaufende Studiengruppen und benachrichtigt einen Monat vor Ablauf der Studiengruppe über die Löschung.'); - } - - public function execute($last_result, $parameters = []) - { - $statement = DBManager::get()->prepare(" - SELECT `seminare`.* - FROM `seminare` - INNER JOIN `config_values` ON (`config_values`.`range_id` = `seminare`.`Seminar_id` AND `config_values`.`field` = 'STUDYGROUP_EXPIRATION_DATE') - WHERE `config_values`.`value` >= UNIX_TIMESTAMP() - "); - $statement->execute(); - while ($course = Course::buildExisting($statement->fetch(PDO::FETCH_ASSOC))) { - $course->delete(); - } - - //now the notifications - $messaging = new messaging(); - $statement = DBManager::get()->prepare(" - SELECT `seminare`.* - FROM `seminare` - INNER JOIN `config_values` ON (`config_values`.`range_id` = `seminare`.`Seminar_id` AND `config_values`.`field` = 'STUDYGROUP_EXPIRATION_DATE') - WHERE `config_values`.`value` >= UNIX_TIMESTAMP() - 86400 * 31 - AND `config_values`.`value` < UNIX_TIMESTAMP() - 86400 * 30 - "); - $statement->execute([ - 'last_time' => $last_result - ]); - while ($course = Course::buildExisting($statement->fetch(PDO::FETCH_ASSOC))) { - - } - } -} |
