<?PHP
/* ---------------------------------------------------------------
   %PROJECT:  WEBSYNC
   %FILENAME: main_2_sp.inc
   %VERSION:  1.003

   %HISTORY:
     2008-04-29 Artur Cieślak 1.003
                Zmienna APPVERSION była zapisywana w pliku sesji
                jako liczba a nie łańcuch znaków.
     2008-04-19 Artur Cieślak 1.002
                Dodano zapisywanie zmiennej APPVERSION do sesji.
     2007-07-29 A.Cieslak 1.001
                Code revision. Added support for register_globals
                directive. Includes moved to subfolder

------------------------------------------------------------------ */
include_once("wsutils.inc");

$ile_brudnych = 0;

//sprawdzenie czy nie chodzi tutaj o cało¶ć bazy
if(parm("pdbinit")=="1") {
  echo 'ALERT Proces pobierania nowej bazy skasuje aktualne dane. To jest ostatni moment w którym możesz przerwać (np. wył±cz telefon).
RESTOREDBMODE 1
';
  $GLOBALS["PALM_DATABASE_INIT"]=1;
} else {
  $GLOBALS["PALM_DATABASE_INIT"]=0;
}


if(!$GLOBALS["WEBSYNC_ERROR"]) {
  if(isset($GLOBALS["DBFNAGL"])) {
    exec(sprintf("%s p %s",$GLOBALS["PAR_PATH"],$GLOBALS["DBFNAGL"]),$tmpwyn);
    $tmpwynlen=count($tmpwyn);
    for($i=0;$i<$tmpwynlen;$i++) {
      $aa=explode(' ',$tmpwyn[$i]);
      if($GLOBALS["PALM_DATABASE_INIT"]==0) {
        if($GLOBALS["TREAT_ALL_AS_DIRTY"]==1) {
          if($aa[0]=="TOTAL:")
            $ile_brudnych = $aa[1];
        } else {
          if($aa[0]=="DIRTYORDELETED:")
            $ile_brudnych = $aa[1];
        }
      } else {
        if($aa[0]=="TOTAL:")
          $ile_brudnych += $aa[1];
        if($aa[0]=="DELETED:")
          $ile_brudnych -= $aa[1];
      }
    }
  }
}

unset($tmpwyn);
if(!$GLOBALS["WEBSYNC_ERROR"]) {
  if(isset($GLOBALS["DBFILE"])) {
    exec(sprintf("%s p %s",$GLOBALS["PAR_PATH"],$GLOBALS["DBFILE"]),$tmpwyn);
    $tmpwynlen=count($tmpwyn);
    for($i=0;$i<$tmpwynlen;$i++) {
      $aa=explode(' ',$tmpwyn[$i]);
      if($GLOBALS["PALM_DATABASE_INIT"]==0) {
        if($GLOBALS["TREAT_ALL_AS_DIRTY"]==1) {
          if($aa[0]=="TOTAL:")
            $ile_brudnych += $aa[1];
        } else {
          if($aa[0]=="DIRTYORDELETED:")
            $ile_brudnych += $aa[1];
        }
      } else {
        if($aa[0]=="TOTAL:")
          $ile_brudnych += $aa[1];
        if($aa[0]=="DELETED:")
          $ile_brudnych -= $aa[1];
      }
    }
  }
}

//utworzenie pliku sesii:
if(!$GLOBALS["WEBSYNC_ERROR"]) {
  $GLOBALS["UPDATED"]=0;
  $GLOBALS["DIRTY"]=$ile_brudnych;
  $GLOBALS["PDAID"]=parm("pdaid");
  $fp = @fopen($sesfile,"w");
  if($fp) {
    fputs($fp,'<?PHP');
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["DBFNAME"]="%s";',$GLOBALS["DBFNAME"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["DDBNAME"]="%s";',$GLOBALS["DDBNAME"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["DDBNAGL"]="%s";',$GLOBALS["DDBNAGL"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["DBFILE"]="%s";',$GLOBALS["DBFILE"]));
    fputs($fp,"\n");
    if(isset($GLOBALS["DBFNAGL"])) {
      fputs($fp,sprintf('$GLOBALS["DBFNAGL"]="%s";',$GLOBALS["DBFNAGL"]));
      fputs($fp,"\n");
    }
    fputs($fp,sprintf('$GLOBALS["UHOME"]="%s";',$GLOBALS["UHOME"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["PHOME"]="%s";',$GLOBALS["PHOME"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["UNAME"]="%s";',$GLOBALS["UNAME"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["UID"]="%s";',$GLOBALS["UID"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["PID"]="%s";',$GLOBALS["PID"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["PDAID"]="%s";',$GLOBALS["PDAID"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["DIRTY"]=%d;',$GLOBALS["DIRTY"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["UPDATED"]=%d;',$GLOBALS["UPDATED"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["PALM_DATABASE_INIT"]=%d;',$GLOBALS["PALM_DATABASE_INIT"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["CAVER"]=%d;',$GLOBALS["CAVER"]));
    fputs($fp,"\n");
    fputs($fp,sprintf('$GLOBALS["APPVERSION"]="%s";',$GLOBALS["APPVERSION"])); // (1.002)
    fputs($fp,"\n");
    fputs($fp,'?>');
    fclose($fp);
  } else {
    applog(sprintf("Error: Próba ustanowienia nowej sesji nieudana [%s][main_2_db.inc]",$sesfile));
    echo 'ALERT Próba ustanowienia nowej sesji nieudana';
    $GLOBALS["WEBSYNC_ERROR"] = -11;
  }
}

if(!$GLOBALS["WEBSYNC_ERROR"]) {
  if($GLOBALS["WORK_DIR"]=="/")
    $GLOBALS["WORK_DIR"]="";
  echo 'DBNAME ' . $GLOBALS["DDBNAME"] . '
';
if($GLOBALS["RAWDATA_ENABLED"]==0) echo '<br>';
  echo 'UPDATE ' . $ile_brudnych . '
';
if($GLOBALS["RAWDATA_ENABLED"]==0) echo '<br>';
  echo 'GETDBCONF ' . $GLOBALS["WORK_DIR"] . $GLOBALS["POTWFNAME"] . '.php?ses=' . $GLOBALS["ses"] . '
';
if($GLOBALS["RAWDATA_ENABLED"]==0) echo '<br>';
  echo 'GETDB ' . $GLOBALS["WORK_DIR"] . $GLOBALS["AKTFNAME"] . '.php?ses=' . $GLOBALS["ses"];
}
?>
