immagine1 = array("", "", "", "", ""); $this->immagine2 = array("", "", "", "", ""); $this->immagine3 = array("", "", "", "", ""); $this->immagine4 = array("", "", "", "", ""); $this->immagine5 = array("", "", "", "", ""); $this->db = (new db_connect())->connect(); } // GETTERS public function getId() { return $this->id; } public function getKeywords() { return $this->keywords; } public function getTipologia() { return $this->tipologia; } public function getPermessiLettura() { return $this->permessiLettura; } public function getData() { return $this->data; } public function getTitolo() { return $this->titolo; } public function getTitoloEN() { return $this->titoloEN; } public function getRegista() { return $this->regista; } public function getDescrizione() { return $this->descrizione; } public function getDescrizioneEN() { return $this->descrizioneEN; } public function getImmagine1() { return $this->immagine1; } public function getImmagine2() { return $this->immagine2; } public function getImmagine3() { return $this->immagine3; } public function getImmagine4() { return $this->immagine4; } public function getImmagine5() { return $this->immagine5; } public function getLocandina() { return $this->locandina; } public function getLocandinaEN() { return $this->locandinaEN; } public function getGenere() { return $this->genere; } public function getGenereEN() { return $this->genereEN; } public function getAttori() { return $this->attori; } public function getPaese() { return $this->paese; } public function getPaeseEN() { return $this->paeseEN; } public function getAnnoProd() { return $this->annoProd; } public function getAnnoAmb() { return $this->annoAmb; } public function getAnnoAmbEN() { return $this->annoAmbEN; } public function getProduzione() { return $this->produzione; } public function getProduzioneEN() { return $this->produzioneEN; } public function getLinkProduzione() { return $this->linkProduzione; } public function getSviluppo() { return $this->sviluppo; } public function getPremi() { return $this->premi; } public function getPremiEN() { return $this->premiEN; } public function getIdVideo() { return $this->idVideo; } public function getIdVideoEN() { return $this->idVideoEN; } public function getDescrVideo() { return $this->descrVideo; } public function getDescrVideoEN() { return $this->descrVideoEN; } public function getLuoghi() { return $this->luoghi; } public function getLuoghiEN() { return $this->luoghiEN; } public function getRegioni() { return $this->regioni; } public function getEnogastronomia() { return $this->enogastronomia; } public function getEnogastronomiaEN() { return $this->enogastronomiaEN; } public function getLocation() { return $this->location; } public function getLocationTesto() { return $this->locationTesto; } public function getLocationTestoEN() { return $this->locationTestoEN; } public function getFilmCorrelati() { return $this->filmCorrelati; } public function getLinkContatti() { return $this->linkContatti; } public function getLinkContattiEN() { return $this->linkContattiEN; } public function getDataCreazione() { return $this->dataCreazione; } public function getDataUltimaModifica() { return $this->dataUltimaModifica; } public function getDataScadenza() { return $this->dataScadenza; } public function getStatoPubblicazione() { return $this->statoPubblicazione; } public function getIdLingua() { return $this->idLingua; } public function getIdSezione() { return $this->idSezione; } public function getIdProprietario() { return $this->idProprietario; } // SETTERS public function setId($id) { $this->id = $id; } public function setKeywords($keywords) { $this->keywords = $keywords; } public function setTipologia($tipologia) { $this->tipologia = $tipologia; } public function setPermessiLettura($permessiLettura) { $this->permessiLettura = $permessiLettura; } public function setData($data) { $this->data = $data; } public function setTitolo($titolo) { $this->titolo = $titolo; } public function setTitoloEN($titoloEN) { $this->titoloEN = $titoloEN; } public function setRegista($regista) { $this->regista = $regista; } public function setPaese($paese) { $this->paese = $paese; } public function setPaeseEN($paeseEN) { $this->paeseEN = $paeseEN; } public function setAnnoProduzione($annoProd) { $this->annoProd = $annoProd; } public function setAnnoAmbientazione($annoAmb) { $this->annoAmb = $annoAmb; } public function setAnnoAmbientazioneEN($annoAmbEN) { $this->annoAmbEN = $annoAmbEN; } public function setAttori($attori) { $this->attori = $attori; } public function setGenere($genere) { $this->genere = $genere; } public function setGenereEN($genereEN) { $this->genereEN = $genereEN; } public function setPremi($premi) { $this->premi = $premi; } public function setPremiEN($premiEN) { $this->premiEN = $premiEN; } public function setDescrizione($descrizione) { $this->descrizione = $descrizione; } public function setDescrizioneEN($descrizioneEN) { $this->descrizioneEN = $descrizioneEN; } public function setIdVideo($idVideo) { $this->idVideo = $idVideo; } public function setIdVideoEN($idVideoEN) { $this->idVideoEN = $idVideoEN; } public function setDescrVideo($descrVideo) { $this->descrVideo = $descrVideo; } public function setDescrVideoEN($descrVideoEN) { $this->descrVideoEN = $descrVideoEN; } public function setProduzione($produzione) { $this->produzione = $produzione; } public function setProduzioneEN($produzioneEN) { $this->produzioneEN = $produzioneEN; } public function setSviluppo($sviluppo) { $this->sviluppo = $sviluppo; } public function setLinkProduzione($linkProduzione) { $this->linkProduzione = $linkProduzione; } public function setRegioni($regioni) { $this->regioni = $regioni; } public function setLocation($location) { $this->location = $location; } public function setLocationTesto($locationTesto) { $this->locationTesto = $locationTesto; } public function setLocationTestoEN($locationTestoEN) { $this->locationTestoEN = $locationTestoEN; } public function setLuoghi($luoghi) { $this->luoghi = $luoghi; } public function setLuoghiEN($luoghiEN) { $this->luoghiEN = $luoghiEN; } public function setEnogastronomia($enogastronomia) { $this->enogastronomia = $enogastronomia; } public function setEnogastronomiaEN($enogastronomiaEN) { $this->enogastronomiaEN = $enogastronomiaEN; } public function setLinkContatti($linkContatti) { $this->linkContatti = $linkContatti; } public function setLinkContattiEN($linkContattiEN) { $this->linkContattiEN = $linkContattiEN; } public function setLocandina($locandina) { $this->locandina = $locandina; } public function setLocandinaEN($locandinaEN) { $this->locandinaEN = $locandinaEN; } public function setNomeImg1($nomeImg1) { $this->immagine1[0] = $nomeImg1; } public function setNomeENImg1($nomeENImg1) { $this->immagine1[4] = $nomeENImg1; } public function setDescImg1($descImg1) { $this->immagine1[1] = $descImg1; } public function setCopyImg1($copyImg1) { $this->immagine1[2] = $copyImg1; } public function setDescENImg1($descENImg1) { $this->immagine1[3] = $descENImg1; } public function setNomeImg2($nomeImg2) { $this->immagine2[0] = $nomeImg2; } public function setNomeENImg2($nomeENImg2) { $this->immagine2[4] = $nomeENImg2; } public function setDescImg2($descImg2) { $this->immagine2[1] = $descImg2; } public function setDescENImg2($descENImg2) { $this->immagine2[3] = $descENImg2; } public function setCopyImg2($copyImg2) { $this->immagine2[2] = $copyImg2; } public function setNomeImg3($nomeImg3) { $this->immagine3[0] = $nomeImg3; } public function setNomeENImg3($nomeENImg3) { $this->immagine3[4] = $nomeENImg3; } public function setDescImg3($descImg3) { $this->immagine3[1] = $descImg3; } public function setDescENImg3($descENImg3) { $this->immagine3[3] = $descENImg3; } public function setCopyImg3($copyImg3) { $this->immagine3[2] = $copyImg3; } public function setNomeImg4($nomeImg4) { $this->immagine4[0] = $nomeImg4; } public function setNomeENImg4($nomeENImg4) { $this->immagine4[4] = $nomeENImg4; } public function setDescImg4($descImg4) { $this->immagine4[1] = $descImg4; } public function setDescENImg4($descENImg4) { $this->immagine4[3] = $descENImg4; } public function setCopyImg4($copyImg4) { $this->immagine4[2] = $copyImg4; } public function setNomeImg5($nomeImg5) { $this->immagine5[0] = $nomeImg5; } public function setNomeENImg5($nomeENImg5) { $this->immagine5[4] = $nomeENImg5; } public function setDescImg5($descImg5) { $this->immagine5[1] = $descImg5; } public function setDescENImg5($descENImg5) { $this->immagine5[3] = $descENImg5; } public function setCopyImg5($copyImg5) { $this->immagine5[2] = $copyImg5; } public function setDataCreazione($dataCreazione) { $this->dataCreazione = $dataCreazione; } public function setDataUltimaModifica($dataUltimaModifica) { $this->dataUltimaModifica = $dataUltimaModifica; } public function setDataScadenza($dataScadenza) { $this->dataScadenza = $dataScadenza; } public function setStatoPubblicazione($statoP) { $this->statoPubblicazione = $statoP; } public function setIdProprietario($idProprietario) { $this->idProprietario = $idProprietario; } public function setIdSezione($idSezione) { $this->idSezione = $idSezione; } public function setIdLingua($idLingua) { $this->idLingua = $idLingua; } // FUNCTIONS public function getAll() { $outputArray = array(); $stmtSelect = $this->db->prepare(" SELECT id, titolo, img_1, desc_img_1, copy_img_1, img_2, desc_img_2, copy_img_2, img_3, desc_img_3, copy_img_3, img_4, desc_img_4, copy_img_4, img_5, desc_img_5, copy_img_5, en_img_1, en_img_2, en_img_3, en_img_4, en_img_5, en_desc_img_1, en_desc_img_2, en_desc_img_3, en_desc_img_4, en_desc_img_5, url_video FROM oggetto_film ORDER BY id ASC" ); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->immagine1[0], $this->immagine1[1], $this->immagine1[2], $this->immagine2[0], $this->immagine2[1], $this->immagine2[2], $this->immagine3[0], $this->immagine3[1], $this->immagine3[2], $this->immagine4[0], $this->immagine4[1], $this->immagine4[2], $this->immagine5[0], $this->immagine5[1], $this->immagine5[2], $this->immagine1[4], $this->immagine2[4], $this->immagine3[4], $this->immagine4[4], $this->immagine5[4], $this->immagine1[3], $this->immagine2[3], $this->immagine3[3], $this->immagine4[3], $this->immagine5[3], $this->idVideo ); while ($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => $this->titolo, "immagine1" => $this->immagine1[0], "immagine1Desc" => $this->immagine1[1], "immagine1Copy" => $this->immagine1[2], "immagine1DescEN" => $this->immagine1[3], "immagine2" => $this->immagine2[0], "immagine2Desc" => $this->immagine2[1], "immagine2Copy" => $this->immagine2[2], "immagine2DescEN" => $this->immagine2[3], "immagine3" => $this->immagine3[0], "immagine3Desc" => $this->immagine3[1], "immagine3Copy" => $this->immagine3[2], "immagine3DescEN" => $this->immagine3[3], "immagine4" => $this->immagine4[0], "immagine4Desc" => $this->immagine4[1], "immagine4Copy" => $this->immagine4[2], "immagine4DescEN" => $this->immagine4[3], "immagine5" => $this->immagine5[0], "immagine5Desc" => $this->immagine5[1], "immagine5Copy" => $this->immagine5[2], "immagine5DescEN" => $this->immagine5[3], "urlVideo" => $this->idVideo ); array_push($outputArray, $singleFilmGameArray); } return $outputArray; } else { echo('Error! ' . $this->db->error); } } else { echo('Error! ' . $stmtSelect->error); } } public function getItinerarioById() { $lng = getLanguagePrefix(); $stmtSelect = $this->db->prepare("SELECT tipologia, data_film, {$lng}titolo, regista, {$lng}paese, " . "{$lng}descrizione, anno_prod, {$lng}anno_amb, attori, {$lng}genere, {$lng}premi, url_prod, url_video, " . "{$lng}descrizione_video, {$lng}nome_produzione, sviluppo, regioni, location, {$lng}location_testo, " . "{$lng}luoghi, {$lng}enogastronomia, {$lng}link_contatti, locandina, img_1, {$lng}desc_img_1, " . "copy_img_1, img_2, {$lng}desc_img_2, copy_img_2, img_3, {$lng}desc_img_3, copy_img_3, " . "img_4, {$lng}desc_img_4, copy_img_4, img_5, {$lng}desc_img_5, copy_img_5, data_scadenza, " . "stato_pubblicazione, permessi_lettura, id_lingua, id_proprietario, en_url_video, keywords " . "FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $this->id); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->tipologia, $this->data, $this->titolo, $this->regista, $this->paese, $this->descrizione, $this->annoProd, $this->annoAmb, $this->attori, $this->genere, $this->premi, $this->linkProduzione, $this->idVideo, $this->descrVideo, $this->produzione, $this->sviluppo, $this->regioni, $this->location, $this->locationTesto, $this->luoghi, $this->enogastronomia, $this->linkContatti, $this->locandina, $this->immagine1[0], $this->immagine1[1], $this->immagine1[2], $this->immagine2[0], $this->immagine2[1], $this->immagine2[2], $this->immagine3[0], $this->immagine3[1], $this->immagine3[2], $this->immagine4[0], $this->immagine4[1], $this->immagine4[2], $this->immagine5[0], $this->immagine5[1], $this->immagine5[2], $this->dataScadenza, $this->statoPubblicazione, $this->permessiLettura, $this->idLingua, $this->idProprietario, $this->idVideoEN, $this->keywords); $stmtSelect->fetch(); $this->idVideo = substr($this->idVideo, -11); $this->regioni = array_filter(explode(",", formatTextEditorOutput($this->regioni))); $this->location = array_filter(explode(",", formatTextEditorOutput($this->location))); $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->paese = formatTextEditorOutput($this->paese); $this->descrizione = formatTextEditorOutput($this->descrizione); $this->annoProd = formatTextEditorOutput($this->annoProd); $this->annoAmb = formatTextEditorOutput($this->annoAmb); $this->attori = formatTextEditorOutput($this->attori); $this->genere = formatTextEditorOutput($this->genere); $this->premi = formatTextEditorOutput($this->premi); $this->linkProduzione = formatTextEditorOutput($this->linkProduzione); $this->idVideo = formatTextEditorOutput($this->idVideo); $this->descrVideo = formatTextEditorOutput($this->descrVideo); $this->produzione = formatTextEditorOutput($this->produzione); $this->sviluppo = formatTextEditorOutput($this->sviluppo); $this->locationTesto = formatTextEditorOutput($this->locationTesto); $this->luoghi = formatTextEditorOutput($this->luoghi); $this->enogastronomia = formatTextEditorOutput($this->enogastronomia); $this->linkContatti = formatTextEditorOutput($this->linkContatti); $this->immagine1[1] = formatTextEditorOutput($this->immagine1[1]); $this->immagine1[2] = formatTextEditorOutput($this->immagine1[2]); $this->immagine2[1] = formatTextEditorOutput($this->immagine2[1]); $this->immagine2[2] = formatTextEditorOutput($this->immagine2[2]); $this->immagine3[1] = formatTextEditorOutput($this->immagine3[1]); $this->immagine3[2] = formatTextEditorOutput($this->immagine3[2]); $this->immagine4[1] = formatTextEditorOutput($this->immagine4[1]); $this->immagine4[2] = formatTextEditorOutput($this->immagine4[2]); $this->immagine5[1] = formatTextEditorOutput($this->immagine5[1]); $this->immagine5[2] = formatTextEditorOutput($this->immagine5[2]); $this->keywords = formatTextEditorOutput($this->keywords); } else { echo('Error! ' . $this->db->error); } } else { echo('Error! ' . $stmtSelect->error); } } public function getFilmGameById() { $lng = getLanguagePrefix(); $stmtSelect = $this->db->prepare("SELECT tipologia, data_film, {$lng}titolo, regista, {$lng}paese, " . "{$lng}descrizione, anno_prod, {$lng}anno_amb, attori, {$lng}genere, {$lng}premi, url_prod, url_video, " . "{$lng}descrizione_video, {$lng}nome_produzione, sviluppo, regioni, location, {$lng}location_testo, " . "{$lng}luoghi, {$lng}enogastronomia, {$lng}link_contatti, {$lng}locandina, img_1, {$lng}desc_img_1, " . "copy_img_1, img_2, {$lng}desc_img_2, copy_img_2, img_3, {$lng}desc_img_3, copy_img_3, " . "img_4, {$lng}desc_img_4, copy_img_4, img_5, {$lng}desc_img_5, copy_img_5, data_scadenza, " . "stato_pubblicazione, permessi_lettura, id_lingua, id_proprietario, en_url_video, keywords " . "FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $this->id); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->tipologia, $this->data, $this->titolo, $this->regista, $this->paese, $this->descrizione, $this->annoProd, $this->annoAmb, $this->attori, $this->genere, $this->premi, $this->linkProduzione, $this->idVideo, $this->descrVideo, $this->produzione, $this->sviluppo, $this->regioni, $this->location, $this->locationTesto, $this->luoghi, $this->enogastronomia, $this->linkContatti, $this->locandina, $this->immagine1[0], $this->immagine1[1], $this->immagine1[2], $this->immagine2[0], $this->immagine2[1], $this->immagine2[2], $this->immagine3[0], $this->immagine3[1], $this->immagine3[2], $this->immagine4[0], $this->immagine4[1], $this->immagine4[2], $this->immagine5[0], $this->immagine5[1], $this->immagine5[2], $this->dataScadenza, $this->statoPubblicazione, $this->permessiLettura, $this->idLingua, $this->idProprietario, $this->idVideoEN, $this->keywords); $stmtSelect->fetch(); $this->idVideo = substr($this->idVideo, -11); $this->regioni = array_filter(explode(",", formatTextEditorOutput($this->regioni))); $this->location = array_filter(explode(",", formatTextEditorOutput($this->location))); $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->paese = formatTextEditorOutput($this->paese); $this->descrizione = formatTextEditorOutput($this->descrizione); $this->annoProd = formatTextEditorOutput($this->annoProd); $this->annoAmb = formatTextEditorOutput($this->annoAmb); $this->attori = formatTextEditorOutput($this->attori); $this->genere = formatTextEditorOutput($this->genere); $this->premi = formatTextEditorOutput($this->premi); $this->linkProduzione = formatTextEditorOutput($this->linkProduzione); $this->idVideo = formatTextEditorOutput($this->idVideo); $this->descrVideo = formatTextEditorOutput($this->descrVideo); $this->produzione = formatTextEditorOutput($this->produzione); $this->sviluppo = formatTextEditorOutput($this->sviluppo); $this->locationTesto = formatTextEditorOutput($this->locationTesto); $this->luoghi = formatTextEditorOutput($this->luoghi); $this->enogastronomia = formatTextEditorOutput($this->enogastronomia); $this->linkContatti = formatTextEditorOutput($this->linkContatti); $this->immagine1[1] = formatTextEditorOutput($this->immagine1[1]); $this->immagine1[2] = formatTextEditorOutput($this->immagine1[2]); $this->immagine2[1] = formatTextEditorOutput($this->immagine2[1]); $this->immagine2[2] = formatTextEditorOutput($this->immagine2[2]); $this->immagine3[1] = formatTextEditorOutput($this->immagine3[1]); $this->immagine3[2] = formatTextEditorOutput($this->immagine3[2]); $this->immagine4[1] = formatTextEditorOutput($this->immagine4[1]); $this->immagine4[2] = formatTextEditorOutput($this->immagine4[2]); $this->immagine5[1] = formatTextEditorOutput($this->immagine5[1]); $this->immagine5[2] = formatTextEditorOutput($this->immagine5[2]); $this->keywords = formatTextEditorOutput($this->keywords); } else { echo('Error! ' . $this->db->error); } } else { echo('Error! ' . $stmtSelect->error); } } public function getFilmGameByLocationId($locationId) { $lng = getLanguagePrefix(); $outputArray = array(); $typeMovie = 'film'; $typeVideogame = 'videogioco'; $stmtSelect = $this->db->prepare( "SELECT id, {$lng}titolo, regista, {$lng}genere, locandina FROM oggetto_film WHERE FIND_IN_SET(?, location) AND (tipologia = ? OR tipologia = ?) AND permessi_lettura != 'H' AND {$lng}titolo != '' ORDER BY {$lng}titolo"); $stmtSelect->bind_param('iss', $locationId, $typeMovie, $typeVideogame); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->regista, $this->genere, $this->locandina ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => formatTextEditorOutput($this->id), "titolo" => formatTextEditorOutput($this->titolo), "regista" => formatTextEditorOutput($this->regista), "genere" => formatTextEditorOutput($this->genere), "locandina" => formatTextEditorOutput($this->locandina) ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getSearchItinerari($keyword = "", $regione = "", $limit, $offset) { $lng = getLanguagePrefix(); $elementType = 'itinerario'; $types = ''; $params = array(); $outputArray = array(); $query = "SELECT id, titolo, locandina, stato_pubblicazione FROM oggetto_film WHERE permessi_lettura != 'H' AND tipologia = ?"; $types .="s"; array_push($params, $elementType); $keywordOriginale = $keyword; $keyword = str_replace('è','è',$keyword); $keyword = str_replace('é','é',$keyword); $keyword = str_replace('à','à',$keyword); $keyword = str_replace('ò','ò',$keyword); $keyword = str_replace('ù','ù',$keyword); $keyword = str_replace('ù','ù',$keyword); $keyword = str_replace('ü','ü',$keyword); if ($keyword != "") { $query .= " AND ({$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%'))"; $types .= 'ssss'; array_push($params, $keyword, $keywordOriginale, $keyword, $keywordOriginale); } if ($regione != "") { $query .= " AND FIND_IN_SET(?, regioni)"; $types .= 'i'; array_push($params, $regione); } $query .= " ORDER BY data_film DESC LIMIT ? OFFSET ?"; $types .= 'ii'; array_push($params, $limit, $offset); $stmtSelect = $this->db->prepare($query); $paramsReference = array(); $paramsReference[] = & $types; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->locandina, $this->permessiLettura ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "url_seo" => getTitleElementForURL($this->titolo), "locandina" => $this->locandina, "permessiLettura" => $this->permessiLettura ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getLastItinerari(){ $outputArray = array(); $stmtSelect = $this->db->prepare( "SELECT id, titolo, locandina FROM oggetto_film WHERE tipologia = 'itinerario' AND permessi_lettura != 'H' ORDER BY data_film DESC LIMIT 6"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->locandina ); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->locandina); $singleFilmGameArray = array( "id" => $this->id, "titolo" => $this->titolo, "url_seo" => getTitleElementForURL($this->titolo), "locandina" => $this->locandina ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getFilmLocation() { $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT titolo, location FROM oggetto_film WHERE permessi_lettura != 'H'"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->titolo, $this->location); while($stmtSelect->fetch()) { $this->titolo = $this->titolo; $singleFilmGameArray = array( "titolo" => $this->titolo, "location" => $this->location ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getSuggestedRoutesByRegionId($regionId) { $lng = getLanguagePrefix(); $outputArray = array(); $typeRoute = 'itinerario'; $stmtSelect = $this->db->prepare( "SELECT id, {$lng}titolo, locandina FROM oggetto_film WHERE FIND_IN_SET(?, regioni) AND permessi_lettura != 'H' AND tipologia = ? AND {$lng}titolo != '' ORDER BY {$lng}titolo"); $stmtSelect->bind_param('is', $regionId, $typeRoute); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->locandina); while($stmtSelect->fetch()) { $this->id = formatTextEditorOutput($this->id); $this->titolo = formatTextEditorOutput($this->titolo); $this->locandina = formatTextEditorOutput($this->locandina); $singleFilmGameArray = array( "id" => $this->id, "titolo" => $this->titolo, "locandina" => $this->locandina ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getFilmGameByIdAdmin() { $lng = getLanguagePrefix(); $stmtSelect = $this->db->prepare("SELECT tipologia, data_film, titolo, regista, paese, " . "descrizione, anno_prod, anno_amb, attori, genere, premi, url_prod, url_video, " . "descrizione_video, nome_produzione, sviluppo, regioni, location, location_testo, " . "luoghi, enogastronomia, link_contatti, locandina, img_1, desc_img_1, " . "copy_img_1, img_2, desc_img_2, copy_img_2, img_3, desc_img_3, copy_img_3, " . "img_4, desc_img_4, copy_img_4, img_5, desc_img_5, copy_img_5, data_scadenza, " . "stato_pubblicazione, en_titolo, en_paese, en_anno_amb, en_genere, " . "en_premi, en_descrizione, en_url_video, en_descrizione_video, en_luoghi, " . "en_nome_produzione, en_enogastronomia, en_location_testo, en_locandina, " . "en_link_contatti, en_img_1, en_img_2, en_img_3, en_img_4, en_img_5, " . "en_desc_img_1, en_desc_img_2, en_desc_img_3, en_desc_img_4, " . "en_desc_img_5, keywords FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $this->id); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->tipologia, $this->data, $this->titolo, $this->regista, $this->paese, $this->descrizione, $this->annoProd, $this->annoAmb, $this->attori, $this->genere, $this->premi, $this->linkProduzione, $this->idVideo, $this->descrVideo, $this->produzione, $this->sviluppo, $this->regioni, $this->location, $this->locationTesto, $this->luoghi, $this->enogastronomia, $this->linkContatti, $this->locandina, $this->immagine1[0], $this->immagine1[1], $this->immagine1[2], $this->immagine2[0], $this->immagine2[1], $this->immagine2[2], $this->immagine3[0], $this->immagine3[1], $this->immagine3[2], $this->immagine4[0], $this->immagine4[1], $this->immagine4[2], $this->immagine5[0], $this->immagine5[1], $this->immagine5[2], $this->dataScadenza, $this->statoPubblicazione, $this->titoloEN, $this->paeseEN, $this->annoAmbEN, $this->genereEN, $this->premiEN, $this->descrizioneEN, $this->idVideoEN, $this->descrVideoEN, $this->luoghiEN, $this->produzioneEN, $this->enogastronomiaEN, $this->locationTestoEN, $this->locandinaEN, $this->linkContattiEN, $this->immagine1[4], $this->immagine2[4], $this->immagine3[4], $this->immagine4[4], $this->immagine5[4], $this->immagine1[3], $this->immagine2[3], $this->immagine3[3], $this->immagine4[3], $this->immagine5[3], $this->keywords); $stmtSelect->fetch(); $this->idVideo = substr($this->idVideo, -11); $this->regioni = array_filter(explode(",", formatTextEditorOutput($this->regioni))); $this->location = array_filter(explode(",", formatTextEditorOutput($this->location))); $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->paese = formatTextEditorOutput($this->paese); $this->descrizione = formatTextEditorOutput($this->descrizione); $this->annoProd = formatTextEditorOutput($this->annoProd); $this->annoAmb = formatTextEditorOutput($this->annoAmb); $this->attori = formatTextEditorOutput($this->attori); $this->genere = formatTextEditorOutput($this->genere); $this->premi = formatTextEditorOutput($this->premi); $this->linkProduzione = formatTextEditorOutput($this->linkProduzione); $this->idVideo = formatTextEditorOutput($this->idVideo); $this->descrVideo = formatTextEditorOutput($this->descrVideo); $this->produzione = formatTextEditorOutput($this->produzione); $this->sviluppo = formatTextEditorOutput($this->sviluppo); $this->locationTesto = formatTextEditorOutput($this->locationTesto); $this->luoghi = formatTextEditorOutput($this->luoghi); $this->enogastronomia = formatTextEditorOutput($this->enogastronomia); $this->linkContatti = formatTextEditorOutput($this->linkContatti); $this->keywords = formatTextEditorOutput($this->keywords); $this->immagine1[1] = formatTextEditorOutput($this->immagine1[1]); $this->immagine1[2] = formatTextEditorOutput($this->immagine1[2]); $this->immagine2[1] = formatTextEditorOutput($this->immagine2[1]); $this->immagine2[2] = formatTextEditorOutput($this->immagine2[2]); $this->immagine3[1] = formatTextEditorOutput($this->immagine3[1]); $this->immagine3[2] = formatTextEditorOutput($this->immagine3[2]); $this->immagine4[1] = formatTextEditorOutput($this->immagine4[1]); $this->immagine4[2] = formatTextEditorOutput($this->immagine4[2]); $this->immagine5[1] = formatTextEditorOutput($this->immagine5[1]); $this->immagine5[2] = formatTextEditorOutput($this->immagine5[2]); $this->titoloEN = formatTextEditorOutput($this->titoloEN); $this->paeseEN = formatTextEditorOutput($this->paeseEN); $this->annoAmbEN = formatTextEditorOutput($this->annoAmbEN); $this->genereEN = formatTextEditorOutput($this->genereEN); $this->premiEN = formatTextEditorOutput($this->premiEN); $this->descrizioneEN = formatTextEditorOutput($this->descrizioneEN); $this->descrVideoEN = formatTextEditorOutput($this->descrVideoEN); $this->produzioneEN = formatTextEditorOutput($this->produzioneEN); $this->locationTestoEN = formatTextEditorOutput($this->locationTestoEN); $this->luoghiEN = formatTextEditorOutput($this->luoghiEN); $this->enogastronomiaEN = formatTextEditorOutput($this->enogastronomiaEN); $this->linkContattiEN = formatTextEditorOutput($this->linkContattiEN); $this->immagine1[3] = formatTextEditorOutput($this->immagine1[3]); $this->immagine1[4] = formatTextEditorOutput($this->immagine1[4]); $this->immagine2[3] = formatTextEditorOutput($this->immagine2[3]); $this->immagine2[4] = formatTextEditorOutput($this->immagine2[4]); $this->immagine3[3] = formatTextEditorOutput($this->immagine3[3]); $this->immagine3[4] = formatTextEditorOutput($this->immagine3[4]); $this->immagine4[3] = formatTextEditorOutput($this->immagine4[3]); $this->immagine4[4] = formatTextEditorOutput($this->immagine4[4]); $this->immagine5[3] = formatTextEditorOutput($this->immagine5[3]); $this->immagine5[4] = formatTextEditorOutput($this->immagine5[4]); } else { echo('Error! ' . $this->db->error); return $this->db->error; } } else { echo('Error! ' . $stmtSelect->error); return $this->db->error; } } public function getSearchResultFilmsGame($titolo, $tipologia, $regione, $anno, $limit, $offset) { $lng = getLanguagePrefix(); $permitsParam = 'H'; $types = 's'; $params = array($permitsParam); $titoloOriginale = $titolo; $titolo = str_replace('è','è',$titolo); $titolo = str_replace('é','é',$titolo); $titolo = str_replace('à','à',$titolo); $titolo = str_replace('ò','ò',$titolo); $titolo = str_replace('ù','ù',$titolo); $titolo = str_replace('ù','ù',$titolo); $titolo = str_replace('ü','ü',$titolo); $query = "SELECT id, {$lng}titolo, regista, {$lng}locandina, descrizione, genere FROM oggetto_film WHERE permessi_lettura != ? AND {$lng}titolo != ''"; if ($titolo != "") { $titoloAccentEscaped = str_replace("'", "’", $titolo); $query .= " AND ({$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%') OR regista LIKE CONCAT( '%', ?, '%') OR regista LIKE CONCAT( '%', ?, '%') OR attori LIKE CONCAT( '%', ?, '%') OR attori LIKE CONCAT( '%', ?, '%') OR genere LIKE CONCAT( '%', ?, '%') OR genere LIKE CONCAT( '%', ?, '%') OR luoghi LIKE CONCAT( '%', ?, '%') OR luoghi LIKE CONCAT( '%', ?, '%')"; $types .= 'ssssssssssss'; array_push($params, $titolo, $titoloOriginale,$titolo, $titoloOriginale,$titolo, $titoloOriginale,$titolo, $titoloOriginale,$titolo, $titoloOriginale,$titolo, $titoloOriginale); if (strpos($titolo, "'") !== false) { $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $titoloEscaped = addslashes($titolo); $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $types .= 'ss'; array_push($params, $titoloAccentEscaped, $titoloEscaped); } else if (strpos($titolo, "’") !== false) { $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $types .= 'ss'; array_push($params, $titoloAccentEscaped); } $query .= " ESCAPE '|')"; } if ($tipologia != "") { $query .= " AND tipologia = ?"; $types .= 's'; array_push($params, $tipologia); } $query .= " AND tipologia != 'itinerario'"; if ($anno != "") { $query .= " AND anno_prod LIKE CONCAT('%',?,'%')"; $types .= 's'; array_push($params, $anno); } if ($regione != "") { $query .= " AND FIND_IN_SET(?, regioni)"; $types .= 's'; array_push($params, $regione); } $query .= " ORDER BY data_film DESC LIMIT ? OFFSET ?"; $types .= 'ii'; array_push($params, $limit, $offset); $outputArray = array(); $stmtSelect = $this->db->prepare($query); $paramsReference = array(); $paramsReference[] = & $types; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); echo $stmtSelect->error; if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->genere ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "url_seo" => getTitleElementForURL($this->titolo), "locandina" => formatTextEditorOutput($this->locandina), "descrizione" => formatTextEditorOutput($this->descrizione), "regista" => formatTextEditorOutput($this->regista), "genere" => $this->genere ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $stmtSelect->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function countSearchResultFilmsGame($titolo, $tipologia, $regione, $anno, $limit, $offset) { $lng = getLanguagePrefix(); $permitsParam = 'H'; $types = 's'; $params = array($permitsParam); $titoloOriginale = $titolo; $titolo = str_replace('è','è',$titolo); $titolo = str_replace('é','é',$titolo); $titolo = str_replace('à','à',$titolo); $titolo = str_replace('ò','ò',$titolo); $titolo = str_replace('ù','ù',$titolo); $titolo = str_replace('ù','ù',$titolo); $titolo = str_replace('ü','ü',$titolo); $query = "SELECT COUNT(*) FROM oggetto_film WHERE permessi_lettura != ? AND {$lng}titolo != ''"; if ($titolo != "") { $titoloAccentEscaped = str_replace("'", "’", $titolo); $query .= " AND ({$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}titolo LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%') OR {$lng}descrizione LIKE CONCAT( '%', ?, '%') OR regista LIKE CONCAT( '%', ?, '%') OR regista LIKE CONCAT( '%', ?, '%') OR attori LIKE CONCAT( '%', ?, '%') OR attori LIKE CONCAT( '%', ?, '%') OR genere LIKE CONCAT( '%', ?, '%') OR genere LIKE CONCAT( '%', ?, '%') OR luoghi LIKE CONCAT( '%', ?, '%') OR luoghi LIKE CONCAT( '%', ?, '%')"; $types .= 'ssssssssssss'; array_push($params, $titolo, $titoloOriginale, $titolo, $titoloOriginale, $titolo, $titoloOriginale, $titolo, $titoloOriginale, $titolo, $titoloOriginale, $titolo, $titoloOriginale); if (strpos($titolo, "'") !== false) { $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $titoloEscaped = addslashes($titolo); $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $types .= 'ss'; array_push($params, $titoloAccentEscaped, $titoloEscaped); } else if (strpos($titolo, "’") !== false) { $query .= " OR {$lng}titolo LIKE CONCAT('%',?,'%')"; $types .= 'ss'; array_push($params, $titoloAccentEscaped); } $query .= " ESCAPE '|')"; } if ($tipologia != "") { $query .= " AND tipologia = ?"; $types .= 's'; array_push($params, $tipologia); } $query .= " AND tipologia != 'itinerario'"; if ($anno != "") { $query .= " AND anno_prod LIKE CONCAT('%',?,'%')"; $types .= 's'; array_push($params, $anno); } if ($regione != "") { $query .= " AND FIND_IN_SET(?, regioni)"; $types .= 's'; array_push($params, $regione); } $count = 0; $stmtSelect = $this->db->prepare($query); $paramsReference = array(); $paramsReference[] = & $types; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($count); $stmtSelect->fetch(); } else { echo('Error! ' . $this->db->error); } return $count; } else { echo('Error! ' . $stmtSelect->error); } } public function getLuoghiById($id) { $outputArray = array(); $lng = getLanguagePrefix(); if($lng=="en_"){$lang = "en"; } else{ $lang = "it";} $stmtSelect = $this->db->prepare(" SELECT id_luogo, titolo, immagine, testo, descrizione_img, video, tipo_video FROM luoghi WHERE id_itinerario = ? AND lingua = ?"); $stmtSelect->bind_param('is', $id,$lang); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($idLuogo, $titolo_luogo, $immagine_luogo, $testo_luogo, $descrizione_img, $video, $tipo_video); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $idLuogo, "titolo" => formatTextEditorOutput($titolo_luogo), "immagine" => formatTextEditorOutput($immagine_luogo), "testo" => formatTextEditorOutput($testo_luogo), "descr_img" => $descrizione_img, "video" => $video, "tipo_video" => $tipo_video); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $stmtSelect->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getLatestFilmsGame() { $lng = getLanguagePrefix(); $outputArray = array(); $stmtSelect = $this->db->prepare( "SELECT id, {$lng}titolo, regista, locandina, en_locandina, {$lng}descrizione, {$lng}genere FROM oggetto_film WHERE tipologia != 'itinerario' ORDER BY data_film DESC LIMIT 10"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->regista, $this->locandina, $this->locandinaEN, $this->descrizione, $this->genere ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "locandina" => formatTextEditorOutput($this->locandina), "en_locandina" => formatTextEditorOutput($this->locandinaEN), "descrizione" => formatTextEditorOutput($this->descrizione), "regista" => formatTextEditorOutput($this->regista), "genere" => $this->genere ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $stmtSelect->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getLocandinaById($id) { $result = $this->db->query("SELECT locandina FROM oggetto_film " . "WHERE id = '".$id."'"); $total = $result->fetch_assoc(); return $total['locandina']; } public function countSearchRedactorFilmsGames($search) { $result = $this->db->query("SELECT COUNT(*) FROM oggetto_film " . "WHERE titolo LIKE '%" . $search . "%' AND id_proprietario = " . $_SESSION['userId']); $total = $result->fetch_assoc(); return $total['COUNT(*)']; } public function countFilmsGamesRedactor() { $result = $this->db->query("SELECT COUNT(*) FROM oggetto_film WHERE id_proprietario = " . $_SESSION['userId']); $total = $result->fetch_assoc(); return $total['COUNT(*)']; } public function getLocandinaDefault() { $result = $this->db->query("SELECT locandina FROM oggetto_film WHERE id = " . $this->id); $total = $result->fetch_assoc(); return $total['locandina']; } public function getPagedFilmsGamesRedactor($limit, $offset) { $idRedactor = $_SESSION['userId']; $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id, titolo, regista, locandina, descrizione, permessi_lettura " . "FROM oggetto_film WHERE id_proprietario = ? ORDER BY titolo ASC LIMIT ? OFFSET ?"); $stmtSelect->bind_param('iii', $idRedactor, $limit, $offset); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->permessiLettura); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->locandina = formatTextEditorOutput($this->locandina); $this->descrizione = formatTextEditorOutput($this->descrizione); $singleFilmGameArray = array($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->permessiLettura); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getPagedFilmsGamesByRedactorSearch($limit, $offset, $search) { $idRedactor = $_SESSION['userId']; $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id, titolo, regista, locandina, descrizione, permessi_lettura " . "FROM oggetto_film WHERE titolo LIKE CONCAT('%',?,'%') AND id_proprietario = ? " . "ORDER BY titolo ASC LIMIT ? OFFSET ?"); $stmtSelect->bind_param('siii', $search, $idRedactor, $limit, $offset); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->permessiLettura); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->locandina = formatTextEditorOutput($this->locandina); $this->descrizione = formatTextEditorOutput($this->descrizione); $singleFilmGameArray = array($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->permessiLettura); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getPagedFilmsGames($limit, $offset, $tipologia = "") { $lng = getLanguagePrefix(); $outputArray = array(); $query = "SELECT id, {$lng}titolo, regista, {$lng}locandina, {$lng}descrizione, id_proprietario " . "FROM oggetto_film WHERE tipologia= ?"; if($_SESSION['permessi'] < 4) { $query .= " AND permessi_lettura != 'H'"; } $query .= " AND {$lng}titolo != '' ORDER BY data_film DESC LIMIT ? OFFSET ?"; $stmtSelect = $this->db->prepare($query); $stmtSelect->bind_param('sii', $tipologia, $limit, $offset); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->idProprietario); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $this->regista = formatTextEditorOutput($this->regista); $this->locandina = formatTextEditorOutput($this->locandina); $this->descrizione = formatTextEditorOutput($this->descrizione); $singleFilmGameArray = array($this->id, $this->titolo, $this->regista, $this->locandina,$this->descrizione, $this->idProprietario); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getPagedFilmsGamesAdminByType($types, $limit, $offset) { $outputArray = array(); $query = "SELECT id, titolo, descrizione,stato_pubblicazione FROM oggetto_film WHERE "; $typesQuery = array(); $typesParams = ''; $params = array(); foreach ($types as $type) { array_push($typesQuery, 'tipologia = ?'); $typesParams .= 's'; array_push($params, $type); } $query .= implode(" OR ", $typesQuery); $query .= " ORDER BY titolo ASC LIMIT ? OFFSET ?"; $typesParams .= 'ii'; array_push($params, $limit, $offset); $stmtSelect = $this->db->prepare($query); $paramsReference = array(); $paramsReference[] = & $typesParams; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->descrizione, $this->permessiLettura ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "descrizione" => formatTextEditorOutput($this->descrizione), "url_seo" => getTitleElementForURL($this->titolo), "permessiLettura" => getTitleElementForURL($this->permessiLettura) ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function searchFilmGameAdmin($string, $types, $limit, $offset) { $outputArray = array(); $query = "SELECT id, titolo, regista, locandina, descrizione, permessi_lettura, stato_pubblicazione FROM oggetto_film WHERE (titolo LIKE CONCAT('%',?,'%') OR descrizione LIKE CONCAT('%',?,'%')) AND "; $typesQuery = array(); $typesParams = 'ss'; $params = [$string, $string]; foreach ($types as $type) { array_push($typesQuery, 'tipologia = ?'); $typesParams .= 's'; array_push($params, $type); } $query .= "(" . implode(" OR ", $typesQuery) . ")"; $query .= " ORDER BY titolo ASC LIMIT ? OFFSET ?"; $typesParams .= 'ii'; array_push($params, $limit, $offset); $stmtSelect = $this->db->prepare($query); $paramsReference = array(); $paramsReference[] = & $typesParams; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($this->id, $this->titolo, $this->regista, $this->locandina, $this->descrizione, $this->permessiLettura, $this->statoPubblicazione); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "url_seo" => getTitleElementForURL($this->titolo), "regista" => formatTextEditorOutput($this->regista), "locandina" => formatTextEditorOutput($this->locandina), "descrizione" => formatTextEditorOutput($this->descrizione), "permessi_lettura" => $this->permessiLettura, "permessiLettura" => $this->statoPubblicazione ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); } } public function getAllFilmsGamesExceptId($idToExclude) { $lng = getLanguagePrefix(); $outputArray = array(); $stmtSelect = $this->db->prepare( "SELECT id, {$lng}titolo, regista, {$lng}genere, location, locandina, en_locandina FROM oggetto_film WHERE permessi_lettura != 'H' AND id != ? AND tipologia != 'itinerario' ORDER BY titolo ASC"); $stmtSelect->bind_param('i', $idToExclude); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result( $this->id, $this->titolo, $this->regista, $this->genere, $this->location, $this->locandina, $this->locandinaEN ); while($stmtSelect->fetch()) { $singleFilmGameArray = array( "id" => $this->id, "titolo" => formatTextEditorOutput($this->titolo), "regista" => formatTextEditorOutput($this->regista), "genere" => formatTextEditorOutput($this->genere), "location" => array_filter(explode(",", $this->location)), "locandina" => formatTextEditorOutput($this->locandina), "en_locandina" => formatTextEditorOutput($this->locandinaEN) ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); return -1; } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); return -1; } } public function getAllFilmsGames() { $lng = getLanguagePrefix(); $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id, {$lng}titolo, location, {$lng}img_1, " . "{$lng}img_2, {$lng}img_3, {$lng}img_4, {$lng}img_5 " . "FROM oggetto_film WHERE permessi_lettura != 'H' ORDER BY data_film DESC"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($id, $titolo, $location, $img_1, $img_2, $img_3, $img_4, $img_5); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $singleFilmGameArray = array( $id, $titolo, array_filter(explode(",", $location)), $img_1, $img_2, $img_3, $img_4, $img_5 ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); return -1; } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); return -1; } } public function getAllFilmsGamesPoster() { $lng = getLanguagePrefix(); $outputArray = array(); $stmtSelect = $this->db->prepare( "SELECT id, {$lng}titolo, {$lng}locandina FROM oggetto_film ORDER BY data_film DESC"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($id, $titolo, $locandina); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $singleFilmGameArray = array( $id, $titolo, $locandina ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); return -1; } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); return -1; } } public function getAllFilmsGamesByName() { $lng = getLanguagePrefix(); $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id, titolo, location, " . "img_1, img_2, img_3, img_4, img_5 " . "FROM oggetto_film WHERE permessi_lettura != 'H' ORDER BY titolo"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($id, $titolo, $location, $img_1, $img_2, $img_3, $img_4, $img_5); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $singleFilmGameArray = array($id, $titolo, array_filter(explode(",", $location)),$img_1,$img_2,$img_3,$img_4,$img_5); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); return -1; } return $outputArray; } else { echo('Error! ' . $this->db->error); return -1; } } public function getAllFilmsGamesForExport() { $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id, titolo, location FROM oggetto_film ORDER BY titolo"); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($id, $titolo, $location); while($stmtSelect->fetch()) { $this->titolo = formatTextEditorOutput($this->titolo); $singleFilmGameArray = array( "id" => $id, "titolo" => $titolo, "location" => array_filter(explode(",", $location)) ); array_push($outputArray, $singleFilmGameArray); } } else { echo('Error! ' . $this->db->error); return -1; } return $outputArray; } else { echo('Error! ' . $stmtSelect->error); return -1; } } public function insertFilmGame() { $stmtInsert = $this->db->prepare(" INSERT INTO oggetto_film (keywords, tipologia, data_film, titolo, regista, paese, descrizione_video, descrizione, anno_prod, anno_amb, attori, genere, premi, url_video, nome_produzione, sviluppo, regioni, location, location_testo, luoghi, enogastronomia, link_contatti, locandina, data_creazione, ultima_modifica, data_scadenza, stato_pubblicazione, permessi_lettura, id_proprietario, id_sezione, en_titolo, en_paese, en_anno_amb, en_genere, en_url_video, en_nome_produzione, en_link_contatti, en_location_testo, en_locandina, en_premi, en_descrizione, en_descrizione_video, en_luoghi, en_enogastronomia) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); if(!$stmtInsert) { trigger_error("Errore! " . $this->db->error, E_USER_WARNING); return -1; } $stmtInsert->bind_param("ssissssssssssssssssssssiiissiissssssssssssss", $this->keywords, $this->tipologia, $this->data, $this->titolo, $this->regista, $this->paese, $this->descrVideo, $this->descrizione, $this->annoProd, $this->annoAmb, $this->attori, $this->genere, $this->premi, $this->idVideo, $this->produzione, $this->sviluppo, $this->regioni, $this->location, $this->locationTesto, $this->luoghi, $this->enogastronomia, $this->linkContatti, $this->locandina, $this->dataCreazione, $this->dataUltimaModifica, $this->dataScadenza, $this->statoPubblicazione, $this->permessiLettura, $this->idProprietario, $this->idSezione, $this->titoloEN, $this->paeseEN, $this->annoAmbEN, $this->genereEN, $this->idVideoEN, $this->produzioneEN, $this->linkContattiEN, $this->locationTestoEN, $this->locandinaEN, $this->premiEN, $this->descrizioneEN, $this->descrVideoEN, $this->luoghiEN, $this->enogastronomiaEN); if(!$stmtInsert->execute()) { trigger_error("Errore! " . $this->db->error, E_USER_WARNING); return -1; } $stmtInsert->close(); return 1; } public function updateFilmGame() { $query = "UPDATE oggetto_film SET keywords = '$this->keywords', titolo = '$this->titolo', tipologia = '$this->tipologia', data_film = '$this->data', regista = '$this->regista', paese = '$this->paese', descrizione_video = '$this->descrVideo', descrizione = '$this->descrizione', anno_prod = '$this->annoProd', anno_amb = '$this->annoAmb', attori = '$this->attori', genere = '$this->genere', premi = '$this->premi', url_video = '$this->idVideo', nome_produzione = '$this->produzione', sviluppo = '$this->sviluppo', regioni = '$this->regioni', location = '$this->location', location_testo = '$this->locationTesto', luoghi = '$this->luoghi', enogastronomia = '$this->enogastronomia', link_contatti = '$this->linkContatti', ultima_modifica = '$this->dataUltimaModifica', data_scadenza = '$this->dataScadenza', stato_pubblicazione = '$this->statoPubblicazione', permessi_lettura = '$this->permessiLettura', en_titolo = '$this->titoloEN', en_paese = '$this->paeseEN', en_anno_amb = '$this->annoAmbEN', en_genere = '$this->genereEN', en_premi = '$this->premiEN', en_descrizione = '$this->descrizioneEN', en_descrizione_video = '$this->descrVideoEN', en_luoghi = '$this->luoghiEN', en_enogastronomia = '$this->enogastronomiaEN', en_url_video = '$this->idVideoEN', en_nome_produzione = '$this->produzioneEN', en_link_contatti = '$this->linkContattiEN', en_location_testo = '$this->locationTestoEN', desc_img_1 = '" . $this->immagine1[1] . "', copy_img_1 = '" . $this->immagine1[2] . "', en_desc_img_1 = '" . $this->immagine1[3] . "', desc_img_2 = '" . $this->immagine2[1] . "', copy_img_2 = '" . $this->immagine2[2] . "', en_desc_img_2 = '" . $this->immagine2[3] . "', desc_img_3 = '" . $this->immagine3[1] . "', copy_img_3 = '" . $this->immagine3[2] . "', en_desc_img_3 = '" . $this->immagine3[3] . "', desc_img_4 = '" . $this->immagine4[1] . "', copy_img_4 = '" . $this->immagine4[2] . "', en_desc_img_4 = '" . $this->immagine4[3] . "', desc_img_5 = '" . $this->immagine5[1] . "', copy_img_5 = '" . $this->immagine5[2] . "', en_desc_img_5 = '" . $this->immagine5[3] . "'"; if($this->locandina != '') { $query .= ", locandina = '" . $this->locandina . "'"; } if($this->locandinaEN != '') { $query .= ", en_locandina = '" . $this->locandinaEN . "'"; } if($this->immagine1[0] != '') { $query .= ", img_1 = '" . $this->immagine1[0] . "'"; } if($this->immagine1[4] != '') { $query .= ", en_img_1 = '" . $this->immagine1[4] . "'"; } if($this->immagine2[0] != '' && $this->immagine2[0] != 'del') { $query .= ", img_2 = '" . $this->immagine2[0] . "'"; } else if($this->immagine2[0] == 'del') { $query .= ", img_2 = ''"; } if($this->immagine2[4] != '' && $this->immagine2[4] != 'del') { $query .= ", en_img_2 = '" . $this->immagine2[4] . "'"; } else if($this->immagine2[4] == 'del') { $query .= ", en_img_2 = ''"; } if($this->immagine3[0] != '' && $this->immagine3[0] != 'del') { $query .= ", img_3 = '" . $this->immagine3[0] . "'"; } else if($this->immagine3[0] == 'del') { $query .= ", img_3 = ''"; } if($this->immagine3[4] != '' && $this->immagine3[4] != 'del') { $query .= ", en_img_3 = '" . $this->immagine3[4] . "'"; } else if($this->immagine3[4] == 'del') { $query .= ", en_img_3 = ''"; } if($this->immagine4[0] != '' && $this->immagine4[0] != 'del') { $query .= ", img_4 = '" . $this->immagine4[0] . "'"; } else if($this->immagine4[0] == 'del') { $query .= ", img_4 = ''"; } if($this->immagine4[4] != '' && $this->immagine4[4] != 'del') { $query .= ", en_img_4 = '" . $this->immagine4[4] . "'"; } else if($this->immagine4[4] == 'del') { $query .= ", en_img_4 = ''"; } if($this->immagine5[0] != '' && $this->immagine5[0] != 'del') { $query .= ", img_5 = '" . $this->immagine5[0] . "'"; } else if($this->immagine5[0] == 'del') { $query .= ", img_5 = ''"; } if($this->immagine5[4] != '' && $this->immagine5[4] != 'del') { $query .= ", en_img_5 = '" . $this->immagine5[4] . "'"; } else if($this->immagine5[4] == 'del') { $query .= ", en_img_5 = ''"; } $query .= " WHERE id = $this->id"; //return $query; return $this->db->query($query); } public function updateFilmGameLocation($id,$indirizzo,$lat,$lng,$titolo,$en_titolo) { $query = "UPDATE location_film SET latitudine = '$lat', longitudine = '$lng', indirizzo = '".$indirizzo."', titolo='".$titolo."', en_titolo='".$en_titolo."'"; $query .= " WHERE id = $id"; $result = $this->db->query($query); if($result) { return 1; } else { return -1; } } public function modifyFilmGameLocation($id,$titolo,$en_titolo) { $query = "UPDATE location_film SET titolo = '".$titolo."', en_titolo='".$en_titolo."'"; $query .= " WHERE id = $id"; $result = $this->db->query($query); if($result) { return 1; } else { return -1; } } public function deleteFilmGameLocation($id) { $query = "DELETE FROM location_film "; $query .= " WHERE id = $id"; $result = $this->db->query($query); if($result) { return 1; } else { return -1; } } public function insertFilmGameLocation($id_film,$indirizzo,$lat,$lng,$titolo,$en_titolo) { $stmtInsert = $this->db->prepare("INSERT INTO location_film (id_film,latitudine, longitudine, " . "indirizzo, titolo, en_titolo) VALUES (?, ?, ?, ?, ?, ?)"); if(!$stmtInsert) { trigger_error("Errore! " . $this->db->error, E_USER_WARNING); return -1; } $stmtInsert->bind_param("isssss",$id_film,$lat,$lng,$indirizzo,$titolo,$en_titolo); if(!$stmtInsert->execute()) { trigger_error("Errore! " . $this->db->error, E_USER_WARNING); return -1; } $stmtInsert->close(); return 1; } public function updateFilmGamePoster() { $lng = getLanguagePrefix(); $query = "UPDATE oggetto_film SET {$lng}locandina = ? WHERE id = ?"; $stmtUpdateImg = $this->db->prepare($query); if($stmtUpdateImg) { $stmtUpdateImg->bind_param("si", $this->locandina, $this->id); if($stmtUpdateImg->execute()) { return 1; } else { return -1; } } else { return -1; } } public function updateFilmGameImage($indexImage, $filenameImage) { $query = "UPDATE oggetto_film SET img_{$indexImage} = ? WHERE id = ?"; $stmtUpdateImg = $this->db->prepare($query); if($stmtUpdateImg) { $stmtUpdateImg->bind_param("si", $filenameImage, $this->id); if($stmtUpdateImg->execute()) { return 1; } else { return -1; } } else { return -1; } } public function deleteFilmGame() { $stmtDelete = $this->db->prepare("DELETE FROM oggetto_film WHERE id = ?"); $stmtDelete->bind_param("i", $this->id); if(!$stmtDelete->execute()) { trigger_error("Errore! " . $this->db->error); } } public function addLocationToFilmGame($filmGame, $locationId) { $locationsString = ""; $stmtSelect = $this->db->prepare("SELECT location FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $filmGame); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($locationsString); $stmtSelect->fetch(); } } if($locationsString != '') { $locationsArray = explode(",", $locationsString); array_push($locationsArray, $locationId); $locationsString = implode(",", $locationsArray); } else { $locationsString = $locationId; } $stmtUpdate = $this->db->prepare("UPDATE oggetto_film SET location = ? WHERE id = ?"); $stmtUpdate->bind_param('si', $locationsString, $filmGame); $stmtUpdate->execute(); } public function addLocationToFilmGameArray($filmGameArray, $locationId) { foreach($filmGameArray as $filmGame) { $locationsString = ""; $stmtSelect = $this->db->prepare("SELECT location FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $filmGame); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($locationsString); $stmtSelect->fetch(); } } if($locationsString != '') { $locationsArray = explode(",", $locationsString); array_push($locationsArray, $locationId); $locationsString = implode(",", $locationsArray); } else { $locationsString = $locationId; } $stmtUpdate = $this->db->prepare("UPDATE oggetto_film SET location = ? WHERE id = ?"); $stmtUpdate->bind_param('si', $locationsString, $filmGame); $stmtUpdate->execute(); } } public function removeLocationFromFilmGame($filmGame, $locationId) { $locationsString = ""; $stmtSelect = $this->db->prepare("SELECT location FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $filmGame); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($locationsString); $stmtSelect->fetch(); } } $locationsArray = explode(",", $locationsString); if(($key = array_search($locationId, $locationsArray)) !== false) { unset($locationsArray[$key]); } $locationsString = implode(",", $locationsArray); $stmtUpdate = $this->db->prepare("UPDATE oggetto_film SET location = ? WHERE id = ?"); $stmtUpdate->bind_param('si', $locationsString, $filmGame); $stmtUpdate->execute(); } public function removeLocationFromAllFilmsGames($locationId) { $linkedFilmGame = $this->getFilmGameByLocationId($locationId); foreach($linkedFilmGame as $filmGame) { $locationsString = ""; $stmtSelect = $this->db->prepare("SELECT location FROM oggetto_film WHERE id = ?"); $stmtSelect->bind_param('i', $filmGame); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($locationsString); $stmtSelect->fetch(); } } $locationsArray = explode(",", $locationsString); if(($key = array_search($locationId, $locationsArray)) !== false) { unset($locationsArray[$key]); } $locationsString = implode(",", $locationsArray); $stmtUpdate = $this->db->prepare("UPDATE oggetto_film SET location = ? WHERE id = ?"); $stmtUpdate->bind_param('si', $locationsString, $filmGame); $stmtUpdate->execute(); } } public function findFilmsGamesByLocationId($locationId) { // Da ottimizzare $outputArray = array(); $allFilms = $this->getAllFilmsGames(); foreach($allFilms as $film) { if(in_array($locationId, $film[2])) { $filmFound = array($film[0], $film[1]); array_push($outputArray, $filmFound); } } return $outputArray; } public function findFilmsByLocationList($arrayLocation, $idToExclude) { // Da ottimizzare $outputArray = array(); $allFilms = $this->getAllFilmsGamesExceptId($idToExclude); foreach($allFilms as $film) { $countLocationsCurrentFilm = count($film["location"]); $countDiff = count(array_diff($film["location"], $arrayLocation)); if ($countLocationsCurrentFilm > $countDiff) { array_push($outputArray, $film); } } return $outputArray; } public function countFilmsGames($tipologia) { $lng = getLanguagePrefix(); $query = "SELECT COUNT(*) FROM oggetto_film WHERE tipologia = '" . $tipologia . "'"; if($_SESSION['permessi'] < 4) { $query .= " AND permessi_lettura != 'H'"; } $query .= " AND {$lng}titolo != ''"; $result = $this->db->query($query); $total = $result->fetch_assoc(); return $total['COUNT(*)']; } public function countFilmsGamesAdminByType($types) { $query = "SELECT COUNT(*) FROM oggetto_film WHERE "; $typesQuery = array(); foreach ($types as $type) { array_push($typesQuery, "tipologia = '{$type}'"); } $query .= implode(" OR ", $typesQuery); $result = $this->db->query($query); $total = $result->fetch_assoc(); return $total['COUNT(*)']; } public function countSearchFilmGameAdmin($search, $types) { $query = " SELECT COUNT(*) FROM oggetto_film WHERE (titolo LIKE '%" . $search . "%' OR descrizione LIKE '%" . $search . "%')"; $typesArray = array(); foreach ($types as $type) { array_push($typesArray, "tipologia = '{$type}'"); } $query .= " AND (" . implode(" OR ", $typesArray) . ")"; $result = $this->db->query($query); $total = $result->fetch_assoc(); return $total['COUNT(*)']; } public function countFilmGameImages() { $count = 0; $imagesArray = array( $this->immagine1, $this->immagine2, $this->immagine3, $this->immagine4, $this->immagine5 ); foreach($imagesArray as $image) { if($image[0] != '') { $count++; } } return $count; } public function get_json_location($id) { $lng = getLanguagePrefix(); function array_remove_item($arr,$item) { // verifico che il valore sia compreso nell'array if(in_array($item,$arr)) { // rimuovo il valore passando ad unset la chiave dell'item // recuperata usando array_search unset($arr[array_search($item,$arr)]); // restituisco l'array dopo averla re-indicizzata return array_values($arr); } else{ // se non trovo corrispondenze restituisco l'array così com'è return $arr; } } $region = array(); $stmtSelect = $this->db->query("SELECT location, regioni FROM oggetto_film WHERE permessi_lettura != 'H' AND id='".$id."'"); if($stmtSelect) { $json = "["; $i = 0; function elimina_elemento($arr,$val) { if (($key = array_search($val, $arr)) !== false) { unset($arr[$key]); } return $arr; } while($result = $stmtSelect->fetch_assoc()) { $location = explode(",",$result['location']); $regioni = explode(",",$result['regioni']); if($result['location'] != "" && $result['location'] != ",") { $x=0; foreach($location as $loc) { $stmtSelect1 = $this->db->query("SELECT * FROM oggetto_location WHERE id=" . $loc); $result1 = $stmtSelect1->fetch_assoc(); $regioni = elimina_elemento($regioni, $result1['regione']); if($x!=0) $json .= ","; $json .= '{"id":"'.$result1['id'].'", "titolo":"'.formatTextEditorOutput($result1['titolo']).'","img_1":"'.formatTextEditorOutput($result1['img_1']). '", "lat":"'.$result1['latitudine'].'", "lng":"'.$result1['longitudine'].'"}'; $x++; } if(count($regioni)!=0){ foreach($regioni as $reg) { if($reg!="") { if($x!=0) $json.=","; if($reg== 1) { $titolo = 'Piemonte'; $lat = 45.114185; $lng = 7.782525; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301700540O__OTorino.jpg'; } if($reg== 2) { $titolo = 'Valle d\'Aosta'; $lat = 45.7352133; $lng = 7.3847629; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301659470O__Ocon-2013-9-30-13-42-56-agriturismo-valle-d-aosta.jpg'; } if($reg== 3) { $titolo = 'Lombardia'; $lat = 45.469709; $lng = 9.166802; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321357070O__Omilano.jpg'; } if($reg== 4) { $titolo = 'Trentino-Alto Adige'; $lat = 46.219700; $lng = 11.177301; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321358280O__Otrentino.jpg'; } if($reg== 5) { $titolo = 'Veneto'; $lat = 45.577470; $lng = 12.660455; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321402110O__Oponti-venezia.jpg'; } if($reg== 6){ $titolo = 'Friuli-Venezia Giulia'; $lat = 45.853621; $lng = 13.440484; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321400000O__Otrieste.jpg'; } if($reg== 7) { $titolo = 'Liguria'; $lat = 44.443531; $lng = 8.969048; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321403090O__Oliguria.jpg'; } if($reg== 8){ $titolo = 'Emilia-Romagna'; $lat = 44.615835; $lng = 11.276177; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321404100O__Oemilia.jpg'; } if($reg== 9) { $titolo = 'Toscana'; $lat = 43.462832; $lng = 10.792779; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321404540O__Otoscana.jpg'; } if($reg== 10) { $titolo = 'Umbria'; $lat = 42.781236; $lng = 12.671441; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321405570O__Oumbria.jpg'; } if($reg== 11) { $titolo = 'Marche'; $lat = 43.812675; $lng = 13.012017; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301658180O__Ourbino.jpg'; } if($reg== 12) { $titolo = 'Lazio'; $lat = 41.8933271; $lng = 12.4869999; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301657100O__OColosseo-laptop_1040_529.jpeg'; } if($reg== 13) { $titolo = 'Abruzzo'; $lat = 42.2691794; $lng = 13.8812255; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301648300O__OGran_sasso_italia.jpg'; } if($reg== 14) { $titolo = 'Molise'; $lat = 41.830632; $lng = 14.594049; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321406520O__Omolise.jpg'; } if($reg== 15) { $titolo = 'Campania'; $lat = 40.874007; $lng = 14.264459; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321408090O__Ocampania.jpg'; } if($reg== 16) { $titolo = 'Puglia'; $lat = 40.840770; $lng = 17.362603; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321409190O__Opuglia.jpg'; } if($reg== 17) { $titolo = 'Basilicata'; $lat = 40.624319; $lng = 16.439752; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321410200O__Obasilicata.jpg'; } if($reg== 18) { $titolo = 'Calabria'; $lat = 39.344860; $lng = 16.373834; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321411270O__Ocalabria.jpg'; } if($reg== 19) { $titolo = 'Sicilia'; $lat = 37.616347; $lng = 14.215020; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321412360O__Osicilia.jpg'; } if($reg== 20){ $titolo = 'Sardegna'; $lat = 40.069607; $lng = 9.015740; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321413430O__Osardegna.jpg'; } $json.='{"id":"'.$reg.'", "titolo":"'. str_replace('"', '\\"', formatTextEditorOutput($titolo)) .'","img_1":"'.formatTextEditorOutput($img).'", "lat":"'.$lat.'", "lng":"'.$lng.'"}'; $x++; } } } } else { $regioni = explode(",",$result['regioni']); $x=0; foreach($regioni as $reg) { if($reg!="") { if($x!=0) $json.=","; if($reg== 1) { $titolo = 'Piemonte'; $lat = 45.114185; $lng = 7.782525; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301700540O__OTorino.jpg'; } if($reg== 2) { $titolo = 'Valle d\'Aosta'; $lat = 45.7352133; $lng = 7.3847629; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301659470O__Ocon-2013-9-30-13-42-56-agriturismo-valle-d-aosta.jpg'; } if($reg== 3) { $titolo = 'Lombardia'; $lat = 45.469709; $lng = 9.166802; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321357070O__Omilano.jpg'; } if($reg== 4) { $titolo = 'Trentino'; $lat = 46.219700; $lng = 11.177301; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321358280O__Otrentino.jpg'; } if($reg== 5) { $titolo = 'Veneto'; $lat = 45.577470; $lng = 12.660455; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321402110O__Oponti-venezia.jpg'; } if($reg== 6){ $titolo = 'Friuli-Venezia Giulia'; $lat = 45.853621; $lng = 13.440484; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321400000O__Otrieste.jpg'; } if($reg== 7) { $titolo = 'Liguria'; $lat = 44.443531; $lng = 8.969048; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321403090O__Oliguria.jpg'; } if($reg== 8){ $titolo = 'Emilia-Romagna'; $lat = 44.615835; $lng = 11.276177; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321404100O__Oemilia.jpg'; } if($reg== 9) { $titolo = 'Toscana'; $lat = 43.462832; $lng = 10.792779; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321404540O__Otoscana.jpg'; } if($reg== 10) { $titolo = 'Umbria'; $lat = 42.781236; $lng = 12.671441; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321405570O__Oumbria.jpg'; } if($reg== 11) { $titolo = 'Marche'; $lat = 43.812675; $lng = 13.012017; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301658180O__Ourbino.jpg'; } if($reg== 12) { $titolo = 'Lazio'; $lat = 41.8933271; $lng = 12.4869999; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301657100O__OColosseo-laptop_1040_529.jpeg'; } if($reg== 13) { $titolo = 'Abruzzo'; $lat = 42.2691794; $lng = 13.8812255; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173301648300O__OGran_sasso_italia.jpg'; } if($reg== 14) { $titolo = 'Molise'; $lat = 41.830632; $lng = 14.594049; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321406520O__Omolise.jpg'; } if($reg== 15) { $titolo = 'Campania'; $lat = 40.874007; $lng = 14.264459; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321408090O__Ocampania.jpg'; } if($reg== 16) { $titolo = 'Puglia'; $lat = 40.840770; $lng = 17.362603; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321409190O__Opuglia.jpg'; } if($reg== 17) { $titolo = 'Basilicata'; $lat = 40.624319; $lng = 16.439752; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321410200O__Obasilicata.jpg'; } if($reg== 18) { $titolo = 'Calabria'; $lat = 39.344860; $lng = 16.373834; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321411270O__Ocalabria.jpg'; } if($reg== 19) { $titolo = 'Sicilia'; $lat = 37.616347; $lng = 14.215020; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321412360O__Osicilia.jpg'; } if($reg== 20){ $titolo = 'Sardegna'; $lat = 40.069607; $lng = 9.015740; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321413430O__Osardegna.jpg'; } if($reg== 21){ $titolo = 'Alto Adige'; $lat = 46.498295; $lng = 11.354758; $img = 'http://italyformovies.service-tech.org/media/img/oggetto_regioni_mappa/173321358280O__Otrentino.jpg'; } $json.='{"id":"'.$reg.'", "titolo":"'. str_replace('"', '\\"', formatTextEditorOutput($titolo)) .'","img_1":"'.formatTextEditorOutput($img).'", "lat":"'.$lat.'", "lng":"'.$lng.'"}'; $x++; } } } } } $json .= "]"; return $json; } public function get_json_location_near($id) { $lng = getLanguagePrefix(); $json = "["; $stmtSelect1 = $this->db->query("SELECT * FROM oggetto_location WHERE regione=" . $id); $x = 0; while($result1 = $stmtSelect1->fetch_assoc()) { if($x != 0) $json .= ","; $json .= '{"id":"'.$result1['id'].'", "titolo":"'.str_replace('"', '\\"', formatTextEditorOutput($result1['titolo'])).'","img_1":"'.formatTextEditorOutput($result1['img_1']). '", "lat":"'.$result1['latitudine'].'", "lng":"'.$result1['longitudine'].'"}'; $x++; } $json .= "]"; return $json; } public function incrementFilmGameVisits() { $stmtUpdate = $this->db->prepare("UPDATE oggetto_location SET numero_letture = numero_letture + 1 WHERE id = ?"); $stmtUpdate->bind_param('i', $this->id); $stmtUpdate->execute(); } //API public function getListaFilms($page=1,$titolo=Null,$regione=Null,$lang) { $json = '{ "films" : [ '; if($lang!="it") $lang = "en_"; else $lang=""; $limit = 10; $offset = ($page * $limit) - $limit; $query = "SELECT id, locandina,en_locandina FROM oggetto_film WHERE permessi_lettura!='H' AND tipologia = 'film' AND {$lang}titolo !='' "; if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC"; $stmtSelect = $this->db->query($query); $num_tot = $stmtSelect->num_rows; $query = "SELECT id, locandina,en_locandina FROM oggetto_film WHERE permessi_lettura!='H' AND tipologia = 'film' AND {$lang}titolo !='' "; if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC LIMIT ".$limit." OFFSET ".$offset; //return $query; $stmtSelect = $this->db->query($query); if($num_tot>($page*$limit)) $next = 1; else $next = 0; $i=0; while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $i++; $json.= '{ "id":'.$result['id'].', "locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.replace_api(formatTextEditorOutput($result[$lang.'locandina'])).'"} '; if($i!=$stmtSelect->num_rows) $json.=","; } $json .= '],"hasMore":'.$next.',"totalCount":'.$num_tot.',"page":'.$page.'} '; return $json; } public function getFilmDetailById($id,$lang) { $json = '{ '; if($lang!="it") $lang = "en_"; else $lang=""; $query = "SELECT id,{$lang}titolo,{$lang}genere,anno_prod,locandina,en_locandina,{$lang}descrizione,regista,{$lang}anno_amb,en_img_1,img_1,copy_img_1,{$lang}desc_img_1,img_2,copy_img_2,en_img_2,{$lang}desc_img_2,img_3,copy_img_3,en_img_3,{$lang}desc_img_3,img_4,copy_img_4,en_img_4,{$lang}desc_img_4,img_5,copy_img_5,en_img_5,{$lang}desc_img_5,attori,{$lang}nome_produzione,{$lang}paese,en_url_video,url_video,{$lang}descrizione_video,location,{$lang}luoghi FROM oggetto_film " . "WHERE id = '".$id."'"; //return $query; $stmtSelect = $this->db->query($query); while($result = $stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_img_1']=="") $result['en_img_1'] = $result['img_1']; if($result['en_img_2']=="") $result['en_img_2'] = $result['img_2']; if($result['en_img_3']=="") $result['en_img_3'] = $result['img_3']; if($result['en_img_4']=="") $result['en_img_4'] = $result['img_4']; if($result['en_img_5']=="") $result['en_img_5'] = $result['img_5']; if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $immagini = '{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_1'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_1']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_1']))).'" }'; if($result[$lang.'img_2']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_2'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_2']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_2']))).'" }'; if($result[$lang.'img_3']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_3'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_3']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_3']))).'" }'; if($result[$lang.'img_4']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_4'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_4']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_4']))).'" }'; if($result[$lang.'img_5']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_5'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_5']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_5']))).'" }'; $arc = explode(",",$result['location']); $c = 0; $locations = ""; foreach($arc as $chiave) { $c++; if($chiave == "") continue; $query_arc = "SELECT id,latitudine,longitudine FROM oggetto_location WHERE {$lang}titolo != '' AND id = '".$chiave."'"; $stmtSelectArc = $this->db->query($query_arc); $result_arc=$stmtSelectArc->fetch_assoc(); if($result_arc['latitudine'] == ""||$result_arc['longitudine'] == "") continue; $locations .= '{ "id":'.$result_arc['id'].',"lat":'.$result_arc['latitudine'].',"lng":'.$result_arc['longitudine'].' }'; if($c < count($arc)) $locations .= ","; } $query = "SELECT MAX(id) as max FROM oggetto_location"; $stmtSelect = $this->db->query($query); $result_id = $stmtSelect->fetch_assoc(); $max_id = $result_id['max']+1000; $query_loc = "SELECT id,latitudine,longitudine FROM location_film WHERE id_film = '".$id."'"; $stmtSelectLoc = $this->db->query($query_loc); $c = 0; if(substr($locations, strlen($locations)-1, 1)==",") $locations= substr($locations, 0, strlen($locations)-1); if($stmtSelectLoc->num_rows > 0) { $locations .= ","; while($result_loc=$stmtSelectLoc->fetch_assoc()) { $c++; $locations .= '{ "id":'.($result_loc['id']+$max_id).',"lat":'.$result_loc['latitudine'].',"lng":'.$result_loc['longitudine'].' }'; if($c!=$stmtSelectLoc->num_rows) $locations.=","; } } if(substr($locations, strlen($locations)-1, 1)==",") $locations= substr($locations, 0, strlen($locations)-1); if(substr($locations,0,1)==",") $locations=substr($locations, 1, strlen($locations)); $link_video = str_replace('https://www.youtube.com/watch?v=','',$result[$lang.'url_video']); $link_video = getStatusLinkVideo($link_video); $instagram = strtolower($result[$lang.'titolo']); $instagram = str_replace("à","a",$instagram); $instagram = str_replace("è","e",$instagram); $instagram = str_replace("ì","i",$instagram); $instagram = str_replace("ò","o",$instagram); $instagram = str_replace("ù","u",$instagram); $instagram = str_replace("é","e",$instagram); $link = "https://www.italyformovies.it/mappa-film-game-detail.php?id=".$result['id']; if(strstr($locations,'{ "id":,"lat":,"lng": }')) $locations = ""; $letters = ['\n','\r','\t']; $json.= '"id":'.$result['id'].', "titolo":"'.str_replace("\'","'",preg_replace("/[\n\r]/"," ",strip_tags(str_replace('"', '\\"', $result[$lang.'titolo'])))).'","genere":"'.preg_replace("/[\n\r]/"," ",strip_tags(html_entity_decode(trim($result[$lang.'genere'])))).'","immagini": ['.$immagini.'],"attori":"'.trim(str_replace("\'","'",strip_tags(preg_replace("/\s\s+/","",addslashes($result['attori']))))).'","nome_produzione":"'.preg_replace("/[\n\r]/"," ",str_replace("\'","'",preg_replace("/\s\s+/","",trim(strip_tags(addslashes($result[$lang.'nome_produzione'])))))).'","paese":"'.$result[$lang.'paese'].'","url_video":"'.$link_video.'","descrizione_video":"'.$result[$lang.'descrizione_video'].'","locations": ['.$locations.'],"anno_prod":"'.$result['anno_prod'].'","locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.formatTextEditorOutput($result[$lang.'locandina']).'","descrizione":"'.preg_replace("/[\n\r]/"," ",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'descrizione']))))))).'","luoghi":"'.preg_replace("/\.([^ ])/", ". $1", preg_replace("/[\n\r]/"," ",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'luoghi'])))))))).'","regista":"'.$result['regista'].'","anno_amb":"'.$result[$lang.'anno_amb'].'","instagram":["#'.strtolower(preg_replace("/[^A-Za-z0-9?!]/",'',str_replace(" ","",preg_replace("/[\n\r]/","",strip_tags(str_replace('"', '\\"', $instagram)))))).'","#i4m_film_'.$result['id'].'"],"link":"'.$link.'"'; } $json .= "} "; return $json; } public function getListaGames($page=1,$titolo=Null,$regione=Null,$lang) { $json = '{ "games" : [ '; if($lang!="it") $lang = "en_"; else $lang=""; $limit = 10; $offset = ($page * $limit) - $limit; $query = "SELECT id, locandina,en_locandina FROM oggetto_film WHERE permessi_lettura!='H' AND {$lang}titolo !='' AND tipologia = 'videogioco' "; if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC"; $stmtSelect = $this->db->query($query); $num_tot = $stmtSelect->num_rows; $query = "SELECT id, locandina, en_locandina FROM oggetto_film WHERE permessi_lettura!='H' AND {$lang}titolo !='' AND tipologia = 'videogioco' "; if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC LIMIT ".$limit." OFFSET ".$offset; //return $query; $stmtSelect = $this->db->query($query); if($num_tot>($page*$limit)) $next = 1; else $next = 0; $i=0; while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $i++; $json.= '{ "id":'.$result['id'].', "locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.replace_api(formatTextEditorOutput($result[$lang.'locandina'])).'"} '; if($i!=$stmtSelect->num_rows) $json.=","; } $json .= '],"hasMore":'.$next.',"totalCount":'.$num_tot.',"page":'.$page.'} '; return $json; } public function getListaItinerari($page=1,$titolo=Null,$regione=Null,$lang,$neLat=Null,$neLng=Null,$swLat=Null,$swLng=Null) { $json = '{ "itinerari" : [ '; if($lang!="it") $lang = "en_"; else $lang=""; $limit = 10; $offset = ($page * $limit) - $limit; $query = "SELECT id, locandina,en_locandina,{$lang}titolo FROM oggetto_film WHERE permessi_lettura!='H' AND {$lang}titolo !='' AND tipologia = 'itinerario' "; $regioni=""; if($neLat!='') { $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$neLat.",".$neLng."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", ), )); $response = curl_exec($curl); $err = curl_error($curl); $region = json_decode($response); for($i=0;$i<=count($region->results[0]->address_components);$i++) { if(isset($region->results[0]->address_components[$i]->types[0])&&$region->results[0]->address_components[$i]->types[0]=="administrative_area_level_1") { $reg = $region->results[0]->address_components[$i]->short_name; if($regioni!=""&&$regioni!=$reg) $regioni.=","; if($regioni!=$reg) $regioni .= $reg; $i=100; } else continue; } curl_close($curl); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$swLat.",".$swLng."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", ), )); $response = curl_exec($curl); $err = curl_error($curl); $region = json_decode($response); for($i=0;$i<=count($region->results[0]->address_components);$i++) { if(isset($region->results[0]->address_components[$i]->types[0])&&$region->results[0]->address_components[$i]->types[0]=="administrative_area_level_1") { $reg = $region->results[0]->address_components[$i]->short_name; if($regioni!=""&&$regioni!=$reg) $regioni.=","; if($regioni!=$reg) $regioni .= $reg; $i=100; } else continue; } curl_close($curl); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://maps.googleapis.com/maps/api/geocode/json?latlng=".(($neLat+$swLat)/2).",".(($neLng+$swLng)/2)."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", ), )); $response = curl_exec($curl); $err = curl_error($curl); $region = json_decode($response); for($i=0;$i<=count($region->results[0]->address_components);$i++) { if(isset($region->results[0]->address_components[$i]->types[0])&&$region->results[0]->address_components[$i]->types[0]=="administrative_area_level_1") { $reg = $region->results[0]->address_components[$i]->short_name; if($regioni!=""&&$regioni!=$reg) $regioni.=","; if($regioni!=$reg) $regioni .= $reg; $i=100; } else continue; } curl_close($curl); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$swLat.",".$neLng."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", ), )); $response = curl_exec($curl); $err = curl_error($curl); $region = json_decode($response); for($i=0;$i<=count($region->results[0]->address_components);$i++) { if(isset($region->results[0]->address_components[$i]->types[0])&&$region->results[0]->address_components[$i]->types[0]=="administrative_area_level_1") { $reg = $region->results[0]->address_components[$i]->short_name; if($regioni!=""&&$regioni!=$reg) $regioni.=","; if($regioni!=$reg) $regioni .= $reg; $i=100; } else continue; } curl_close($curl); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$neLat.",".$swLng."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", ), )); //return "https://maps.googleapis.com/maps/api/geocode/json?latlng=".$swLat.",".$swLng."&key=AIzaSyCWCd08thpSwoauXv_JbG_oH6ek1zAUKss"; $response = curl_exec($curl); $err = curl_error($curl); $region = json_decode($response); for($m=0;$m<=count($region->results[0]->address_components);$m++) { if($region->results[0]->address_components[$m]->types[0]=="administrative_area_level_1") { $reg = $region->results[0]->address_components[$m]->short_name; if($regioni!=""&&$regioni!=$reg) $regioni.=","; if($regioni!=$reg) $regioni .= $reg; $m=100; } else continue; } //return $regioni; curl_close($curl); /*$query_tipologia = "SELECT regione FROM regioni_location WHERE id = '".$regione."'"; $stmtSelectTipologia = $this->db->query($query_tipologia); $result_tipologia=$stmtSelectTipologia->fetch_assoc(); $nome_regione = $result_tipologia['regione']; */ //return $regioni; } if(isset($regioni)&&$regioni!="") { $where = "("; $i=0; $reg_array = explode(",",$regioni); foreach ($reg_array as $value) { $query_reg = "SELECT id FROM regioni_location WHERE regione ='".$value."'"; $stmtSelectReg = $this->db->query($query_reg); $result_reg=$stmtSelectReg->fetch_assoc(); if($i!=0) $where.=" OR "; $i++; $where .= "(regioni = '".$result_reg['id']."' OR regioni LIKE '%,".$result_reg['id']."' OR regioni LIKE '".$result_reg['id'].",%' OR regioni LIKE '%,".$result_reg['id'].",%')"; } $where .= ")"; $query = "SELECT id, locandina, en_locandina,{$lang}titolo FROM oggetto_film WHERE permessi_lettura!='H' AND {$lang}titolo !='' AND tipologia = 'itinerario' AND ".$where ." ORDER BY data_film DESC "; $stmtSelect = $this->db->query($query); $f=0; while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $f++; $json.= '{ "id":'.$result['id'].', "titolo":"'.trim(str_replace("\'","'",preg_replace("/[\n\r]/","",urldecode(strip_tags(html_entity_decode(str_replace('"', '\\"', formatTextEditorOutput($result[$lang.'titolo'])))))))).'","locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.replace_api(formatTextEditorOutput($result[$lang.'locandina'])).'"} '; if($f!=$stmtSelect->num_rows) $json.=","; } $json .= ']} '; //return $query; return $json; } if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC"; $stmtSelect = $this->db->query($query); $num_tot = $stmtSelect->num_rows; $query = "SELECT id, locandina, en_locandina,{$lang}titolo FROM oggetto_film WHERE permessi_lettura!='H' AND {$lang}titolo !='' AND tipologia = 'itinerario' "; if($titolo!=Null||$regione!=Null) $query .= " AND "; if($titolo!=Null) $query .= "titolo LIKE '%".trim($titolo)."%'"; if($titolo!=Null&&$regione!=Null) $query .= " AND "; if($regione!=Null) $query .= "(regioni = '".$regione."' OR regioni LIKE '%,".$regione."' OR regioni LIKE '".$regione.",%' OR regioni LIKE '%,".$regione.",%')"; $query .= " ORDER BY data_film DESC LIMIT ".$limit." OFFSET ".$offset; //return $query; $stmtSelect = $this->db->query($query); if($num_tot>($page*$limit)) $next = 1; else $next = 0; $i=0; while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $i++; $json.= '{ "id":'.$result['id'].', "titolo":"'.trim(str_replace("\'","'",preg_replace("/[\n\r]/","",urldecode(strip_tags(html_entity_decode(str_replace('"', '\\"', formatTextEditorOutput($result[$lang.'titolo'])))))))).'","locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.replace_api(formatTextEditorOutput($result[$lang.'locandina'])).'"} '; if($i!=$stmtSelect->num_rows) $json.=","; } $json .= '],"hasMore":'.$next.',"totalCount":'.$num_tot.',"page":'.$page.'} '; return $json; } public function getGameDetailById($id,$lang) { $json = '{ '; if($lang!="it") $lang = "en_"; else $lang=""; $query = "SELECT id,{$lang}titolo,{$lang}genere,anno_prod,locandina,en_locandina,{$lang}descrizione,sviluppo,img_1,en_img_1,{$lang}desc_img_1,copy_img_1,img_2,en_img_2,{$lang}desc_img_2,copy_img_2,img_3,en_img_3,{$lang}desc_img_3,copy_img_3,img_4,en_img_4,{$lang}desc_img_4,copy_img_4,img_5,en_img_5,{$lang}desc_img_5,copy_img_5,{$lang}url_video,{$lang}descrizione_video,location,{$lang}luoghi FROM oggetto_film " . "WHERE id = '".$id."'"; //return $query; $stmtSelect = $this->db->query($query); while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_img_1']=="") $result['en_img_1'] = $result['img_1']; if($result['en_img_2']=="") $result['en_img_2'] = $result['img_2']; if($result['en_img_3']=="") $result['en_img_3'] = $result['img_3']; if($result['en_img_4']=="") $result['en_img_4'] = $result['img_4']; if($result['en_img_5']=="") $result['en_img_5'] = $result['img_5']; if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $immagini = '{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_1'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_1']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_1']))).'" }'; if($result[$lang.'img_2']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_2'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_2']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_2']))).'" }'; if($result[$lang.'img_3']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_3'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_3']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_3']))).'" }'; if($result[$lang.'img_4']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_4'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_4']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_4']))).'" }'; if($result[$lang.'img_5']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_5'])))).'","desc_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result[$lang.'desc_img_5']))).'","copy_img":"'.str_replace('"','\"',strip_tags(html_entity_decode($result['copy_img_5']))).'" }'; $arc = explode(",",$result['location']); $c = 0; $locations = ""; foreach($arc as $chiave) { if($chiave=="") continue; $c++; $query_arc = "SELECT id,latitudine,longitudine FROM oggetto_location WHERE id = '".$chiave."'"; $stmtSelectArc = $this->db->query($query_arc); $result_arc=$stmtSelectArc->fetch_assoc(); $locations .= '{ "id":'.$result_arc['id'].',"lat":'.$result_arc['latitudine'].',"lng":'.$result_arc['longitudine'].' }'; if($cdb->query($query); $result_id=$stmtSelect->fetch_assoc(); $max_id = $result_id['max']+1000; $query_loc = "SELECT id,latitudine,longitudine FROM location_film WHERE id_film = '".$id."'"; $stmtSelectLoc = $this->db->query($query_loc); $c=0; if($stmtSelectLoc->num_rows>0) $locations.=","; while($result_loc=$stmtSelectLoc->fetch_assoc()) { $c++; $locations .= '{ "id":'.($result_loc['id']+$max_id).',"lat":'.$result_loc['latitudine'].',"lng":'.$result_loc['longitudine'].' }'; if($c!=$stmtSelectLoc->num_rows) $locations.=","; } if(substr($locations, strlen($locations)-1, 1)==",") $locations= substr($locations, 0, strlen($locations)-1); if(substr($locations,0,1)==",") $locations=substr($locations, 1, strlen($locations)); $link_video = str_replace('https://www.youtube.com/watch?v=','',$result[$lang.'url_video']); $instagram = strtolower($result[$lang.'titolo']); $instagram = str_replace("à","a",$instagram); $instagram = str_replace("è","e",$instagram); $instagram = str_replace("ì","i",$instagram); $instagram = str_replace("ò","o",$instagram); $instagram = str_replace("ù","u",$instagram); $instagram = str_replace("é","e",$instagram); $link_video = getStatusLinkVideo($link_video); $link = "https://www.italyformovies.it/mappa-film-game-detail.php?id=".$result['id']; $json.= '"id":'.$result['id'].', "titolo":"'.trim(str_replace("(game)","",str_replace("(Game)","",str_replace("\'","'",preg_replace("/[\n\r]/","",urldecode(strip_tags(html_entity_decode(str_replace('"', '\\"', formatTextEditorOutput($result[$lang.'titolo'])))))))))).'","genere":"'.preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(trim($result[$lang.'genere'])))).'","immagini": ['.$immagini.'],"sviluppo":"'.preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(trim(addslashes($result['sviluppo']))))).'","url_video":"'.$link_video.'","descrizione_video":"'.trim($result[$lang.'descrizione_video']).'","locations": ['.$locations.'],"anno_prod":"'.$result['anno_prod'].'","locandina":"https://www.italyformovies.it/api/v1/images/locandina/media/img/oggetto_film/'.replace_api(formatTextEditorOutput($result[$lang.'locandina'])).'","descrizione":"'.preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'descrizione']))))))).'","luoghi":"'.preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'luoghi']))))))).'","instagram":["#'.trim(strtolower(preg_replace("/[^A-Za-z0-9?!]/",'',str_replace(" ","",preg_replace("/[\n\r]/","",strip_tags(str_replace('"', '\\"', str_replace("(game)","",str_replace("(Game)","",$instagram))))))))).'","#i4m_game_'.$result['id'].'"],"link":"'.$link.'"'; } $json .= "} "; return $json; } public function getLocationsFilmGame($id_film) { $outputArray = array(); $stmtSelect = $this->db->prepare("SELECT id,latitudine,longitudine,indirizzo,titolo,en_titolo FROM location_film WHERE id_film =".$id_film); if($stmtSelect) { if($stmtSelect->execute()) { $stmtSelect->store_result(); $stmtSelect->bind_result($id,$lat, $lng, $indirizzo,$titolo,$en_titolo); while($stmtSelect->fetch()) { $singleFilmGameArray = array($id,$lat, $lng, $indirizzo,$titolo,$en_titolo); array_push($outputArray, $singleFilmGameArray); } } else { consoleLog('Error! ' . $this->db->error); return -1; } return $outputArray; } else { consoleLog('Error! ' . $this->db->error); return -1; } } public function getItinerarioDetailByIdTest($id,$lang) { $json = '{ '; if($lang!="it") $lang = "en_"; else $lang=""; $query = "SELECT id,{$lang}titolo,{$lang}genere,anno_prod,locandina,en_locandina,{$lang}descrizione,sviluppo,img_1,en_img_1,{$lang}desc_img_1,copy_img_1,img_2,en_img_2,{$lang}desc_img_2,copy_img_2,img_3,en_img_3,{$lang}desc_img_3,copy_img_3,img_4,en_img_4,{$lang}desc_img_4,copy_img_4,img_5,en_img_5,{$lang}desc_img_5,copy_img_5,{$lang}url_video,{$lang}descrizione_video,location,{$lang}luoghi FROM oggetto_film " . "WHERE id = '".$id."'"; //return $query; $stmtSelect = $this->db->query($query); while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_img_1']=="") $result['en_img_1'] = $result['img_1']; if($result['en_img_2']=="") $result['en_img_2'] = $result['img_2']; if($result['en_img_3']=="") $result['en_img_3'] = $result['img_3']; if($result['en_img_4']=="") $result['en_img_4'] = $result['img_4']; if($result['en_img_5']=="") $result['en_img_5'] = $result['img_5']; if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $immagini = '{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_1'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_1'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_1'])).'" }'; if($result[$lang.'img_2']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_2'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_2'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_2'])).'" }'; if($result[$lang.'img_3']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_3'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_3'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_3'])).'" }'; if($result[$lang.'img_4']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_4'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_4'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_4'])).'" }'; if($result[$lang.'img_5']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_5'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_5'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_5'])).'" }'; $arc = explode(",",$result['location']); $c = 0; $locations = ""; foreach($arc as $chiave) { if($chiave=="") continue; $c++; $query_arc = "SELECT id,latitudine,longitudine FROM oggetto_location WHERE id = '".$chiave."'"; $stmtSelectArc = $this->db->query($query_arc); $result_arc=$stmtSelectArc->fetch_assoc(); if($result_arc['latitudine']!=""&&$result_arc['longitudine']!=""){ $locations .= '{ "id":'.$result_arc['id'].',"lat":'.$result_arc['latitudine'].',"lng":'.$result_arc['longitudine'].' }'; if($cdb->query($query); $result_id=$stmtSelect->fetch_assoc(); $max_id = $result_id['max']+1000; $query_loc = "SELECT id,latitudine,longitudine FROM location_film WHERE id_film = '".$id."'"; $stmtSelectLoc = $this->db->query($query_loc); $c=0; if($stmtSelectLoc->num_rows>0) $locations.=","; while($result_loc=$stmtSelectLoc->fetch_assoc()) { $c++; if($result_loc['latitudine']!=""&&$result_loc['longitudine']!=""){ $locations .= '{ "id":'.($result_loc['id']+$max_id).',"lat":'.$result_loc['latitudine'].',"lng":'.$result_loc['longitudine'].' }'; if($c!=$stmtSelectLoc->num_rows) $locations.=","; } } if(substr($locations, strlen($locations)-1, 1)==",") $locations= substr($locations, 0, strlen($locations)-1); if(substr($locations,0,1)==",") $locations=substr($locations, 1, strlen($locations)); //preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'luoghi']))))))) $luoghi = strip_tags($result[$lang.'luoghi'],"

