Example #1
0
def getSubjName(req):

    session = Session.Session(req)
    a = doSql()
    f = a.execqry("select getsubjname('" + session['sCode'] + "')",
                  False)[0][0]
    return f
def index(req):
    fp=open(data.path+"/project_data/staff_log.html","r");
    st=fp.read();
    session = Session.Session(req);
    session.delete()
    session.cleanup()
    return st;
Example #3
0
def rmColumn(req):
    session = Session.Session(req)
    GET = mod_python.util.parse_qs(req.args)
    session[GET[u'KEY'][0]].pop(int(GET[u'INDEX'][0]))
    session.save()
    print session[GET[u'KEY'][0]]
    return str(GET)
Example #4
0
def headerparserhandler(req):
    options = req.get_options()

    if options.has_key('Realm'):
        realm = options['Realm']
    else:
        apache.log_error('no realm specified')
        return apache.DECLINED

    sess = Session.Session(req, lock=0)
    sess.set_timeout(SESSION_TIMEOUT)

    sess.lock()

    username = session_user(sess, realm)

    if None == username and realm == 'Reports':
        username = session_user(sess, 'Administrator')

    if None == username and realm == 'SetupWizard':
        username = session_user(sess, 'Administrator')

    if None == username and realm == 'SetupWizard' and not is_wizard_complete(
    ):
        username = '******'
        save_session_user(sess, realm, username)

    if None == username and is_local_process_uid_authorized(req):
        username = '******'
        log_login(req, username, True, True, None)
        save_session_user(sess, realm, username)

    sess.save()
    sess.unlock()

    if None != username:
        pw = base64.encodestring('%s' % username).strip()
        req.headers_in['Authorization'] = "BASIC % s" % pw
        req.notes['authorized'] = 'true'
        return apache.OK
    else:
        # we only do this as to not present a login screen when access
        # is restricted. a tomcat valve enforces this setting.
        if options.get('UseRemoteAccessSettings', 'no') == 'yes':
            http_enabled = get_uvm_settings_item('system',
                                                 'httpAdministrationAllowed')
            connection = req.connection

            (addr, port) = connection.local_addr
            apache.log_error('rjt: addr=%s  port=%s' % (str(addr), str(port)))
            apache.log_error('rjt: connection.remote_ip = %s' %
                             (str(connection.remote_ip)))
            if not re.match('127\.|\:\:1', connection.remote_ip):
                if port == 80 and not http_enabled:
                    return apache.HTTP_FORBIDDEN

        apache.log_error(
            'Auth failure [Username not specified]. Redirecting to auth page. (realm: %s)'
            % realm)
        login_redirect(req, realm)
def index(req):
    req.content_type = "text/html"

    sess = Session.Session(req)

    login = req.form['login']
    password = req.form['password']

    conn = fonctions.connexionBD()
    cur = conn.cursor()

    sql = "select * from util where login=%s and mdp =%s;"
    cur.execute(sql, (
        login,
        password,
    ))
    data = cur.fetchall()

    if not data:
        sess.delete()
        req.write(
            fonctions.codeHTML(
                "Erreur !",
                """<h3>Identifiants invalides</h3>""" + fonctions.lien(
                    'form-connexion.py', "Retour à la page de connexion")))

    else:
        id_util = data[0]
        sess["login"] = login
        sess["id_util"] = id_util[0]
        sess.save()
        req.write(
            fonctions.codeHTML(
                "Connexion", """<h3>Identifiants valides</h3>""" +
                fonctions.lien('menu.py', "Menu du site")))
Example #6
0
def getStorageDirContents(req, courseId, assignmentId):
    """ Returns the file list from the storage host for the current user"""

    websutil.sanityCheckAssignmentId(assignmentId)
    websutil.sanityCheckCourseId(courseId)

    # Check permission
    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({
            'errorType': websutil.ERR_AUTH,
            'errorMessage': "",
            'errorTrace': ""
        })

    # Get username session variable
    strout = websutil.OutputString()
    try:
        s.load()
        username = s['username']
    except:
        traceback.print_exc(file=strout)
        return json.dumps({
            'errorType': websutil.ERR_EXCEPTION,
            'errorMessage': "",
            'errorTrace': strout.get()
        })
    # Reset the timeout
    s.save()
    return websutil.getUserStorageDirContents(req, courseId, assignmentId,
                                              username)
