时间:2013.08.14
今天主要是完成了contest模式下private和std登陆部分的代码
1.private权限的比赛
登录时需要输入比赛所设定的密码。这里所涉及到的代码在/template/bs/contest_login.php
当输入完密码后,需要验证密码的正确与否,则上述form表单转向/private_login.php中进行验证,验证时需要从contest表读出cid对应的密码与输入密码对比,如果输入正确,则设置session[‘c’.$cid],然后跳转到对应的contest.php页面,此时就可以看到比赛的题目
2.STD权限的比赛
登录时需要输入比赛所设定的用户名和密码。这里所涉及到的代码在/template/bs/std_login.php 有form表单
当输入完密码后,需要验证用户名和密码的正确与否,则上述form表单转向/std_login.php中进行验证,验证时需要从contest_users表读出cid对应的密码和用户名与输入密码和用户名对比,如果输入正确,则设置session[‘c’.$cid],和session[contest_user_id]然后跳转到对应的contest.php页面,此时就可以看到比赛的题目
3.Std模式下退出登录
主要添加了一个链接,当std模式登陆成功后,页面上就会显示一个Logout链接,供用户退出登录,链接指向/std_logout.php文件,里面的代码主要是注销session[‘c’.$cid],和session[contest_user_id]
时间:2013.8.15
首先是对/submit.php进行了修改,使得在不同情况下,插入到solution中的user_id不一样
然后修改了/contestrank.php,使得不同比赛模式下的rank都可以查看到
再就是修改了/status.php,对于不同比赛,那么查看当前提交情况也是不同的
遗留的BUG:
Contest中的status以及ranklist还是会和外面搞混
我的想法是比赛中的姓名和昵称都不加外在链接,另外比赛中查看代码的权限还没改好
另外在比赛中提交的题目都被记入到总的表里面去了,这个还要修改
时间:2013.8.16
修改了在比赛模式中,根据不同的权限可以查看判题信息,代码
修改了在比赛模式中和普通模式时,把比赛模式提交的信息加入到USER表和PROBLEM表中,彻底将比赛和日常的信息断开
修改了userinfo中关于用户的提交问题,进一步将比赛情况和系统数据隔开
需要MCB做的事情,将TEMPLATE中的CONTESTRANK中的user和nick的链接去掉
发现的新BUG:
在比赛中显示的题目中AC和SUBMIT拉取的系统的数据,这个要改
原来写的SESSION有问题,应该改成SESSION[$CID.’CONTEST_USER_ID’],这样才能区分出不同的比赛中的USER是不一样的,因为我可能会同时登陆多个比赛
时间:2013.8.18
将原来STD时要注册的session[‘contest_user_id’]改成了session[‘contest_user_id’.$cid]
这样有助于同时参加多个比赛的设置,不会出现混乱
相应的修改的
/contest.php
/contestrank.php
/status.php
/showsorce.php
/ceinfo.php
/reinfo.php
/std_login.php
都对里面的session做了相应的修改
时间:2013.8.19
今天主要是由MCB修改相应的界面代码
然后把contest模块里面的指出是否已经AC的代码做了修改
主要是修改/contest.php
使得在三种模式下的情况都可以查看
对整个OJ的模块风格做了修改
下一步的目标::
修改网页的代码,使得网页加载的更快
去除掉submit页面的插件以及一些不必要的东西,这样会提升加载速度
做了域名301重定向,在WEB在外部时,这样有助于提升速度
时间:2013.8.20
通过修改/contest.php /problem.php 为OJ增加了隐藏题目标题的功能
优化了title的显示
在admin界面add contest里面增加了相应的选项
修改了/template/bs/contest.php里面,当比赛没开始的时候不显示题目
修改了一部分界面
去掉了lost password的功能
时间:2013.8.21
修改了contest的界面,使得显示更加的合理以及好看
修改了在提交过程中会出现的错误。主要是显示错误
修改了foot-er
反馈了一些BUG:
Status的界面应该显示nick,而不是id
User的AC应该是AC的题数,而不应该是次数
AC率的计算
TEST之后,TEST会影响AC率,考虑到底要不要TEST功能
提议在header上加一个链接
记录上次选择语言的功能