"); $luoghi = str_replace("

","",$luoghi); $luoghi = str_replace(" "," ",$luoghi); preg_match_all("(

(.*?)

)", $luoghi , $places); preg_match_all('("); preg_match_all("(

(.*?)

)", $luoghi , $titoli); $luoghi = str_replace("","$$",$luoghi); $luoghi = preg_replace('/]*>([\s\S]*?)<\/h4[^>]*>/', '', $luoghi); $luoghi = stripslashes($luoghi); $luoghi = str_replace("\'","'",$luoghi); $testo = explode("$$",$luoghi); $luoghi_array = ""; for($i=0;$idb->query($query); while($result=$stmtSelect->fetch_assoc()) { if($lang=="en_") { if($result['en_img_1']=="") $result['en_img_1'] = $result['img_1']; if($result['en_img_2']=="") $result['en_img_2'] = $result['img_2']; if($result['en_img_3']=="") $result['en_img_3'] = $result['img_3']; if($result['en_img_4']=="") $result['en_img_4'] = $result['img_4']; if($result['en_img_5']=="") $result['en_img_5'] = $result['img_5']; if($result['en_locandina']=="") $result['en_locandina'] = $result['locandina']; //if($result['en_url_video']=="") $result['en_url_video'] = $result['url_video']; } $immagini = '{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_1'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_1'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_1'])).'" }'; if($result[$lang.'img_2']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_2'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_2'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_2'])).'" }'; if($result[$lang.'img_3']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_3'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_3'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_3'])).'" }'; if($result[$lang.'img_4']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_4'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_4'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_4'])).'" }'; if($result[$lang.'img_5']!="") $immagini .= ',{ "url_img":"https://www.italyformovies.it/api/v1/images/media/img/oggetto_film/'.strip_tags(html_entity_decode(replace_api(formatTextEditorOutput($result[$lang.'img_5'])))).'","desc_img":"'.strip_tags(html_entity_decode($result[$lang.'desc_img_5'])).'","copy_img":"'.strip_tags(html_entity_decode($result['copy_img_5'])).'" }'; $arc = explode(",",$result['location']); $c = 0; $locations = ""; foreach($arc as $chiave) { if($chiave=="") continue; $c++; $query_arc = "SELECT id,latitudine,longitudine FROM oggetto_location WHERE id = '".$chiave."'"; $stmtSelectArc = $this->db->query($query_arc); $result_arc=$stmtSelectArc->fetch_assoc(); if($result_arc['latitudine']!=""&&$result_arc['longitudine']!=""){ $locations .= '{ "id":'.$result_arc['id'].',"lat":'.$result_arc['latitudine'].',"lng":'.$result_arc['longitudine'].' }'; if($cdb->query($query); $result_id=$stmtSelect->fetch_assoc(); $max_id = $result_id['max']+1000; $query_loc = "SELECT id,latitudine,longitudine FROM location_film WHERE id_film = '".$id."'"; $stmtSelectLoc = $this->db->query($query_loc); $c=0; if($stmtSelectLoc->num_rows>0) $locations.=","; while($result_loc=$stmtSelectLoc->fetch_assoc()) { $c++; if($result_loc['latitudine']!=""&&$result_loc['longitudine']!=""){ $locations .= '{ "id":'.($result_loc['id']+$max_id).',"lat":'.$result_loc['latitudine'].',"lng":'.$result_loc['longitudine'].' }'; if($c!=$stmtSelectLoc->num_rows) $locations.=","; } } if(substr($locations, strlen($locations)-1, 1)==",") $locations= substr($locations, 0, strlen($locations)-1); if(substr($locations,0,1)==",") $locations=substr($locations, 1, strlen($locations)); //preg_replace("/[\n\r]/","",strip_tags(html_entity_decode(str_replace("\'","'",preg_replace("/\s\s+/","",trim(addslashes($result[$lang.'luoghi']))))))) $luoghi = strip_tags($result[$lang.'luoghi'],"