Example #7
0
def getCourses(req):
    """ Returns a JSON object containing the list of available courses """

    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({
            'errorType': websutil.ERR_AUTH,
            'errorMessage': "",
            'errorTrace': ""
        })

    # Reset the timeout
    s.save()

    course_arr = []
    strout = websutil.OutputString()
    try:
        clist = CourseList()
        for course_id in clist.course_names():
            course_cfg_fname = clist.course_config(course_id)
            course_cfg = StorerCourseConfig(course_cfg_fname)
            course_title = course_cfg.course_name()
            course_arr.append({'id': course_id, 'title': course_title})
    except:
        traceback.print_exc(file=strout)
        return json.dumps({
            'errorType': websutil.ERR_EXCEPTION,
            'errorMessage': "",
            'errorTrace': strout.get()
        })

    return json.dumps(course_arr)
Example #8
0
def updateMinScale(req, minscale1_, minscale2_, ):
	session = Session.Session(req)
	oN = cgi.escape(minscale1_)
	uN = cgi.escape(minscale2_) 
	a = doSql()
	f = a.execqry("select updateminscale('"+session['sCode']+"', '"+oN+"', '"+uN+"')", True)
	return True
Example #9
0
def index(req):
    req.content_type="text/html"

    sess = Session.Session(req)
    fonctions.redirectionSiNonConnecte(req,sess)

    req.write(fonctions.codeHTML("Ajout d'un contact","""
<p><b>Ajout d'un contact</b></p>
<form method="POST" action="ajout.py" onsubmit="return isItGood()">
    <table>
        <tr>
            <td>Nom</td>
            <td><input type="text" name="nom" id="nom"/></td>
            <td></td>
        </tr>
        <tr>
            <td>Adresse</td>
            <td><input type="text" name="adresse"/></td>
            <td></td>
        </tr>
        <tr>
            <td>Email</td>
            <td><input type="text" name="email" id="email"/></td>
            <td></td>
        </tr>
        <tr>
            <td>Téléphone</td>
            <td><input type="text" name="telephone" id="telephone"/></td>
            <td><input type="submit" value="Valider" id="submit"></td>
        </tr>
    </table>
</form>
""" + fonctions.lien("menu.py","Retour au menu principal") + """
<script src="form-ajout.js"></script>
"""))
Example #10
0
def index(req):
    req.content_type = "text/html"
    sess = Session.Session(req)
    fonctions.redirectionSiNonConnecte(req, sess)

    req.write(
        fonctions.codeHTML(
            "Liste des contacts",
            """<b> Liste des contacts </b> <br/> Rechercher un nom : <input type="text" onkeyup="chargementContacts(this.value)"/> 
		<div id="liste"></div>""" + fonctions.lien("menu.py", "Retour au menu")) +
        """
<script>
function chargementContacts(value) {
  if(value == null){
  	value = "";
  }
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     document.getElementById("liste").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "affiche-liste.py?nom=" + value, true);
  xhttp.send();
}
chargementContacts();
</script>""")
Example #11
0
def addScore(req, score, mult):
	session = Session.Session(req)	
	b = cgi.escape(score)
	c = cgi.escape(mult)
	e = doSql()
	f = e.execqry("select addscore('"+session['sCode']+"','"+b+"','"+c+"')", True)
	return True
Example #12
0
def login(req, username, password):
    req.content_type = 'text/html'
    # don't permit brute force password guessing:
    time.sleep(1)
    s = Session.Session(req)

    if not s.is_new():
	#TODO take the username from session
        return json.dumps({'status':True, 'username':username,
            'info':'Already logged in'})

    strout = websutil.OutputString()
    try:
        user = websutil.get_user(username, password)
    except:
        traceback.print_exc(file = strout)
        return json.dumps({'errorType':ERR_EXCEPTION,
            'errorMessage':"",
            'errorTrace':strout.get()})  	

    if user is None:
        s.invalidate()
        return json.dumps({'status':False, 'username':"", 
            'info':'Invalid username/password'})

    s["username"] = username.lower()
    s.save()
    return json.dumps({'status':True, 'username':user,
            'info':'Succesfully logged in'})
Example #13
0
def getUploadedMd5(req, courseId, assignmentId):
    """ Returns the md5 file for the current user"""

    # Check permission
    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({'errorType':ERR_AUTH,
                'errorMessage':"",
                'errorTrace':""})

    # Get username session variable
    strout = websutil.OutputString()
    try:
        s.load()
        username = s['username']
    except:
        traceback.print_exc(file = strout)
        return json.dumps({'errorType' : ERR_EXCEPTION,
                           'errorMessage' : "",
                           'errorTrace' : strout.get()})
    # Reset the timeout
    s.save()
    return getUserUploadedMd5(req, courseId, assignmentId, username)
Example #14
0
def send_main(req):
    global sess
    sess = Session.Session(req)
    sess.load()
    configfile = sess['configfile']

    return send_package.do_send_package(configfile)
