<?php
/*
carica il file csv che deriva da excel con i millesimi, le superfici, i costi e le assegnazioni
esempio:
n.; piano;descrizione; Sup.lorda;Sup.comm;Mm_virtuali;millesimi_10000;Ripart.spesa;8000; preass; prenot; data
A01;primo;abitazione corpo A int. 1;67,46; 67,46; 176,676; 112,39; 247.258,00; 89912; xxxxxx ; ;
$k[][0];$k[][1];$k[][2] ;$k[][3]; $k[][4]; $k[][5] ; $k[][6]; $k[][7] ; $k[][8]; $k[][9] ; $k[][10]; $k[][11]
crea una tabella di 6 colonne dove le colonne 1 - 3 - 5 sono i caseggiato A, B, C (le colonne 2-4-6 sono distanziatori)
ogni riga è un piano (dal più alto al più basso (da 6 a 1)
i piani normalmente hanno 4 alloggi - se al piano ci sono due alloggi il riempimento ne tiene conto per l'opportuno riempimento)
in ogni riga/colonna che corrisponde al piano viene inserito il numero alloggio e il colore indica se l'alloggio e' gia' assegnato o disponibile
con mouseover sulla riga/colonna nella textarea all'interno della form screen (a destra) vengonoi riportati i dati dell'alloggio
lo schama dell'alloggio e la sua posizione nel piano.
per fare cio' si utilizzano la funzione javascript showT() alla quale si passano i dati relativi all'alloggio.
** load_tabbed_file ( string filepath )
** Loads a file with content separated by ; (-> array)
*/
//echo "inizio \n";
// load descrizione alloggi
$fat_items = load_tabbed_file("../alloggi_dati_mm/ancora_tabelle millesimi_2009_10_01.csv");
// now $fat_items is ordered
// create keyed array $elenco from monodimensional flat array $fat_items
foreach($fat_items as $rrr)
{
$elenco[$rrr[0]] = $rrr;
}
$debug = 0;
if ($debug == 1){
}
/***************************************************
// for test we can create result of loaded data
if (file_exists("ancora_tabelle millesimi_2009_10_01.txt")) unlink("ancora_tabelle millesimi_2009_10_01.txt");
//rename("ancora_tabelle millesimi_2009_10_01.csv", "ancora_tabelle millesimi_2009_10_01.bbb");
//echo "loaded \n";
save_elenco_fatture("ancora_tabelle millesimi_2009_10_01.txt");
****************************************************/
// create html alloggi.html ... ( if we don't use php - we can use this html created page)
// crea header
$fo = fopen("alloggi.html", "w+");
$oo = '<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Mappa alloggi Ancora coop Unitaria </title>
<meta name="DESCRIPTION" content="tool scelta alloggi - mouse over ">
<meta name="KEYWORDS" content="Unitaria, SantaMargheritaLigure, Tigullio, appartamenti liberi, assegnati, javascript, examples, source, code, forms, games">
<meta name="AUTHOR" content="gianni rossini"> ' ;
echo $oo;
$oo = '
<script type="text/JavaScript">
<!--
// Courtesy of SimplytheBest.net (http://simplythebest.net/info/dhtml_scripts.html)
function Message0()
{
document.screen.message.value = "info sugli alloggi - scegli con il mouse";
document.getElementById(\'imp\').setAttribute(\'src\',\'../image_alloggi/00.jpg\');
}
//-->
</script> ';
$oo='
<script language="JavaScript" type="text/JavaScript">
<!--
function showT(q, casa, descrizione, piano, costo, dimensione,mappa ){
//alert(\'../\image_alloggi/\'+\'casa\'+q+\'.jpg\')
document.getElementById(\'ima\').setAttribute(\'src\',\'../\image_alloggi/\'+mappa+\'.jpg\');
document.getElementById(\'imp\').setAttribute(\'src\',\'../\image_alloggi/\'+casa+q+\'.jpg\');
document.screen.message.value = "casa " + casa + " piano "+ piano + " interno " + q + "\n costo €." + costo +"\n mq." + dimensione +"\n" + descrizione;
}
//-->
</script>
</head> ';
$oo= '
<body>
<center>
<font size="6">
<b>
Mappa assegnazione alloggi Ancora
</b>
</font>
<br>
<br>
<font color="#b22222" size="5">
Mouseover Information Table
</font>
<br>
Author:
<a href="http://digilander.libero.it/magiainformatica/">ma.gi.a. informatica di rossini </a>
</center>
<br>
<div align="center">
<TABLE border=0 cellPadding=3 cellSpacing=0 width = 450>
<TBODY>';
$oo = ' <TR align=middle>
<TD bgcolor="#B1BFC5">
<TABLE border=0 cellPadding=0 cellSpacing=0>
<tr align=middle>
<td width= "100" >
casa A <br>(1/3 camere)
</td>
<td width= "100" >
casa B <br>(2 camere)
</td>
<td width= "100" >
casa C <br>(2 camere)
</td>
</tr>
</table>
<table border=1 cellPadding=0 cellSpacing=0> ';
$caseggiati[0]='A';
$caseggiati[1]='B';
$caseggiati[2]='C';
$piani[1]=4;
$piani[2]=4;
$piani[3]=4;
$piani[4]=4;
$piani[5]=4;
$piani[6]=2;
$mappa[0][2] ="quattro_img_rosso";
$mappa[0][1] ="quattro_img_rosso";
$mappa[0][0] ="quattro_img_verde";
$mappa[1][2] ="uno_img_rosso";
$mappa[1][1] ="uno_img_rosso";
$mappa[1][0] ="uno_img_verde";
$mappa[2][2] ="due_img_rosso";
$mappa[2][1] ="due_img_rosso";
$mappa[2][0] ="due_img_verde";
$mappa[3][2] ="tre_img_rosso";
$mappa[3][1] ="tre_img_rosso";
$mappa[3][0] ="tre_img_verde";
$mappa_attico[0][2] ="atticodue_img_rosso";
$mappa_attico[0][1] ="atticodue_img_rosso";
$mappa_attico[0][0] ="atticodue_img_verde";
$mappa_attico[1][2] ="atticouno_img_rosso";
$mappa_attico[1][1] ="atticouno_img_rosso";
$mappa_attico[1][0] ="atticouno_img_verde";
$assegn_att_dx[0] = "../image_alloggi/verde_dx_attico.jpg";
$assegn_att_dx[1] = "../image_alloggi/rosso_dx_attico.jpg";
$assegn_att_dx[2] = "../image_alloggi/giallo_dx_attico.jpg";
$assegn_att_sx[0] = "../image_alloggi/verde_sx_attico.jpg";
$assegn_att_sx[1] = "../image_alloggi/rosso_sx_attico.jpg";
$assegn_att_sx[2] = "../image_alloggi/giallo_sx_attico.jpg";
$assegn[0] = "../image_alloggi/rosso.jpg";
$assegn[1] = "../image_alloggi/verde.jpg";
$assegn[2] = "../image_alloggi/verde.jpg";
$assegnbgcolor[0] = "#009800"; //sfondo verde
$assegnbgcolor[1] = "#980000"; //sfondo rosso
$assegnbgcolor[2] = "#989800"; //sfondo giallo
//echo "piani: " . count($piani) . " caseggiati: " .count($caseggiati) . "\r\n";
$ii= 23;
// piani 6-5-4-3-2-1-
for ($p = count($piani); $p >= 1; $p-- )
{
$oo = "\n".' <tr> '."\n". '<!-- piano '. $p . ' attico --> '. "\n";
// caseggiati A-B-C
for ($cas = 0
; $cas < count($caseggiati) ; $cas ++)
{
// alloggi piano 1-2-3-4 oppure attico 1-2
for ($pcas = $piani[$p]; $pcas >= 1; $pcas--)
{
// prepara sfondo e testo in funzione del piano e della casa - $k formato A01 - $kimg formato A1
//echo "casa ".$caseggiati[$cas]. " piano ". $p . " num.app x piano " . $piani[$p] . " app.num ". ($ii - $pcas ). "\n";
$k = sprintf('%s%02d', $caseggiati[$cas],($ii - $pcas ));
$kimg = sprintf('%s%d', $caseggiati[$cas],($ii - $pcas ));
// test assegnazione se assegnato $ass = 1 else $ass = 0
//echo "k = $k " . $elenco[$k][2] . " ass.a ". $elenco[$k][9] . "\n";
$elenco[$k][9
] = trim ($elenco[$k][9
]);
if (strlen($elenco[$k][9
]) > 0
)
{
$ass=1;
if (isset($_SERVER['REDIRECT_REMOTE_USER']) and
($_SERVER['REDIRECT_REMOTE_USER'] == 'magia' or $_SERVER['REDIRECT_REMOTE_USER'] == 'ccel'))
$elenco[$k][2] .= "\\n ass.a ". $elenco[$k][9];
else
$elenco[$k][2] .= "\\n ass.a *****";
}
else{
if ((isset($elenco[$k][10
])) and
(strlen($elenco[$k][10
]) > 0
))
{
$ass=2;
if (isset($_SERVER['REDIRECT_REMOTE_USER']) and
($_SERVER['REDIRECT_REMOTE_USER'] == 'magia' or $_SERVER['REDIRECT_REMOTE_USER'] == 'ccel'))
{
$elenco[$k][2] .= "\\n pren.da ". $elenco[$k][10];
if (isset($elenco[$k][11
]))
{
$elenco[$k][11
] = trim ($elenco[$k][11
]);
$elenco[$k][2] .= " fino al " .$finoa;
}
}
else
$elenco[$k][2] .= "\\n ass.a *****";
}
else
$ass=0;
//$elenco[$k][9] = "";
}
// test se attico (attico solo 2 app per piano)
if ($piani[$p] < 4)
{
$mp =($ii - $pcas )%2;
$oo = "\n".' <td colspan = "2"> '."\n";
// <a href="navigation.html" onmouseover=" showT(22,'A','Attico', 6, '550', '140' ); return true" onmouseout="Message0();return true"><img border="0" src="infotable_files/verde_sx_attico.jpg" alt="Navigation and Menu scripts" width="50" height="29"></a>
$oo.= '<a href="../image_alloggi/'.$kimg.'.jpg"
onmouseover=" showT('. ($ii - $pcas ).',\''.$caseggiati[$cas].'\',\''.$elenco[$k][2].'\','. $p.', \''.$elenco[$k][7].'\', \''.$elenco[$k][4].'\' , \''.$mappa_attico[$mp][$ass] .'\'); return true"
onmouseout="Message0();return true">'."\n";
// test se attico destro o sinistro
if(($ii - $pcas )%2 == 0 )
$oo.= '<img border="0" src="' . $assegn_att_dx[$ass] .'" alt="Navigation and Menu scripts" width="50" height="29"></a>';
else
$oo.= '<img border="0" src="' . $assegn_att_sx[$ass] .'" alt="Navigation and Menu scripts" width="50" height="29"></a>';
$oo.= "\n". ' </td> '. "\n";
}
else // piano normale
{
$mp =($ii - $pcas )%4;
$oo = "\n". ' <td width="24" height="29" bgcolor="'. $assegnbgcolor[$ass] . '" > ';
// <a href="navigation.html" onmouseover=" showT(22,'A','Attico', 6, '550', '140' ); return true" onmouseout="Message0();return true"> <img border="0" src="infotable_files/verde_sx_attico.jpg" alt="Navigation and Menu scripts" width="50" height="29"></a>
$oo.= '<a style="text-decoration:none" href="../image_alloggi/'.$kimg.'.jpg"
onmouseover=" showT('. ($ii - $pcas ).',\''.$caseggiati[$cas].'\',\''.$elenco[$k][2].'\','. $p.', \''.$elenco[$k][7].'\', \''.$elenco[$k][4].'\' , \''.$mappa[$mp][$ass] .'\' ); return true"
onmouseout="Message0();return true">'."\n";
// $oo.= '<img border="0" src="' . $assegn[$ass] .'" alt="Navigation and Menu scripts" width="24" height="29"></a>';
$oo .= '<font size = -2 color = "black" >'. $k .'</font></a>';
$oo.= "\n".' </td>'. "\n" ;
}
$lastnumapp=$ii - $pcas +1;
}
if ($piani[$p] < 4)
$oo = '<td width = "40" bgcolor="#B1BFC5"></td>'. "\n";
else
$oo = ' <td width = "40" bgcolor="#B1BFC5"></td> ' . "\n";
}
$ii = $lastnumapp-$piani[$p];
//echo $lastnumapp ."\n";
$oo = ' </tr> ' ;
}
$oo='</TABLE> <br>sfondo rosso assegnati <br> sfondo giallo prenotati <br> sfondo verde liberi
</td>
<td width = "20" > </td>
<td>
<TABLE border=0 cellPadding=0 cellSpacing=0 width = 460 >
<TR align=top >
<td>
<img id="imp" src="../image_alloggi/00.jpg" width="250" height="250">
</td>
<td>
<img src="../image_alloggi/pianta.jpg" border="0" width="200" height="150"><br>
<img id="ima" src="../image_alloggi/piano_img.jpg" border="1" width="100" height="100">
</td>
</tr>
<tr>
<TD colspan = "2" >
<FORM action="" method=post name=screen>
<TEXTAREA cols=50 name=message readOnly rows=5 style="background-color: #E6F2FF" wrap=on> info sugli alloggi - scegli con il mouse
</TEXTAREA>
</FORM>
</TD>
</TR>
</table>
</tr></table>
</div>
<br>
</body>
</html>' ;
include "../log/eklog.php" ;
//echo "done \n";
// end
/*
** save_tabbed_file ( string filepath )
** save array fat_items ordinato per numero fatture
*/
function save_elenco_fatture($filename){
global $fat_items;
//print_r( $fat_items);
$fp = fopen($filename, "w+");
foreach ($fat_items as $t){
//$rec = explode(";",$t);
//echo "t[11] is = $t[11]\n";
$rec = "$t[0];$t[1];$t[2];$t[3];$t[4];$t[5];$t[6];$t[7];$t[8]";
//echo $rec."\n\r";
}
}
/*
** load_tabbed_file ( string filepath )
** Loads a file with content seperated by tabs (-> array)
*/
function load_tabbed_file($filename){
$i = 0;
$lines = file($filename);
for ($x=0; $x < count($lines); $x++){
$line = trim($lines[$x]);
$line = rtrim($lines[$x],";");
// echo $line. "\n\r";
if (substr($line,0,5) != ";;;;;"){
// if (substr($lines[$x],-1,1) != ";")
// $lines[$x] += ";";
// $lines[$x] = str_replace("\t", " ", $lines[$x]);
// $lines[$x] = preg_replace("/[ ]{4,}/", " ", $lines[$x]);
// $res = explode(" ", $lines[$x]);
$line[$x] = rtrim($lines[$x],";");
//echo $res[0]."-".$res[1]."-".$res[2]."-".$res[3]."-".$res[4]."-".$res[5]."-".$res[6]."-".$res[7]."-".$res[8]."-".$res[9]. "\n\r";
// $res = trim_array($res);
// extract numero fattura
//$numfat=substr( $lines[$x],9,10);
// echo $numfat."\n";
// $output[$numfat] = $lines[$x];
$output[]= $res;
// $output[] =array($res[0],$res[1], $res[2],$res[3],$res[10]);
//ksort($output);
$i++;
}
}
// sort multidimension array on column 1 (numero fattura)
// print_r($output);
foreach($output as $rrr)
$sortAux[]= $rrr[0];
// print_r($output);
}
return $output;
}
?>