Esempio n. 1
0
function cronjobGiornaliero()
{
    global $log, $db, $cache;
    $ok = true;
    /* === 0. PERSISTE LA CACHE SU DISCO */
    cronjobEsegui("Persistere la cache di Redis su disco", function () use($cache) {
        if ($cache) {
            $cache->save();
        }
        return true;
    }, $log, $ok);
    cronjobEsegui("Cancellare file scaduti da disco e database", function () {
        $n = 0;
        foreach (File::scaduti() as $f) {
            $f->cancella();
            $n++;
        }
        return "Cancellati {$n} file scaduti";
    }, $log, $ok);
    cronjobEsegui("Autorizzare estensioni dopo 30gg, con notifica ai volontari", function () {
        $n = 0;
        foreach (Estensione::daAutorizzare() as $e) {
            $e->auto();
            $n++;
        }
        return "Concesse {$n} estensioni";
    }, $log, $ok);
    cronjobEsegui("Terminare estensioni", function () {
        $n = 0;
        foreach (Estensione::daChiudere() as $e) {
            $e->termina();
            $n++;
        }
        return "Chiuse {$n} estensioni";
    }, $log, $ok);
    cronjobEsegui("Autorizzare trasferimenti dopo 30gg, notifica e chiusura sospesi e turni", function () {
        $n = 0;
        foreach (Trasferimento::daAutorizzare() as $t) {
            $t->auto();
            $n++;
        }
        return "Autorizzati {$n} trasferimenti";
    }, $log, $ok);
    cronjobEsegui("Autorizzare riserve dopo 30gg", function () {
        $n = 0;
        foreach (Riserva::daAutorizzare() as $r) {
            $r->auto();
            $n++;
        }
        return "Autorizzate {$n} riserve";
    }, $log, $ok);
    cronjobEsegui("Pulitura e fix delle attività", function () {
        $n = 0;
        $n = Attivita::pulizia();
        return "Fix di {$n} attività";
    }, $log, $ok);
    cronjobEsegui("Rigenerazione albero dei comitati", function () {
        GeoPolitica::rigeneraAlbero();
        return true;
    }, $log, $ok);
    cronjobEsegui("Chiusura validazioni scadute", function () {
        Validazione::chiudi();
        return true;
    }, $log, $ok);
    cronjobEsegui("Rimozione errori vecchi di una settimana", function () {
        $n = MErrore::pulisci();
        return "Cancellati log di {$n} errori in database";
    }, $log, $ok);
    /****************************************************
     * MODULO FORMAZIONE
     ****************************************************/
    // Creo i certificati per i corsi superati
    cronjobEsegui("Cerca i corsi in stato da elaborare e genera i relativi certificati", function () {
        $n = Corso::chiudiCorsi();
        return "Generati ({$n}) certificati";
    }, $log, $ok);
    return $ok;
}
Esempio n. 2
0
    foreach ($est as $este) {
        $este->nega($motivo);
    }
    /* Estensioni verso il comitato */
    $appest = Appartenenza::filtra([['comitato', $t], ['stato', MEMBRO_EST_PENDENTE]]);
    foreach ($appest as $apest) {
        $apest->estensione()->nega($motivo);
    }
    /* Trasferimenti dal comitato */
    $trasf = Trasferimento::filtra([['cProvenienza', $t], ['stato', TRASF_INCORSO]]);
    foreach ($trasf as $trasfe) {
        $trasfe->nega($motivo);
    }
    /* Trasferimenti verso il comitato */
    $apptrasf = Appartenenza::filtra([['comitato', $t], ['stato', MEMBRO_TRASF_IN_CORSO]]);
    foreach ($apptrasf as $aptrasf) {
        $aptrasf->trasferimento()->nega($motivo);
    }
    $riserve = Riserva::filtra([['comitato', $t], ['stato', RISERVA_INCORSO]]);
    foreach ($riserve as $riserva) {
        $riserva->nega($motivo);
    }
    $t->principale = 0;
    $t->locale = $c;
} elseif ($estensione == EST_LOCALE) {
    $t->provinciale = $c;
} elseif ($estensione == EST_PROVINCIALE) {
    $t->regionale = $c;
}
GeoPolitica::rigeneraAlbero();
redirect('admin.comitati&spostato');