Example #15
0
def handler(req):
    req.send_http_header()
    req.content_type = 'text/html;charset=UTF-8'
    session = Session.Session(req, timeout=3600)
    session.load()
    session = session_init(session)
    oauth_manager = oauthmanager.OAuth_manager(session)
    calender_api = calenderapi.Calender_api(oauth_manager)
    #URL에서 파일명 추출
    real_file_name = req.filename[req.filename.rfind('/') + 1:]
    if real_file_name == 'index.html':
        #등록된 accessToken이 있는지 판단
        if oauth_manager.check_access_token():
            util.redirect(req, 'access_resource.py')
        else:
            #등록된 accessToken이 없다면 인증페이지로
            util.redirect(req, 'oauth.py')
    elif real_file_name == 'oauth.py':
        oauth_template = file(config.oauth_file).read()
        req.write(oauth_template)
    elif real_file_name == 'request_token.py':
        #request_token 생성 및 사용자 인증 URL redirect
        util.redirect(req, oauth_manager.create_reqeust_token())
    elif real_file_name == 'callback.py':
        #callback_url 처리
        oauth_manager.create_access_token(req)
        util.redirect(req, 'index.html')
    elif real_file_name == 'access_resource.py':
        for title in calender_api.load_event_by_all('2011-5-1', '2011-5-31'):
            req.write('일정 제목 -> %s<br>' % (title.encode('utf-8')))

    return apache.OK
Example #16
0
def handler(req):
    req.send_http_header()
    req.content_type = 'text/html;charset=UTF-8'
    session = Session.Session(req, timeout=3600)
    session.load()
    session = session_init(session)
    oauth_manager = oauthmanager.OAuth_manager(session)
    calender_api = calenderapi.Calender_api(oauth_manager)
    #request parameter
    formValueList = util.FieldStorage(req)
    #URL에서 파일명 추출
    real_file_name = req.filename[req.filename.rfind('/') + 1:]
    if real_file_name == 'index.html':
        #등록된 accessToken이 있는지 판단
        if oauth_manager.check_access_token():
            template = file(config.index_file).read()
            search_date = formValueList.get(
                'date',
                '%s-%s' % (time.localtime().tm_year, time.localtime().tm_mon))
            try:
                content = createcalender.Create_calender(
                    int(search_date.split('-')[0]),
                    int(search_date.split('-')[1]), calender_api)
            except ValueError, error:
                #data 형식이 잘못 되었을 경우
                req.write("ValueError -> %s" % error)
            else:
                req.write(template % content)
        else:
            #등록된 accessToken이 없다면 인증페이지로
            util.redirect(req, 'oauth.py')
Example #17
0
def getAssignments(req, courseId):
    """ Returns the list of assignments for a given course """

    websutil.sanityCheckCourseId(courseId)

    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({
            'errorType': websutil.ERR_AUTH,
            'errorMessage': "Session is new",
            'errorTrace': ""
        })

    # Get username session variable
    strout = websutil.OutputString()
    try:
        s.load()
        username = s['username']
    except:
        traceback.print_exc(file=strout)
        return json.dumps({
            'errorType': websutil.ERR_EXCEPTION,
            'errorMessage': "Unable to load session",
            'errorTrace': strout.get()
        })
    # Reset the timeout
    s.save()

    try:
        vmcfg = config.CourseConfig(CourseList().course_config(courseId))
    except:
        traceback.print_exc(file=strout)
        return json.dumps({
            'errorType': websutil.ERR_EXCEPTION,
            'errorMessage': "Unable to load course config",
            'errorTrace': strout.get()
        })

    assignments = vmcfg.assignments()
    sorted_assg = sorted(
        assignments, lambda x, y: int(assignments.get(x, "OrderNumber")) - int(
            assignments.get(y, "OrderNumber")))
    ass_arr = []

    for key in sorted_assg:
        a = {}
        a['assignmentId'] = key
        a['assignmentTitle'] = assignments.get(key, "AssignmentTitle")
        a['assignmentStorage'] = assignments.getd(key, "AssignmentStorage", "")
        if a['assignmentStorage'].lower() == "large":
            a['assignmentStorageHost'] = assignments.get(
                key, "AssignmentStorageHost")
            a['assignmentStorageBasepath'] = assignments.storage_basepath(
                key, username)
        a['deadline'] = assignments.get(key, "Deadline")
        a['statementLink'] = assignments.get(key, "StatementLink")
        ass_arr.append(a)
    return json.dumps(ass_arr)
