2DU 8 gadi atpakaļ
vecāks
revīzija
161be467db
6 mainītis faili ar 95 papildinājumiem un 178 dzēšanām
  1. 88 50
      app.py
  2. 0 28
      views/acl.tpl
  3. 0 24
      views/admin.tpl
  4. 7 1
      views/index.tpl
  5. 0 52
      views/read.tpl
  6. 0 23
      views/revert.tpl

+ 88 - 50
app.py

@@ -980,18 +980,24 @@ def revert(name = None, num = None):
             curs.execute("select title from history where title = ? and id = ?", [name, str(num)])
             rows = curs.fetchall()
             if(rows):
+                l_c = login_check()
+                if(l_c == 0):
+                    plus = '<br> \
+                            <span>비 로그인 상태입니다. 비 로그인으로 작업 시 아이피가 역사에 기록됩니다.</span> \
+                            <br> \
+                            <br>'
+                else:
+                    plus = ''
+
                 return(
-                    template('revert', 
-                        custom_css = custom_css(), 
-                        custom_js = custom_js(),
-                        license = wiki_set(3), 
-                        login = login_check(), 
-                        title = name, 
-                        logo = wiki_set(1), 
-                        page = url_pas(name), 
-                        r = url_pas(str(num)), 
-                        plus = '정말 되돌리시겠습니까?', 
-                        sub = '되돌리기'
+                    template(
+                        'index', 
+                        imp = [name, wiki_set(1), wiki_set(3), l_c, custom_css(), custom_js(), ' (되돌리기)'],
+                        data =  plus + ' \
+                                <form method="post"> \
+                                    <button class="btn btn-primary" type="submit">되돌리기</button> \
+                                </form>',
+                        menu = [['history/' + url_pas(name), '역사'], ['recent_changes', '최근 변경']]
                     )
                 )
             else:
@@ -2324,6 +2330,26 @@ def acl(name = None):
                 else:
                     now = '일반'
                 
+                return(
+                    template('index', 
+                        imp = [name, wiki_set(1), wiki_set(3), login_check(), custom_css(), custom_js(), ' (ACL)'],
+                        data = '<br> \
+                                <span>현재 ACL : ' + now + '</span> \
+                                <br> \
+                                <br> \
+                                <form method="post"> \
+                                    <select name="select"> \
+                                        <option value="admin" selected="selected">관리자만</option> \
+                                        <option value="user">유저 이상</option> \
+                                        <option value="normal">일반</option> \
+                                    </select> \
+                                    <br> \
+                                    <br> \
+                                    <button class="btn btn-primary" type="submit">ACL 변경</button> \
+                                </form>',
+                        menu = [['w/' + url_pas(name), '문서'], ['manager', '관리자']]
+                    )
+                )
                 return(
                     template('acl', 
                         custom_css = custom_css(), 
@@ -2355,7 +2381,7 @@ def user_admin(name = None):
                     curs.execute("update user set acl = ? where id = ?", [request.forms.select, name])
                 conn.commit()
                 
-                return(redirect('/'))
+                return(redirect('/admin/' + url_pas(name)))
             else:
                 return(redirect('/error/5'))
         else:
@@ -2381,19 +2407,25 @@ def user_admin(name = None):
                         if(name_rem != data[0]):
                             name_rem = data[0]
                             div += '<option value="' + data[0] + '" selected="selected">' + data[0] + '</option>'
+
+                if(now == '권한 부여'):
+                    plus = '<select name="select"> \
+                                ' + div + ' \
+                            </select> \
+                            <br> \
+                            <br>'
+                else:
+                    plus = ''
                 
                 return(
-                    template('admin', 
-                        custom_css = custom_css(), 
-                        custom_js = custom_js(),
-                        license = wiki_set(3), 
-                        login = login_check(), 
-                        title = name, 
-                        page = url_pas(name), 
-                        datalist = div, 
-                        logo = wiki_set(1), 
-                        now = now, 
-                        sub = '권한 부여'
+                    template(
+                        'index', 
+                        imp = [name, wiki_set(1), wiki_set(3), login_check(), custom_css(), custom_js(), ' (권한 부여)'],
+                        data =  '<form method="post"> \
+                                    ' + plus + ' \
+                                    <button class="btn btn-primary" type="submit">' + now + '</button> \
+                                </form>',
+                        menu = [['manager', '관리자']]
                     )
                 )
             else:
@@ -2500,10 +2532,10 @@ def down(name = None):
 @route('/w/<name:path>/from/<redirect:path>')
 def read_view(name = None, num = None, redirect = None):
     data_none = 0
-    sub = 0
+    sub = ''
     acl = ''
     div = ''
-    topic = ''
+    topic = 0
     
     curs.execute("select sub from rd where title = ? order by date desc", [name])
     rows = curs.fetchall()
@@ -2511,7 +2543,7 @@ def read_view(name = None, num = None, redirect = None):
         curs.execute("select title from stop where title = ? and sub = ? and close = 'O'", [name, data[0]])
         row = curs.fetchall()
         if(not row):
-            topic = "open"
+            topic = 1
             
             break
                 
@@ -2529,9 +2561,9 @@ def read_view(name = None, num = None, redirect = None):
         uppage = 0
         
     if(admin_check(5) == 1):
-        admin_memu = 'ACL'
+        admin_memu = 1
     else:
-        admin_memu = ''
+        admin_memu = 0
         
     if(re.search("^분류:", name)):
         curs.execute("delete from cat where title = ? and cat = ''", [name])
@@ -2569,9 +2601,9 @@ def read_view(name = None, num = None, redirect = None):
     if(rows):
         if(not num):
             if(rows[0][0] == 'admin'):
-                acl = '(관리자)'
+                acl = ' (관리자)'
             elif(rows[0][0] == 'user'):
-                acl = '(로그인)'
+                acl = ' (로그인)'
                 
         elsedata = rows[0][1]
     else:
@@ -2586,36 +2618,42 @@ def read_view(name = None, num = None, redirect = None):
         curs.execute("select acl from user where id = ?", [g[0]])
         test = curs.fetchall()
         if(test and test[0][0] != 'user'):
-            acl = '(관리자)'
+            acl = ' (관리자)'
 
         curs.execute("select block from ban where block = ?", [g[0]])
         user = curs.fetchall()
         if(user):
-            sub = '차단'
+            sub = ' (차단)'
             
     if(redirect):
         elsedata = re.sub("^#(?:redirect|넘겨주기)\s(?P<in>[^\n]*)", " * [[\g<in>]] 문서로 넘겨주기", elsedata)
             
     enddata = namumark(name, elsedata, 1, 0)
-    
+
+    if(data_none == 1):
+        menu = [['edit/' + url_pas(name), '생성'], ['topic/' + url_pas(name), topic], ['move/' + url_pas(name), '이동'], ['history/' + url_pas(name), '역사'], ['xref/' + url_pas(name), '역링크']]
+    else:
+        menu = [['edit/' + url_pas(name), '수정'], ['topic/' + url_pas(name), topic], ['delete/' + url_pas(name), '삭제'], ['raw/' + url_pas(name), '원본'], ['move/' + url_pas(name), '이동'], ['history/' + url_pas(name), '역사'], ['xref/' + url_pas(name), '역링크']]
+        if(admin_memu == 1):
+            menu[0] += ['acl/' + url_pas(name), 'ACL']
+
+    if(redirect):
+        enddata =   '<li style="margin-top: -20px;"><a href="/w/' + url_pas(redirect) + '/from/' + url_pas(name) + '">' + redirect + '</a>에서 넘어 왔습니다.</li> \
+                    <br>' + enddata
+        menu[0] += ['w/' + url_pas(name), '넘기기']
+
+    if(not uppage == 0):
+        menu[0] += ['w/' + url_pas(uppage), '상위']
+
+    if(down):
+        menu[0] += ['down/' + url_pas(name), '하위']
+
+
     return(
-        template('read', 
-            custom_css = custom_css(), 
-            custom_js = custom_js(),
-            license = wiki_set(3), 
-            login = login_check(), 
-            title = name, 
-            logo = wiki_set(1), 
-            page = url_pas(name), 
-            data = enddata + div, 
-            uppage = uppage, 
-            acl = acl, 
-            topic = topic, 
-            redirect = redirect, 
-            admin = admin_memu, 
-            data_none = data_none, 
-            sub = sub, 
-            down = down
+        template('index', 
+            imp = [name, wiki_set(1), wiki_set(3), login_check(), custom_css(), custom_js(), sub + acl],
+            data = '<br>' + enddata + div,
+            menu = menu
         )
     )
 

+ 0 - 28
views/acl.tpl

@@ -1,28 +0,0 @@
-<!-- ACL -->
-% rebase('base.tpl')
-<div id="tool">
-    <nav class="menu">
-        <a class="menu-item selected" href="#" onclick="return false">
-            {{sub}}
-        </a>
-        <a class="menu-item" href="/w/{{get('page', '')}}">문서</a>
-    </nav>
-</div>
-<h1 class="title">
-    {{title}}
-    <sub> ({{sub}})</sub>
-</h1>
-<br>
-<span>{{now}}</span>
-<br>
-<br>
-<form id="usrform" method="POST" action="/acl/{{page}}">
-    <select name="select">
-        <option value="admin" selected="selected">관리자만</option>
-        <option value="user">유저 이상</option>
-        <option value="normal">일반</option>
-    </select>
-    <br>
-    <br>
-    <button class="btn btn-primary" type="submit">ACL 변경</button>
-</form>

+ 0 - 24
views/admin.tpl

@@ -1,24 +0,0 @@
-<!-- 관리자 -->
-% rebase('base.tpl')
-<div id="tool">
-    <nav class="menu">
-        <a class="menu-item selected" href="#" onclick="return false">
-            {{sub}}
-        </a>
-        <a class="menu-item" href="javascript:history.back(-1);">뒤로</a>
-    </nav>
-</div>
-<h1 class="title">
-    {{title}}
-    <sub> ({{sub}})</sub>
-</h1>
-<form id="usrform" method="POST" action="/admin/{{page}}">
-    % if(now == '권한 부여'):
-        <select name="select">
-            {{!datalist}}
-        </select>
-        <br>
-        <br>
-    % end
-    <button class="btn btn-primary" type="submit">{{now}}</button>
-</form>

+ 7 - 1
views/index.tpl

@@ -88,7 +88,13 @@
                     <div id="tool">
                         <nav class="menu">
                             % for sub_d in menu:
-                                <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
+                                % if(sub_d[1] == 1):
+                                    <a class="menu-item" href="/{{sub_d[0]}}" id="open">토론</a>
+                                % elif(sub_d[1] == 0):
+                                    <a class="menu-item" href="/{{sub_d[0]}}">토론</a>
+                                % else:
+                                    <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
+                                % end
                             % end
                         </nav>
                     </div>

+ 0 - 52
views/read.tpl

@@ -1,52 +0,0 @@
-<!-- 읽기 -->
-% rebase('base.tpl')
-<div id="tool">
-    <nav class="menu">
-        <a class="menu-item selected" href="#" onclick="return false">
-            문서
-        </a>
-        % if(data_none == 1):
-            <a class="menu-item" href="/edit/{{page}}">생성</a>
-        % else:
-            <a class="menu-item" href="/edit/{{page}}">수정</a>
-        % end
-        <a class="menu-item" id="{{topic}}" href="/topic/{{page}}">토론</a>
-        % if(data_none == 0):
-            <a class="menu-item" href="/delete/{{page}}">삭제</a>
-        % end
-        <a class="menu-item" href="/move/{{page}}">이동</a>
-        % if(data_none == 0):
-            <a class="menu-item" href="/raw/{{page}}">원본</a>
-        % end
-        <a class="menu-item" href="/history/{{page}}">역사</a>
-        <a class="menu-item" href="/xref/{{page}}">역링크</a>
-        % if(redirect):
-            <a class="menu-item" href="/w/{{page}}">넘기기</a>
-        % end
-        % if(data_none == 0 and admin == "ACL"):
-            <a class="menu-item" href="/acl/{{page}}">ACL</a>
-        % end
-        % if(not uppage == 0):
-            <a class="menu-item" href="/w/{{uppage}}">상위</a>
-        % end
-        % if(down == 1):
-            <a class="menu-item" style="{{down}}" href="/down/{{page}}">하위</a>
-        % end
-    </nav>
-</div>
-<h1 class="title">
-    {{title}}
-    % if(defined('acl')):
-        <sub> {{acl}}</sub>
-    % end
-    % if(not sub == 0):
-        <sub> ({{sub}})</sub>
-    % end
-</h1>
-% if(redirect):
-    <li style="margin-top: -20px;"><a href="/w/{{redirect}}/from/{{page}}">{{!redirect or 'None'}}</a>에서 넘어 왔습니다.</li>
-    <br>
-% end
-<div>
-    {{!data}}
-</div>

+ 0 - 23
views/revert.tpl

@@ -1,23 +0,0 @@
-<!-- 되돌리기 -->
-% rebase('base.tpl')
-<div id="tool">
-    <nav class="menu">
-        <a class="menu-item selected" href="#" onclick="return false">
-            {{sub}}
-        </a>
-        <a class="menu-item" href="/w/{{get('page', '')}}">문서</a>
-    </nav>
-</div>
-<h1 class="title">
-    {{title}}
-    <sub> ({{sub}})</sub>
-</h1>
-<form id="usrform" method="POST" action="/revert/{{page}}/r/{{r}}">
-    {{plus}}
-    <br>
-    <br>
-    <button class="btn btn-primary" type="submit">되돌리기</button>
-</form>
-% if(login == 0):
-    <span>비 로그인 상태입니다. 비 로그인으로 작업 시 아이피가 역사에 기록됩니다.</span>
-% end