array( 'timeout'=>5 ), 'socket'=>array( 'tcp_nodelay'=>true ) ); $context=stream_context_create($contextopts); $langs=array('xx'=>'Local language','ca'=>'Català','en'=>'English','es'=>'Español','fr'=>'Français','it'=>'Italiano'); $exvalsjsarr='null;'.N; $morejs=''; $dbg.='
GET:'.N.print_r($_GET,1).'POST:'.N.print_r($_POST,1).''; function check(&$link,&$account,$mode,$table,$lntable,$lncolumn,$id) { if ($mode=='edit' || $mode=='remove') { $res=mysqli_query($link,'SELECT * FROM '.$table.' WHERE ID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); if (mysqli_num_rows($res)==1) { $row=mysqli_fetch_assoc($res); if ($account['Level']=='guest') { if ($row['AddedBy']!=$account['ID']) muoribene('You can’t modify an entry you didn’t add.',true); if ($table!='Localities') { $que='SELECT * FROM '.$lntable.' LEFT JOIN Instances ON Instances.ID='.$lntable.'.InstID WHERE '.$lntable.'.'.$lncolumn.'='.$id.' AND Instances.ID NOT IN (SELECT ID FROM Instances WHERE GuestID='.$account['ID'].')'; } else { $que='SELECT * FROM Instances WHERE LocalityID='.$id.' AND Instances.ID NOT IN (SELECT ID FROM Instances WHERE GuestID='.$account['ID'].')'; } $rres=mysqli_query($link,$que) or muoribene(__LINE__.': '.mysqli_error($link).'
Sorry, no good OpenStreetMap entry was found
(they are either incomplete or already in our database)
Couldn’t find OpenStreetMap data for «'.hspech($_POST['v']).'».
'; } } else { $out='Couldn’t fetch OpenStreetMap search data.
'.N; } } else { // locality remove check($link,$account,$_POST['m'],'Localities','Instances','LocalityID',$id); $out='CANCELLO!'; if (!array_key_exists('subst',$_POST) || preg_match('/^[0-9]+$/',$_POST['subst'])!==1) muoribene(__LINE__.': Malformed input.',true); $_POST['subst']+=0; if ($_POST['subst']==0) { mysqli_query($link,'UPDATE Instances SET LocalityID=NULL WHERE LocalityID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); } else { mysqli_query($link,'UPDATE Instances SET LocalityID='.$_POST['subst'].' WHERE LocalityID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); } mysqli_query($link,'DELETE FROM Localities WHERE ID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); $morejs.='parent.locselarr=parent.rmelbyval(parent.locselarr,'.$id.');'.N; $morejs.='parent.filtsel (parent.locselarr, parent.document.getElementById("locsearch").value, "LocalityID", "locselre", "locsearch", "white", "#ff8080");'.N; $morejs.='parent.closeinpup();'.N; } } elseif ($_POST['t']=='Languages') { edaddrem($id,'Languages','Name'.$dlang,'langselarr','InstOurLangs','OurLangID','langsearch','DispLangs','langselre'); } elseif ($_POST['t']=='Financing') { edaddrem($id,'Financing','Type','finselarr','InstFinancing','FinID','finsearch','DispFinModes','finselre'); } elseif ($_POST['t']=='Policies') { edaddrem($id,'Policies','Name','polselarr','InstPolicies','PolID','polsearch','DispPolicies','polselre'); } elseif ($_POST['t']=='Tags') { edaddrem($id,'Tags','Name','tagselarr','InstTags','TagID','tagsearch','DispTags','tagselre'); } else { // questo è ridondante ma fa niente muoribene(__LINE__.': Malformed input.',true); } } elseif (array_key_exists('OSMID',$_POST) && preg_match('/^[0-9]+$/',$_POST['OSMID'])===1 && array_key_exists('LocXX',$_POST) && array_key_exists('LocCA',$_POST) && array_key_exists('LocEN',$_POST) && array_key_exists('LocES',$_POST) && array_key_exists('LocFR',$_POST) && array_key_exists('LocIT',$_POST)) { // locality edit/add check($link,$account,$_POST['m'],'Localities','Instances','LocalityID',$id); $res=mysqli_query($link,'SELECT * FROM Localities WHERE Name'.$dlang.'=\''.myesc($link,$_POST['Loc'.$dlang]).'\'') or muoribene(__LINE__.': '.mysqli_error($link),true); if (mysqli_num_rows($res)>0) muoribene('«'.hspech($_POST['Loc'.$dlang]).'» already exists!',true); $out='EDITO/AGGIUNGO!'; if ($_POST['m']=='add') { mysqli_query($link,'INSERT INTO Localities (ID, OSMID, NameOrig, NameCA, NameEN, NameES, NameFR, NameIT, AddedBy) VALUES (NULL, \''.myesc($link,$_POST['OSMID']).'\', \''.myesc($link,$_POST['LocXX']).'\', \''.myesc($link,$_POST['LocCA']).'\', \''.myesc($link,$_POST['LocEN']).'\', \''.myesc($link,$_POST['LocES']).'\', \''.myesc($link,$_POST['LocFR']).'\', \''.myesc($link,$_POST['LocIT']).'\', \''.$account['ID'].'\')') or muoribene(__LINE__.': '.mysqli_error($link),true); $id=mysqli_insert_id($link); $morejs.='parent.locselarr.push(["'.jsencode($_POST['Loc'.$dlang]).'",'.$id.',true]);'.N; } elseif ($_POST['m']=='edit') { mysqli_query($link,'UPDATE Localities SET OSMID=\''.myesc($link,$_POST['OSMID']).'\', NameOrig=\''.myesc($link,$_POST['LocXX']).'\', NameCA=\''.myesc($link,$_POST['LocCA']).'\', NameEN=\''.myesc($link,$_POST['LocEN']).'\', NameES=\''.myesc($link,$_POST['LocES']).'\', NameFR=\''.myesc($link,$_POST['LocFR']).'\', NameIT=\''.myesc($link,$_POST['LocIT']).'\' WHERE ID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); $morejs.='parent.locselarr=parent.cheltxtbyval(parent.locselarr,'.$id.',"'.jsencode($_POST['Loc'.$dlang]).'");'.N; } $morejs.='parent.locselarr=parent.sortByKey(parent.locselarr,0);'.N; $morejs.='parent.locselarr=parent.selonebyval(parent.locselarr,'.$id.');'.N; $morejs.='parent.filtsel (parent.locselarr, parent.document.getElementById("locsearch").value, "LocalityID", "locselre", "locsearch", "white", "#ff8080");'.N; $morejs.='parent.closeinpup();'.N; } else { muoribene(__LINE__.': Malformed input.',true); } } else { muoribene(__LINE__.': Malformed input.',true); } function buildform($id,$table,$column,$title,$lntable,$lncolumn) { global $account, $tables, $link; check($link,$account,$_GET['m'],$table,$lntable,$lncolumn,$id); $out=''; if ($_GET['m']=='edit' || $_GET['m']=='remove') { $res=mysqli_query($link,'SELECT * FROM '.$table.' WHERE ID='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); $row=mysqli_fetch_assoc($res); if ($_GET['m']=='edit') { $out.=''.N; $out.=''.N; $out.=''.N; } elseif ($_GET['m']=='remove') { $lnres=mysqli_query($link,'SELECT * FROM '.$lntable.' WHERE '.$lncolumn.'='.$id) or muoribene(__LINE__.': '.mysqli_error($link),true); $nlinking=mysqli_num_rows($lnres); if ($nlinking>0) { $out.='