Changeset 1482

Show
Ignore:
Timestamp:
11/02/06 15:57:00 (2 years ago)
Author:
Blackhex
Message:

DiscussionPlugin:

Bug #790 fix.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • discussionplugin/0.10/tracdiscussion/admin.py

    r1252 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from tracdiscussion.api import * 
    24from trac.core import * 
  • discussionplugin/0.10/tracdiscussion/api.py

    r1376 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from trac.core import * 
    24from trac.web.chrome import add_stylesheet 
    35from trac.wiki import wiki_to_html, wiki_to_oneliner 
    46from trac.perm import PermissionError 
    5 from trac.util import format_datetime, pretty_timedelta, escape, unescape, \ 
    6   Markup 
     7from trac.util import format_datetime, pretty_timedelta, Markup 
    78import time 
    89 
     
    734735        sql = "UPDATE forum_group SET name = %s, description = %s WHERE id = %s" 
    735736        self.log.debug(sql % (name, description, group)) 
    736         cursor.execute(sql, (escape(name), escape(description), group)) 
     737        cursor.execute(sql, (name, description, group)) 
    737738 
    738739    def edit_forum(self, cursor, forum, name, subject, description, moderators, 
     
    745746        self.log.debug(sql % (name, subject, description, moderators, 
    746747          group, forum)) 
    747         cursor.execute(sql, (escape(name), escape(subject)
    748           escape(description), escape(moderators), group, forum)) 
     748        cursor.execute(sql, (name, subject, description, moderators, group
     749          forum)) 
    749750 
    750751    def edit_topic(self, cursor, topic, forum, subject, body): 
     
    752753          " = %s" 
    753754        self.log.debug(sql % (forum, subject, body, topic)) 
    754         cursor.execute(sql, (forum, escape(subject), escape(body), 
    755           topic)) 
     755        cursor.execute(sql, (forum, subject, body, topic)) 
    756756 
    757757    def edit_message(self, cursor, message, forum, topic, replyto, body): 
     
    759759          " = %s WHERE id = %s" 
    760760        self.log.debug(sql % (forum, topic, replyto, body, message)) 
    761         cursor.execute(sql, (forum, topic, replyto, escape(body), 
    762           message)) 
     761        cursor.execute(sql, (forum, topic, replyto, body, message)) 
    763762 
    764763    # Get list functions 
     
    779778            order_by = 'g.' + order_by 
    780779        columns = ('id', 'name', 'description', 'forums') 
    781         sql = "SELECT g.id, g.name, g.description, (SELECT COUNT(f.id) AS" \ 
    782           " forums FROM forum f WHERE f.forum_group = g.id) FROM forum_group" \ 
    783           " g ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 
     780        sql = "SELECT g.id, g.name, g.description, (SELECT COUNT(f.id)" \ 
     781          " FROM forum f, forum_group g WHERE f.forum_group = g.id) AS" \ 
     782          " forums FROM forum_group g ORDER BY " + order_by + (" ASC", 
     783          " DESC")[bool(desc)] 
    784784        self.log.debug(sql) 
    785785        cursor.execute(sql) 
     
    799799        sql = "SELECT f.id, f.name, f.author, f.time, f.moderators," \ 
    800800          " f.forum_group, f.subject, f.description, (SELECT COUNT(t.id)" \ 
    801           " FROM topic t WHERE t.forum = f.id) AS topics, (SELECT COUNT(m.id)" \ 
    802           " FROM message m WHERE m.forum = f.id) AS replies, (SELECT" \ 
    803           " MAX(time) FROM message m WHERE m.forum = f.id) AS lasttopic," \ 
    804           " (SELECT MAX(time) FROM topic t WHERE t.forum = f.id) AS lastreply" \ 
    805           " FROM forum f ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 
     801          " FROM topic t, forum f WHERE t.forum = f.id) AS topics, (SELECT" \ 
     802          " COUNT(m.id) FROM message m, forum f WHERE m.forum = f.id) AS" \ 
     803          " replies, (SELECT MAX(m.time) FROM message m, forum f WHERE" \ 
     804          " m.forum = f.id) AS lasttopic, (SELECT MAX(t.time) FROM topic t," \ 
     805          " forum f WHERE t.forum = f.id) AS lastreply FROM forum f ORDER BY " \ 
     806          + order_by + (" ASC", " DESC")[bool(desc)] 
    806807        self.log.debug(sql) 
    807808        cursor.execute(sql) 
     
    829830          'replies', 'lastreply') 
    830831        sql = "SELECT t.id, t.forum, t.time, t.subject, t.body, t.author," \ 
    831           " (SELECT COUNT(m.id) FROM message m WHERE m.topic = t.id) AS" \ 
    832           " replies, (SELECT MAX(m.time) FROM message m WHERE m.topic = t.id)" \ 
    833           " AS lastreply FROM topic t WHERE t.forum = %s ORDER BY " + order_by
    834           + (" ASC", " DESC")[bool(desc)] 
     832          " (SELECT COUNT(m.id) FROM message m, topic t WHERE m.topic = t.id)" \ 
     833          " AS replies, (SELECT MAX(m.time) FROM message m, topic t WHERE" \ 
     834          " m.topic = t.id) AS lastreply FROM topic t WHERE t.forum = %s"
     835          " ORDER BY " + order_by + (" ASC", " DESC")[bool(desc)] 
    835836        self.log.debug(sql % (forum,)) 
    836837        cursor.execute(sql, (forum,)) 
     
    883884      'ORDER BY time ASC'): 
    884885        columns = ('id', 'replyto', 'time', 'author', 'body') 
    885         sql = "SELECT id, replyto, time, author, body FROM message WHERE" \ 
    886           " topic = %s " + order_by 
     886        sql = "SELECT m.id, m.replyto, m.time, m.author, m.body FROM message m" \ 
     887          " WHERE m.topic = %s " + order_by 
    887888        self.log.debug(sql % (topic,)) 
    888889        cursor.execute(sql, (topic,)) 
     
    909910        sql = "INSERT INTO forum_group (name, description) VALUES (%s, %s)" 
    910911        self.log.debug(sql % (name, description)) 
    911         cursor.execute(sql, (escape(name), escape(description))) 
     912        cursor.execute(sql, (name, description)) 
    912913 
    913914    def add_forum(self, cursor, name, author, subject, description, moderators, 
     
    920921        self.log.debug(sql % (name, author, str(int(time.time())), moderators, 
    921922          subject, description, group)) 
    922         cursor.execute(sql, (escape(name), escape(author), 
    923           str(int(time.time())), escape(moderators), escape(subject), 
    924           escape(description), group)) 
     923        cursor.execute(sql, (name, author, str(int(time.time())), moderators, 
     924          subject, description, group)) 
    925925 
    926926    def add_topic(self, cursor, forum, subject, author, body): 
     
    928928          " (%s, %s, %s, %s, %s)" 
    929929        self.log.debug(sql % (forum, int(time.time()), author, subject, body)) 
    930         cursor.execute(sql, (forum, int(time.time()), escape(author), 
    931           escape(subject), escape(body))) 
     930        cursor.execute(sql, (forum, int(time.time()), author, subject, body)) 
    932931 
    933932    def add_message(self, cursor, forum, topic, replyto, author, body): 
     
    937936          author, body)) 
    938937        cursor.execute(sql, (forum, topic, replyto, int(time.time()), 
    939           escape(author), escape(body))) 
     938          author, body)) 
    940939 
    941940    # Delete items functions 
     
    970969    def delete_message(self, cursor, message): 
    971970        # Get message replies 
    972         sql = "SELECT id FROM message WHERE replyto = %s" 
     971        sql = "SELECT m.id FROM message m WHERE m.replyto = %s" 
    973972        self.log.debug(sql % (message,)) 
    974973        cursor.execute(sql, (message,)) 
  • discussionplugin/0.10/tracdiscussion/core.py

    r1252 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from tracdiscussion.api import * 
    24from trac.core import * 
  • discussionplugin/0.10/tracdiscussion/__init__.py

    r775 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from tracdiscussion import * 
  • discussionplugin/0.10/tracdiscussion/init.py

    r1252 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from trac.core import * 
    24from trac.db import * 
  • discussionplugin/0.10/tracdiscussion/search.py

    r1252 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from trac.core import * 
    24from trac.config import Option 
     
    1315      'Main navigation bar button title.') 
    1416 
    15     # ISearchSource 
     17    #ISearchSource 
    1618    def get_search_filters(self, req): 
    1719        if req.perm.has_permission('DISCUSSION_VIEW'): 
  • discussionplugin/0.10/tracdiscussion/timeline.py

    r1252 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from trac.core import * 
    24from trac.Timeline import ITimelineEventProvider 
     
    2931                kind = 'changeset' 
    3032                title = Markup('New forum %s created by %s' % 
    31                   (html.em(forum['name']), forum['author'])) 
     33                  (forum['name'], forum['author'])) 
    3234                time = forum['time'] 
    3335                author = forum['author'] 
     
    3941                    href = self.env.href.discussion(forum['id']) 
    4042                    message = wiki_to_oneliner('%s - %s' % (forum['subject'], 
    41                       forum['description']), self.env, db) 
     43                      forum['description']), self.env, db)   
    4244                yield kind, href, title, time, author, message 
    4345 
     
    4749                kind = 'newticket' 
    4850                title = Markup('New topic on %s created by %s' % \ 
    49                   (html.em(topic['forum_name']), topic['author'])) 
     51                  (topic['forum_name'], topic['author'])) 
    5052                time = topic['time'] 
    5153                author = topic['author'] 
     
    6466                kind = 'editedticket' 
    6567                title = Markup('New reply on %s created by %s' % \ 
    66                   (html.em(message['forum_name']), message['author'])) 
     68                  (message['forum_name'], message['author'])) 
    6769                time = message['time'] 
    6870                author = message['author'] 
     
    8587    def _get_changed_forums(self, cursor, start, stop): 
    8688        columns = ('id', 'name', 'author', 'subject', 'description', 'time') 
    87         sql = "SELECT id, name, author, subject, description, time FROM forum" \ 
    88           " WHERE time BETWEEN %s AND %s" 
     89        sql = "SELECT f.id, f.name, f.author, f.subject, f.description," \ 
     90          " f.time FROM forum f WHERE f.time BETWEEN %s AND %s" 
    8991        self.log.debug(sql % (start, stop)) 
    9092        cursor.execute(sql, (start, stop)) 
     
    9597    def _get_changed_topics(self, cursor, start, stop): 
    9698        columns = ('id', 'subject', 'author', 'time', 'forum', 'forum_name') 
    97         sql = "SELECT id, subject, author, time, forum, (SELECT name FROM forum" \ 
    98           " f WHERE f.id = topic.forum) FROM topic WHERE time BETWEEN %s AND %s" 
     99        sql = "SELECT t.id, t.subject, t.author, t.time, t.forum, (SELECT" \ 
     100          " f.name FROM forum f, topic t WHERE f.id = t.forum) FROM topic t" \ 
     101          " WHERE t.time BETWEEN %s AND %s" 
    99102        self.log.debug(sql % (start, stop)) 
    100103        cursor.execute(sql, (start, stop)) 
     
    106109        columns = ('id', 'author', 'time', 'forum', 'topic', 'forum_name', 
    107110          'topic_subject') 
    108         sql = "SELECT id, author, time, forum, topic, (SELECT name FROM forum f" \ 
    109           " WHERE f.id = message.forum), (SELECT subject FROM topic t WHERE" \ 
    110           " t.id = message.topic) FROM message WHERE time BETWEEN %s AND %s" 
     111        sql = "SELECT m.id, m.author, m.time, m.forum, m.topic, (SELECT" \ 
     112          " f.name FROM forum f, message m WHERE f.id = m.forum), (SELECT" \ 
     113          " t.subject FROM topic t, message m WHERE t.id = m.topic) FROM" \ 
     114          " message m WHERE m.time BETWEEN %s AND %s" 
    111115        self.log.debug(sql % (start, stop)) 
    112116        cursor.execute(sql, (start, stop)) 
  • discussionplugin/0.10/tracdiscussion/wiki.py

    r1262 r1482  
     1# -*- coding: utf8 -*- 
     2 
    13from tracdiscussion.api import * 
    24from tracdiscussion.core import * 
     
    124126        if ns == 'forum': 
    125127            columns = ('subject',) 
    126             sql = "SELECT subject FROM forum WHERE id = %s" 
     128            sql = "SELECT f.subject FROM forum f WHERE f.id = %s" 
    127129            self.log.debug(sql % (id,)) 
    128130            cursor.execute(sql, (id,)) 
     
    135137        elif ns == 'topic': 
    136138            columns = ('forum', 'forum_subject', 'subject') 
    137             sql = "SELECT forum, (SELECT subject FROM forum WHERE id =" \ 
    138               " topic.forum), subject FROM topic WHERE id = %s" 
     139            sql = "SELECT t.forum, (SELECT f.subject FROM forum f, topic t" \ 
     140              " WHERE f.id = t.forum), t.subject FROM topic t WHERE t.id = %s" 
    139141            self.log.debug(sql % (id,)) 
    140142            cursor.execute(sql, (id,)) 
     
    148150        elif ns == 'message': 
    149151            columns = ('forum', 'topic', 'forum_subject', 'subject') 
    150             sql = "SELECT forum, topic, (SELECT subject FROM forum WHERE id =" \ 
    151               " message.forum), (SELECT subject FROM topic WHERE id =" \ 
    152               " message.topic) FROM message WHERE id = %s" 
     152            sql = "SELECT m.forum, m.topic, (SELECT f.subject FROM forum f," \ 
     153              " message m WHERE f.id = m.forum), (SELECT t.subject FROM" \ 
     154              " topic t, message m WHERE t.id = m.topic) FROM message m" \ 
     155              " WHERE m.id = %s" 
    153156            self.log.debug(sql % (id,)) 
    154157            cursor.execute(sql, (id,))