Exemplo n.º 1
0
 public function turniFut()
 {
     global $db;
     $q = $db->prepare("\n            SELECT\n                id\n            FROM\n                turni\n            WHERE\n                attivita = :attivita\n            AND\n                fine > :ora\n            ORDER BY\n                inizio ASC");
     $q->bindValue(':ora', time());
     $q->bindParam(':attivita', $this);
     $q->execute();
     $r = [];
     while ($k = $q->fetch(PDO::FETCH_NUM)) {
         $r[] = Turno::id($k[0]);
     }
     return $r;
 }
Exemplo n.º 2
0
 public function genera($attivita, $turno)
 {
     $att = Attivita::id($attivita);
     $turno = Turno::id($turno);
     $ref = Volontario::id($att->referente);
     $c = $att->comitato();
     $name = '' . date('Ymd_THis', $turno->inizio) . '_' . $turno->id . '_.ics';
     /* Strutturo il file */
     $this->autore = $sessione->utente;
     $this->nome = $name;
     $this->mime = 'text/calendar; charset=utf-8; method=REQUEST';
     /* Inserisco le informazioni */
     $s = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Croce Rossa Italiana//Progetto GAIA//IT\nMETHOD:REQUEST\nBEGIN:VTIMEZONE\nTZID:Europe/Rome\nBEGIN:DAYLIGHT\nTZOFFSETFROM:+0100\nTZOFFSETTO:+0200\nTZNAME:CEST\nDTSTART:19700329T020000\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\nEND:DAYLIGHT\nBEGIN:STANDARD\nTZOFFSETFROM:+0200\nTZOFFSETTO:+0100\nTZNAME:CET\nDTSTART:19701025T030000\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\nEND:STANDARD\nEND:VTIMEZONE\nBEGIN:VEVENT\nDTSTAMP:" . date('Ymd\\THis', time()) . "\nDTSTART;TZID=Europe/Rome:" . date('Ymd\\THis', $turno->inizio) . "\nDTEND;TZID=Europe/Rome:" . date('Ymd\\THis', $turno->fine) . "\nSUMMARY:" . $att->nome . ": " . $turno->nome . "\nLOCATION:" . $att->luogo . "\nUID:" . $turno->id . "\nDESCRIPTION:\nTurno organizzato da " . $c->nomeCompleto() . ",\ndettagli: " . strip_tags($att->descrizione) . "\nORGANIZER;CN=\"" . $ref->nomeCompleto() . "\":mailto:" . $ref->email . "\nEND:VEVENT\nEND:VCALENDAR\n";
     file_put_contents($this->percorso(), utf8_encode($s));
 }
Exemplo n.º 3
0
 public function turno()
 {
     return Turno::id($this->turno);
 }
Exemplo n.º 4
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
paginaPrivata();
controllaParametri(['turno']);
$t = Turno::id($_GET['turno']);
$a = $t->attivita();
/* Se non posso partecipare torna alla scheda... */
if (!$t->chiediPartecipazione($me)) {
    redirect("attivita.scheda&id={$a->id}");
}
redirect("attivita.storico&okpending&id={$a->id}");
Exemplo n.º 5
0
Arquivo: Turno.php Projeto: pizar/gaia
 public static function neltempo(DT $inizio, DT $fine)
 {
     global $db;
     $q = "\n            SELECT\n                turni.id\n            FROM\n                turni, attivita\n            WHERE\n                turni.fine    <= :fine\n            AND\n                turni.inizio  >= :inizio\n            AND\n                attivita.id = turni.attivita\n            AND\n                attivita.stato = :stato\n            ORDER BY\n                inizio ASC";
     $q = $db->prepare($q);
     $inizio = $inizio->getTimestamp();
     $fine = $fine->getTimestamp();
     $q->bindParam(':fine', $fine);
     $q->bindParam(':inizio', $inizio);
     $q->bindValue(':stato', ATT_STATO_OK);
     $q->execute();
     $r = [];
     while ($k = $q->fetch(PDO::FETCH_NUM)) {
         $r[] = Turno::id($k[0]);
     }
     return $r;
 }
Exemplo n.º 6
0
<?php

paginaAttivita();
$parametri = array('turno', 'titolo', 'id');
controllaParametri($parametri);
$t = Turno::id($_POST['turno']);
$titolo = Titolo::by('nome', $_POST['titolo']);
if (!$titolo) {
    redirect("attivita.richiesta.turni&id={$t}");
}
$r = RichiestaTurno::id($_GET['id']);
$r->turno = $t;
$e = new ElementoRichiesta();
$e->titolo = $titolo;
$e->richiesta = $r;
redirect("attivita.richiesta.turni&id={$t}");
<?php

/*
 * ©2014 Croce Rossa Italiana
 */
