def msg_post(ea): allstart() fz = local.r.fz cfg = api.load_echo(False) ufor = request.forms.msgfrom.encode('utf-8') if not flt.echo_flt(ea): return ea if not fz.msg or not fz.subj: return 'empty msg or subj' uname, uaddr = points.check_hash(ufor) if uaddr: mo = sx.mydict() for _ in ('subj', 'msg', 'repto'): mo[_] = fz[_].decode('utf-8') mo['msgfrom'] = uname mo['msg'] = mo['msg'].replace('\r\n', '\n') mo['date'] = str(sx.gts()) mo.update(addr='%s, %s' % (cfg[0][1], uaddr), msgto=request.forms.msgto, echoarea=ea) api.savemsg(mo) else: return 'no auth' if ufor != local.r.auth: response.set_cookie('auth', ufor, path='/', max_age=7776000) return ( '<html><head><meta http-equiv="refresh" content="0; /%s" /></head><body></body></html>' % ea) else: redirect('/%s' % ea)
def save_myel(eset=''): elist = eset or request.forms.myel.replace('\r\n', '\n') response.set_cookie('myel', elist.replace('/', '\n'), path='/', max_age=7776000) return ( '<html><head><meta http-equiv="refresh" content="0; /" /></head><body></body></html>' )
def user_login(): up = request.forms.upass1.strip().encode('utf-8') out = reg.mk_reg(request.forms) if up.startswith(':') and up.endswith(':'): ud = udata(up) else: if not out.startswith(':'): return out ud = udata(out) response.set_cookie('kvitok', ud.kvitok.encode('utf-8'), path='/', max_age=7776000) return template('reg/user.html', u=ud, ea=request.forms.ea, admikey=ak())
def auth_user_bykey(): ud = udata(request.forms.kvitok.encode('utf-8')) if request.forms.kvitok: if ud.check(): response.set_cookie('kvitok', ud.kvitok, path='/', max_age=7776000) return template('''<html><head> <meta http-equiv="refresh" content="3; {{redir}}" /> </head><body><p>Пользователь: <b>{{ud.uname}}</b></p> <p>Адрес: <b>{{ud.uaddr}}</b></p> <p>Авторизация принята. Осуществляется переход по адресу: <a href="{{redir}}">{{redir}}</a></p></body></html>''', ud=ud, redir=request.forms.redir.encode('utf-8').decode('base64') or '/') else: return template('{{ud.uname}}<br>{{ud.uaddr}}<br><br>Ключ не принят, сожалеем. Обратитесь к производителю.',ud=ud) else: response.set_cookie('kvitok', '', path='/', max_age=7776000) return template('<html><head><meta http-equiv="refresh" content="3; {{redir}}" /></head><body><p>Авторизация cнята. Осуществляется переход по адресу: <a href="{{redir}}">{{redir}}</a></p></body></html>', ud=ud, redir=request.forms.redir.encode('utf-8').decode('base64') or '/')
def adm_in(): if request.method == 'POST': response.set_cookie('admikey', request.forms.admikey.encode('utf-8'), path='/', max_age=7776000) return template('<a href="/user/me?ea={{ea}}">admikey set</a>', ea=request.forms.ea) else: if ak(): return template( '<form method="post"><input type="hidden" name="ea" value="{{ea}}"><input type="submit" value="Снять полномочия администратора"> или <a href="/user/me?ea={{ea}}">нет</a></form>', ea=request.query.ea) else: return template( '<form method="post"><input type="hidden" name="ea" value="{{ea}}"><input type="text" name="admikey" placeholder="admikey"><input type="submit" value="Ok"> | <a href="/user/me?ea={{ea}}">Отмена</a></form>', ea=request.query.ea)
def cookie_page(h=''): allstart() response.set_cookie('auth', h, path='/', max_age=7776000) return ( '<html><head><meta http-equiv="refresh" content="0; /" /></head><body></body></html>' )
def user_info(): ud = u() if request.query.logout: response.set_cookie('kvitok', '', path='/', max_age=7776000) ud = udata('') return template('reg/user.html', u=ud, ea=request.query.ea, admikey=ak())