public function getFormRichiestaInserimento() { require_once JPATH_COMPONENT . DS . 'models' . DS . 'data.php'; $d = new DataModelData(); $mail = $this->getMailStaff(); $FormRichiestaInserimento = array('nome' => 'FormRichiestaInserimento', 'campi' => array('type' => 'text', 'label' => 'Sono ', 'name' => 'nomeClown', 'value' => '(Inserisci il tuo nome)'), array('type' => 'text', 'label' => ', la mia mail è: ', 'name' => 'mailClown', 'value' => '(Inserisci la tua mail)'), array('type' => 'select', 'label' => ' <br />e vorrei iscrivermi per il turno del', 'name' => 'gg'), array('type' => 'select', 'label' => ' ', 'name' => 'mm', 'value' => '(Inserisci il tuo nome)', 'option' => array($d->getInfo(MeseAttuale), $d->getInfo(MeseProssimo))), array('type' => 'textarea', 'label' => '<br /> <br /> <span style="font-size:14px;">(Per comunicazioni aggiuntive puoi compilare questo campo, che verrà aggiunto alla mail):</span> ', 'name' => 'agg'), array('type' => 'submit', 'label' => '<br /> <br />', 'name' => 'Invia', 'value' => 'Invia'), array('type' => 'hidden', 'name' => 'option', 'value' => 'com_turniservizi'), array('type' => 'hidden', 'name' => 'task', 'value' => 'inviaRichiestaInserimento'), array('type' => 'hidden', 'name' => 'mail', 'value' => $mail)); return $FormRichiestaInserimento; }
public function servizi($mese, $anno) { $model = new TurniServiziModelTurniServizi(); $modelData = new DataModelData(); $modelDB = new OpDBModelOpDB(); $giorni_servizio = $model->getServizi(); $giorni_settimana = $modelData->getInfo('GiorniSettimana'); $giorni_del_mese = $modelData->days_in_month($mese, $anno); $servizi_nel_mese = array_fill(1, $giorni_del_mese, 0); $servizi_nel_mese[0] = '0'; $UltimiDelMese = array_fill(0, 6, 0); //Se uno dei giorni è settato come "Solo ultimo del mese" cerca qual'è l'ultimo // di quei giorni nel mese. for ($t = 0; $t <= 6; $t++) { if ($t < 6) { $S = $giorni_settimana[$t + 1]; } else { $S = $giorni_settimana[0]; } if (strcasecmp($giorni_servizio[$t], 'Ultimo' . $S) == '0') { for ($n = 1; $n <= $giorni_del_mese; $n++) { $g = $giorni_settimana[date("w", strtotime("{$anno}-{$mese}-{$n}"))]; if (strcasecmp($g, $S) == '0') { $UltimiDelMese[$t] = $n; } } } } //crea un array in cui inserisce i giorni di servizio for ($n = 1; $n <= $giorni_del_mese; $n++) { for ($t = 0; $t <= 6; $t++) { $g = $giorni_settimana[date("w", strtotime("{$anno}-{$mese}-{$n}"))]; if (strcasecmp($giorni_servizio[$t], $g) == '0') { $servizi_nel_mese[$n] = $g; } if (strcasecmp($giorni_servizio[$t], 'Ultimo' . $g) == '0') { if ($n == $UltimiDelMese[$t]) { $servizi_nel_mese[$n] = $g; } } } } //controlla se ci sono altri servizi nel DB $servizi_in_db = $modelDB->serviziInDb($mese, $anno); if ($servizi_in_db != NULL) { for ($n = 0; $n <= $giorni_del_mese; $n++) { if ($servizi_in_db[$n] != '0') { $servizi_nel_mese[$n] = $servizi_in_db[$n]; } } } return $servizi_nel_mese; }
function presenzeServizi($m, $a) { //restituisce le presenze nei servizi del mese $m $model = new TurniServiziModelTurniServizi(); $modelData = new DataModelData(); $suff_db = $model->getSuffissoDB(); $tabella = "#__servizi_" . $suff_db; $giorni_settimana = $modelData->getInfo('GiorniSettimana'); $giorni_nel_mese = $modelData->days_in_month($m, $a); $presenze = array_fill(1, $giorni_nel_mese, 0); //Se il mese (e il giorno) è minore di 9 aggiungi uno zero if ($g <= 9 && strlen($g) < 2) { $g = "0" . $g; } if ($m <= 9 && strlen($m) < 2) { $m = "0" . $m; } $db = JFactory::getDBO(); $query = $db->getQuery(true); $query = "SELECT * FROM `{$tabella}` WHERE YEAR(Data) = {$a} AND MONTH(Data) = {$m} ORDER BY DAY(Data)"; $db->setQuery($query); $db->query(); $rows = $db->loadObjectList(); if ($rows != NULL) { foreach ($rows as $row) { $tmp = explode('-', $row->Data); $giorno = $tmp[2]; if ($giorno <= 9) { $giorno = substr($giorno, 1); } $nomi = $row->Nomi; if (strcasecmp($nomi, '-') == '0') { $presenze[$giorno] = 0; } else { $presenze[$giorno] = $row->Nomi; } } return $presenze; } else { return NULL; } }
function infoFormazioni($info, $meseDa, $annoDa, $meseA, $annoA, $SuffissoDB, $clown = NULL) { $dbModel = new OpDbModelOpDb(); $Data = new DataModelData(); $formazioni = $dbModel->leggiFormazioni($meseDa, $annoDa, $meseA, $annoA, $SuffissoDB); if ($info == "dateNonFormattate") { return $formazioni[0]; } else { if ($info == "date") { $tmp = $formazioni[0]; $mesi = $Data->getInfo('MesiAnno'); for ($n = 0; $tmp[$n]; $n++) { $dataTmp = explode('-', $tmp[$n]); if ($dataTmp[1] <= 9) { $tmp[$n] = $dataTmp[2] . " " . $mesi[substr($dataTmp[1], 1)]; } else { $tmp[$n] = $dataTmp[2] . " " . $mesi[$dataTmp[1]]; } } return $tmp; } else { if ($info == "presenze") { $formaz = $formazioni[0]; $presenze = $formazioni[2]; for ($n = 0; $formaz[$n]; $n++) { $ret->{$formaz}[$n] = $presenze[$n]; } return $ret; } else { if ($info == "contaPresenze") { $ret = $dbModel->contaPresenze($clown, $meseDa, $annoDa, $meseA, $annoA, $SuffissoDB); return $ret; } } } } return 1; }
function leggiFormazioni($mFrom, $aFrom, $mTo, $aTo) { $model = new FormazioniModelFormazioni(); $modelData = new DataModelData(); $suff_db = $model->getSuffissoDB(); $tabella = "#__formazioni_" . $suff_db; //if($mFrom<=9){$mFrom = "0".$mFrom;} //if($mTo<=9){$mTo = "0".$mTo;} $gTo = $modelData->days_in_month($mTo, $aTo); $giorni_settimana = $modelData->getInfo('GiorniSettimana'); $db = JFactory::getDBO(); $query = $db->getQuery(true); $query = "SELECT * FROM `{$tabella}` WHERE DATA >= '{$aFrom}-{$mFrom}-1' AND DATA <= '{$aTo}-{$mTo}-{$gTo}' ORDER BY DATA "; $db->setQuery($query); $db->query(); $rows = $db->loadObjectList(); //array di mesi intercorrenti tra $mFrom e $mTo (1,mese,0, 1,mese,0 ecc..): $a_Tmp = $aFrom; $m_Tmp = $mFrom; $data_fine = "{$mTo}-{$aTo}"; for ($i = 0; strcasecmp("{$m_Tmp}-{$a_Tmp}", $data_fine) != '0'; $i++) { $array_formazioni[$i] = 1; $i++; $array_formazioni[$i] = $modelData->meseFromNumToText($m_Tmp); $array_formazioni[$i] .= " {$a_Tmp}"; $i++; $array_formazioni[$i] = 0; $m_Tmp++; if ($m_Tmp == 13) { $m_Tmp = 1; $a_Tmp++; } // mese restante - da fare prima che si chiuda il ciclo for if (strcasecmp("{$m_Tmp}-{$a_Tmp}", $data_fine) == '0') { $i++; $array_formazioni[$i] = 1; $i++; $array_formazioni[$i] = $modelData->meseFromNumToText($m_Tmp); $array_formazioni[$i] .= " {$a_Tmp}"; $i++; $array_formazioni[$i] = 0; } } if ($rows == NULL) { //NESSUNA FORMAZIONE TROVATA, $formazioni[0] = $array_formazioni; $formazioni[1] = $array_formazioni; $formazioni[2] = $array_formazioni; return $formazioni; } else { $i = 0; foreach ($rows as $row) { $date_formazioni_db[$i] = $row->Data; $note_formazioni_db[$i] = $row->Note; $presenze_formazioni_db[$i] = $row->Presenze; $i++; } $m = 0; $t = 0; for ($n = 0; $n < count($array_formazioni); $n++) { $date_formazioni[$t] = $array_formazioni[$n]; $note_formazioni[$t] = $array_formazioni[$n]; $presenze_formazioni[$t] = $array_formazioni[$n]; $t++; if (isset($date_formazioni_db[$m])) { $data = explode('-', $date_formazioni_db[$m]); $mese = $data[1]; $mese = $modelData->meseFromNumToText($mese); $anno = $data[0]; while (strcasecmp("{$mese} {$anno}", $array_formazioni[$n]) == 0) { $date_formazioni[$t] = $date_formazioni_db[$m]; $note_formazioni[$t] = $note_formazioni_db[$m]; $presenze_formazioni[$t] = $presenze_formazioni_db[$m]; $m++; $data = explode('-', $date_formazioni_db[$m]); $mese = $data[1]; $mese = $modelData->meseFromNumToText($mese); $anno = $data[0]; $t++; } } } //formatta le date per le select: $index = 0; for ($i = 0; $i < count($date_formazioni); $i++) { if ($date_formazioni[$i] != '0' && $date_formazioni[$i] != '1' && $date_formazioni[$i - 1] != '1') { $data = explode('-', $date_formazioni[$i]); if ($data[2] <= 9) { $data[2] = substr($data[2], 1); } if ($data[1] <= 9) { $data[1] = substr($data[1], 1); } $date_formazioni_formattate[$index] = $data[2] . " " . $modelData->meseFromNumToText($data[1]); $index++; } } $formazioni[0] = $date_formazioni; $formazioni[1] = $note_formazioni; $formazioni[2] = $presenze_formazioni; $formazioni[3] = $date_formazioni_formattate; return $formazioni; } }
function stampaDateMese($m, $a, $serviziNelMese, $SuffissoDB) { //funzione principale che ritorna l'html da stampare require_once JPATH_COMPONENT . DS . 'models' . DS . 'opdb.php'; $dbModel = new OpDbModelOpDb(); $Data = new DataModelData(); $tabella = '#__servizi_' . $SuffissoDB; $tmp = $dbModel->serviziInDb($m, $a, $tabella); $servExtra = $tmp[1]; $GiorniMese = $Data->days_in_month($m, $a); $GiorniSettimana = $Data->getInfo('GiorniSettimana'); $mesi = $Data->getInfo('MesiAnno'); $mese = $mesi[$m]; $t = 0; for ($n = 1; $n < $GiorniMese; $n++) { $data = $a . "-" . $m . "-" . $n; if ($servExtra[$n] != NULL && strcasecmp($servExtra[$n], '0') != 0 && strcasecmp($serviziNelMese[$n], '0') == 0) { //Servizio "speciale" $html[$t] = "<br />" . $GiorniSettimana[date("w", strtotime($data))] . " {$n} {$mese}"; $t++; } else { if (strcasecmp($serviziNelMese[$n], '0') != 0) { // Servizio normale $html[$t] = "<br />" . $GiorniSettimana[date("w", strtotime($data))] . " {$n} {$mese}"; if ($servExtra[$n] != '0' && $servExtra[$n] != NULL) { $html[$t] .= " ({$servExtra[$n]})"; } else { $html[$t] .= "</span>"; } $t++; } } } return $html; }
function modificaNote() { require_once JPATH_COMPONENT . DS . 'models' . DS . 'data.php'; $modelData = new DataModelData(); require_once JPATH_COMPONENT . DS . 'models' . DS . 'functions.php'; $f = new FunctionsModelFunctions(); require_once JPATH_COMPONENT . DS . 'models' . DS . 'opdb.php'; $modelOpDB = new OpDbModelOpDB(); $model = $this->getModel('gestisci_turni'); $view = $this->getView('gestisci_turni', 'html'); $note = JRequest::getVar('note'); $mese = JRequest::getVar('mm'); $mesi = $modelData->getInfo('MesiAnno'); $SuffissoDB = $model->getSuffissoDB(); for ($m = 0; $m <= 12; $m++) { //trasforma il mese da testuale a numero if ($mesi[$m] == $mese) { $mm = $m; } } //Calcola l'anno if ($mm == $modelData->getInfo('NumMeseAttuale')) { $aa = $modelData->getInfo('AnnoAttuale'); } else { if ($mm == $modelData->getInfo('NumMeseProssimo')) { $aa = $modelData->getInfo('AnnoMeseProssimo'); } } $modifica = $modelOpDB->modificaNote($SuffissoDB, $note, $mm, $aa); $view->set('Data', $modelData); $view->set('Funzioni', $f); if ($modifica == 0) { $view->set('messaggio', 'nota_modificata'); } else { //stampa errore $view->set('messaggio', 'errore'); } parent::display(); //$view->display(); }