Example #18
0
def removeVseSrecne(req):
	
	dodaj = uporId = ""
	#==== VARIABLE ====
	id = req.form.get("id", -1)
	if id != -1:
		dodaj = " AND id='"+id+"'"

	sess = Session.Session(req) 
	if not sess.is_new():
		sess.load()
		uporId = str(sess.get('uporId', '-'))
	
	#==== BAZA ====
	if uporId != "":
		try:
			conn = sqlite3.connect("/var/www/ora/ora_mod_python/ora31/semi.db")
			c = conn.cursor()
			c.execute("DELETE FROM srecne WHERE idUpor = '"+uporId+"' " + dodaj)
			conn.commit()
		except Exception, inst:
			conn.rollback()
			req.write(str(type(inst)) + " " + str(inst.args) + " " + str(inst))     # the exception instance
			req.write("Prislo je do napake :(")
		finally:
Example #19
0
def autologin(req, username):
    req.content_type = 'text/html'
    # don't permit brute force password guessing:
    time.sleep(1)

    websutil.sanityCheckUsername(username)

    s = Session.Session(req)

    if not s.is_new():
        #TODO take the username from session
        return json.dumps({
            'status': True,
            'username': username,
            'info': 'Already logged in'
        })

    if not req.connection.remote_ip == '127.0.0.1':
        s.invalidate()
        return json.dumps({
            'status': False,
            'username': "",
            'info': req.connection.remote_ip
        })

    s["username"] = username.lower()
    s.save()
    return json.dumps({
        'status': True,
        'username': username,
        'info': 'Success!'
    })
Example #20
0
def login(req):
	#==== VARIABLE ====
	sess = Session.Session(req) 
	upoImeLogin = req.form.get("upoImeLogin", "")
	gesloLogin = req.form.get("gesloLogin", "")
	
	#==== BAZA ====	
	conn = sqlite3.connect("/var/www/ora/ora_mod_python/ora31/semi.db")
	c = conn.cursor()
	c.execute("SELECT * FROM uporabniki WHERE uporIme = '"+upoImeLogin+"' and geslo = '"+gesloLogin+"';")
	d = c.fetchone()
	c.close()
	conn.close()
	#==== SEJA ====
	req.content_type="text/html"
	if d != None:
		sess['uporId'] = d[0]
		sess['uporIme'] = d[1]
		sess['datumR'] = d[5]
		sess.set_timeout(1200)
		sess.save()
		#getData()
		
		script = '<script> function move() {window.location = "../prvi.psp"}</script>'
		return script+'<html><body onload="timer=setTimeout(''move()'',4000)"><b>Prijava uspesna</b><br></body></html>'
	else:
		return "<html><b>Napaka</b><br></html>"
Example #21
0
def getAssignments(req, courseId, locale=websutil.DEFAULT_LOCALE):
    """ Returns the list of assignments for a given course """

    websutil.install_i18n(websutil.sanityCheckLocale(locale))

    websutil.sanityCheckCourseId(courseId)

    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({
            'errorType': websutil.ERR_AUTH,
            'errorMessage': "Session is new",
            'errorTrace': ""
        })

    # Get username session variable
    strout = websutil.OutputString()
    try:
        s.load()
        username = s['username']
    except:
        traceback.print_exc(file=strout)
        return json.dumps({
            'errorType': websutil.ERR_EXCEPTION,
            'errorMessage': "Unable to load session",
            'errorTrace': strout.get()
        })
    # Reset the timeout
    s.save()

    return websutil.getAssignmentsHelper(courseId, username, strout)
def index(req):
    session = Session.Session(req)
    global Rollno
    try:
        Rollno = session['rno']
    except:
        return """<html>Session Expired<p><a href="../student_login.html"> LOGIN AGAIN</a></html>"""

    session.save()
    session.cleanup()
    db = MySQLdb.connect(host="localhost",
                         user=data.mysql_user,
                         passwd=data.mysql_pswd,
                         db="applicationProcess")
    # prepare a cursor object using cursor() method
    cursor = db.cursor()
    #req.content_type="text/html"
    #req.write(str(studAct))

    ss = """ select rollNumber from internationalStudentInformationDomain;"""
    cursor.execute(ss)
    rnoarray = cursor.fetchall()
    rno = map(lambda x: x[0], rnoarray)
    if str(Rollno) in rno:
        fp = open(data.path + "/project_data/NewAppInter.html", "r")
        ap = fp.read()
        return ap
    else:
        fp = open(data.path + "/project_data/Newapplication.html", "r")
        ap = fp.read()
        return ap
Example #23
0
def handler(req):
    from aubio.web.browser import *
    from mod_python import Session
    req.sess = Session.Session(req)
    req.sess['login'] = '******'
    req.sess.save()
    return configure_handler(req, index)
