Example #1
0
function cronjobSettimanale()
{
    global $log, $db;
    $ok = true;
    cronjobEsegui("Invio reminder patenti CRI in scadenza nei prossimi 15gg", function () {
        $patenti = TitoloPersonale::inScadenza(2700, 2709, 15);
        // Minimo id titolo, Massimo id titolo, Giorni
        $n = 0;
        $giaInsultati = [];
        foreach ($patenti as $patente) {
            $_v = $patente->volontario();
            if (in_array($_v->id, $giaInsultati)) {
                continue;
                // Il prossimo...
            }
            $giaInsultati[] = $_v->id;
            $m = new Email('patenteScadenza', 'Avviso patente CRI in scadenza');
            $m->a = $_v;
            $m->_NOME = $_v->nome;
            $m->_SCADENZA = date('d-m-Y', $patente->fine);
            $m->invia();
            $n++;
        }
        return "Inviate {$n} notifiche di scadenza patente";
    }, $log, $ok);
    cronjobEsegui("Invio reminder patenti civili in scadenza nei prossimi 15gg", function () {
        $patenti = TitoloPersonale::inScadenza(70, 77, 15);
        // Minimo id titolo, Massimo id titolo, Giorni
        $n = 0;
        $giaInsultati = [];
        foreach ($patenti as $patente) {
            $_v = $patente->volontario();
            if (in_array($_v->id, $giaInsultati)) {
                continue;
                // Il prossimo...
            }
            $giaInsultati[] = $_v->id;
            $m = new Email('patenteScadenzaCivile', 'Avviso patente Civile in scadenza');
            $m->a = $_v;
            $m->_NOME = $_v->nome;
            $m->_SCADENZA = date('d-m-Y', $patente->fine);
            $m->invia();
            $n++;
        }
        return "Inviate {$n} notifiche di scadenza patente civili";
    }, $log, $ok);
    cronjobEsegui("Invio del riepilogo per i presidenti", function () {
        $n = 0;
        foreach (Comitato::elenco() as $comitato) {
            $a = count($comitato->appartenenzePendenti());
            $b = count($comitato->titoliPendenti());
            $c = count($comitato->fototesserePendenti());
            $z = $a + $b + $c;
            if ($z == 0) {
                continue;
            }
            foreach ($comitato->volontariPresidenti() as $presidente) {
                $m = new Email('riepilogoPresidente', "Promemoria: Ci sono {$c} azioni in sospeso");
                $m->a = $presidente;
                $m->_NOME = $presidente->nomeCompleto();
                $m->_COMITATO = $comitato->nomeCompleto();
                $m->_APPPENDENTI = $a;
                $m->_TITPENDENTI = $b;
                $m->_FOTPENDENTI = $c;
                $m->invia();
                $n++;
            }
        }
        return "Inviati {$n} promemoria ai presidenti";
    }, $log, $ok);
    cronjobEsegui("Invio reminder anniversario riserva a breve", function () {
        $n = 0;
        foreach (Riserva::inScadenza() as $r) {
            $n++;
            $m = new Email('promemoriaScadenzaRiserva', "Promemoria: Riserva in scadenza tra pochi giorni");
            $m->a = $r->volontario();
            $m->_NOME = $r->volontario()->nome;
            $m->_SCADENZA = date('d-m-Y', $r->fine);
            $m->invia();
        }
        return "Notificate {$n} riserve in scadenza";
    }, $log, $ok);
    cronjobEsegui("Invio reminder scadenza estensione a breve", function () {
        $n = 0;
        foreach (Estensione::inScadenza() as $e) {
            $n++;
            $m = new Email('promemoriaScadenzaEstensione', "Promemoria: Estensione in scadenza tra pochi giorni");
            $m->a = $e->volontario();
            $m->_NOME = $e->volontario()->nome;
            $m->_COMITATO = $e->appartenenza()->comitato()->nomeCompleto();
            $m->_SCADENZA = date('d-m-Y', $e->appartenenza()->fine);
            $m->invia();
        }
        return "Notificate {$n} estensioni in scadenza";
    }, $log, $ok);
    cronjobEsegui("Controllo aspiranti, promemoria e cancellazione", function () use($db) {
        $n = $c = 0;
        $query = "\n                SELECT  aspiranti.utente,\n                        COUNT(corsibase.geo),\n                        aspiranti.id\n                FROM    aspiranti, corsibase\n                WHERE   utente NOT IN (\n                    SELECT  volontario\n                    FROM    partecipazioniBase\n                    WHERE   stato >= 10\n                )\n                AND         ST_DISTANCE( corsibase.geo, aspiranti.geo ) < aspiranti.raggio\n                AND         corsibase.stato = 30\n                AND         corsibase.inizio >= UNIX_TIMESTAMP()\n                GROUP BY    aspiranti.utente\n            ";
        $query = $db->query($query);
        while ($r = $query->fetch(PDO::FETCH_NUM)) {
            try {
                $u = Utente::id($r[0]);
            } catch (Errore $e) {
                $c++;
                $a = Aspirante::id($r[2]);
                $a->cancella();
                continue;
            }
            $n++;
            $m = new Email('promemoriaCorsiBase', "Entra in CRI: Ci sono {$r[1]} Corsi Base vicino a te");
            $m->a = $u;
            $m->_NOME = $u->nome;
            $m->_NUMERO = $r[1];
            $m->accoda();
        }
        return "Inviati {$n} promemoria ad Aspiranti, cancellati {$c} aspiranti invalidi";
    }, $log, $ok);
    return $ok;
}
Example #2
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
$parametri = array('inputTesto', 'inputOggetto');
controllaParametri($parametri);
$oggetto = $_POST['inputOggetto'];
$testo = $_POST['inputTesto'];
if (isset($_GET['pres'])) {
    foreach (Comitato::elenco() as $c) {
        $presidenti[] = $c->unPresidente();
    }
    $presidenti = array_unique($presidenti);
    $delegati = array_unique($delegati);
    $i = 0;
    foreach ($presidenti as $presidente) {
        try {
            $m = new Email('mailTestolibero', '' . $oggetto);
            $m->a = $presidente;
            $m->_TESTO = $testo;
            $m->invia();
            $i++;
        } catch (Exception $e) {
        }
    }
    $a = new Annunci();
    $a->oggetto = $oggetto;
    $a->testo = $testo;
    $a->nPresidenti = $i;
    $a->timestamp = time();
Example #3
0
 * ©2013 Croce Rossa Italiana
 */
$albero = GeoPolitica::ottieniAlbero()[0];
?>

<div class="row-fluid">
    <div class="span8">
        <h2>
            <i class="icon-globe text-error"></i>
            Dov'è Croce Rossa attorno a me?
        </h2>
    </div>
    <div class="span4 allinea-centro">
        <i class="icon-bar-chart icon-2x text-error"></i><br />
        <label class="label label-success"><?php 
echo count(Comitato::elenco());
?>
</label>
        <strong>Unità CRI aderiscono al progetto Gaia</strong>
    </div>
    
</div>

<hr />

<div class="row-fluid">
    
    
    <div class="span5">
        
        <p><strong>Elenco e contatti dei comitati che aderiscono al progetto Gaia.</strong></p>
Example #4
0
 public function comitatiDiCompetenza($soloComitati = false)
 {
     if ($this->admin()) {
         $n = Nazionale::id(1);
         if ($soloComitati) {
             return Comitato::elenco('locale ASC');
         }
         return $n->estensione($soloComitati);
     } else {
         return $this->comitatiPresidenzianti();
     }
 }