Browse Source

이메일 변경 기능

Surplus_Up (2DU) 7 years ago
parent
commit
9e56ff4855
6 changed files with 67 additions and 63 deletions
  1. 1 0
      language/en-US.json
  2. 1 0
      language/ko-KR.json
  3. 28 28
      route/login_check_key.py
  4. 34 32
      route/login_need_email.py
  5. 2 2
      route/user_setting.py
  6. 1 1
      version.json

+ 1 - 0
language/en-US.json

@@ -186,6 +186,7 @@
         "edit_button_big" : "Big",
         "edit_button_paragraph" : "Paragraph",
         "password_change" : "Password change",
+        "email_change" : "Email change",
         "_comment_2.1_" : "Filter",
             "_comment_2.1.1_" : "List",
                 "interwiki_list" : "Interwiki(s) list",

+ 1 - 0
language/ko-KR.json

@@ -186,6 +186,7 @@
         "edit_button_big" : "크게",
         "edit_button_paragraph" : "문단",
         "password_change" : "비밀번호 변경",
+        "email_change" : "이메일 변경",
         "_comment_2.1_" : "필터",
             "_comment_2.1.1_" : "목록",
                 "interwiki_list" : "인터위키 목록",

+ 28 - 28
route/login_check_key.py

@@ -4,7 +4,34 @@ def login_check_key_2(conn, tool):
     curs = conn.cursor()
 
     if flask.request.method == 'POST':
-        if tool == ('check_key' or 'email_replace'):
+        if tool == 'check_pass_key':
+            if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
+                hashed = pw_encode(flask.session['c_key'])
+
+                curs.execute("update user set pw = ? where id = ?", [hashed, flask.session['c_id']])
+                conn.commit()
+
+                d_id = flask.session['c_id']
+                pw = flask.session['c_key']
+
+                flask.session.pop('c_id', None)
+                flask.session.pop('c_key', None)
+
+                curs.execute('select data from other where name = "reset_user_text"')
+                sql_d = curs.fetchall()
+                if sql_d and sql_d[0][0] != '':
+                    b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
+                else:
+                    b_text = ''
+
+                return easy_minify(flask.render_template(skin_check(),    
+                    imp = [load_lang('reset_user_ok'), wiki_set(), custom(), other2([0, 0])],
+                    data = b_text + load_lang('id') + ' : ' + d_id + '<br>' + load_lang('password') + ' : ' + pw,
+                    menu = [['user', load_lang('return')]]
+                ))
+            else:
+                return redirect('/pass_find')
+        else:
             ip = ip_check()
             
             if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
@@ -72,33 +99,6 @@ def login_check_key_2(conn, tool):
                 flask.session.pop('c_email', None)
 
                 return redirect('/user')
-        else:
-            if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
-                hashed = pw_encode(flask.session['c_key'])
-
-                curs.execute("update user set pw = ? where id = ?", [hashed, flask.session['c_id']])
-                conn.commit()
-
-                d_id = flask.session['c_id']
-                pw = flask.session['c_key']
-
-                flask.session.pop('c_id', None)
-                flask.session.pop('c_key', None)
-
-                curs.execute('select data from other where name = "reset_user_text"')
-                sql_d = curs.fetchall()
-                if sql_d and sql_d[0][0] != '':
-                    b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
-                else:
-                    b_text = ''
-
-                return easy_minify(flask.render_template(skin_check(),    
-                    imp = [load_lang('reset_user_ok'), wiki_set(), custom(), other2([0, 0])],
-                    data = b_text + load_lang('id') + ' : ' + d_id + '<br>' + load_lang('password') + ' : ' + pw,
-                    menu = [['user', load_lang('return')]]
-                ))
-            else:
-                return redirect('/pass_find')
     else:
         curs.execute('select data from other where name = "check_key_text"')
         sql_d = curs.fetchall()

+ 34 - 32
route/login_need_email.py

@@ -4,10 +4,38 @@ def login_need_email_2(conn, tool):
     curs = conn.cursor()
 
     if flask.request.method == 'POST':
