Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 25... Línea 25...
25
 
25
 
26
/**
26
/**
27
 * Simple task to delete user accounts for users who have not confirmed in time.
27
 * Simple task to delete user accounts for users who have not confirmed in time.
28
 */
28
 */
-
 
29
class delete_unconfirmed_users_task extends scheduled_task {
Línea 29... Línea 30...
29
class delete_unconfirmed_users_task extends scheduled_task {
30
    use stored_progress_task_trait;
30
 
31
 
31
    /**
32
    /**
32
     * Get a descriptive name for this task (shown to admins).
33
     * Get a descriptive name for this task (shown to admins).
Línea 47... Línea 48...
47
        $timenow = time();
48
        $timenow = time();
Línea 48... Línea 49...
48
 
49
 
49
        // Delete users who haven't confirmed within required period.
50
        // Delete users who haven't confirmed within required period.
50
        if (!empty($CFG->deleteunconfirmed)) {
51
        if (!empty($CFG->deleteunconfirmed)) {
-
 
52
            $cuttime = $timenow - ($CFG->deleteunconfirmed * 3600);
-
 
53
            $select = "confirmed = 0 AND timecreated > 0 AND timecreated < ? AND deleted = 0";
51
            $cuttime = $timenow - ($CFG->deleteunconfirmed * 3600);
54
            $params = [$cuttime];
-
 
55
            $count = $DB->count_records_select('user', $select, $params);
52
            $rs = $DB->get_recordset_sql ("SELECT *
56
 
-
 
57
            // Exit early if there are no records to process.
-
 
58
            if (!$count) {
-
 
59
                return;
-
 
60
            }
53
                                             FROM {user}
61
 
54
                                            WHERE confirmed = 0 AND timecreated > 0
62
            $this->start_stored_progress();
-
 
63
            $rs = $DB->get_recordset_select('user', $select, $params);
55
                                                  AND timecreated < ? AND deleted = 0", array($cuttime));
64
            $processed = 0;
56
            foreach ($rs as $user) {
65
            foreach ($rs as $user) {
57
                delete_user($user);
66
                delete_user($user);
-
 
67
                $message = " Deleted unconfirmed user ".fullname($user, true)." ($user->id)";
-
 
68
                $processed++;
58
                mtrace(" Deleted unconfirmed user ".fullname($user, true)." ($user->id)");
69
                $this->progress->update($processed, $count, $message);
59
            }
70
            }
-
 
71
            $rs->close();
60
            $rs->close();
72
            $this->progress->update($processed, $count, "Deleted $processed out of $count unconfirmed users");
61
        }
73
        }
Línea 62... Línea 74...
62
    }
74
    }