Ejemplo n.º 1
0
 /**
  * Genera attestato, sulla base del corso e del volontario
  * @return PDF 
  */
 public function inviaInvito(Corso $c)
 {
     print "inviaInvito";
     $m = new Email('crs_invitoDocente', "Invito " . $this->id);
     $m->a = $this->volontario();
     //$m->da = "*****@*****.**";
     //$m->a = $this->direttore();
     $m->_NOME = $this->volontario()->nomeCompleto();
     $m->_HOSTNAME = filter_input(INPUT_SERVER, "SERVER_NAME");
     $m->_CORSO = $c->nome();
     $m->_DATA = $c->inizio();
     $m->_ID = $this->id;
     $m->_MD5 = $this->md5;
     $m->invia();
     return $m;
 }
Ejemplo n.º 2
0
 public function nega($motivo)
 {
     global $sessione;
     $v = $this->volontario();
     $this->tConferma = time();
     $this->pConferma = $sessione->utente();
     $this->negazione = $motivo;
     $this->stato = TRASF_NEGATO;
     /* rimetto a posto l'appartenenza attuale */
     $a = Appartenenza::id($this->appartenenza);
     $a->timestamp = time();
     $a->stato = MEMBRO_TRASF_NEGATO;
     $a->conferma = $this->pConferma;
     $a->inizio = time();
     $a->fine = time();
     $m = new Email('richiestaTrasferimentono', 'Richiesta trasferimento negata: ' . $a->comitato()->nome);
     $m->da = $this->pConferma;
     $m->a = $a->volontario();
     $m->_NOME = $v->nome;
     $m->_COMITATO = $a->comitato()->nomeCompleto();
     $m->_TIME = $this->dataRichiesta()->format('d/m/Y');
     $m->_MOTIVO = $motivo;
     $m->invia();
 }
Ejemplo n.º 3
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
$parametri = array('inputEmail', 'inputCodiceFiscale');
controllaParametri($parametri, 'recuperaPassword&err');
$codiceFiscale = $_POST['inputCodiceFiscale'];
$codiceFiscale = maiuscolo($codiceFiscale);
$email = $_POST['inputEmail'];
$p = Utente::by('codiceFiscale', $codiceFiscale);
if (!$p) {
    redirect('recuperaPassword&cf');
} elseif ($p->email != $email) {
    redirect('recuperaPassword&email');
}
/* Genera codice di validazione */
$codice = Validazione::generaValidazione($p, VAL_PASS);
if (!$codice) {
    redirect('recuperaPassword&gia');
}
$e = new Email('recuperaPassword', 'Richiesta reimpostazione password');
$e->a = $p;
$e->_NOME = $p->nome;
$e->_DATA = date('d-m-Y H:i');
$e->_CODICE = $codice;
$e->invia();
redirect('recuperaPassword.step');
Ejemplo n.º 4
0
    redirect('nuovaAnagraficaContatti&match');
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    redirect('nuovaAnagraficaContatti&emailnon');
}
if (strlen($_POST['inputPassword']) < 8 || strlen($_POST['inputPassword']) > 15) {
    redirect('nuovaAnagraficaContatti&e');
}
if ($_POST['inputPassword'] != $_POST['inputPassword2']) {
    redirect('nuovaAnagraficaContatti&dis');
}
$p = $sessione->utente();
$p->email = $email;
$p->cellulare = $cell;
$p->cellulareServizio = $cells;
/* Imposta la password */
$password = $_POST['inputPassword'];
$sessione->utente()->cambiaPassword($password);
/* Tutto è andato a buon fine cancello sessioni */
$sessione->email = null;
$sessione->email2 = null;
$sessione->cell = null;
$sessione->cells = null;
if ($sessione->tipoRegistrazione == VOLONTARIO) {
    redirect('nuovaAnagraficaAccesso');
}
$m = new Email('registrazioneAspirante', 'Grazie futuro volontario');
$m->a = $sessione->utente();
$m->_NOME = $sessione->utente()->nome;
$m->invia();
redirect('aspirante.registra');
Ejemplo n.º 5
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;
}
Ejemplo n.º 6
0
 public function annulla()
 {
     $a = $this->appartenenza();
     $ora = time();
     $a->fine = $ora;
     $a->timestamp = $ora;
     $a->stato = MEMBRO_EST_ANN;
     $this->timestamp = $ora;
     $this->stato = EST_ANN;
     $v = $this->volontario();
     $destinatari = [$v, $this->comitato()->unPresidente(), $v->unComitato()->unPresidente()];
     $m = new Email('richiestaEstensioneAnnullamento', 'Annullata richiesta estensione');
     $m->a = $destinatari;
     $m->_NOME = $v->nomeCompleto();
     $m->_COMITATO = $this->comitato()->nomeCompleto();
     $m->invia();
 }
