[置顶] 武汉科技大学官方OJ开发日志(持续更新)

时间:2013.08.14

今天主要是完成了contest模式下privatestd登陆部分的代码

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中的usernick的链接去掉

发现的新BUG

在比赛中显示的题目中ACSUBMIT拉取的系统的数据,这个要改

原来写的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做了相应的修改

 


 


posted on 2013-08-18 22:26  bbsno  阅读(562)  评论(0编辑  收藏  举报

导航