Example #24
0
def index(req):
    req.content_type = "text/html"
    conn = fonctions.connexionBD()
    cursor = conn.cursor()
    id_util = req.form["id_util"]
    login = req.form["login"]
    requete = "select id_util, mdp from util where login = %s"
    cursor.execute(requete, (login))
    tup = cursor.fetchone()
    if tup is None:
        msg = "Login inexistant"
        lien = fonctions.lien("form-connexion.py",
                              "Retour au formulaire de connexion")
    else:
        (id_util, mdp) = tup
        if mdp != req.form["mdp"]:
            msg = "Mot de passe incorrect"
            lien = fonctions.lien("form-connexion.py",
                                  "Retour au formulaire de connexion")
        else:
            session = Session.Session(req)
            session["id_util"] = id_util
            session["login"] = login
            session.save()
            msg = "Le mot de passe est correct."
            lien = fonctions.lien("menu.py", "Accès au menu du site")
    body = msg + "<br/>" + lien
    req.write(fonctions.codeHTML("Connexion", body))
Example #25
0
def index(req):
    req.content_type = "text/html"

    sess = Session.Session(req)  #recup session
    redirectionSiNonConnecte(req, sess)  #redirige si la session est nouvelle
    id_util = sess["id_util"]  #recup l'id_util

    login = req.form['login']
    mdp = req.form['motdepasse']

    conn = connexionBD()
    cur = conn.cursor()
    sql = "insert into util (login,mdp) values (%s,%s);"
    cur.execute(sql, (
        login,
        mdp,
    ))
    conn.commit()
    conn.close()

    req.write(
        codeHTML(
            "", """
<p><b>Nouvel utilisateur</b></p>
<p>""" + login + """ a bien été ajouté</p>
""" + lien('menu.py', "Retour au menu principal")))
Example #26
0
def getUploadedMd5(req, courseId, assignmentId, locale=websutil.DEFAULT_LOCALE):
    """ Returns the md5 file for the current user"""

    websutil.install_i18n(websutil.sanityCheckLocale(locale))

    websutil.sanityCheckAssignmentId(assignmentId)
    websutil.sanityCheckCourseId(courseId)

    # Check permission
    req.content_type = 'text/html'
    s = Session.Session(req)
    if s.is_new():
        s.invalidate()
        return json.dumps({'errorType':websutil.ERR_AUTH,
                'errorMessage':"",
                'errorTrace':""})

    # Get username session variable
    strout = websutil.OutputString()
    try:
        s.load()
        username = s['username']
    except:
        traceback.print_exc(file = strout)
        return json.dumps({'errorType' : websutil.ERR_EXCEPTION,
                           'errorMessage' : "",
                           'errorTrace' : strout.get()})
    # Reset the timeout
    s.save()
    return websutil.getUserUploadedMd5Helper(courseId, assignmentId, username, strout)
Example #27
0
def majSession(req):
    session = Session.Session(req)
    GET = mod_python.util.parse_qs(req.args)
    session[GET[u'KEY'][0]] = GET[u'VALUE'][0]
    session.save()
    print session[GET[u'KEY'][0]]
    return str(GET)
Example #28
0
def index(req):
    session = Session.Session(req);
    info=req.form
    global Rollno
    try:
      	Rollno=session['rno']
    except:
         return """<html>Session Expired<p><a href="../student_login.html"> LOGIN AGAIN</a></html>"""
    

    

    try:
	edit=info['edit'];
	edit=1;
    except:
	edit=0;
    
    ip=session['ipaddr']
    session.save()
    session.cleanup()
    flg=0
    db = MySQLdb.connect(
    host="localhost",
    user=data.mysql_user,
    passwd=data.mysql_pswd,
    db="userInputDatabase" )
    # prepare a cursor object using cursor() method
    cursor = db.cursor()
    tabid="ApplicationRequests"
    
    fp=open(data.path+"/project_data/bank_addr.html","r")
    fp=fp.read()%(edit)
    
    return fp
Example #29
0
def addColumn(req):
    session = Session.Session(req)
    GET = mod_python.util.parse_qs(req.args)
    session[GET[u'KEY'][0]].insert(int(GET[u'INDEX'][0]), GET[u'COLUMN'][0])
    session.save()
    print session[GET[u'KEY'][0]]
    return str(GET)
Example #30
0
def resetPassword(req):
    session = Session.Session(req)
    randPassword = os.urandom(string_length)
    a = doSql()
    f = a.execqry("SELECT changepass('" + randPassword + "','" + f + "')",
                  True)
    return True