|
@@ -88,7 +88,7 @@ bool RSDatenbank::adminHatRecht( int id, int recht )
|
|
|
|
|
|
bool RSDatenbank::proveKlient( int num, int sNum )
|
|
|
{
|
|
|
- Text *befehl = new Text( "SELECT * FROM server_client WHERE server_register_id = " );
|
|
|
+ Text *befehl = new Text( "SELECT * FROM server_client WHERE server_id = " );
|
|
|
befehl->append( sNum );
|
|
|
befehl->append( " AND client_id = " );
|
|
|
befehl->append( num );
|
|
@@ -282,38 +282,19 @@ bool RSDatenbank::neuAccount( const char *name, const char *pass, const char *ge
|
|
|
if( datenbank->befehl( befehl->getText() ) )
|
|
|
{
|
|
|
unlock();
|
|
|
- befehl->setText( "SELECT schluessel FROM account_neu WHERE name = '" );
|
|
|
+ befehl->setText( "SELECT schluessel, id FROM account_neu WHERE name = '" );
|
|
|
befehl->append( (char*)n );
|
|
|
befehl->append( "'" );
|
|
|
lock();
|
|
|
datenbank->befehl( befehl->getText() );
|
|
|
Result res = datenbank->getResult();
|
|
|
unlock();
|
|
|
- Datei md;
|
|
|
if( res.zeilenAnzahl )
|
|
|
{
|
|
|
- md.setDatei( res.values[ 0 ].getText() );
|
|
|
- if( md.open( Datei::Style::schreiben ) )
|
|
|
- {
|
|
|
- md.schreibe( (char*)eMail, textLength( eMail ) );
|
|
|
- md.schreibe( ( char* )"\nAccount freischalten\n", 22 );
|
|
|
- md.schreibe( ( char* )"Dein Account Daten:\n", 20 );
|
|
|
- md.schreibe( ( char* )"name: ", 6 );
|
|
|
- md.schreibe( (char*)name, textLength( name ) );
|
|
|
- md.schreibe( ( char* )"\npasswort: ", 11 );
|
|
|
- md.schreibe( (char*)pass, textLength( pass ) );
|
|
|
- md.schreibe( ( char* )"\ngeheimnis: ", 12 );
|
|
|
- md.schreibe( (char*)geheim, textLength( geheim ) );
|
|
|
- md.schreibe( ( char* )"\ngeburtsdatum: ", 15 );
|
|
|
- md.schreibe( (char*)gebDatum, textLength( gebDatum ) );
|
|
|
- md.schreibe( ( char* )"\naktivierungs key: ", 25 );
|
|
|
- md.schreibe( res.values[ 0 ].getText(), res.values[ 0 ].getLength() );
|
|
|
- md.close();
|
|
|
- // e_mail senden
|
|
|
- pid_t pid;
|
|
|
- char *pargs[] = { zIni->zWert( "Java" )->getText(), zIni->zWert( "Mailer" )->getText(), res.values[ 0 ].getText(), (char*)0 };
|
|
|
- posix_spawn( &pid, zIni->zWert( "Java" )->getText(), 0, 0, pargs, 0 );
|
|
|
- }
|
|
|
+ // e_mail senden
|
|
|
+ pid_t pid;
|
|
|
+ char *pargs[] = { zIni->zWert( "PHP" )->getText(), zIni->zWert( "AccountActivationMail" )->getText(), (char*)name, (char*)geheim, (char*)gebDatum, res.values[ 0 ].getText(), (char*)eMail, res.values[ 1 ].getText(), (char*)0 };
|
|
|
+ posix_spawn( &pid, zIni->zWert( "PHP" )->getText(), 0, 0, pargs, 0 );
|
|
|
}
|
|
|
res.destroy();
|
|
|
befehl->release();
|
|
@@ -324,48 +305,6 @@ bool RSDatenbank::neuAccount( const char *name, const char *pass, const char *ge
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-void RSDatenbank::neuAccountAbbruch( const char *name )
|
|
|
-{
|
|
|
- Text *befehl = new Text( "DELETE FROM account_neu WHERE name = '" );
|
|
|
- Text n( name );
|
|
|
- n.ersetzen( "'", "''" );
|
|
|
- befehl->append( (char*)n );
|
|
|
- befehl->append( "'" );
|
|
|
- lock();
|
|
|
- datenbank->befehl( befehl->getText() );
|
|
|
- unlock();
|
|
|
- befehl->release();
|
|
|
-}
|
|
|
-
|
|
|
-bool RSDatenbank::aktiviereAccount( const char *name, const char *key )
|
|
|
-{
|
|
|
- Text *befehl = new Text( "SELECT account_aktivieren( '" );
|
|
|
- Text n( name );
|
|
|
- n.ersetzen( "'", "''" );
|
|
|
- befehl->append( (char*)n );
|
|
|
- befehl->append( "', '" );
|
|
|
- Text s( key );
|
|
|
- s.ersetzen( "'", "''" );
|
|
|
- befehl->append( (char*)s );
|
|
|
- befehl->append( "' )" );
|
|
|
- lock();
|
|
|
- if( datenbank->befehl( befehl->getText() ) )
|
|
|
- {
|
|
|
- befehl->release();
|
|
|
- Result res = datenbank->getResult();
|
|
|
- unlock();
|
|
|
- if( res.values[ 0 ].istGleich( "f" ) )
|
|
|
- {
|
|
|
- res.destroy();
|
|
|
- return 0;
|
|
|
- }
|
|
|
- return 1;
|
|
|
- }
|
|
|
- unlock();
|
|
|
- befehl->release();
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
int RSDatenbank::removeAccount( const char *name, const char *pass, const char *geheim, InitDatei *zIni )
|
|
|
{
|
|
|
Text *befehl = new Text( "SELECT account_loeschen( '" );
|
|
@@ -667,7 +606,7 @@ bool RSDatenbank::passwortVergessen( const char *name, const char *geheim, InitD
|
|
|
befehl->append( "' RETURNING e_mail" );
|
|
|
lock();
|
|
|
datenbank->befehl( befehl->getText() );
|
|
|
- Result res = datenbank->getResult();
|
|
|
+ res = datenbank->getResult();
|
|
|
unlock();
|
|
|
befehl->release();
|
|
|
if( res.zeilenAnzahl != 1 )
|
|
@@ -795,45 +734,6 @@ char RSDatenbank::suchConfirmation( const char *name, const char *pass )
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-void RSDatenbank::sendeErstellEMail( const char *name, InitDatei *zIni )
|
|
|
-{
|
|
|
- Text *befehl = new Text( "SELECT geheimnis, e_mail, geb_datum, schluessel FROM account_neu WHERE name = '" );
|
|
|
- Text n( name );
|
|
|
- n.ersetzen( "'", "''" );
|
|
|
- befehl->append( (char*)n );
|
|
|
- befehl->append( "'" );
|
|
|
- lock();
|
|
|
- datenbank->befehl( befehl->getText() );
|
|
|
- Result res = datenbank->getResult();
|
|
|
- unlock();
|
|
|
- befehl->release();
|
|
|
- Datei md;
|
|
|
- if( res.zeilenAnzahl )
|
|
|
- {
|
|
|
- md.setDatei( res.values[ 3 ].getText() );
|
|
|
- if( md.open( Datei::Style::schreiben ) )
|
|
|
- {
|
|
|
- Text txt = res.values[ 1 ].getText();
|
|
|
- txt += "\nAccount freischalten\nDeine Account Daten:\n";
|
|
|
- txt += "\r\nname: ";
|
|
|
- txt += name;
|
|
|
- txt += "\r\ngeheimnis: ";
|
|
|
- txt += res.values[ 0 ].getText();
|
|
|
- txt += "\r\ngeburtsdatum: ";
|
|
|
- txt += res.values[ 2 ].getText();
|
|
|
- txt += "\r\naktivierungs key: ";
|
|
|
- txt += res.values[ 3 ].getText();
|
|
|
- md.schreibe( txt, txt.getLength() );
|
|
|
- md.close();
|
|
|
- // e_mail senden
|
|
|
- pid_t pid;
|
|
|
- char *pargs[] = { zIni->zWert( "Java" )->getText(), zIni->zWert( "Mailer" )->getText(), res.values[ 4 ].getText(), (char*)0 };
|
|
|
- posix_spawn( &pid, zIni->zWert( "Java" )->getText(), 0, 0, pargs, 0 );
|
|
|
- }
|
|
|
- }
|
|
|
- res.destroy();
|
|
|
-}
|
|
|
-
|
|
|
void RSDatenbank::sendeRemoveEMail( const char *name, InitDatei *zIni )
|
|
|
{
|
|
|
Text *befehl = new Text( "SELECT account_loeschen.schluessel, account.e_mail FROM account, account_loeschen WHERE account.id = account_loeschen.account_id AND account.name = '" );
|