<?PHP
/* Version:  1.002

   History:
   1.002  2008-05-10  Artur Cieślak
          Dodano inklud wsutils.inc
   1.001  2008-04-19  Artur Cieślak
          Dodano inicjalizację zmiennej $GLOBALS["APPVERSION"] przechowującej
          przesłaną wersję aplikacji i zapisywaną w pliku sesji
*/
include_once("wsutils.inc");
include_once("getuserconf.inc");

//parametry
$uhome = ""; //katalog domowy użytkownika
$ses   = ""; //identyfikator sesji
$sesfile = "";
$caver   = ""; // wersja aplikacji klienta
// he he to powyżej jest wysoce niebezpieczne

// ZDOBYCIE KATALOGU !!!
$taa = explode('/',$_SERVER["REQUEST_URI"]);
$taa[count($taa)-1] = "";
unset($taa[0]);
$GLOBALS["WORK_DIR"] = join('/',$taa);
applog($GLOBALS["WORK_DIR"]);

/* pobieranie towarow z bazy danych PDB */

/* 1. Otwieramy sesje i przygotowujemy usera na to co sie z nim stanie */

/* -----------------------------------
   
   ----------------------------------- */
if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $GLOBALS["appver"]=parm("appver");
  if(!$GLOBALS["appver"]) {
    $caver=0;
  } else {
    $caver=cntver($GLOBALS["appver"]);
  }
  $GLOBALS["APPVERSION"]=$GLOBALS["appver"]; // (1.001)
}

if($caver<cntver("1.7.0.0")) {
  if(!$GLOBALS["WEBSYNC_ERROR"]) {
    $userid=parm("userid");
    if($userid=="") {
      applog("Error: Nie podano nazwy użytkownika");
      echo 'ALERT Nie podano nazwy użytkownika';
      $GLOBALS["WEBSYNC_ERROR"] = -1;
    }
  }
} else {
  $userid="";
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $pdaid=parm("pdaid");
  if($pdaid=="") {
    applog("Error: Nie podano numeru seryjnego urządzenia");
    echo 'ALERT Nie podano numeru seryjnego urządzenia';
    $GLOBALS["WEBSYNC_ERROR"] = -2;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $retval = GetUserConf($pdaid,$userid,$caver);
  if($retval) { // cos z tym userem nie tak
    applog("Error: Dostęp dla użytkownika zablokowany");
    echo 'ALERT Dostęp dla użytkownika ' . $userid . ' zablokowany';
    $GLOBALS["WEBSYNC_ERROR"] = -3;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  if(!is_dir($GLOBALS["UHOME"])) {
    applog("Error: Brak katalogu z danymi lub dostęp zabroniony");
    echo 'ALERT Brak katalogu z danymi lub dostęp zabroniony';
    $GLOBALS["WEBSYNC_ERROR"] = -4;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $GLOBALS["PHOME"]=sprintf("%s%s%s",$GLOBALS["UHOME"],$GLOBALS["DIRECTORY_SEPARATOR"],$GLOBALS["BACKUP_SUBDIR"]);
  if(!is_dir($GLOBALS["PHOME"])) {
    applog("Error: Brak katalogu z danymi lub dostęp zabroniony");
    echo 'ALERT Brak katalogu z danymi lub dostęp zabroniony';
    $GLOBALS["WEBSYNC_ERROR"] = -5;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $GLOBALS["DBFILE"]=sprintf("%s%s%s",$GLOBALS["PHOME"],$GLOBALS["DIRECTORY_SEPARATOR"],$GLOBALS["DBFNAME"]);
  if(!file_exists($GLOBALS["DBFILE"])) {
    applog("Error: Brak pliku z bazą danych do synchronizacji");
    echo 'ALERT Brak pliku z bazą danych do synchronizacji';
    $GLOBALS["WEBSYNC_ERROR"] = -6;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  if(isset($GLOBALS["DBNAGL"])) {
    $GLOBALS["DBFNAGL"]=sprintf("%s%s%s",$GLOBALS["PHOME"],$GLOBALS["DIRECTORY_SEPARATOR"],$GLOBALS["DBNAGL"]);
    if(!file_exists($GLOBALS["DBFNAGL"])) {
      applog("Error: Brak pliku z bazą danych do synchronizacji (nagl)");
      echo 'ALERT Brak pliku z bazą danych do synchronizacji';
      $GLOBALS["WEBSYNC_ERROR"] = -7;
    }
  }
}

/* ======================================================================= */

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $sesfile = sprintf("%s%s%s.ses",$GLOBALS["SESDIR"],$GLOBALS["DIRECTORY_SEPARATOR"],$GLOBALS["ses"]);
  if(file_exists($sesfile)) {
    applog("Error: Próba podłączenia do istniejącej sesji nieudana");
    echo 'ALERT Próba podłączenia do istniejącej sesji nieudana (sesid=' . $GLOBALS["ses"] .')';
    $GLOBALS["WEBSYNC_ERROR"] = -8;
  }
}
?>
