Compare commits

...

No commits in common. "master" and "bug209-yaaqob" have entirely different histories.

5 changed files with 60 additions and 48 deletions

View File

@ -5,10 +5,6 @@ from UseSqlite import InsertQuery, RecordQuery
path_prefix = '/var/www/wordfreq/wordfreq/' path_prefix = '/var/www/wordfreq/wordfreq/'
path_prefix = './' # comment this line in deployment path_prefix = './' # comment this line in deployment
def verify_pass(newpass,oldpass):
if(newpass==oldpass):
return True
def verify_user(username, password): def verify_user(username, password):
rq = RecordQuery(path_prefix + 'static/wordfreqapp.db') rq = RecordQuery(path_prefix + 'static/wordfreqapp.db')
@ -51,8 +47,6 @@ def change_password(username, old_password, new_password):
if not verify_user(username, old_password): # 旧密码错误 if not verify_user(username, old_password): # 旧密码错误
return False return False
# 将用户名和密码一起加密,以免暴露不同用户的相同密码 # 将用户名和密码一起加密,以免暴露不同用户的相同密码
if verify_pass(new_password,old_password): #新旧密码一致
return False
password = md5(username + new_password) password = md5(username + new_password)
rq = InsertQuery(path_prefix + 'static/wordfreqapp.db') rq = InsertQuery(path_prefix + 'static/wordfreqapp.db')
rq.instructions_with_parameters("UPDATE user SET password=:password WHERE name=:username", dict( rq.instructions_with_parameters("UPDATE user SET password=:password WHERE name=:username", dict(

View File

@ -29,10 +29,9 @@ function highLight() {
if (sel_word1 != null) { if (sel_word1 != null) {
var list = sel_word1.value.split(" "); var list = sel_word1.value.split(" ");
for (var i = 0; i < list.length; ++i) { for (var i = 0; i < list.length; ++i) {
list[i] = list[i].replace(/(^\s*)|(\s*$)/g, "");//消除字符串两边空字符 list[i] = list[i].replace(/(^\s*)|(\s*$)/g, "");
if (list[i] != "" && "<mark>".indexOf(list[i]) == -1 && "</mark>".indexOf(list[i]) == -1) { if (list[i] != "" && "<mark>".indexOf(list[i]) == -1 && "</mark>".indexOf(list[i]) == -1) {
txt = txt.replace(new RegExp(list[i], "g"), "<mark>" + list[i] + "</mark>");
txt = txt.replace(new RegExp("\\s"+list[i]+"\\s", "g"), " <mark>" + list[i] + "</mark> ");
} }
} }
} }
@ -41,7 +40,7 @@ function highLight() {
for (var i = 0; i < list2.length; ++i) { for (var i = 0; i < list2.length; ++i) {
list2[i] = list2[i].replace(/(^\s*)|(\s*$)/g, ""); list2[i] = list2[i].replace(/(^\s*)|(\s*$)/g, "");
if (list2[i] != "" && "<mark>".indexOf(list2[i]) == -1 && "</mark>".indexOf(list2[i]) == -1) { if (list2[i] != "" && "<mark>".indexOf(list2[i]) == -1 && "</mark>".indexOf(list2[i]) == -1) {
txt = txt.replace(new RegExp("\\s"+list2[i]+"\\s", "g"), " <mark>" + list2[i] + "</mark> "); txt = txt.replace(new RegExp(list2[i], "g"), "<mark>" + list2[i] + "</mark>");
} }
} }
} }

View File

@ -1,21 +1,20 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes" /> <meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes"
/>
<meta name="format-detection" content="telephone=no" /> <meta name="format-detection" content="telephone=no" />
{{ yml['header'] | safe }} {{ yml['header'] | safe }} {% if yml['css']['item'] %} {% for css in
{% if yml['css']['item'] %} yml['css']['item'] %}
{% for css in yml['css']['item'] %} <link href="{{ css }}" rel="stylesheet" />
<link href="{{ css }}" rel="stylesheet"> {% endfor %} {% endif %} {% if yml['js']['head'] %} {% for js in
{% endfor %} yml['js']['head'] %}
{% endif %}
{% if yml['js']['head'] %}
{% for js in yml['js']['head'] %}
<script src="{{ js }}"></script> <script src="{{ js }}"></script>
{% endfor %} {% endfor %} {% endif %}
{% endif %}
<title>EnglishPal Study Room for {{username}}</title> <title>EnglishPal Study Room for {{username}}</title>
</head> </head>
@ -23,23 +22,43 @@
<p>勾选不认识的单词</p> <p>勾选不认识的单词</p>
<form method="post" action="/{{username}}/mark"> <form method="post" action="/{{username}}/mark">
<input type="submit" name="add-btn" value="加入我的生词簿" /> <input type="submit" name="add-btn" value="加入我的生词簿" />
{% for x in lst %} <input
{% set word = x[0]%} onclick="checkall()"
type="button"
name="add-btn"
value="select all"
/>
{% for x in lst %} {% set word = x[0]%}
<p> <p>
<font color="grey">{{loop.index}}</font> <font color="grey">{{loop.index}}</font>
: :
<a href='http://youdao.com/w/eng/{{word}}/#keyfrom=dict2.index' title={{word}}>{{word}}</a> <a
href="http://youdao.com/w/eng/{{word}}/#keyfrom=dict2.index"
title="{{word}}"
>{{word}}</a
>
({{x[1]}}) ({{x[1]}})
<input type="checkbox" name="marked" value={{word}}> <input
class="select-all"
type="checkbox"
name="marked"
value="{{word}}"
/>
</p> </p>
{% endfor %} {% endfor %}
</form> </form>
{{ yml['footer'] | safe }} {{ yml['footer'] | safe }} {% if yml['js']['bottom'] %} {% for js in
{% if yml['js']['bottom'] %} yml['js']['bottom'] %}
{% for js in yml['js']['bottom'] %}
<script src="{{ js }}"></script> <script src="{{ js }}"></script>
{% endfor %} <script>
{% endif %} function checkall() {
const selectAllCheckBox = document.querySelectorAll(".select-all");
for (let i = 0; i < selectAllCheckBox.length; i++) {
selectAllCheckBox[i].checked = true;
}
}
</script>
{% endfor %} {% endif %}
</body> </body>
</html> </html>

0
build.sh Executable file → Normal file
View File

BIN
wordfreqapp.db Normal file

Binary file not shown.