return (error:=1); //Utente non presente in backftp.usr
eof:
userarea:= "USER." + dir;
if (area:= fileareaselect(userarea) <> 1) return(error:=2); // Area misconfigured
print(COL_GREEN "\n\nLa tua area personale e': " COL_LGREEN,userarea);
print(COL_GREEN "\nIn quell'area riceverai i files prelevati in ftp.\n");
}
int leggi_dati(int: ld)
{
if (ld=0)
{
input_str(sito,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci il sito: " COL_YELLOW);
input_str(dir,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci la directory: " COL_YELLOW);
input_str(file,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci il file: " COL_YELLOW);
}
else if (ld=1)
{
input_str(sito,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci il sito: " COL_YELLOW);
}
else if (ld=2)
{
input_str(dir,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci la directory: " COL_YELLOW);
}
else if (ld=3)
{
input_str(file,INPUT_NLB_LINE,0,0,COL_WHITE "\nInserisci il file: " COL_YELLOW);
}
}
int prepara_dat(string: sito, string: dir, string: gfile)
{
string: user,localdir;
int: file,dat;
localdir:= farea.downpath;
user:=usr.name;
dat:= fileexists(fftp);
if (dat=1)
{
file:= open(fftp, IOPEN_WRITE | IOPEN_APPEND);
}
else {
file:= open(fftp, IOPEN_WRITE | IOPEN_CREATE);
}
writeln(file,"<");
writeln(file,user);
writeln(file,localdir);
writeln(file,sito);
writeln(file,dir);
writeln(file,gfile);
writeln(file,">");
}
int main()
{
char: yn, grt;
string: localdir;
cls();
need_money();
if (haspaid <> 1) goto the_end;
area();
if (error = 1 or error=2) {
print(COL_LRED "\n\nERRORE n. ",error," : utente non abilitato.");
print("\nContatta il SysOp, segnalando il codice d'errore ottenuto.");
goto the_end;
}
insert:
leggi_dati(ld);
if (strlen(sito) = 0)
{ print(COL_LRED "\nDEVI dirmi dove prendere il file!\n");
ld:=1;
goto insert;
}
if (strlen(file) = 0)
{ print(COL_LRED "\nDEVI dirmi il nome del file!\n");
ld:=3;
goto insert;
}
isok:
cls();
print("\n\nHai richiesto un ftp per: ");
print(COL_WHITE "\n\nSito :" COL_YELLOW, sito);
print(COL_WHITE "\nDirectory :" COL_YELLOW, dir);
print(COL_WHITE "\nFile :" COL_YELLOW, file);
print(COL_WHITE "\n\nQuesti sono i dati inseriti.\nPer cambiare il nome del sito premi '" COL_LMAGENTA "S" COL_WHITE "', '" COL_LMAGENTA "D" COL_WHITE "' per la directory e '" COL_LMAGENTA "F" COL_WHITE "' per il file.");
print("Premi '" COL_LMAGENTA "Q" COL_WHITE "' per uscire senza salvare.\n");
print("Premi" COL_LMAGENTA " [Enter]" COL_WHITE " o qualsiasi altro tasto per accettare i dati correnti.");
yn := input_ch(CINPUT_DISPLAY | CINPUT_PROMPT, COL_WHITE "\n\nVuoi cambiare qualcosa ?");
if (yn <> 'S' and yn <> 'D' and yn <> 'F' and yn <> 'Q') goto ok;
if (yn= 'S')
{
leggi_dati(1);
goto isok;
}
else if (yn= 'D')
{
leggi_dati(2);
goto isok;
}
else if (yn= 'F')
{
leggi_dati(3);
goto isok;
}
else if (yn= 'Q')
{
cls();
print(COL_LRED "\nBack-Ftp ABORTED.");
goto the_end;
}
ok:
cls();
prepara_dat(sito,dir,file);
print(COL_YELLOW "\n\nBack-Ftp OK." COL_WHITE);
print("\nLa tua richiesta e' stata inoltrata correttamente. \nTroverai il file richiesto nella tua area personale, " COL_GREEN,userarea,COL_WHITE ".");
print("\nRiceverai inoltre un messaggio in area Matrix (Netmail), che ti informera'");
print("\ndell'arrivo del file richiesto, o del motivo del mancato arrivo.");