Example #1
0
 public function aree($obiettivo = null, $espandiLocali = false)
 {
     if (!$espandiLocali) {
         return parent::aree($obiettivo);
     }
     $r = parent::aree($obiettivo);
     foreach ($this->estensione() as $c) {
         $r = array_merge($r, $c->aree($obiettivo));
     }
     return array_unique($r);
 }
Example #2
0
*/
$files = array();
$docenti = [];
$partecipazioni = $corso->docenti();
foreach ($partecipazioni as $i) {
    $docenti[] = ['url' => '#', 'nome' => $i->volontario()->nomeCompleto()];
}
/*
 $g = Gruppo::by('attivita', $a);

 $apertura = $corso->apertura;
*/
$puoPartecipare = true;
$apertura = true;
$modificabile = false;
$geoComitato = GeoPolitica::daOid($corso->organizzatore);
?>
<div class="row-fluid">
    <div class="span3">
<?php 
menuVolontario();
?>


    </div>

    <div class="span9">
        <div class="row-fluid">
            <div class="span8 btn-group">
                <?php 
if (intval($me->id) == $corso->direttore && $c->stato == CORSO_S_CONCLUSO) {
Example #3
0
            <div class="controls">
              <input type="text" name="inputTelefono" id="inputTelefono" value="<?php 
echo $autoparco->telefono;
?>
">
            </div>
          </div>
          <?php 
if (!$admin) {
    ?>
  
            <div class="control-group">
              <label class="control-label" for="inputComitato">Comitato</label>
              <div class="controls">
                <input class="input-xlarge" type="text" name="inputComitato" id="inputComitato" value="<?php 
    echo GeoPolitica::daOid($autoparco->comitato)->nomeCompleto();
    ?>
" readonly>
              </div>
          </div>
          <?php 
} else {
    ?>
            <div class="control-group">
              <label class="control-label" for="inputComitato">Comitato</label>
                <div class="controls">
                  <select class="input-xlarge" id="inputComitato" name="inputComitato" required>
                      <?php 
    foreach ($me->comitatiApp([APP_AUTOPARCO, APP_PRESIDENTE]) as $comitato) {
        ?>
                          <option value="<?php 
Example #4
0
<?php

/*
 * ©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">
    
    
Example #5
0
 public function visibilitaMinima(GeoPolitica $g)
 {
     $livello = $g->_estensione();
     switch ($livello) {
         case EST_UNITA:
             return ATT_VIS_UNITA;
             break;
         case EST_LOCALE:
             return ATT_VIS_LOCALE;
             break;
         case EST_PROVINCIALE:
             return ATT_VIS_PROVINCIALE;
             break;
         case EST_REGIONALE:
             return ATT_VIS_REGIONALE;
             break;
         case EST_NAZIONALE:
             return ATT_VIS_NAZIONALE;
             break;
     }
 }
<?php

$oid = $_GET['oid'];
$c = GeoPolitica::daOid($oid);
paginaApp(APP_PRESIDENTE, [$c]);
if ($c->permettiTrasferimentiUS()) {
    $c->trasferimentiUS = 0;
} else {
    $c->trasferimentiUS = time();
}
redirect("presidente.comitato&oid=" . $c->oid());
Example #7
0
<?php

/*
* ©2013 Croce Rossa Italiana
*/
paginaPrivata();
caricaSelettore();
controllaParametri(array('id'));
$a = Attivita::id($_GET['id']);
$geoComitato = GeoPolitica::daOid($a->comitato);
$modificabile = $a->modificabileDa($me);
if ($modificabile) {
    $dominio = $me->dominioCompetenzaAttivita($a);
}
if (isset($_GET['riapri'])) {
    ?>
<script type='text/javascript'>
$(document).ready( function() {
    $('#turno_<?php 
    echo $_GET['riapri'];
    ?>
').parents('tr').show();
    $('#turno_<?php 
    echo $_GET['riapri'];
    ?>
').modal('show');
});
</script>
<?php 
}
?>
Example #8
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;
}
Example #9
0
/**
 * Usare per proteggere in una pagina gli autoparchi
 * @param $autoparco id dell'autoparco
 * @param $app di riferimento
 * @return ritorna true or false
 */
function proteggiAutoparco($autoparco, $app = [APP_PRESIDENTE])
{
    global $me;
    if ($me->admin()) {
        return true;
    }
    $comitati = $me->comitatiApp($app, false);
    $comitato = $autoparco->comitato;
    $comitato = GeoPolitica::daOid($comitato);
    if (in_array($comitato, $comitati)) {
        return true;
    }
    redirect('errore.permessi&cattivo');
}
Example #10
0
 /**
  * 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();
 }
Example #11
0
File: Corso.php Project: pizar/gaia
 /**
  * Ritorna l'organizzatore del corso base
  * @return GeoPolitica
  */
 public function presidente()
 {
     $comitato = GeoPolitica::daOid($this->organizzatore);
     return $comitato->primoPresidente();
 }
Example #12
0
 public function comitato()
 {
     print "comitato():";
     print_r($this->comitato);
     return GeoPolitica::daOid($this->comitato);
 }
Example #13
0
 private function api_istruttori_in_affiancamento_cerca()
 {
     $me = $this->richiediLogin();
     $r = new Ricerca();
     /* Ordini personalizzati per vari usi */
     $ordini = ['selettore' => ['pertinenza DESC']];
     if ($this->par['ordine'] && isset($ordini[$this->par['ordine']])) {
         $r->ordine = $ordini[$this->par['ordine']];
     }
     if ($this->par['stato']) {
         $r->stato = $this->par['stato'];
     } elseif ($this->par['stato'] === 0) {
         $r->stato = 0;
     }
     if ($this->par['statoPersona']) {
         $r->statoPersona = $this->par['statoPersona'];
     } elseif ($this->par['statoPersona'] === 0) {
         $r->statoPersona = 0;
     } else {
         $r->statoPersona = false;
     }
     if ($this->par['passato']) {
         $r->passato = true;
     }
     if ($this->par['giovane']) {
         $r->giovane = true;
     }
     if ($this->par['infermiera']) {
         $r->infermiera = true;
     }
     if ($this->par['militare']) {
         $r->militare = true;
     }
     // versione modificata per #867
     if ($this->par['comitati']) {
         $g = GeoPolitica::daOid($this->par['comitati']);
         // bisogna avere permessi di lettura sul ramo
         if (!$me->puoLeggereDati($g)) {
             throw new Errore(1016);
         }
         $com = $g->estensione();
     } else {
         $com = array_merge($me->comitatiApp([APP_PRESIDENTE, APP_SOCI, APP_OBIETTIVO]), $me->geopoliticheAttivitaReferenziate(), $me->comitatiAreeDiCompetenza(true));
     }
     $r->comitati = $com;
     if ($this->par['query']) {
         $r->query = $this->par['query'];
     }
     if ($this->par['pagina']) {
         $r->pagina = (int) $this->par['pagina'];
     }
     if ($this->par['perPagina']) {
         $r->perPagina = (int) $this->par['perPagina'];
     }
     $r->esegui();
     $risultati = [];
     foreach ($r->risultati as $risultato) {
         $risultati[] = $risultato->toJSONRicerca();
     }
     $risposta = ['tempo' => $r->tempo, 'totale' => $r->totale, 'pagina' => $r->pagina, 'pagine' => $r->pagine, 'perPagina' => $r->perPagina, 'risultati' => $risultati];
     return $risposta;
 }
Example #14
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');
Example #15
0
}
?>
<div class="btn-group" style="width:100%;">
  <button class="btn" style="width:90%;"><?php 
echo $ruolo;
?>
</button>
  <button class="btn dropdown-toggle" data-toggle="dropdown" style="width:10%;">
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    <?php 
foreach ($d as $_d) {
    if ($_d->id != $sessione->ambito) {
        try {
            $g = GeoPolitica::daOid($_d->comitato);
            $nome = "{$g->nome}";
            if ($g->_estensione() == EST_UNITA) {
                $nome = "Unità {$g->nome}";
            }
            if ($_d->applicazione == APP_OBIETTIVO) {
                $s = "<a href='?p=utente.caricaRuolo.ok&ruolo={$_d->id}'>Delegato {$conf['nomiobiettivi'][$_d->dominio]}: {$nome}";
            } else {
                $s = "<a href='?p=utente.caricaRuolo.ok&ruolo={$_d->id}'>{$conf['applicazioni'][$_d->applicazione]}: {$nome}";
            }
        } catch (Exception $e) {
        }
        echo "<li>{$s}</li>";
    }
}
?>
Example #16
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
controllaParametri(array('oid'), 'admin.comitati&err');
$c = $_GET['oid'];
$c = GeoPolitica::daOid($c);
paginaAdmin();
$c->nome = normalizzaNome($_POST['inputNome']);
redirect('admin.comitati');
Example #17
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
paginaAdmin();
paginaModale();
$t = GeoPolitica::daOid($_GET['oid']);
$estensione = $t->_estensione();
if ($estensione == EST_UNITA) {
    $elenco = Locale::elenco('nome ASC');
} elseif ($estensione == EST_LOCALE) {
    $elenco = Provinciale::elenco('nome ASC');
} elseif ($estensione == EST_PROVINCIALE) {
    $elenco = Regionale::elenco('nome ASC');
}
?>

<form action="?p=admin.comitato.sposta.ok&oid=<?php 
echo $_GET['oid'];
?>
" method="POST">
	<div class="modal fade automodal">
		<div class="modal-header">
			<h3><i class="icon-arrow-right"></i> Sposta Comitato</h3>
		</div>
		<div class="modal-body">
			<p>Con questo strumento è possibile spostare il Comitato selezionato e tutti i suoi figli!</p>
			<p><strong class="text-error"><i class="icon-warning-sign"></i> Attenzione verrà spostato il Comitato e tutto ciò dipenda da lui.</strong></p>
			<hr />
			<div class="row-fluid">
Example #18
0
<?php

/**
 * (c)2015 Croce Rossa Italiana
 */
paginaAdmin();
$g = $_GET['oid'];
$g = GeoPolitica::daOid($g);
$n = (int) (!(bool) $g->attivo);
// Attiva/disattiva
$g->attivo = $n;
// Attiva/disattiva tutti i figli
foreach ($g->esplora(EST_UNITA, ESPLORA_RAMI, true) as $x) {
    $x->attivo = $n;
}
redirect('admin.comitati&ad');
Example #19
0
 /**
  * Ritorna l'organizzatore del corso base
  * @return GeoPolitica
  */
 public function organizzatore()
 {
     return GeoPolitica::daOid($this->organizzatore);
 }
Example #20
0
/*
 * ©2013 Croce Rossa Italiana
 */
controllaParametri(['comitato'], 'us.dash&err');
paginaApp([APP_PRESIDENTE, APP_SOCI]);
$d = $me->delegazioneAttuale();
$admin = (bool) $me->admin();
if (!$admin && $d->estensione == EST_UNITA) {
    redirect('errore.permessi&cattivo');
}
$comitato = $_GET['comitato'];
if ($admin) {
    $comitato = Nazionale::elenco()[0];
} else {
    $comitato = GeoPolitica::daOid($comitato);
}
$ramo = new RamoGeoPolitico($comitato, ESPLORA_RAMI, EST_LOCALE);
?>

<div class="row-fluid">
    <div class="span3">
        <?php 
menuVolontario();
?>
    </div>
    <div class="span9">
        <div class="row-fluid">
            <div class="span12">
                <h3><i class="icon-book"></i> Elenco Presidenti </h3>
                <br />
Example #21
0
 public function comitato()
 {
     return GeoPolitica::daOid($this->comitato);
 }
Example #22
0
 public function struttura()
 {
     return GeoPolitica::daOid($this->struttura);
 }
Example #23
0
 /**
  * Calcola il dominio comune tra la GeoPolitica attuale ed una seconda fornita
  * - Se le due GeoPolitiche risiedono su di un ramo comune, ritorna la GeoPolitica inferiore
  * - Se le due GeoPolitiche risiedono su rami differenti, ritorna FALSE
  * @param GeoPolitica $g                La seconda GeoPolitica
  * @return false|GeoPolitica      Il dominio comune
  */
 public function dominioComune(GeoPolitica $g)
 {
     if (static::$_ESTENSIONE == $g::$_ESTENSIONE) {
         // Le due sono dello stesso livello.
         if ($this->oid() == $g->oid()) {
             return $this;
         }
         return false;
     } elseif (static::$_ESTENSIONE > $g::$_ESTENSIONE) {
         // Questa e' superiore
         $maggiore = $this;
         $minore = $g;
     } else {
         // Questa e' inferiore
         $maggiore = $g;
         $minore = $this;
     }
     if ($maggiore->contiene($minore)) {
         return $minore;
     }
     return false;
 }