-        if tool == ('need_email' or 'email_change'):
-            if tool == 'email_change':
+        if tool == 'pass_find':
+            curs.execute("select id from user_set where id = ? and name = 'email' and data = ?", [
+                flask.request.form.get('id', ''),
+                flask.request.form.get('email', '')
+            ])
+            if curs.fetchall():
                 flask.session['c_key'] = ''.join(random.choice("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") for i in range(16))
                 flask.session['c_id'] = flask.request.form.get('id', '')
+
+                curs.execute('select data from other where name = "email_title"')
+                sql_d = curs.fetchall()
+                if sql_d and sql_d[0][0] != '':
+                    t_text = html.escape(sql_d[0][0])
+                else:
+                    t_text = wiki_set()[0] + ' key'
+
+                curs.execute('select data from other where name = "email_text"')
+                sql_d = curs.fetchall()
+                if sql_d and sql_d[0][0] != '':
+                    i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
+                else:
+                    i_text = 'Key : ' + flask.session['c_key']
+
+                send_email(flask.request.form.get('email', ''), t_text, i_text)
+                
+                return redirect('/check_pass_key')
+            else:
+                return re_error('/error/12')
+        else:
+            if tool == 'email_change':
+                flask.session['c_key'] = ''.join(random.choice("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") for i in range(16))
+                flask.session['c_id'] = ip_check()
                 flask.session['c_pw'] = ''
             
             if 'c_id' in flask.session:
@@ -48,36 +76,10 @@ def login_need_email_2(conn, tool):
                                 return redirect('/email_replace')
                             else:
                                 return redirect('/check_key')
-            else:
-                return redirect('/register')
-        else:
-            curs.execute("select id from user_set where id = ? and name = 'email' and data = ?", [
-                flask.request.form.get('id', ''),
-                flask.request.form.get('email', '')
-            ])
-            if curs.fetchall():
-                flask.session['c_key'] = ''.join(random.choice("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") for i in range(16))
-                flask.session['c_id'] = flask.request.form.get('id', '')
-
-                curs.execute('select data from other where name = "email_title"')
-                sql_d = curs.fetchall()
-                if sql_d and sql_d[0][0] != '':
-                    t_text = html.escape(sql_d[0][0])
-                else:
-                    t_text = wiki_set()[0] + ' key'
-
-                curs.execute('select data from other where name = "email_text"')
-                sql_d = curs.fetchall()
-                if sql_d and sql_d[0][0] != '':
-                    i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
-                else:
-                    i_text = 'Key : ' + flask.session['c_key']
-
-                send_email(flask.request.form.get('email', ''), t_text, i_text)
-                
-                return redirect('/check_pass_key')
-            else:
-                return re_error('/error/12')
+                    else:
+                        return redirect('/email_filter')
+            
+            return redirect('/user')
     else:
         if tool == 'pass_find':
             curs.execute('select data from other where name = "password_search_text"')

+ 2 - 2
route/user_setting.py

@@ -35,7 +35,7 @@ def user_setting_2(conn, server_init):
             if data:
                 email = data[0][0]
             else:
-                email = ''
+                email = '-'
 
             div2 = load_skin()
             div3 = ''
@@ -76,7 +76,7 @@ def user_setting_2(conn, server_init):
                         <hr class=\"main_hr\">
                         <a href="/pw_change">(''' + load_lang('password_change') + ''')</a>
                         <hr class=\"main_hr\">
-                        <a href="/email_change">(e_ch)</a>
+                        <span>''' + load_lang('email') + ''' : ''' + email + '''</span> <a href="/email_change">(''' + load_lang('email_change') + ''')</a>
                         <hr class=\"main_hr\">
                         <span>''' + load_lang('skin') + '''</span>
                         <hr class=\"main_hr\">

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.1-master-04",
+        "r_ver" : "v3.1.1-master-05",
         "c_ver" : "400001",
         "s_ver" : "2"
     }, "stable" : {