<?php
require_once ("VLSIuser.php");
$jmsess="ulozALLEDTPB";
session_start();
function smazat_soub($lol,$cesticka){
if (file_exists($cesticka.$lol)){
  unlink($cesticka.$lol);
}
}

//kontrola práva pro editaci všech
$adm=false;
foreach($admin as $hodnota){
if ($user['username']==$hodnota){$adm=true;}
}
if (!$adm){unseting($jmsess);die("Nejste admin.</body></html>");}
//************************************************
//************************************************
//***********************************************



///*************** mazani publikace
if (isset($_GET['del'])&& $_GET['del']==1){

if (!isset($_GET['id'])){unseting($jmsess);die("Doslo k chybě</body></html>");}
$id=$_GET['id'];
// kontrola zda je id cislo
if (is_numeric($id)){
//pretypovani na int, kdyby cislo bylo jineho tvaru
    $id=(int)$id;
}else{unseting($jmsess);die("Doslo k chybě nebo pokusu o utok</body></html>");}

//mazani souboru publikace
$dotaz="SELECT zdroje FROM pubs WHERE (id=".$id.")";

//pripojeni do DB
if(!file_exists(db_cesta."dbconn.php")){unseting($jmsess);die("Nelze se pripojit k db.");} //kontrola zda dany soubor existuje
 require db_cesta."dbconn.php";
 
 if (!isset($_SESSION[$jmsess]) || $_SESSION[$jmsess]==false){unseting($jmsess);
  header ("Location: edit.php?stav=5");exit();}
unseting($jmsess);

$res=$db->query ($dotaz);
// zda sme z db dostali kloudny vysledek
if (gettype($res) != 'resource') {
     header ("Location: edit.php?stav=4");exit;
	} else
{
$data = pg_fetch_assoc($res);
if ($data["zdroje"]!==NULL){
    $zdro=explode("#",$data["zdroje"]);
    foreach ($zdro as $i=>$lol){
    smazat_soub($lol,soubory_pubs);
    }

  }
}


//mazani publikace ************************************************
$dotaz="DELETE FROM pubs WHERE (id=".$id.")";
// delete projektu
$res=$db->query ($dotaz);
// zda sme z db dostali kloudny vysledek
if (gettype($res) != 'resource') {
     header ("Location: edit.php?stav=4");exit;
	} else {
$db->close();
header ("Location: edit.php?stav=2");exit;}
}
//**************************************************************************
//********* update projektu

// je odeslano????
if (!isset($_POST['odeslane'])){unseting($jmsess);header ("Location: edit.php?stav=3");exit;}
if ($_POST['odeslane']!="Odeslat"){unseting($jmsess);header ("Location: edit.php?stav=3");exit;}

if (!isset($_POST['id'])){unseting($jmsess);die("Doslo k chybě</body></html>");}
$id=$_POST['id'];
// kontrola zda je id cislo
if (is_numeric($id)){
//pretypovani na int, kdyby cislo bylo jineho tvaru
    $id=(int)$id;
}else{unseting($jmsess);die("Doslo k chybě nebo pokusu o utok</body></html>");}

if (!isset($_POST['rok'])){unseting($jmsess);header ("Location: edit.php?stav=3");exit;}
$rok=$_POST['rok'];
// kontrola zda jsou to cisla
if (is_numeric($rok)){
//pretypovani na int, kdyby cislo bylo jineho tvaru
    $rok=(int)$rok;
}else{unseting($jmsess);header ("Location: edit.php?stav=3");exit;}


///************** priprava zdroju
$dotaz="SELECT zdroje FROM pubs WHERE (id=".$id.")";

//pripojeni do DB
if(!file_exists(db_cesta."dbconn.php")){unseting($jmsess);die("Nelze se pripojit k db.");} //kontrola zda dany soubor existuje
 require db_cesta."dbconn.php";

