1) && !isset($_GET["id_scheda"])){ $str_sfoglia_volumi="sfoglia i volumi: "; while ($riga_volume=mysqli_fetch_assoc($RS_volumi)){ $nome_volume=htmlspecialchars($riga_volume['nome_volume'],ENT_QUOTES); $nome_volume_breve=$riga_volume['nome_volume_breve']; $str_sfoglia_volumi.="$nome_volume_breve, "; } $str_sfoglia_volumi=substr($str_sfoglia_volumi, 0,-2); $str_sfoglia_volumi="[ $str_sfoglia_volumi ]"; } mysqli_free_result($RS_volumi); //Fine gestione stringa gestione volume (solo per Corradi) //$prm_djvu_pagina=" page=1"; $str_titolo_pagina=$dati_fondo['titolo']; //Se nell'url c'è la variabile page la prendo if (isset($_GET["page"])){ $idPage = $_GET["page"]; $qs->elimina_valore("page"); //Altrimento la setto al valore della prima pagina per il volume }else{ $idPage = $volumeStartPage; } //Valuto se siamo in modalità accesso al volume tramite scheda o pagina //Se la variabile id_scheda esiste accedo direttamente alla pagina della scheda if (isset($_GET["id_scheda"])){ $idScheda = $_GET["id_scheda"]; //Gestione della pagina tramite la segnatura //Faccio la query per estrarre i dati della pagina e delle scheda associata $sql_pagina ="SELECT * FROM schede as s, pagine as p WHERE s.id='$idScheda' AND p.id=s.id_immagine"; $RS_pagina = mysqli_query($DBConn, $sql_pagina) or die("Errore Sql!"); $pageData = mysqli_fetch_assoc($RS_pagina); //Compongo la variabile del nome file $fileName = $pageData['nome_img']; //Compongo la variabile completa del file con relativo path su disco $filePath = $_SERVER['DOCUMENT_ROOT'].$dati_volume['indirect'].$dati_volume['codice_volume']."/".$fileName; //File public URL $fileUrl = $serverPath.$dati_volume['indirect'].$dati_volume['codice_volume']."/".$fileName; $fileSeq = $pageData['num_sequenziale']; $pageNomenclatura = $pageData['nomenclatura']; //Proprieta immagine in array $fileProperties = getimagesize($filePath); /*NON SERVE PRESI DA JS //Estraggo i dati tecnici del file immagine //Dimensione su disco in kb $fileSize = filesize($filePath); if($fileSize != 0 && $fileSize != "" && $fileSize > 1024){ $fileSize = round($fileSize/1024); } $imgBits = $fileProperties['bits']; $imgFormat = $fileProperties['mime']; */ //Larghezza $imgWidth = $fileProperties[0]; //Altezza $imgHeight = $fileProperties[1]; //Controllo che la scheda abbia le coordinate if(!empty($pageData['coordinate'])){ //Attivo la flag che indica che la scheda ha sottolineatura $hasHighlight = TRUE; //Prendo la forma della selezione $highlightForm = $pageData['forma_highlight']; //print_r($highlightForm); //Prendo le coordinate della selezione $highlightCoordinates = explode(',', $pageData['coordinate']); //print_r($highlightCoordinates); //print_r($pageData['coordinate']); //print_r($highlightCoordinates); //Popolo la variabile con la stringa per l'embed djvu con il puntatore alla pagina //$prm_djvu_pagina=" page=$pageNumber"; //$str_IE_highlight=""; //$link_sottolineatura=""; //$link_sottolineatura="[ stampa_indirizzo_temp("","sottolineatura","no")."\">togli evidenziazione ]"; //Trasformo i dati originali della sottolineatura DjVu switch($highlightForm){ //Se è un rettangolo che ha la definizione del punto xy1 e poi width/height case "rect": //Prendo le coordinate originali e le moltiplico per 0,5 perché //le dimensioni originali dei file sono state scalate del 50% $xo1 = $highlightCoordinates[0]*0.5; $yo1 = $highlightCoordinates[1]*0.5; $highlightAreaWidth = $highlightCoordinates[2]*0.5; $highlightAreaHeight = $highlightCoordinates[3]*0.5; //Calcolo le nuove coordinate per iviewer $xn1 = ($xo1); $yn1 = ($imgHeight - $highlightAreaHeight - $yo1); $xn2 = ($xo1 + $highlightAreaWidth); $yn2 = $yo1; //Compongo la stringa con i dati dell'area $highlightAreaData = "x1: $xn1, y1: $yn1, x2: $xn2, y2: $yn2, isInObject: isInRectangle, title: 'rectangle', getTopLeft: getRectangleTopLeft, getBottomRight: getRectangleBottomRight, width: $highlightAreaWidth, height: $highlightAreaHeight"; break; //Se è un poligono che ha solo le definizioni dei punti case "poly": //Se è un poly //Separo le x dalle y loopando tra i valori, pari = x, dispari y foreach($highlightCoordinates as $k => $v){ //Controllo se si tratta di una x o di una y if($k % 2 == 0){ $highlightCoordinatesX[] = $v; } else{ $highlightCoordinatesY[] = $v; } } //Prendo le coordinate dei punti min e max $xo1 = min($highlightCoordinatesX)*0.5; $yo1 = min($highlightCoordinatesY)*0.5; $xo2 = max($highlightCoordinatesX)*0.5; $yo2 = max($highlightCoordinatesY)*0.5; //Calcolo le dimensioni dell'area $highlightAreaWidth = ($xo2 - $xo1); $highlightAreaHeight = ($yo2 - $yo1); //Calcolo le nuove coordinate per iviewer $xn1 = ($xo1); $yn1 = ($imgHeight - $yo2); $xn2 = ($xo2); $yn2 = ($imgHeight - $yo2 + $highlightAreaHeight); //print_r($yn2); //print_r("XYo1: ".$xo1."-".$yo1." - "."XYo2: ".$xo2."-".$yo2); //print_r($highlightCoordinatesX); //die; $highlightAreaData = "x1: $xn1, y1: $yn1, x2: $xn2, y2: $yn2, isInObject: isInRectangle, title: 'rectangle', getTopLeft: getRectangleTopLeft, getBottomRight: getRectangleBottomRight, width: $highlightAreaWidth, height: $highlightAreaHeight"; break; case "circle": $highlightAreaData = ""; break; default: $highlightAreaData = "x1: 0, y1: 0, x2: 0, y2: 0, isInObject: isInRectangle, title: 'rectangle', getTopLeft: getRectangleTopLeft, getBottomRight: getRectangleBottomRight, width: 0, height: 0"; break; } }else{ //Se non ha coordinate $hasHighlight = FALSE; //$link_sottolineatura="[ stampa_indirizzo_temp("","sottolineatura","si")."\">evidenzia schede ]"; $highlightAreaData = ""; } //Compongo la variabile del numero di pagina $pageNumber = $pageData['num_sequenziale']-$dati_volume['start_page']+1; /* print_r("
Proprietà del file $fileName
"); print_r($fileProperties); print_r("
Forma
"); print_r($highlightForm); print_r("

