blob: 49998ff1e77d995e8bcd9b8a9af0a75d0a9241d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/usr/bin/env php
<?php
/**
* cleanup_admission_rules.php
*
* deletes entries in %admissions tables
* which were orphaned by BIEST #6617
*
* @author André Noack <noack@data-quest.de>
* @license GPL2 or any later version
* @copyright Stud.IP Core Group
*/
require_once 'studip_cli_env.inc.php';
require_once 'lib/classes/admission/CourseSet.class.php';
$sql = "SELECT * FROM
(
SELECT rule_id,'ConditionalAdmission' as class FROM `conditionaladmissions`
UNION
SELECT rule_id,'CourseMemberAdmission' as class FROM `coursememberadmissions`
UNION
SELECT rule_id,'LimitedAdmission' as class FROM limitedadmissions
UNION
SELECT rule_id,'LockedAdmission' as class FROM lockedadmissions
UNION
SELECT rule_id,'ParticipantRestrictedAdmission' as class FROM participantrestrictedadmissions
UNION
SELECT rule_id,'PasswordAdmission' as class FROM passwordadmissions
UNION
SELECT rule_id,'TimedAdmission' as class FROM timedadmissions
) a
LEFT JOIN courseset_rule USING(rule_id) WHERE set_id IS NULL";
$foo = new CourseSet();
$c1 = $c2 = 0;
DBManager::get()
->fetchAll($sql, null, function ($data) use (&$c1,&$c2) {
$c1++;
if (class_exists($data['class'])) {
$rule = new $data['class']($data['rule_id']);
if ($rule->getId() === $data['rule_id']) {
echo 'deleting: ' . $rule->getName() . ' with id: ' . $rule->getId() . chr(10);
$c2++;
$rule->delete();
}
}
}
);
printf("found: %s deleted: %s \n", $c1,$c2);
|