Ejemplo n.º 7
0
 /**
  * Dimette un volontario
  * @param $motivo, motivazione di dimissione
  * @param $info default NULL, informazioni aggiuntive sulla dimissione
  */
 public function dimettiVolontario($motivo, $info = NULL, $chi)
 {
     $quando = time();
     $v = $this->volontario();
     $attuale = $v->appartenenzaAttuale();
     $comitato = $attuale->comitato();
     $motivazione = $conf['dimissioni'][$motivo];
     $fine = time();
     /* Avviso il volontario */
     $m = new Email('dimissionevolontario', 'Dimissione Volontario: ' . $v->nomeCompleto());
     $m->da = $chi;
     $m->a = $v;
     $m->_NOME = $v->nome;
     $m->_MOTIVO = $motivazione;
     $m->_INFO = $info;
     $m->invia();
     /* Creo la dimissione */
     $d = new Dimissione();
     $d->volontario = $v->id;
     $d->appartenenza = $attuale;
     $d->comitato = $comitato;
     $d->motivo = $motivo;
     $d->info = $info;
     $d->tConferma = time();
     $d->pConferma = $chi;
     /* Evitiamo di lasciare compiti a chi non è più in CRI */
     $f = Area::filtra([['responsabile', $v]]);
     foreach ($f as $_f) {
         $_f->dimettiReferente();
     }
     $f = Attivita::filtra([['referente', $v]]);
     foreach ($f as $_f) {
         $_f->referente = $comitato->unPresidente();
     }
     $f = Autorizzazione::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         $_f->volontario = $comitato->unPresidente();
     }
     $f = Gruppo::filtra([['referente', $v]]);
     foreach ($f as $_f) {
         $_f->referente = $comitato->unPresidente();
     }
     $f = AppartenenzaGruppo::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         $_f->cancella();
     }
     $f = Reperibilita::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         $_f->fine = $fine;
     }
     $f = Estensione::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         if ($_f->stato == EST_OK || $_f->stato == EST_AUTO) {
             $_f->termina();
         } elseif ($_f->stato == EST_INCORSO) {
             $_f->nega($motivazione);
         }
     }
     $f = Riserva::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         if ($_f->stato == RISERVA_OK || $_f->stato == RISERVA_AUTO) {
             $_f->termina();
         } elseif ($_f->stato == RISERVA_INCORSO) {
             $_f->nega($motivazione);
         }
     }
     $f = Trasferimento::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         if ($_f->stato == TRASF_INCORSO) {
             $_f->nega($motivazione);
         }
     }
     $p = Partecipazione::filtra([['volontario', $v]]);
     foreach ($p as $_p) {
         if ($_p->turno()->futuro() && $_p->turno()->attivita()->comitato() == $c->id) {
             $_p->cancella();
         }
     }
     $f = Delegato::filtra([['volontario', $v]]);
     foreach ($f as $_f) {
         $_f->fine = $fine;
     }
     /* Chiudo l'appartenenza e declasso a persona */
     $attuale->fine = $fine;
     $attuale->stato = MEMBRO_DIMESSO;
     $v->stato = PERSONA;
     $v->admin = null;
     return;
 }
Ejemplo n.º 8
0
Archivo: Corso.php Proyecto: pizar/gaia
 /**
  * Genera attestato, sulla base del corso e del volontario
  * @return PDF 
  */
 public function inviaRichiestaIscrizione(Volontario $iscrivente, $dati = array())
 {
     //$iscritto = Volontario::id("2");
     $sesso = null;
     if ($iscrivente->sesso == UOMO) {
         $sesso = "Volontario";
     } else {
         $sesso = "Volontaria";
     }
     $tipo = TipoCorso::id($this->tipo);
     $m = new Email('crs_richiestaIscrizione', "Richiesta di iscrizione ad un corso");
     //$m->a = $aut->partecipazione()->volontario();
     //$m->da = "*****@*****.**";
     $m->a = $this->presidente()->email;
     //$m->a = '*****@*****.**';
     $m->_NOME = $this->presidente()->nomeCompleto();
     $m->_VOLONTARIO = $iscrivente->nomeCompleto();
     $m->_CF = $iscrivente->codiceFiscale;
     $m->_CORSO = $tipo->nome;
     $m->_DATA = $this->inizio()->format('d/m/Y');
     $m->_LUOGO = $this->luogo;
     $m->_DATI_NOME = @normalizzaNome($dati['inputNome']) . ' ' . @normalizzaNome($dati['inputCogome']);
     $m->_DATI_TELEFONO = @normalizzaNome($dati['inputNome']) . ' ' . @normalizzaNome($dati['inputCogome']);
     $m->_DATI_EMAIL = @$dati['inputTelefono'];
     $m->_DATI_RICHIESTA = @$dati['inputRichiesta'];
     $m->invia(true);
     return $f;
 }
