diff --git a/scripts/cgi-bin/info.py b/scripts/cgi-bin/info.py
index 76b28b5d0..15526beec 100755
--- a/scripts/cgi-bin/info.py
+++ b/scripts/cgi-bin/info.py
@@ -13,6 +13,7 @@ DefaultTitle = "Vinyambar Datenbank"
dbname = "vinyambar"
From = "accounts@vinyambar.de"
smtpserver = 'localhost'
+Errors = ""
# define a new function called Display
# it takes one parameter - a string to Display
@@ -22,8 +23,8 @@ def Display(Content, Title=DefaultTitle):
TemplateInput = TemplateHandle.read()
TemplateHandle.close() # close the file
- for key in Form.keys():
- Content=Content+"
"+str(key)+"="+str(Form[key])
+# for key in Form.keys():
+# Content=Content+"
"+str(key)+"="+str(Form[key])
# this defines an exception string in case our
# template file is messed up
@@ -36,122 +37,25 @@ def Display(Content, Title=DefaultTitle):
print "Content-Type: text/html\n\n"
print SubResult[0]
+ return
-def ShowInfo(custid, Password):
- db = MySQLdb.connect(db=dbname)
- cursor = db.cursor()
- cursor.execute("select max(date), max(id) from transactions")
- lastdate, id = cursor.fetchone()
-
- query=("select info, firstname, lastname, email, address, city, country, phone, sum(t.balance), status "+
- "from users u, transactions t "+
- "where u.id=t.user and u.id="+str(custid)+" and u.password='"+Password+"' "+
- "GROUP BY u.id")
-
- #print query
- results = cursor.execute(query);
- if results > 0:
-
- output = "
Letzte Aktualisierung: "+str(lastdate)[0:10]+"
"
- else:
- output = "Die Kundennummer oder das angegebene Passwort sind nicht korrekt."
- db.close()
- Display(output, "Kundendaten #"+str(custid))
-
-def Save(custid, Password):
- validkeys=['email','address','lastname','firstname','city','password','phone']
- values='id='+str(custid)
- for key in Form.keys():
- if key in validkeys:
- values=values+", "+key+"='"+Form[key].value+"'"
+def SendTransfer(userid, factionid, game):
db = MySQLdb.connect(db=dbname)
cursor=db.cursor()
- cursor.execute('UPDATE users SET '+values+' where id='+str(custid))
-
- nfactions = cursor.execute("select g.name, s.id, faction from games g, subscriptions s where s.status='ACTIVE' and s.user="+str(custid) + " and s.game=g.id")
- while nfactions > 0:
- game, sid, faction = cursor.fetchone()
- if Form.has_key("cancel_"+faction):
- update = db.cursor()
- update.execute("UPDATE subscriptions set status='CANCELLED' where id="+str(sid))
- nfactions = nfactions - 1
-
- nfactions = cursor.execute("select g.name, s.id, faction from games g, subscriptions s where s.status='CANCELLED' and s.user="+str(custid) + " and s.game=g.id")
- while nfactions > 0:
- game, sid, faction = cursor.fetchone()
- if Form.has_key("activate_"+faction):
- update = db.cursor()
- update.execute("UPDATE subscriptions set status='ACTIVE' where id="+str(sid))
- nfactions = nfactions - 1
-
+ cursor.execute("select email, firstname from users where id="+str(userid))
+ email, firstname = cursor.fetchone()
+ Msg="From: "+From+"\nTo: "+email+"\nSubject: Vinambar Passwort\n\n"
+ Msg=Msg+"Hallo, "+firstname+"\n"
+ Msg=Msg+"Ein Spieler hat Dir seine Partei " + factionid + " im Spiel " + game + "\n"
+ Msg=Msg+"übertragen. Um die Partei zu übernehmen, gehe bitte auf die Webseite \n"
+ Msg=Msg+"http://www.vinyambar.de/accounts.shtml, und akzeptiere dort den Transfer.\n"
+ server=smtplib.SMTP(smtpserver)
+ server.sendmail(From, email, Msg)
+ server.close()
db.close()
- ShowInfo(custid, Password)
-# Display("Noch nicht implementiert", "Daten speichern für Kunde #"+str(custid))
+ return
+
def SendPass(email):
try:
@@ -173,6 +77,187 @@ def SendPass(email):
except:
Display('Beim Versenden des Passwortes ist ein Fehler aufgetreten.
Eventuell ist die email-Adresse unbekannt
', 'Kundendaten für '+email)
+
+def ShowInfo(custid, Password):
+ global Errors
+ db = MySQLdb.connect(db=dbname)
+ cursor = db.cursor()
+ cursor.execute("select max(date), max(id) from transactions")
+ lastdate, id = cursor.fetchone()
+
+ query=("select firstname, lastname, email, address, city, country, phone, status "+
+ "from users "+
+ "where id="+str(custid)+" and password='"+Password+"' ")
+
+ #print query
+ results = cursor.execute(query);
+ if results != 0:
+
+ output = 'Letzter Buchungstag: '+str(lastdate)[0:10]+'
"
+ else:
+ output = "Die Kundennummer oder das angegebene Passwort sind nicht korrekt."
+ db.close()
+ Display(output, "Kundendaten #"+str(custid))
+ Errors = ""
+
+def TransferFaction(sid, faction, newuser, game):
+ db = MySQLdb.connect(db=dbname)
+ update = db.cursor()
+ exist = update.execute("select id from users where id="+str(newuser))
+ if exist==1:
+ update.execute("UPDATE subscriptions set status='TRANSFERED', user=" + str(newuser) + " where id="+str(sid))
+ SendTransfer(newuser, faction, game);
+ db.close()
+ return
+
+def Save(custid, Password):
+ validkeys=['email','address','lastname','firstname','city','password','phone']
+ values='id='+str(custid)
+ for key in Form.keys():
+ if key in validkeys:
+ values=values+", "+key+"='"+Form[key].value+"'"
+ db = MySQLdb.connect(db=dbname)
+ cursor=db.cursor()
+ cursor.execute('UPDATE users SET '+values+' where id='+str(custid))
+
+ nfactions = cursor.execute("select g.name, s.id, faction from games g, subscriptions s where s.status='ACTIVE' and s.user="+str(custid) + " and s.game=g.id")
+ while nfactions > 0:
+ game, sid, faction = cursor.fetchone()
+ if Form.has_key("cancel_"+faction):
+ update = db.cursor()
+ update.execute("UPDATE subscriptions set status='CANCELLED' where id="+str(sid))
+ elif Form.has_key("transfer_"+faction):
+ newuser = int(Form["transfer_"+faction].value)
+ TransferFaction(sid, faction, newuser, game)
+ nfactions = nfactions - 1
+
+ nfactions = cursor.execute("select g.name, s.id, faction from games g, subscriptions s where s.status='TRANSFERED' and s.user="+str(custid) + " and s.game=g.id")
+ while nfactions > 0:
+ game, sid, faction = cursor.fetchone()
+ if Form.has_key("accept_"+faction):
+ update = db.cursor()
+ update.execute("UPDATE subscriptions set status='ACTIVE' where id="+str(sid))
+ nfactions = nfactions - 1
+
+ nfactions = cursor.execute("select g.name, s.id, faction from games g, subscriptions s where s.status='CANCELLED' and s.user="+str(custid) + " and s.game=g.id")
+ while nfactions > 0:
+ game, sid, faction = cursor.fetchone()
+ if Form.has_key("activate_"+faction):
+ update = db.cursor()
+ update.execute("UPDATE subscriptions set status='ACTIVE' where id="+str(sid))
+ nfactions = nfactions - 1
+
+ db.close()
+ ShowInfo(custid, Password)
+# Display("Noch nicht implementiert", "Daten speichern für Kunde #"+str(custid))
+
+
Form = cgi.FieldStorage()
if Form.has_key("user"):