"); $luoghi = str_replace("

","",$luoghi); $luoghi = str_replace(" "," ",$luoghi); $luoghi = preg_replace("/[\n\r\t]/","",$luoghi); $places = explode("

",$luoghi); //preg_match_all("(

(.*?)

)", $luoghi , $places); //return $luoghi; //return print_r($places); $p=0; foreach($places as $place) { preg_match_all('("); preg_match_all("(

(.*?)

)", $luoghi , $titoli); $luoghi = str_replace("

","$$",$luoghi); $luoghi = preg_replace('/]*>([\s\S]*?)<\/h4[^>]*>/', '', $luoghi); $luoghi = stripslashes($luoghi); //$luoghi = addslashes($luoghi); //$luoghi = str_replace(' "', ' \"', $luoghi); $luoghi = str_replace("\'","'",$luoghi); $testo = explode("$$",$luoghi); $luoghi_array = ""; if(isset($image_remove)) { foreach($image_remove as $remove) { $pos = array_search($remove, $immagini_luoghi[1]); unset($immagini_luoghi[0][$pos]); unset($immagini_luoghi[1][$pos]); $immagini_luoghi[0] = array_values($immagini_luoghi[0]); $immagini_luoghi[1] = array_values($immagini_luoghi[1]); } } //print_r($immagini_luoghi); for($i=0;$idb->query($query); while($result=$stmtSelect->fetch_assoc()) { $luoghi = strip_tags($result[$lang.'luoghi'],"