Ejemplo n.º 9
0
 private function api_corsobase_accetta()
 {
     $this->richiedi(['id']);
     $me = $this->richiediLogin();
     $part = PartecipazioneBase::id($this->par['id']);
     $corsoBase = $part->corsoBase();
     if (!$corsoBase->modificabileDa($me)) {
         return ['ok' => false];
     }
     if ($part->stato == ISCR_RICHIESTA) {
         if ($this->par['iscr']) {
             $part->concedi($this->par['com'], $me);
             $cal = new ICalendar();
             $cal->generaCorsoBase($corsoBase);
             $m = new Email('corsoBaseAmmesso', "Ammesso al {$corsoBase->nome()}");
             $m->a = $part->utente();
             $m->da = $corsoBase->direttore();
             $m->_NOME = $part->utente()->nome;
             $m->_CORSO = $corsoBase->nome();
             $m->_DATA = $corsoBase->inizio()->inTesto(false, true);
             $m->_DIRETTORE = $corsoBase->direttore()->nomeCompleto();
             $m->_CELLDIRETTORE = $corsoBase->direttore()->cellulare();
             $m->allega($cal);
             $m->invia();
         } else {
             $part->nega($me);
             $motivo = $this->par['motivo'];
             $m = new Email('corsoBaseNonAmmesso', "Non ammesso al {$corsoBase->nome()}");
             $m->a = $part->utente();
             $m->da = $corsoBase->direttore();
             $m->_NOME = $part->utente()->nome;
             $m->_MOTIVO = $motivo;
             $m->_CORSO = $corsoBase->nome();
             $m->_DIRETTORE = $corsoBase->direttore()->nomeCompleto();
             $m->invia();
         }
     }
     return ['id' => $corsoBase->id];
 }
Ejemplo n.º 10
0
 public function generaAutorizzazioni()
 {
     /* IMPORTANTE: Logica generazione autorizzazioni */
     // Se richiedo part., nello stesso comitato
     if ($this->comitatoAppartenenza()->haMembro($this->volontario())) {
         /* Allora come da accordi, genero
          * una sola Autorizzazione al presidente
          * del comitato organizzatore...
          */
         $a = new Autorizzazione();
         $a->partecipazione = $this->id;
         $a->volontario = $this->turno()->attivita()->referente()->id;
         $a->richiedi();
         $m = new Email('richiestaAutorizzazione', 'Richiesta autorizzazione partecipazione attività');
         $m->da = $me;
         $m->a = $this->turno()->attivita()->referente();
         $m->_NOME = $this->turno()->attivita()->referente()->nome;
         $m->_ATTIVITA = $this->turno()->attivita()->nome;
         $m->_VOLONTARIO = $this->volontario()->nomeCompleto();
         $m->_TURNO = $this->turno()->nome;
         $m->_DATA = date('d/m/Y H:i', $this->turno()->inizio);
         $m->invia();
     } else {
         /*
          * Se chiedo partecipazione in un comitato differente,
          * faccio richiesta al mio ed al suo presidente.
          */
         // Al suo...
         $a = new Autorizzazione();
         $a->partecipazione = $this->id;
         $a->volontario = $this->turno()->attivita()->referente()->id;
         $a->richiedi();
         $m = new Email('richiestaAutorizzazione', 'Richiesta autorizzazione partecipazione attività');
         $m->da = $me;
         $m->a = $this->turno()->attivita()->referente();
         $m->_NOME = $this->turno()->attivita()->referente()->nome;
         $m->_ATTIVITA = $this->turno()->attivita()->nome;
         $m->_VOLONTARIO = $this->volontario()->nomeCompleto();
         $m->_TURNO = $this->turno()->nome;
         $m->_DATA = $a->timestamp()->format('d-m-Y H:i');
         $m->invia();
         /*
                     // Al mio...
                     $a = new Autorizzazione();
                     $a->partecipazione = $this->id;
                     $a->volontario     = $this->volontario()->unComitato()->unPresidente()->id;
                     $a->richiedi();
                     
                     $m = new Email('richiestaAutorizzazione', 'Richiesta autorizzazione partecipazione attività');
                     $m->a            = $this->volontario()->unComitato()->unPresidente();
                     $m->_NOME        = $this->volontario()->unComitato()->unPresidente()->nome;
                     $m->_ATTIVITA    = $this->turno()->attivita()->nome;
                     $m->_VOLONTARIO  = $this->volontario()->nomeCompleto();
                     $m->_TURNO       = $this->turno()->nome;
                     $m->_DATA        = $a->timestamp()->format('d-m-Y H:i');
                     $m->invia();
         * 
         */
     }
 }