paginaPrivata();
$parametri = array('turno', 'v');
controllaParametri($parametri, 'utente.me&err');
$turno = $_GET['turno'];
$turno = Turno::id($turno);
$a = $turno->attivita();
paginaAttivita($a);
$v = $_GET['v'];
$v = Volontario::id($v);
$p = Partecipazione::filtra([['turno', $turno], ['volontario', $v]]);
$p[0]->stato = PART_RIT;
$m = new Email('assenteAttivita', "Partecipazione  {$a->nome}");
$m->a = $v;
$m->da = $me;
$m->_NOME = $v->nomeCompleto();
$m->_AUTORE = $me->nomeCompleto();
$m->_ATTIVITA = $a->nome;
$m->_TURNO = $turno->nome;
$m->_DATA = $turno->inizio()->inTesto();
$m->_LUOGO = $a->luogo;
$m->_REFERENTE = $a->referente()->nomeCompleto();
$m->_CELLREFERENTE = $a->referente()->cellulare();
$m->invia();
redirect("attivita.scheda&id={$a->id}&turno={$turno->id}&riapri={$turno->id}");
Exemplo n.º 8
0
    $t->prenotazione = $prenotazione->getTimestamp();
    $t->minimo = (int) $_POST["{$t->id}_minimo"];
    $t->massimo = (int) $_POST["{$t->id}_massimo"];
}
switch ($_POST['azione']) {
    case 'aggiungiTurno':
        $num = count($turni) + 1;
        $t = new Turno();
        $t->attivita = $a->id;
        $t->inizio = strtotime('+2 hours', $fine->getTimestamp());
        $t->fine = strtotime('+4 hours', $fine->getTimestamp());
        $t->nome = "Turno {$num}";
        $t->minimo = 1;
        $t->massimo = 4;
        $t->prenotazione = strtotime('-24 hours', $inizio->getTimestamp());
        redirect('attivita.turni&id=' . $a->id);
        break;
    case 'salva':
        // Salva.
        break;
    default:
        /* Cancella un turno ... */
        $t = Turno::id($_POST['azione']);
        $t->cancella();
        redirect('attivita.turni&id=' . $a->id);
        break;
}
if (!empty($errori)) {
    $sessione->errori = json_encode($errori);
}
redirect('attivita.scheda&id=' . $a->id);
Exemplo n.º 9
0
 private function api_turno_partecipa()
 {
     $this->richiedi(['id']);
     $me = $this->richiediLogin();
     $t = Turno::id($this->par['id']);
     $val = $t->chiediPartecipazione($me);
     $r = [];
     $r['ok'] = $val;
     if ($val) {
         $r['id'] = $t->partecipazione($me)->id;
     }
     return $r;
 }
Exemplo n.º 10
0
<?php

/* 
 * ©2013 Croce Rossa Italiana
 */
$parametri = array('t', 'inputGiorni');
controllaParametri($parametri);
$t = $_GET['t'];
$x = Turno::id($t);
$a = $x->attivita();
$volte = $_POST['inputGiorni'];
if ($volte >= 16) {
    redirect('attivita.turni.ripeti&max&t=' . $x->id);
}
for ($i = 1; $i <= $volte; $i++) {
    $turni = $a->turni();
    $num = count($turni) + 1;
    $t = new Turno();
    $t->attivita = $a->id;
    $t->nome = $x->nome;
    $t->minimo = $x->minimo;
    $t->massimo = $x->massimo;
    $t->inizio = strtotime("+{$i} day", $x->inizio);
    $t->fine = strtotime("+{$i} day", $x->fine);
    $t->prenotazione = strtotime("+{$i} day", $x->prenotazione);
}
redirect('attivita.turni&id=' . $a->id);
Exemplo n.º 11
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
paginaPrivata();
controllaParametri(array('t'));
$t = $_GET['t'];
$t = Turno::id($t);
paginaAttivita($t->attivita());
?>
<form action="?p=attivita.turni.ripeti.ok&t=<?php 
echo $t;
?>
" method="POST">
<div class="modal fade automodal">
        <div class="modal-header">
          <h3><i class="icon-time"></i> Ripeti turno</h3>
        </div>
    <div class="modal-body">
        <?php 
if (isset($_GET['max'])) {
    ?>
            <div class="alert alert-danger">
                <i class="icon-ban-circle"></i> Puoi ripetere il turno per un tempo <strong>massimo di 15 giorni</strong>
            </div>
        <?php 
} else {
    ?>
        <p>Con questo strumento è possibile ripetere un turno fino a 15 giorni consecutivi.</p>
        <hr />
Exemplo n.º 12
0
<?php

/* 
 * ©2013 Croce Rossa Italiana
 */
paginaPrivata();
paginaAttivita();
controllaParametri(array('id'));
$t = Turno::id($_GET['id']);
?>
    <div class="row-fluid">
        
        <?php 
if (isset($_GET['del'])) {
    ?>
            <div class="alert alert-danger">
                <i class="icon-ok"></i> <strong>Titolo richiesto rimosso</strong>.
                Il titolo non sarà più necessario per partecipare all'attività
            </div>
        <?php 
}
?>
        <?php 
if (isset($_GET['gia'])) {
    ?>
            <div class="alert alert-info">
                <i class="icon-ok"></i> <strong>Titolo richiesto già inserito</strong>.
                Il titolo che stai cercando di inserire risulta già presente nei requisiti per partecipare all'attività
            </div>
        <?php 
}