$res=$db->query ($dotaz);
if (gettype($res) != 'resource' || !pg_numrows($res)) {
     echo ("Nastala chyba nebo neexistuje žádný záznam. Stránka nebude správně zobrazena");unseting($jmsess);
	exit;} else {
$data = pg_fetch_assoc($res);
//*******************************************************
//*******************************************************
//kontrola spravnosti prichozich dat
if (isset($_POST['autori'])){$autori=trim($_POST['autori']);}else {$autori="";}
if (isset($_POST['popis'])){$popis=trim($_POST['popis']);}else {$popis="";}

//prisli pripustne hodnoty.... kontrola delek pro db
$is_chyba=false;
if($slashes==1){
$chyba.="id=$id&rok=$rok&autori=".stripslashes($autori)."&popis=".stripslashes($popis);}
else{$chyba.="id=$id&rok=$rok&autori=$autori&popis=$popis";}

if (strlen($autori)==0){$is_chyba=true;$chyba.="&autorichyba=true";}
if (strlen($popis)==0){$is_chyba=true;$chyba.="&popischyba=true";}
if (strlen($autori)>320){$is_chyba=true;$chyba.="&autdelchyba=true";}
if($rok>2050 ||$rok<1950){$is_chyba=true;$chyba.="&rokchyba=true";}

if ($data["zdroje"]!==NULL){
    $zdro2=explode("#",$data["zdroje"]);
    foreach ($zdro2 as $i=>$lol)
    { $lol2=str_replace(".","",$lol);
     if (isset($_POST[$lol2]) && $_POST[$lol2]==$lol2 ){$chyba.="&$lol2=$lol2";}
     }
}

if ($is_chyba){header ("Location: alledtpb.php?".SID."&$chyba");exit;}

// pokud nenastala chyba, jde to do db
if ($slashes==0){
$autori=addslashes($autori);
$popis=addslashes($popis);
}


//****** zde se z promene zdroje odstrani nazvy souboru, ktere se budou mazat
//****** samotne soubory se nesmazou
$first=true;
if ($data["zdroje"]!==NULL){
    $zdro=explode("#",$data["zdroje"]);
    foreach ($zdro as $i=>$lol)
    { $lol2=str_replace(".","",$lol);
   //  echo var_dump($_POST);
     if (!isset($_POST[$lol2])){if($first){$first=false; $zdroje=$lol;}
           else {$zdroje=$zdroje."#".$lol;}
         }
    }
}

//************************************
///// **********manipulace s nahravanzm souborem
if (isset($_FILES["soubor1"]["name"])){$soubor_name1=$_FILES["soubor1"]["name"];}
if(isset($_FILES["soubor1"]["tmp_name"])){$soubor1=$_FILES["soubor1"]["tmp_name"];}
if(isset($_FILES["soubor1"]["size"])){$soubor_size1=$_FILES["soubor1"]["size"];}

//kontrola zda nazvy souboru neobsahuji nepovolene znaky
$kontrola='([[:space:]]|[[:punct:]]|[[:cntrl:]])+';
$lastind1=strrpos($soubor_name1,"."); //
$name1=substr($soubor_name1,0,$lastind1); // odseknuti pripony
if(ereg($kontrola,$name1)) {header ("Location: alledtpb.php?stav=6&id=".$_POST['id']."&$chyba&".SID);exit;}


// prace s nahravanym souborem
if (strlen($soubor_name1)!=0)/*{$prvni=false;}  //neni nahran soubor
else*/{
/*$soubor_name1=$_FILES["soubor1"]["name"];
$soubor1=$_FILES["soubor1"]["tmp_name"];
$soubor_size1=$_FILES["soubor1"]["size"];*/
/*  $prvni=true; */  //je nahran soubor
    if(is_uploaded_file($soubor1)) {
$soubor_name1=str_replace(" ","",$soubor_name1);
if(file_exists(soubory_pubs.$soubor_name1))  //pokud uz existuje soubor se stejnym
      { $hledej=1;                          //jmenem,zacnem pridavat na konec jmena
        $konc=strrchr($soubor_name1,".");  // indexi [hledej], dokud nenaleznem index
        $lastind=strrpos($soubor_name1,"."); //pro ktery jeste neexistuje soubor
        $name=substr($soubor_name1,0,$lastind); // a presunem soubor do slozky
        $jm=$name.$hledej;                   //pod timto jmenem
        while(file_exists(soubory_pubs.$jm.$konc)){
          $hledej++;
          $jm=$name.$hledej;
        }
       $soubor_name1=$jm.$konc;
       if (isset($zdroje)){$zdroje=$zdroje."#".$soubor_name1;}
       else {$zdroje=$soubor_name1;}
       if(strlen($zdroje)>=160){header ("Location: alledtpb.php?stav=6&id=".$_POST['id']."&$chyba&".SID);exit;}
       move_uploaded_file ($soubor1,soubory_pubs.$soubor_name1);
       

      }
    else{
        if (isset($zdroje) && strlen($zdroje)!=0){$zdroje=$zdroje."#".$soubor_name1;}
        else {$zdroje=$soubor_name1;}
        if(strlen($zdroje)>=160){header ("Location: alledtpb.php?stav=6&id=".$_POST['id']."&$chyba&".SID);exit;}
      move_uploaded_file ($soubor1,soubory_pubs.$soubor_name1); //pokud soubor
                                     //   neexistuje tak ho tam presunem
            
     } 

      }}


// zde se smazou samotne soubory co byly zaskrtnuty
if (isset($zdro)){
      foreach ($zdro as $i=>$lol)
    { $lol2=str_replace(".","",$lol);
   //  echo var_dump($_POST);
     if (isset($_POST[$lol2])){smazat_soub($lol,soubory_pubs);}
    }          }
      
// vytvareni dotazu pro DB
$dotaz="UPDATE pubs SET autori='".$autori."', popis='".$popis."', rok='".$rok."'";
if (isset($zdroje) && strlen($zdroje)!=0 ){$dotaz=$dotaz.", zdroje='".$zdroje."'";}
else{$dotaz=$dotaz.",zdroje=NULL ";}
$dotaz=$dotaz." WHERE (id=".$id.")";

if (!isset($_SESSION[$jmsess]) || $_SESSION[$jmsess]==false){unseting($jmsess);
  header ("Location: edit.php?stav=5");exit();}
unseting($jmsess);


$res=$db->query ($dotaz);
// zda sme z db dostali kloudny vysledek
if (gettype($res) != 'resource') {
     $db->close();
     header ("Location: edit.php?stav=4");exit;
	} else {
$db->close();
header ("Location: edit.php?stav=1");exit;}




}?>
