public function auto() { $this->concedi(true); $a = $this->appartenenza; $a = Appartenenza::id($a); $v = $a->volontario(); $destinatari = [$v, $a->comitato()->unPresidente(), $v->unComitato()->unPresidente()]; $m = new Email('richiestaEstensioneauto', 'Richiesta estensione approvata: ' . $a->comitato()->nome); $m->a = $destinatari; $m->_NOME = $v->nomeCompleto(); $m->_COMITATO = $a->comitato()->nomeCompleto(); $m->_TIME = date('d/m/Y', $this->timestamp); $m->accoda(); }
$excel->genera("Volontari estesi {$c->nome}.xls"); } elseif (isset($_GET['inestensione'])) { $eok = Estensione::filtra([['cProvenienza', $c], ['stato', EST_OK]]); $eauto = Estensione::filtra([['cProvenienza', $c], ['stato', EST_AUTO]]); $estesi = array_merge($eok, $eauto); foreach ($estesi as $est) { $v = $est->volontario(); $i++; $excel->aggiungiRiga([$i, $v->nome, $v->cognome, date('d/m/Y', $v->dataNascita), $v->comuneNascita, $v->provinciaNascita, $v->codiceFiscale, $v->indirizzo, $v->civico, $v->comuneResidenza, $v->CAPResidenza, $v->provinciaResidenza, $v->email, $v->emailServizio, $v->cellulare, $v->cellulareServizio, ($_di = $v->ingresso()) ? $_di->format('d/m/Y') : $nessuna_data]); } $excel->genera("Volontari in estensione {$c->nome}.xls"); } elseif (isset($_GET['trasferiti'])) { $t = $c->membriTrasferiti(); foreach ($t as $_t) { $v = $_t->volontario(); $a = Appartenenza::filtra([['comitato', $_t->provenienza()], ['stato', MEMBRO_TRASFERITO]]); $i++; $excel->aggiungiRiga([$i, $v->nome, $v->cognome, $v->codiceFiscale, date('d/m/Y', $a->inizio), date('d/m/Y', $_t->appartenenza()->inizio), $_t->comitato()->nomeCompleto()]); } $excel->genera("Volontari trasferiti {$c->nome}.xls"); } elseif (isset($_GET['soci'])) { $data = $sessione->data; foreach ($c->membriData($data) as $v) { $i++; $excel->aggiungiRiga([$i, $v->nome, $v->cognome, date('d/m/Y', $v->dataNascita), intval((time() - $v->dataNascita) / 31104000), $v->comuneNascita, $v->provinciaNascita, $v->codiceFiscale, $conf['sesso'][$v->sesso], $v->indirizzo, $v->civico, $v->comuneResidenza, $v->CAPResidenza, $v->provinciaResidenza, $v->email, $v->emailServizio, $v->cellulare, $v->cellulareServizio, ($_di = $v->ingresso()) ? $_di->format('d/m/Y') : $nessuna_data]); } $excel->genera("Elenco Soci {$c->nome}.xls"); } elseif (isset($_GET['ordinari'])) { foreach ($c->membriOrdinari() as $v) { $i++; $excel->aggiungiRiga([$i, $v->nome, $v->cognome, date('d/m/Y', $v->dataNascita), $v->comuneNascita, $v->provinciaNascita, $v->codiceFiscale, $v->indirizzo, $v->civico, $v->comuneResidenza, $v->CAPResidenza, $v->provinciaResidenza, $v->email, $v->emailServizio, $v->cellulare, $v->cellulareServizio, ($_di = $v->ingresso()) ? $_di->format('d/m/Y') : $nessuna_data]);
public function ordinarioDimesso() { $r = []; foreach (Appartenenza::filtra([['volontario', $this->id], ['stato', MEMBRO_ORDINARIO_DIMESSO]]) as $a) { if (!$a->attuale()) { continue; } $r[] = $a; } return $r; }
public function trasferisci($auto = false, $data = false) { if ($data) { $ora = $data; } else { $ora = time(); } $this->tConferma = $ora; if ($auto) { $this->stato = TRASF_AUTO; } else { global $sessione; $this->stato = TRASF_OK; $this->pConferma = $sessione->utente(); } $v = $this->volontario(); $a = $v->appartenenzaAttuale(); $c = $a->comitato(); /* Chiusura delle estensioni in corso*/ $e = Estensione::filtra([['volontario', $v], ['stato', EST_OK]]); foreach ($e as $_e) { $_e->termina(); } /* Chiudo eventuale riserva in corso*/ $r = Riserva::filtra([['volontario', $v], ['stato', RISERVA_OK]]); foreach ($r as $_r) { $_r->fine = $ora; $_r->stato = RISERVA_INT; } /* Chiudo tutto ciò che è legato all'appartenenza attuale */ // chiudo le deleghe su quel comitato $presidente = $c->primoPresidente(); $d = Delegato::filtra([['volontario', $v]]); foreach ($d as $_d) { if ($_d->attuale()) { $_d->fine = $ora; } } // chiudo le attività referenziate $att = Attivita::filtra([['referente', $v->id], ['comitato', $c->id]]); foreach ($att as $_att) { $_att->referente = $presidente->id; } // rimetto al presidente i gruppi $g = Gruppo::filtra([['referente', $v->id], ['comitato', $c->id]]); foreach ($g as $_g) { $_g->referente = $presidente->id; } // chiudo l'appartenenza ad un gruppo $ag = AppartenenzaGruppo::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($ag as $_ag) { $_ag->cancella(); } // chiudo le reperibilità $re = Reperibilita::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($re as $_re) { $_re->cancella(); } // chiudo le partecipazioni $p = Partecipazione::filtra([['volontario', $v->id]]); foreach ($p as $_p) { if ($_p->turno()->futuro()) { $_p->cancella(); } } /* Chiudo eventuale richiesta di tesserini o invalido l'attuale */ $motivo = "Trasferimento presso altro comitato"; $v->invalidaTesserino($motivo); /* Posso chiudere definitivamente la vecchia appartenenza */ $a = Appartenenza::id($a); $a->timestamp = $ora; $a->fine = $ora; $a->stato = MEMBRO_TRASFERITO; /* A questo punto rendo operativa la nuova appartenenza */ $nuovaApp = $this->appartenenza(); $nuovaApp->timestamp = $ora; $nuovaApp->stato = MEMBRO_VOLONTARIO; if (!$auto) { $nuovaApp->conferma = $sessione->utente()->id; } $nuovaApp->inizio = $ora; $nuovaApp->fine = PROSSIMA_SCADENZA; $destinatari = [$v, $presidente, $nuovaApp->comitato()->unPresidente()]; $m = new Email('richiestaTrasferimentook', 'Approvata richiesta trasferimento verso: ' . $nuovaApp->comitato()->nome); if (!$auto) { $m->da = $sessione->utente(); } $m->a = $destinatari; $m->_NOME = $nuovaApp->volontario()->nomeCompleto(); $m->_COMITATO = $nuovaApp->comitato()->nomeCompleto(); $m->_TIME = $this->dataRichiesta()->format('d/m/Y'); $m->accoda(); }
$p->CAPResidenza = $caresidenza; $p->provinciaResidenza = $prresidenza; $p->indirizzo = $indirizzo; $p->civico = $civico; $p->timestamp = time(); $p->stato = VOLONTARIO; $p->consenso = true; /* * Normalizzazione dei dati */ $cell = normalizzaNome($_POST['inputCellulare']); $cells = normalizzaNome(@$_POST['inputCellulareServizio']); $p->email = $email; $p->cellulare = $cell; $p->cellulareServizio = $cells; $gia = Appartenenza::filtra([['volontario', $p->id], ['comitato', $comitato->id]]); if (!$gia) { $a = new Appartenenza(); $a->volontario = $p->id; $a->comitato = $comitato; $inizio = DT::createFromFormat('d/m/Y', $_POST['inputDataIngresso']); $inizio = $inizio->getTimestamp(); $a->inizio = $inizio; $a->fine = PROSSIMA_SCADENZA; $a->timestamp = time(); $a->stato = MEMBRO_VOLONTARIO; $a->conferma = $me; } /* * Non si può far parte di IV e CM contemporaneamente */
<?php /* * ©2012 Croce Rossa Italiana */ paginaApp([APP_SOCI, APP_PRESIDENTE]); controllaParametri(array('id'), 'presidente.appartenenzepending&err'); $id = $_GET['id']; $a = Appartenenza::id($id); if (isset($_GET['si'])) { $a->conferma($me); $m = new Email('appartenenzacomitato', 'Conferma appartenenza: ' . $a->comitato()->nome); $m->da = $me; $m->a = $a->volontario(); $m->_NOME = $a->volontario()->nome; $m->_COMITATO = $a->comitato()->nomeCompleto(); $m->invia(); redirect('presidente.appartenenzepending&app'); } elseif (isset($_GET['no'])) { $a->nega($me); $m = new Email('negazionecomitato', 'Negazione appartenenza: ' . $a->comitato()->nome); $m->da = $me; $m->a = $a->volontario(); $m->_NOME = $a->volontario()->nome; $m->_COMITATO = $a->comitato()->nomeCompleto(); $m->invia(); redirect('presidente.appartenenzepending&neg'); } redirect('presidente.appartenenzepending&err');
<?php /* * ©2013 Croce Rossa Italiana */ paginaAdmin(); set_time_limit(0); ?> <h3><i class="icon-group muted"></i> Fix appartenenze</h3> <code><pre>Start fix delle appartenenze negate: <?php $appartenenze = Appartenenza::filtra([['stato', MEMBRO_PENDENTE]]); $inizio = time(); $numApp = 0; echo "<br/>"; foreach ($appartenenze as $appartenenza) { if ($appartenenza->fine == 0 || $appartenenza->fine == null) { continue; } echo "[", $appartenenza->id, "]"; echo " - Appartenenza corrotta", " Fine: ", $appartenenza->fine; $appartenenza->stato = MEMBRO_APP_NEGATA; echo " - Appartenenza riparata - Operazione completata!<br/>"; $numApp++; } $fine = time(); $ora = $fine - $inizio; ?> Ho riparato <strong><?php echo $numApp;
$est = Estensione::filtra([['cProvenienza', $t], ['stato', EST_INCORSO]]); 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();
$m->a = $_v->volontario(); $m->_NOME = $_v->volontario()->nome; $m->_MOTIVO = $motivo; $m->_INFO = $_POST['info']; $m->invia(); $d = new Dimissione(); $d->volontario = $_v->id; $a = Appartenenza::filtra([['volontario', $_v]]); $i = Delegato::filtra([['volontario', $_v]]); foreach ($i as $_i) { $b = Delegato::id($_i); $b->fine = time(); } foreach ($a as $_a) { if ($_a->attuale()) { $d->appartenenza = $_a; $d->comitato = $_a->comitato; $d->motivo = DIM_QUOTA; $d->tConferma = time(); $d->pConferma = $me; $x = Appartenenza::id($_a); $x->fine = time(); $x->stato = MEMBRO_DIMESSO; $f = Persona::id($_v); $f->stato = PERSONA; $f->admin = ''; } } } } redirect('us.quoteNo&close');
/* * Esegue i check sui dati */ if (!DT::controlloData($_POST['inputDataIngresso'])) { redirect('nuovaAnagraficaAccesso&data'); } /* * Non puoi essere entrato più di 150 anni fa */ if ($inizio->getTimestamp() < time() - ANNO * 150) { redirect('nuovaAnagraficaAccesso&data'); } $gia = Appartenenza::filtra([['volontario', $sessione->utente()->id], ['comitato', $comitato->id]]); /* Richiede appartenenza al gruppo */ if (!$gia) { $a = new Appartenenza(); $a->volontario = $sessione->utente()->id; $a->comitato = $comitato->id; $a->inizio = $inizio->getTimestamp(); $a->fine = PROSSIMA_SCADENZA; $a->richiedi(); } /* Invia la mail */ $m = new Email('registrazioneVolontario', 'Benvenuto su Gaia'); $m->a = $sessione->utente(); $m->_NOME = $sessione->utente()->nome; $m->invia(); /* Installazione: Se sono il primo utente... */ if (!Utente::listaAdmin()) { $me->admin = time(); }
<?php /* * ©2013 Croce Rossa Italiana */ paginaAdmin(); controllaParametri(array('oid'), 'admin.comitati&err'); $oid = $_GET['oid']; $t = GeoPolitica::daOid($oid); if ($t->figli()) { redirect('admin.comitati&figli'); } if ($t->_estensione() != EST_UNITA) { $t->cancella(); redirect('admin.comitati&del'); } $app = Appartenenza::filtra([['comitato', $t]]); foreach ($app as $appa) { if (Quota::filtra([['appartenenza', $appa]])) { redirect('admin.comitati"a'); } if ($appa->stato == MEMBRO_VOLONTARIO) { redirect('admin.comitati&evol'); } } $t->cancella(); redirect('admin.comitati&del');
*/ paginaPrivata(); richiediComitato(); $parametri = array('inputComitato', 'inputMotivo'); controllaParametri($parametri); $c = $_POST['inputComitato']; $gia = Trasferimento::filtra([['volontario', $me], ['stato', TRASF_INCORSO]]); if (!$c) { redirect('utente.trasferimento'); } if ($gia) { redirect('utente.trasferimento&gia'); } $m = $_POST['inputMotivo']; /* Cerco appartenenze al comitato specificato */ $f = Appartenenza::filtra([['volontario', $me], ['comitato', $c], ['stato', MEMBRO_VOLONTARIO]]); /* Se sono già appartenente *ora*, * restituisco errore */ foreach ($f as $app) { if ($app->attuale()) { redirect('utente.trasferimento&e'); break; } } /*Se non sono appartenente allora avvio la procedura*/ foreach ($me->storico() as $app) { if ($app->attuale()) { $a = new Appartenenza(); $a->volontario = $me; $a->comitato = $c;
<th>Cognome</th> <th>Località</th> <th>Codice Fiscale</th> <th>Stato</th> <th>Azioni</th> </thead> <?php $totale = 0; $giaInsultati = []; foreach ($t as $_v) { $app = $_v->appartenenze(); if (count($app) <= 1) { continue; } foreach ($app as $_app) { if (!in_array($_v->id, $giaInsultati) && count(Appartenenza::filtra([['volontario', $_v], ['stato', $_app->stato], ['comitato', $_app->comitato], ['inizio', $_app->inizio]])) >= 2) { $totale++; $giaInsultati[] = $_v->id; ?> <tr> <td><?php echo $_v->nome; ?> </td> <td><?php echo $_v->cognome; ?> </td> <td> <span class="muted"> <?php
public function appartenenza() { return Appartenenza::id($this->appartenenza); }
/** * Cancella il comitato con tutte le sue dipendenze * @param comitato */ public function cancella() { /* Cancello aree e responsabili */ $aree = Area::filtra([['comitato', $this]]); foreach ($aree as $area) { $area->cancella(); } /* Cancello le attività */ $attivita = Attivita::filtra([['comitato', $this]]); foreach ($attivita as $att) { $turni = Turno::filtra([['attivita', $att]]); foreach ($turni as $turno) { $partecipazioni = Partecipazione::filtra([['turno', $turno]]); foreach ($partecipazioni as $partecipazione) { $autorizzazioni = Autorizzazione::filtra([['partecipazione', $partecipazione]]); foreach ($autorizzazioni as $autorizzazione) { $autorizzazione->cancella(); } $partecipazione->cancella(); } $coturni = Coturno::filtra([['turno', $turno]]); foreach ($coturni as $coturno) { $coturno->cancella(); } $turno->cancella(); } $mipiaci = Like::filtra([['oggetto', $att->oid()]]); foreach ($mipiaci as $mipiace) { $mipiace->cancella(); } $att->cancella(); } /* Cancello le dimissioni */ $dimissioni = Dimissione::filtra([['comitato', $this]]); foreach ($dimissioni as $dimissione) { try { $appartenenza = $dimissione->appartenenza(); $appartenenza->cancella(); } catch (Exception $e) { } $dimissione->cancella(); } /* Cancello le dimissioni */ $estensioni = Estensione::filtra([['cProvenienza', $this]]); foreach ($estensioni as $estensione) { try { $appartenenza = $estensione->appartenenza(); $appartenenza->cancella(); } catch (Exception $e) { } $estensione->cancella(); } /* Cancello i gruppi personali */ $appgruppi = AppartenenzaGruppo::filtra([['comitato', $this]]); foreach ($appgruppi as $appgruppo) { $appgruppo->cancella(); } /* Cancello reperibilità */ $reperibilita = Reperibilita::filtra([['comitato', $t]]); foreach ($reperibilita as $reperibile) { $reperibile->cancella(); } /* Cancello appartenenze */ $appartenenze = Appartenenza::filtra([['comitato', $this]]); foreach ($appartenenze as $appa) { $riserve = Riserva::filtra([['appartenenza', $appa]]); foreach ($riserve as $riserva) { $riserva->cancella(); } $estensioni = Estensione::filtra([['appartenenza', $appa]]); foreach ($estensioni as $estensione) { $estensione->cancella(); } $trasferimenti = Trasferimento::filtra([['appartenenza', $appa]]); foreach ($trasferimenti as $trasferimento) { $trasferimento->cancella(); } $appa->cancella(); } parent::cancella(); }
<?php /* * ©2013 Croce Rossa Italiana */ caricaSelettoreComitato(); controllaParametri(array('a')); $a = $_GET['a']; $sessione->a = NULL; paginaApp([APP_SOCI, APP_PRESIDENTE]); $app = Appartenenza::id($a); $v = $app->volontario; ?> <form action="?p=us.appartenenza.modifica.ok&a=<?php echo $a; ?> " method="POST"> <div class="modal fade automodal"> <div class="modal-header"> <h3>Modifica Appartenenza</h3> </div> <div class="modal-body"> <div class="row-fluid"> <div class="span4 centrato"> <?php switch ($app->stato) { case MEMBRO_VOLONTARIO: ?> <label for="dataInizio"><i class="icon-calendar"></i> Ingresso in CRI</label> <?php break;
echo $id; ?> " class="btn btn-warning"> <i class="icon-hand-up"></i> Volontarizza </a> <?php } ?> <a class="btn btn-primary" href="?p=admin.beuser&id=<?php echo $id; ?> " title="Log in"> <i class="icon-key"></i> Login </a> <?php if (!Appartenenza::filtra([['volontario', $id]])) { ?> <a class="btn btn-info" href="?p=admin.limbo.comitato.nuovo&id=<?php echo $id; ?> " title="Assegna a Comitato" target="_new"> <i class="icon-arrow-right"></i> Assegna a Comitato </a> <?php } ?> </div> </div> <?php } if ($attivo) {
<?php /* * ©2013 Croce Rossa Italiana */ paginaPrivata(); paginaModale(); controllaParametri(array('id')); $id = $_GET['id']; $app = Appartenenza::id($id); $est = Estensione::by('appartenenza', $app); ?> <form action="?p=utente.estensione.termina.ok" method="POST"> <input type="hidden" name="id" value="<?php echo $est->id; ?> " /> <div class="modal fade automodal"> <div class="modal-header"> <h3><i class="icon-stop"></i> Termina Estensione</h3> </div> <div class="modal-body"> <p> Con questo modulo potrai terminare la tua estensione presso il <strong><?php echo $app->comitato()->nomeCompleto(); ?> </strong> </p> <p> Inoltre verranno eseguite le seguenti azioni: </p> <ul> <li> Chiusura delle deleghe sul Comitato in estensione
<div class="row-fluid"> <div class="span12"> <table class="table table-striped table-bordered table-condensed" id="tabellaUtenti"> <thead> <th>Cognome</th> <th>Nome</th> <th>Provenienza</th> <th>Dal</th> <th>Al</th> <th>Azioni</th> </thead> <?php foreach ($me->comitatiApp([APP_SOCI, APP_PRESIDENTE, APP_OBIETTIVO]) as $comitato) { $a = Appartenenza::filtra([['comitato', $comitato->id], ['stato', MEMBRO_ESTESO]]); ?> <tr class="success"> <td colspan="7" class="grassetto"> <?php echo $comitato->nomeCompleto(); ?> <span class="label label-warning"> <?php echo count($a); ?> </span> <a class="btn btn-success btn-small pull-right" href="?p=utente.mail.nuova&id=<?php echo $comitato->id; ?> &estesi">
/* * ©2013 Croce Rossa Italiana */ paginaApp([APP_SOCI, APP_PRESIDENTE]); $parametri = array('inputVolontario', 'inputComitato', 'inputMotivo'); controllaParametri($parametri); $t = $_POST['inputVolontario']; $t = Volontario::id($t); $c = $_POST['inputComitato']; if (!$c) { redirect('us.utente.estendi&c'); } $c = Comitato::id($c); $m = $_POST['inputMotivo']; /* Cerco appartenenze al comitato specificato */ $f = Appartenenza::filtra([['volontario', $t], ['comitato', $c]]); /* Se sono già appartenente *ora*, * restituisco errore */ foreach ($f as $app) { if ($app->attuale()) { redirect('us.utente.estendi&e'); break; } } /*Se non sono appartenente allora avvio la procedura*/ $a = new Appartenenza(); $a->volontario = $t->id; $a->comitato = $c; $a->stato = MEMBRO_EST_PENDENTE; $a->timestamp = time();
$e->concedi(); $a = $e->appartenenza; $a = Appartenenza::id($a); $m = new Email('richiestaEstensioneok', 'Richiesta estensione approvata: ' . $a->comitato()->nome); $m->da = $me; $m->a = $a->volontario(); $m->_NOME = $a->volontario()->nome; $m->_COMITATO = $a->comitato()->nomeCompleto(); $m->_TIME = date('d/m/Y', $e->appartenenza()->timestamp); $m->invia(); redirect('presidente.estensione&ok'); } elseif (isset($_GET['no'])) { $v = $e->volontario()->id; $e->nega($_POST['motivo']); $a = $e->appartenenza; $a = Appartenenza::id($a); $a->timestamp = time(); $a->stato = MEMBRO_EST_NEGATA; $a->conferma = $me->id; $a->inizio = time(); $a->fine = time(); $m = new Email('richiestaEstensioneno', 'Richiesta estensione negata: ' . $a->comitato()->nome); $m->da = $me; $m->a = $a->volontario(); $m->_NOME = $a->volontario()->nome; $m->_COMITATO = $a->comitato()->nomeCompleto(); $m->_TIME = date('d/m/Y', $a->timestamp); $m->_MOTIVO = $_POST['motivo']; $m->invia(); redirect('presidente.estensione&no'); }