def confirm_order():
    if not html.check_logged_in(loggedIn):
        return
    viewerID = sql.run_sql("""SELECT ViewerID FROM ViewerLogin
                               WHERE UserName = '******'"""%username)[0][0]
    videoids = sql.run_sql("""SELECT VideoID FROM ViewerOrderLine
                               WHERE ViewerOrderID IN (SELECT ViewerOrderID FROM ViewerOrder
                                                           WHERE ViewerID = %d)"""%viewerID)

    for item in videoids:
        if int(vidid) in item:
            redirect.refresh("viewer_order.py?error=1", sess.cookie)
            return
    

    viewerorderID = sql.run_insert("""INSERT INTO ViewerOrder VALUES
                                           (DEFAULT, CURDATE(), NULL, 'Pending', %d)"""%viewerID)
    viewerType = sql.run_sql("""SELECT ViewerType FROM Viewer
                                     WHERE ViewerID = %d"""%viewerID)[0][0]
    if viewerType == 'C':
        viewerType = 1
    else:
        viewerType = 0
    sql.run_insert("""INSERT INTO ViewerOrderLine VALUES
                       (%s, %s, %s)"""%(vidid, viewerorderID, str(bool(viewerType)).upper()))
    redirect.refresh("viewer_order.py", sess.cookie)

    return
def becomePremium():
    if becomeSub:
        sql.run_update("""UPDATE Viewer
                       SET ViewerType = 'P'
                       WHERE ViewerID = '%s'
                   """%(viewerID))
        sql.run_insert("""INSERT INTO PremiumViewer VALUES
                           (%s, CURDATE() + INTERVAL 1 MONTH)"""%(viewerID))
    return
def addInstanceInfo():
    superID = sql.run_sql(
        """SELECT playerID FROM Player WHERE GameHandle = "%s" """ %
        (superName))[0][0]
    instancerunID = sql.run_insert("""INSERT INTO InstanceRun VALUES
                                       (DEFAULT, %s, '%s',NOW(), '%s')
                               """ % (superID, name, category))
    return instancerunID
def addVideoInfo():
    gameID = sql.run_sql("""SELECT GameID FROM Game WHERE Name = "%s" """ % (GameName))[0][0]
    instancerunID = sql.run_sql("""SELECT InstanceRunID FROM InstanceRun WHERE Name = "%s" """ % (InstanceRunName))[0][0]

    videoID= sql.run_insert("""INSERT INTO Video VALUES
                                       (DEFAULT, '%s', '%s', '%s', '%s', '%s', '%s')
                               """%(videoName,videoURL,videoPrice,videoType,instancerunID,gameID))
    return videoID
def updateAddress():
    #update address only if it has been changed
    if detect_address_change():
        sql.run_update("""
                       UPDATE PlayerAddress
                       SET EndDATE = CURDATE()
                       WHERE PlayerID = "%s" AND AddressID = "%s"
                       """% (playerID, addressID))
        next_val = sql.run_insert("""
                       INSERT Address VALUES
                       (DEFAULT, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")
                       """ % (addNo, addName, addType, addSuburb, addCity, addState, addPost, addCountry))
        sql.run_insert("""
                       INSERT INTO PlayerAddress VALUES 
                       ("%s","%s",CURDATE(),NULL) 
                       """ % (playerID, next_val))
    return
def updateAddress():
    if detect_address_change():
        sql.run_update("""
                       UPDATE ViewerAddress 
                       SET EndDATE = CURDATE()
                       WHERE ViewerID = "%s" AND AddressID = "%s"
                       """% (viewerID, addressID))
        next_val = sql.run_insert("""
                       INSERT Address VALUES
                       (DEFAULT, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")
                       """ % (viewerStNo, viewerStName, viewerStType, viewerSuburb, viewerCity, viewerState, viewerPCode, viewerCountry))
        sql.run_insert("""
                       INSERT INTO ViewerAddress VALUES 
                       ("%s","%s",CURDATE(),NULL) 
                       """ % (viewerID, next_val))
        return
    return
def addAchievementInfo():
    achievementID= sql.run_insert("""INSERT INTO Achievement VALUES
                                       (DEFAULT, NULL, NULL, '%s', '%s')
                               """%(name,reward))
    return achievementID
def addGameInfo():
    addressID = sql.run_insert("""INSERT INTO Game VALUES
                                       (DEFAULT, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')
                               """%(gameName, genre, review, starRating, classificationRating, platformNotes, promotionLink, price))
    return
def addViewerInfo():
    if viewerSubscription:
        addressID = sql.run_insert("""INSERT INTO Address VALUES
                                       (DEFAULT, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s')"""%(int(viewerStNo), viewerStName,
                                                                                                   viewerStType, viewerSuburb,
                                                                                                   viewerCity, viewerState,
                                                                                                   viewerPCode, viewerCountry))
        viewerID = sql.run_insert("""INSERT INTO Viewer VALUES
                                      (DEFAULT, 'P', '%s-%s-%s', '%s')"""%(viewerDOBYear, viewerDOBMonth, viewerDOBDay, viewerEmail))
        sql.run_insert("""INSERT INTO ViewerLogin VALUES
                           ('%s', '%s', %d)"""%(viewerUserName, viewerPwd1, viewerID))
        sql.run_insert("""INSERT INTO ViewerAddress VALUES
                           (%d, %d, CURDATE(), NULL)"""%(viewerID, addressID))
        sql.run_insert("""INSERT INTO PremiumViewer VALUES
                           (%d, CURDATE() + INTERVAL 1 MONTH)"""%(viewerID))
    else:
        addressID = sql.run_insert("""INSERT INTO Address VALUES
                                       (DEFAULT, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s')"""%(int(viewerStNo), viewerStName,
                                                                                                   viewerStType, viewerSuburb,
                                                                                                   viewerCity, viewerState,
                                                                                                   viewerPCode, viewerCountry))
        viewerID = sql.run_insert("""INSERT INTO Viewer VALUES
                                      (DEFAULT, 'N', '%s-%s-%s', '%s')"""%(viewerDOBYear, viewerDOBMonth, viewerDOBDay, viewerEmail))
        sql.run_insert("""INSERT INTO ViewerLogin VALUES
                           ('%s', '%s', %d)"""%(viewerUserName, viewerPwd1, viewerID))
        sql.run_insert("""INSERT INTO ViewerAddress VALUES
                           (%d, %d, CURDATE(), NULL)"""%(viewerID, addressID))
    return