"); $luoghi = str_replace("

","",$luoghi); $luoghi = str_replace(" "," ",$luoghi); $luoghi = preg_replace("/[\n\r\t]/","",$luoghi); $places = explode("

",$luoghi); /*$p = 0; foreach($places as $place) { preg_match('("); preg_match_all("(

(.*?)

)", $luoghi , $titoli); $luoghi = str_replace("

","$$",$luoghi); $luoghi = preg_replace('/]*>([\s\S]*?)<\/h4[^>]*>/', '', $luoghi); $luoghi = stripslashes($luoghi); //$luoghi = addslashes($luoghi); //$luoghi = str_replace(' "', ' \"', $luoghi); $luoghi = str_replace("\'","'",$luoghi); $testo = explode("$$",$luoghi); $luoghi_array = ""; for($i=0;$i= " . getTimestampFromDate($dateStart) : ""; $queryDateEnd = ($dateEnd != "") ? "oggetto_film.data_creazione <= " . getTimestampFromDate($dateEnd) : ""; $queryDateFilter = ""; if ($queryDateStart !== "" && $queryDateEnd === "") { $queryDateFilter = $queryDateStart; } else if ($queryDateStart === "" && $queryDateEnd !== "") { $queryDateFilter = $queryDateEnd; } else if ($queryDateStart !== "" && $queryDateEnd !== "") { $queryDateFilter = $queryDateStart . " AND " . $queryDateEnd; } // Total $stmtSelect = $this->db->prepare( "SELECT COUNT(*) AS film_count FROM oggetto_film WHERE " . $queryDynamicArray . (($queryDateFilter !== "") ? " AND " . $queryDateFilter : "")); $paramsReference = array(); $paramsReference[] = & $typesString; for($i = 0; $i < count($paramsArray); $i++) { $paramsReference[] = & $paramsArray[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); $stmtSelect->execute(); $stmtSelect->store_result(); $stmtSelect->bind_result($totalStat); $stmtSelect->fetch(); // Group by region $fsgByRegionArray = array(); $stmtSelect = $this->db->prepare( "SELECT regioni_location.id, regioni_location.regione, COUNT(*) AS film_count FROM oggetto_film, regioni_location WHERE FIND_IN_SET(regioni_location.id, oggetto_film.regioni) AND " . $queryDynamicArray . (($queryDateFilter !== "") ? " AND " . $queryDateFilter : "") . " GROUP BY regioni_location.id ORDER BY regioni_location.regione"); $paramsReference = array(); $paramsReference[] = & $types; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); $stmtSelect->execute(); $stmtSelect->store_result(); $stmtSelect->bind_result($regionId, $regionName, $fsgCount); while ($stmtSelect->fetch()) { $fsgByRegionArray[$regionName] = $fsgCount; } // With/without location $stmtSelect = $this->db->prepare( "SELECT COUNT(*) AS film_count FROM oggetto_film WHERE location != '' AND " . $queryDynamicArray . (($queryDateFilter !== "") ? " AND " . $queryDateFilter : "")); $paramsReference = array(); $paramsReference[] = & $types; for($i = 0; $i < count($params); $i++) { $paramsReference[] = & $params[$i]; } call_user_func_array(array($stmtSelect, "bind_param"), $paramsReference); $stmtSelect->execute(); $stmtSelect->store_result(); $stmtSelect->bind_result($locationedStat); $stmtSelect->fetch(); $statsArray = array( "total" => $totalStat, "region" => $fsgByRegionArray, "locationAssociated" => $locationedStat ); return $statsArray; } public function getLastFilmId() { $result = $this->db->query('SELECT id FROM oggetto_film ORDER BY id DESC LIMIT 1'); $output = $result->fetch_assoc(); return $output['id']; } }