Coordinate originali area (angolo bottom-left):
"); print_r($highlightCoordinates); print_r("
--xo1-yo1: ".$xo1."-".$yo1); print_r("

Dimensioni immagine"); print_r("
--width: ".$imgWidth."
"); print_r("--height: ".$imgHeight."
"); print_r("
Dimensioni area highlight"); print_r("
--width: ".$highlightAreaWidth."
"); print_r("--height: ".$highlightAreaHeight."
"); print_r("
Nuove coordinate area (angolo top-left):"); print_r("
--xn1-yn1: ".$xn1."-".$yn1); print_r("
--xn2-yn2: ".$xn2."-".$yn2); die; */ //print_r($rectCoord); //die; //Fine IF sottolineatura $intestazione_scheda.="".abbreviazione($pageData['intestazione']," /",60).""; ($pageData['K01'])?$segnatura = $pageData['K01']:$segnatura = ""; ($pageData['K02'])?$author = $pageData['K02']:$author = ""; if($author && $segnatura){ $tooltipHighlight = "Autore: ".$author." - Segnatura: ".$segnatura; }elseif($author){ $tooltipHighlight = $author; }elseif($segnatura){ $tooltipHighlight = $segnatura; }else{ $tooltipHighlight = ""; } //$prm_djvu_pagina=" ".$prm_djvu_pagina; //$prm_djvu_pagina=" page=1"; $titolo_pagina="Scheda: ".htmlspecialchars($pageData['intestazione'],ENT_QUOTES); //Versione 1 //$link_sfoglia="[ stampa_indirizzo_temp("","page",$pageNumber)."\" title=\"Sfoglia il volume da questa pagina\">sfoglia il volume ]"; //Versione 2 $link_sfoglia="[ sfoglia il volume ]"; mysqli_free_result($RS_pagina); //Setto a false la variabile che indica che la presenza dei pulsanti di navigazione $pageNavigation = FALSE; }else{ //Altrimenti accedo alla pagina $link_sfoglia = ""; //Prendo l'url dell'immagine dall'array $fileUrl = $pagesData[$idPage]['fileUrl']; $fileSeq = $pagesData[$idPage]['fileSeq']; $fileName = $pagesData[$idPage]['fileName']; $pageNomenclatura = $pagesData[$idPage]['nomenclatura']; //Compongo la variabile completa del file con relativo path su disco $filePath = $_SERVER['DOCUMENT_ROOT'].$dati_volume['indirect'].$dati_volume['codice_volume']."/".$fileName; /* //Estraggo i dati tecnici del file immagine //Dimensione su disco in kb $fileSize = filesize($filePath); if($fileSize != 0 && $fileSize != "" && $fileSize > 1024){ $fileSize = round($fileSize/1024); } //Proprieta immagine in array $fileProperties = getimagesize($filePath); //Larghezza $imgWidth = $fileProperties[0]; //Altezza $imgHeight = $fileProperties[1]; $imgBits = $fileProperties['bits']; $imgFormat = $fileProperties['mime']; */ $hasHighlight = FALSE; $highlightAreaData = ""; $pageNavigation = TRUE; } //Determina se bisogna scrivere elenco chiavi d'accesso oppure elenco autori //TIC: Chiavi d'accesso //COR: Elenco autori if ($id_fondo=="1"){ //Fondo ticinesi $str_elenco_precedente="elenco chiavi d'accesso"; }elseif ($id_fondo=="2"){ $str_elenco_precedente="elenco autori"; } // Scrive il nome del volume nel caso siamo nel fondo corradi if ($id_fondo!=1) { $str_titolo_pagina.=" (".$dati_volume['nome_volume'].")"; $link_sottolineatura=""; } $str_sottotitolo="sfoglia il volume"; //Compongo i link back switch ($from) { case "ricerca_avanzata": $str_sottotitolo="ricerca: ricerca avanzata: stampa_indirizzo_temp("id_scheda,id_volume")."\" title=\"Vai ai risultati della ricerca\">risultati ricerca: intestazione"; $sfoglia_ricerca=calcola_succ_prec_avanzata($idScheda,$id_fondo,$qs); break; case "ricerca": $str_sottotitolo="ricerca: stampa_indirizzo_temp("id_scheda,id_volume")."\" title=\"Vai ai risultati della ricerca\">risultati ricerca: intestazione"; $sfoglia_ricerca=calcola_succ_prec($idScheda,$id_fondo,$qs); //debug($idScheda,"id_scheda"); //debug($link_id_scheda_precc,"id_scheda_tmp_prec"); //debug($link_id_scheda_succ,"id_scheda_tmp_succ"); break; case "elenco": $str_sottotitolo="stampa_indirizzo_temp("id_scheda,id_volume")."\" title=\"Vai all'elenco delle schede\">$str_elenco_precedente: intestazione"; $sfoglia_ricerca = ""; default: $sfoglia_ricerca = ""; break; } /*if (strpos($_SERVER['HTTP_REFERER'],"ricerca_avanzata")!==false){ $str_sottotitolo="stampa_indirizzo_temp("id_segnatura,id_scheda,id_fondo,id_volume")."\">ricerca avanzata"; }*/ ?> <? if(isset($pageData['intestazione']) && $pageData['intestazione']){?> <?}else{?> <?}?> -

- Pag.

Pagina precedente
Pagina successiva