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; }
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)); }
public function turno() { return Turno::id($this->turno); }
<?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}");
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; }
<?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}");
$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);
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; }
<?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);
<?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 />
<?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 }