本文整理汇总了PHP中UserFactory::instance方法的典型用法代码示例。如果您正苦于以下问题:PHP UserFactory::instance方法的具体用法?PHP UserFactory::instance怎么用?PHP UserFactory::instance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UserFactory
的用法示例。
在下文中一共展示了UserFactory::instance方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInstance
public static function getInstance()
{
if (!self::$instance) {
self::$instance = new UserFactory();
}
return self::$instance;
}
示例2: getInstance
public static function getInstance()
{
if (!isset(self::$instance)) {
$class = __CLASS__;
self::$instance = new $class();
}
return self::$instance;
}
示例3: handle_input
public function handle_input(&$request)
{
$vd = new ViewDescriptor();
$vd->setPagina($request['page']);
// $this->setImpToken($vd, $request);
//utente non autentificato
if (!$this->loggedIn()) {
$this->showLoginPage($vd);
} else {
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
case 'gestione_ordini':
$ordini = OrdineFactory::instance()->getListaOrdiniAttivi();
$vd->setSottoPagina('gestione_ordini');
break;
default:
$vd->setSottoPagina('home');
break;
}
}
if (isset($request["cmd"])) {
switch ($request["cmd"]) {
case 'logout':
$this->logout($vd);
break;
case 'invia':
$msg = array();
$ordini = OrdineFactory::instance()->getListaOrdiniAttivi();
if (isset($request['id'])) {
if (OrdineFactory::instance()->chiudiOrdinePerId($request['id']) != 1) {
$msg[] = '<li>L\'ordine #' . $request['id'] . ' non è valido</li>';
}
}
$this->creaFeedbackUtente($msg, $vd, 'Ordine #' . $request['id'] . ' inviato');
$vd->setSottoPagina('gestione_ordini');
$this->showHomeAdmin($vd);
/* Non mostra il msg di errore/conferma */
header('Location: ' . Settings::getApplicationPath() . 'php/admin/gestione_ordini');
exit;
/* ************************************ */
break;
default:
$this->showHomeAdmin($vd);
}
} else {
// nessun comando
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
$this->showHomeUser($vd);
}
}
require basename(__DIR__) . '/../view/master.php';
}
示例4: handleInput
/**
* Metodo per gestire l'input dell'utente.
* @param type $request la richiesta da gestire
*/
public function handleInput(&$request)
{
// creo il descrittore della vista
$vd = new ViewDescriptor();
// imposto la pagina
$vd->setPagina($request['page']);
// imposto il token per impersonare un utente (nel lo stia facendo)
$this->setImpToken($vd, $request);
if (!$this->loggedIn()) {
// utente non autenticato, rimando alla home
$this->showLoginPage($vd);
} else {
// utente autenticato
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
// verifico quale sia la sottopagina della categoria
// Docente da servire ed imposto il descrittore
// della vista per caricare i "pezzi" delle pagine corretti
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
// modifica dei dati anagrafici
case 'anagrafica':
$dipartimenti = DipartimentoFactory::instance()->getDipartimenti();
$vd->setSottoPagina('anagrafica');
break;
// inserimento di una lista di appelli
// inserimento di una lista di appelli
case 'appelli':
$appelli = AppelloFactory::instance()->getAppelliPerDocente($user);
$insegnamenti = InsegnamentoFactory::instance()->getListaInsegnamentiPerDocente($user);
$vd->setSottoPagina('appelli');
break;
// modifica di un appello
// modifica di un appello
case 'appelli_modifica':
$msg = array();
$appelli = AppelloFactory::instance()->getAppelliPerDocente($user);
$mod_appello = $this->getAppello($request, $msg);
$insegnamenti = InsegnamentoFactory::instance()->getListaInsegnamentiPerDocente($user);
if (!isset($mod_appello)) {
$vd->setSottoPagina('appelli');
} else {
$vd->setSottoPagina('appelli_modifica');
}
break;
// creazione di un appello
// creazione di un appello
case 'appelli_crea':
$msg = array();
$appelli = AppelloFactory::instance()->getAppelliPerDocente($user);
$insegnamenti = InsegnamentoFactory::instance()->getListaInsegnamentiPerDocente($user);
if (!isset($request['cmd'])) {
$vd->setSottoPagina('appelli');
} else {
$vd->setSottoPagina('appelli_crea');
}
break;
// visualizzazione della lista di iscritti ad un appello
// visualizzazione della lista di iscritti ad un appello
case 'appelli_iscritti':
$msg = array();
$appelli = AppelloFactory::instance()->getAppelliPerDocente($user);
$mod_appello = $this->getAppello($request, $msg);
if (!isset($mod_appello)) {
$vd->setSottoPagina('appelli');
} else {
$vd->setSottoPagina('appelli_iscritti');
}
break;
// registrazione degli esami
// con visualizzazione delle liste attive
// registrazione degli esami
// con visualizzazione delle liste attive
case 'reg_esami':
if (!isset($_SESSION[self::elenco])) {
$_SESSION[self::elenco] = array();
}
$elenco_id = $this->getIdElenco($request, $msg, $_SESSION);
$elenchi_attivi = $_SESSION[self::elenco];
$vd->setSottoPagina('reg_esami');
break;
// registrazione degli esami, passo 1:
// selezione dell'insegnamento
// registrazione degli esami, passo 1:
// selezione dell'insegnamento
case 'reg_esami_step1':
$msg = array();
// ricerco l'elenco da modificare, e' possibile gestirne
// piu' di uno con lo stesso browser
$elenco_id = $this->getIdElenco($request, $msg, $_SESSION);
$insegnamenti = InsegnamentoFactory::instance()->getListaInsegnamentiPerDocente($user);
$docenti = UserFactory::instance()->getListaDocenti();
if (isset($elenco_id)) {
$sel_insegnamento = $_SESSION[self::elenco][$elenco_id]->getTemplate()->getInsegnamento();
//.........这里部分代码省略.........
示例5:
if (count($ordini) > 0) {
?>
<table>
<tr>
<th>Ordine</th>
<th>Nome</th>
<th>Cognome</th>
<th>Domicilio</th>
<th>Indirizzo</th>
<th>Prezzo</th>
<th>Paga</th>
<th>Dettaglio</th>
</tr>
<?foreach ($ordini as $ordine) {
$cliente = UserFactory::instance()->getClientePerId($ordine->getCliente());
?>
<tr>
<td class="col-small"><?php
echo $ordine->getId();
?>
</td>
<td class="col-large"><?php
echo $cliente->getNome();
?>
</td>
<td class="col-large"><?php
echo $cliente->getCognome();
?>
</td>
<td class="col-small"><?php
示例6: handleInput
/**
* Metodo per gestire l'input dell'utente.
* @param type $request la richiesta da gestire
*/
public function handleInput(&$request)
{
// creo il descrittore della vista
$vd = new ViewDescriptor();
// imposto la pagina
$vd->setPagina($request['page']);
// gestion dei comandi
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (!$this->loggedIn()) {
// utente non autenticato, rimando alla home
$this->showLoginPage($vd);
} else {
// utente autenticato
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
// verifico quale sia la sottopagina della categoria
// Docente da servire ed imposto il descrittore
// della vista per caricare i "pezzi" delle pagine corretti
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
//ad ogni pagina viene associato un valore nella variabile $_SESSION['pagina'] per fare in modo che nel menu
//a sinistra appaiano informazioni guida differenti a seconda della pagina che si sta visualizzando
// modifica dei dati anagrafici per le consegne a domicilio
case 'anagrafica':
$_SESSION['pagina'] = 'anagrafica.php';
$vd->setSottoPagina('anagrafica');
break;
// Ordinazione delle Album con scelta dei quantità e dimensioni
// Ordinazione delle Album con scelta dei quantità e dimensioni
case 'ordina':
$_SESSION['pagina'] = 'ordina.php';
$album = AlbumFactory::instance()->getAlbum();
$orari = OrarioFactory::instance()->getOrari();
$vd->setSottoPagina('ordina');
break;
// visualizzazione degli ordini effettuati precedentemente
// visualizzazione degli ordini effettuati precedentemente
case 'elenco_ordini':
$_SESSION['pagina'] = 'elenco_ordini.php';
$ordini = OrdineFactory::instance()->getOrdiniPerIdCliente($user);
$vd->setSottoPagina('elenco_ordini');
break;
// visualizzaza come raggiungere e i vari contatti della Albumria
// visualizzaza come raggiungere e i vari contatti della Albumria
case 'contatti':
$_SESSION['pagina'] = 'contatti.php';
$vd->setSottoPagina('contatti');
break;
default:
$_SESSION['pagina'] = 'home.php';
$vd->setSottoPagina('home');
break;
}
}
// gestione dei comandi inviati dall'utente
if (isset($request["cmd"])) {
// abbiamo ricevuto un comando
switch ($request["cmd"]) {
// logout
case 'logout':
$this->logout($vd);
break;
case 'procedi_ordine':
//si verifica che i dati inseriti dall'utente relativamente a quantità e dimensione Album siano nel formato
//corretto e in numero accettabile. Successivamente ad ogni tipologia di prodotto viene associato un
//nuovo record nella tabella Album_ordini in cui viene indicato, oltre al numero ordine relativo, anche
//la quantità di Album di quel determinato tipo che si vogliono ordinare.
$vd->setSottoPagina('conferma_ordine');
$msg = array();
//carico un array con tutti gli id delle Album ordinabili
$idAlbum = AlbumFactory::instance()->getIdAlbum();
//verifico se i valori inseriti dall'utente sono corretti e conto quante Album sono state ordinate in totale
$nAlbum = $this->validaForm($idAlbum, $request);
$flagOrario = false;
//creo un nuovo ordine attualmente formato solo dall'id (che è anche l'ulitmo disponibile)
$ordine = new Ordine();
$ordine->setId(OrdineFactory::instance()->getLastId());
$ordineId = $ordine->getId();
//se il numero di Album ordinate è accettabile (>0) verifico se la fascia oraria richiesta è a sua volta disponibile
//per quel quantitativo di Album. se non lo è assegno quella disponibile piu vicina
if ($nAlbum) {
$orari = OrarioFactory::instance()->getOrariSuccessivi($request['orario']);
foreach ($orari as $orario) {
if (Album_ordineFactory::instance()->getNAlbumPerOrario($orario->getId()) + $nAlbum <= $orario->getOrdiniDisponibili()) {
//var_dump("Album per orario ".Album_ordineFactory::instance()->getNAlbumPerOrario($orario->getId()));
$ordine->setOrario($orario->getId());
$flagOrario = true;
break;
} else {
$ordine->setOrario(NULL);
}
}
//.........这里部分代码省略.........
示例7: handleInput
/**
* Metodo per gestire l'input dell'utente.
* @param type $request la richiesta da gestire
*/
public function handleInput(&$request)
{
// creo il descrittore della vista
$vd = new ViewDescriptor();
// imposto la pagina
$vd->setPagina($request['page']);
if (!$this->loggedIn()) {
// utente non autenticato, rimando alla home
$this->showLoginPage($vd);
} else {
// utente autenticato
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
// verifico quale sia la sottopagina della categoria
// Docente da servire ed imposto il descrittore
// della vista per caricare i "pezzi" delle pagine corretti
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
// visualizza i dati anagrafici
case 'anagrafica':
$_SESSION['pagina'] = 'anagrafica.php';
$vd->setSottoPagina('anagrafica');
break;
// gestione degli ordini eseguiti oggi
// gestione degli ordini eseguiti oggi
case 'gestione_ordini':
$_SESSION['pagina'] = 'gestione_ordini.php';
$ordini = OrdineFactory::instance()->getOrdiniNonPagati();
$vd->setSottoPagina('gestione_ordini');
break;
// ricerca di tutti gli ordini che sono stati eseguiti tramite il sito
// ricerca di tutti gli ordini che sono stati eseguiti tramite il sito
case 'ricerca_ordini':
$_SESSION['pagina'] = 'ricerca_ordini.php';
$date = OrdineFactory::instance()->getDate();
$vd->setSottoPagina('ricerca_ordini');
$vd->addScript("../js/jquery-2.1.1.min.js");
$vd->addScript("../js/ricercaOrdini.js");
break;
// utilizzo la funzione js e il json per ricercare e stampare i risultati della ricerca_ordini
// utilizzo la funzione js e il json per ricercare e stampare i risultati della ricerca_ordini
case 'filtra_ordini':
$vd->toggleJson();
$vd->setSottoPagina('ricerca_ordini_json');
$errori = array();
if (isset($request['myData']) && $request['myData'] != '') {
$data = $request['myData'];
} else {
$data = null;
}
if (isset($request['myOra']) && $request['myOra'] != '') {
$ora = $request['myOra'];
} else {
$ora = null;
}
//var_dump("data ".$data." Ora " .$ora);
$ordini = OrdineFactory::instance()->getOrdiniPerDataOra($data, $ora);
//i dati si vedono nel js ma non nel controller ne nel json
break;
default:
$_SESSION['pagina'] = 'home.php';
$vd->setSottoPagina('home');
break;
}
}
// gestione dei comandi inviati dall'utente
if (isset($request["cmd"])) {
switch ($request["cmd"]) {
// logout
case 'logout':
$this->logout($vd);
break;
case 'dettaglio':
//mi permette di vedere i dettagli relativi a un ordine : elenco pizze, quantità, prezzi singoli e totali
//e richieste di consegne a domicilio
$_SESSION['pagina'] = 'dettaglio_ordine.php';
$ordineId = filter_var($request['ordine'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
$ordine = OrdineFactory::instance()->getOrdine($ordineId);
$POs = Album_ordineFactory::instance()->getPOPerIdOrdine($ordine);
$cliente = UserFactory::instance()->getClientePerId($ordine->getCliente());
$vd->setSottoPagina('dettaglio_ordine');
$this->showHomeUtente($vd);
break;
case 'paga':
//permette al dipendente di segnalare un ordine come pagato e quindi non farlo piu apparire
//nell'elenco degli ordini da gestire
$msg = array();
$ordineId = filter_var($request['ordine'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
if (OrdineFactory::instance()->setPagato($ordineId, $user)) {
$this->creaFeedbackUtente($msg, $vd, "Ordine " . $ordineId . " pagato.");
} else {
$this->creaFeedbackUtente($msg, $vd, "Errore cancellazione");
}
$vd->setSottoPagina('gestione_ordini');
//.........这里部分代码省略.........
示例8: handle_input
public function handle_input(&$request)
{
$vd = new ViewDescriptor();
$vd->setPagina($request['page']);
$this->setImpToken($vd, $request);
//untente non autentificato
if (!$this->loggedIn()) {
$this->showLoginPage($vd);
} else {
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
//carica le pizze da visualizzare sulla galleria
$listaPizzeConImg = PizzaFactory::instance()->getListaPizze(true);
reset($listaPizzeConImg);
$pizza = current($listaPizzeConImg);
$index = 0;
// var_dump($listaPizzeConImg);
$vd->setAjaxFile(basename(__DIR__) . '/../view/ajax.php');
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
case 'base':
$vd->setSottoPagina('base');
$vd->setBreadcrumb("Modifica username o e-mail");
break;
case 'password':
$vd->setSottoPagina('password');
$vd->setBreadcrumb("Modifica password");
break;
case 'pagamento':
$pagamenti = PagamentoFactory::instance()->getListaPagamentiPerCliente($user);
$vd->setSottoPagina('pagamento');
$vd->setBreadcrumb("Visualizza i tuoi metodi di pagamento");
break;
case 'visualizza_pagamento':
$pagamenti = PagamentoFactory::instance()->getListaPagamentiPerCliente($user);
$vd->setSottoPagina('visualizza_pagamento');
$vd->setBreadcrumb("Visualizza i tuoi metodi di pagamento");
break;
case 'indirizzo':
$vd->setSottoPagina('indirizzo');
$vd->setBreadcrumb("Modifica indirizzo di consegna");
break;
case 'account':
$msg = array();
if (!isset($_SESSION[self::elenco_articoli])) {
$_SESSION[self::elenco_articoli] = array();
}
$vd->setSottoPagina('account');
break;
case 'conferma_ordine_step1':
$vd->setSottoPagina('conferma_ordine_step1');
$vd->setTitoloStep('Passo 1: seleziona indirizzo di consegna');
break;
case 'conferma_ordine_step2':
$vd->setSottoPagina('conferma_ordine_step2');
$vd->setTitoloStep('Passo 2: riepilogo articoli');
break;
case 'conferma_ordine_step3':
$vd->setSottoPagina('conferma_ordine_step3');
$vd->setTitoloStep('Passo 3: seleziona metodo di pagamento');
$pagamenti = PagamentoFactory::instance()->getListaPagamentiPerCliente($user);
break;
case 'cronologia_ordini':
$ordini = OrdineFactory::instance()->getListaOrdiniPerCliente($user);
$vd->setSottoPagina('cronologia_ordini');
$vd->setBreadcrumb("Visualizza cronologia ordini");
break;
case 'ordini_attivi':
$ordini = OrdineFactory::instance()->getListaOrdiniPerCliente($user, true);
$vd->setSottoPagina('cronologia_ordini');
$vd->setBreadcrumb("Visualizza ordini in corso");
break;
default:
if (!isset($_SESSION[self::elenco_articoli])) {
$_SESSION[self::elenco_articoli] = array();
}
$vd->setSottoPagina('home');
break;
}
}
if (isset($request["cmd"])) {
switch ($request["cmd"]) {
//salvataggio permanente elenco articoli
case 'ordina':
$msg = array();
if (!empty($_SESSION[self::elenco_articoli])) {
if (isset($request['carta'])) {
$carta = intval($request['carta']);
$pagamento = PagamentoFactory::instance()->cercaPagamentoPerId($carta);
if (!isset($pagamento)) {
$msg[] = 'Il metodo di pagamento inserito non è valido';
$vd->setTitoloStep('Passo 3: seleziona metodo di pagamento');
$vd->setSottoPagina('conferma_ordine_step3');
} else {
if (!OrdineFactory::instance()->salvaOrdine($_SESSION[self::elenco_articoli], $user->getId(), $pagamento, $this->getSubTotale(true))) {
$msg[] = '<li>Spiacente. Impossibile terminare la transazione</li>';
$vd->setTitoloStep('Passo 3: seleziona metodo di pagamento');
$vd->setSottoPagina('conferma_ordine_step3');
} else {
$_SESSION[self::elenco_articoli] = array();
$vd->setSottoPagina('home');
//.........这里部分代码省略.........
示例9: handleInput
/**
* Metodo per gestire l'input dell'utente.
* @param type $request la richiesta da gestire
*/
public function handleInput(&$request)
{
// creo il descrittore della vista
$vd = new ViewDescriptor();
// imposto la pagina
$vd->setPagina($request['page']);
// imposto il token per impersonare un utente (nel lo stia facendo)
$this->setImpToken($vd, $request);
// gestion dei comandi
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (!$this->loggedIn()) {
// utente non autenticato, rimando alla home
$this->showLoginPage($vd);
} else {
// utente autenticato
$user = UserFactory::instance()->cercaUtentePerId($_SESSION[BaseController::user], $_SESSION[BaseController::role]);
// verifico quale sia la sottopagina della categoria
// Docente da servire ed imposto il descrittore
// della vista per caricare i "pezzi" delle pagine corretti
// tutte le variabili che vengono create senza essere utilizzate
// direttamente in questo switch, sono quelle che vengono poi lette
// dalla vista, ed utilizzano le classi del modello
if (isset($request["subpage"])) {
switch ($request["subpage"]) {
// modifica dei dati anagrafici
case 'anagrafica':
$vd->setSottoPagina('anagrafica');
break;
// visualizzazione degli esami sostenuti
// visualizzazione degli esami sostenuti
case 'esami':
$esami = EsameFactory::instance()->esamiPerStudente($user);
$vd->setSottoPagina('esami');
break;
// iscrizione ad un appello
// iscrizione ad un appello
case 'iscrizione':
// carichiamo gli appelli dal db
$appelli = AppelloFactory::instance()->getAppelliPerStudente($user);
$vd->setSottoPagina('iscrizione');
break;
default:
$vd->setSottoPagina('home');
break;
}
}
// gestione dei comandi inviati dall'utente
if (isset($request["cmd"])) {
// abbiamo ricevuto un comando
switch ($request["cmd"]) {
// logout
case 'logout':
$this->logout($vd);
break;
// aggiornamento indirizzo
// aggiornamento indirizzo
case 'indirizzo':
// in questo array inserisco i messaggi di
// cio' che non viene validato
$msg = array();
$this->aggiornaIndirizzo($user, $request, $msg);
$this->creaFeedbackUtente($msg, $vd, "Indirizzo aggiornato");
$this->showHomeUtente($vd);
break;
// cambio email
// cambio email
case 'email':
// in questo array inserisco i messaggi di
// cio' che non viene validato
$msg = array();
$this->aggiornaEmail($user, $request, $msg);
$this->creaFeedbackUtente($msg, $vd, "Email aggiornata");
$this->showHomeUtente($vd);
break;
// cambio password
// cambio password
case 'password':
// in questo array inserisco i messaggi di
// cio' che non viene validato
$msg = array();
$this->aggiornaPassword($user, $request, $msg);
$this->creaFeedbackUtente($msg, $vd, "Password aggiornata");
$this->showHomeStudente($vd);
break;
// iscrizione ad un appello
// iscrizione ad un appello
case 'iscrivi':
// recuperiamo l'indice
$msg = array();
$a = $this->getAppelloPerIndice($appelli, $request, $msg);
if (isset($a)) {
$isOk = $a->iscrivi($user);
$count = AppelloFactory::instance()->aggiungiIscrizione($user, $a);
if (!$isOk || $count != 1) {
//.........这里部分代码省略.........
示例10: caricaIscritti
public function caricaIscritti(Appello $appello)
{
$query = "select \n studenti.id studenti_id,\n studenti.nome studenti_nome,\n studenti.cognome studenti_cognome,\n studenti.matricola studenti_matricola,\n studenti.email studenti_email,\n studenti.citta studenti_citta,\n studenti.via studenti_via,\n studenti.cap studenti_cap,\n studenti.provincia studenti_provincia, \n studenti.numero_civico studenti_numero_civico,\n studenti.username studenti_username,\n studenti.password studenti_password,\n \n CdL.id CdL_id,\n CdL.nome CdL_nome,\n CdL.codice CdL_codice,\n \n dipartimenti.id dipartimenti_id,\n dipartimenti.nome dipartimenti_nome\n \n from appelli_studenti\n join studenti on studenti.id = appelli_studenti.studente_id\n join CdL on studenti.cdl_id = CdL.id\n join dipartimenti on CdL.dipartimento_id = dipartimenti.id\n where appelli_studenti.appello_id = ?";
$mysqli = Db::getInstance()->connectDb();
if (!isset($mysqli)) {
error_log("[cercaStudentePerMatricola] impossibile inizializzare il database");
$mysqli->close();
return null;
}
$stmt = $mysqli->stmt_init();
$stmt->prepare($query);
if (!$stmt) {
error_log("[caricaIscritti] impossibile" . " inizializzare il prepared statement");
$mysqli->close();
return null;
}
if (!$stmt->bind_param('i', $appello->getId())) {
error_log("[caricaIscritti] impossibile" . " effettuare il binding in input");
$mysqli->close();
return null;
}
if (!$stmt->execute()) {
error_log("[caricaIscritti] impossibile" . " eseguire lo statement");
$mysqli->close();
return null;
}
$row = array();
$bind = $stmt->bind_result($row['studenti_id'], $row['studenti_nome'], $row['studenti_cognome'], $row['studenti_matricola'], $row['studenti_email'], $row['studenti_citta'], $row['studenti_via'], $row['studenti_cap'], $row['studenti_provincia'], $row['studenti_numero_civico'], $row['studenti_username'], $row['studenti_password'], $row['CdL_id'], $row['CdL_nome'], $row['CdL_codice'], $row['dipartimenti_id'], $row['dipartimenti_nome']);
if (!$bind) {
error_log("[caricaIscritti] impossibile" . " effettuare il binding in output");
$mysqli->close();
return null;
}
while ($stmt->fetch()) {
$appello->iscrivi(UserFactory::instance()->creaStudenteDaArray($row));
}
$mysqli->close();
$stmt->close();
}
示例11: creaDaArray
/**
* Crea un insegnamento a partire da una riga del DB
* @param type $row
*/
public function creaDaArray(&$row)
{
$insegnamento = new Insegnamento();
$insegnamento->setId($row['insegnamenti_id']);
$insegnamento->setCfu($row['insegnamenti_cfu']);
$insegnamento->setCodice($row['insegnamenti_codice']);
$insegnamento->setTitolo($row['insegnamenti_titolo']);
if (isset($row['docenti_id'])) {
$insegnamento->setDocente(UserFactory::instance()->creaDocenteDaArray($row));
}
if (isset($row['insegnamenti_id'])) {
$insegnamento->setCorsoDiLaurea(CorsoDiLaureaFactory::instance()->creaDaArray($row));
}
return $insegnamento;
}
示例12: caricaCommissione
public function caricaCommissione(Esame $esame)
{
$query = "select \n docenti.id docenti_id,\n docenti.nome docenti_nome,\n docenti.cognome docenti_cognome,\n docenti.email docenti_email,\n docenti.citta docenti_citta,\n docenti.cap docenti_cap,\n docenti.via docenti_via,\n docenti.provincia docenti_provincia,\n docenti.numero_civico docenti_numero_civico,\n docenti.ricevimento docenti_ricevimento,\n docenti.username docenti_username,\n docenti.password docenti_password,\n dipartimenti.id dipartimenti_id,\n dipartimenti.nome dipartimenti_nome\n \n from esami_docenti \n join docenti on esami_docenti.docente_id = docenti.id\n join dipartimenti on docenti.dipartimento_id = dipartimenti.id\n where esami_docenti.esame_id = ?";
$mysqli = Db::getInstance()->connectDb();
if (!isset($mysqli)) {
error_log("[caricaCommissione] impossibile inizializzare il database");
$mysqli->close();
return null;
}
$stmt = $mysqli->stmt_init();
$stmt->prepare($query);
if (!$stmt) {
error_log("[caricaCommissione] impossibile" . " inizializzare il prepared statement");
$mysqli->close();
return null;
}
if (!$stmt->bind_param('i', $esame->getId())) {
error_log("[caricaIscritti] impossibile" . " effettuare il binding in input");
$mysqli->close();
return null;
}
if (!$stmt->execute()) {
error_log("[caricaIscritti] impossibile" . " eseguire lo statement");
$mysqli->close();
return null;
}
$row = array();
$bind = $stmt->bind_result($row['docenti_id'], $row['docenti_nome'], $row['docenti_cognome'], $row['docenti_email'], $row['docenti_citta'], $row['docenti_cap'], $row['docenti_via'], $row['docenti_provincia'], $row['docenti_numero_civico'], $row['docenti_ricevimento'], $row['docenti_username'], $row['docenti_password'], $row['dipartimenti_id'], $row['dipartimenti_nome']);
if (!$bind) {
error_log("[caricaDocenteDaStmt] impossibile" . " effettuare il binding in output");
$mysqli->close();
return null;
}
while ($stmt->fetch()) {
$esame->aggiungiMembroCommissione(UserFactory::instance()->creaDocenteDaArray($row));
}
$mysqli->close();
$stmt->close();
}
示例13: aggiornaPassword
/**
* Aggiorno la password di un utente (comune a Clienti e Admins)
* @param User $user l'utente da aggiornare
* @param array $request la richiesta http da gestire
* @param array $msg riferimento ad un array da riempire con eventuali errori
* messaggi d'errore
*/
protected function aggiornaPassword($user, &$request, &$msg)
{
if (isset($request['oldPass']) && isset($request['pass1']) && isset($request['pass2'])) {
if (strcmp($request['oldPass'], $user->getPassword()) == 0) {
if (strcmp($request['pass1'], $request['pass2']) == 0) {
if (!$user->setPassword($request['pass1'])) {
$msg[] = '<li>Il formato della password non è corretto</li>';
}
} else {
$msg[] = '<li>Le due password non coincidono</li>';
}
} else {
$msg[] = '<li>La password attuale non è corretta</li>';
}
}
// salviamo i dati se non ci sono stati errori
if (count($msg) == 0) {
if (UserFactory::instance()->salva($user) != 1) {
$msg[] = '<li>Salvataggio non riuscito</li>';
}
}
}
示例14: creaOrdineDaArray
/**
* Crea e restitutisce un ordine
* a partire da una riga di DB
* @param type $row
* @param boolean
* @return Ordine
*/
public function creaOrdineDaArray($row, $flag = FALSE)
{
$ordine = new Ordine();
// var_dump($row);
$ordine->setId($row['id']);
$ordine->setDataConclusione($row['data_conclusione']);
$ordine->setDataCreazione($row['data_creazione']);
$ordine->setSubtotale($row['subtotale']);
$ordine->setArticoli(ArticoloFactory::instance()->getListaArticoliPerIdOrdine($row['id']));
if ($flag) {
$ordine->setCliente(UserFactory::instance()->cercaUtentePerId($row['cliente_id']));
}
return $ordine;
}