Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.ar_EG.utf-8.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.ar_LB.utf-8.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.ca_ES.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.ch_zh.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.ch_zh.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.ch_zh.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.ch_zh.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,8 +1,125 @@ - 恬宀 - 園辞 - 園辞 - 窮徨喨周 + 管理 + 管理 + 匿名的 + 批准 + 确实要删除此信息及<strong>全部回复</strong>吗? + 要添加吗? + 附件: + 作者 + 回到%forum.name% + <a href="%thread_url%">返回</a>到%forum.name% + 内容 + 按日期 + 按论坛 + 章程 + 已关闭的 + 确认吗? + 确认删除: + 确认发布帖子到论坛: + 创建新论坛 + 创建新论坛 + 删除 + 使不能 + 使不能 + 使不能的 + 编辑 + 编辑 + 重新编辑 + 编辑论坛 + 编辑信息: + Email + %posting_date%日,%user_name%写到: + Email信息: + Email给朋友 + 使能 + 使能 + 使能的 + 全Thread + 第一帖 + 普通的 + 格式 + 论坛 + 论坛: + Forum ID + forum ID + 论坛名称 + 论坛发布 + ForumID + 论坛 + 论坛:发布帖子历史记录记录 + 向前 + 向前: + HTML + 最后帖 + 此主题最后帖子 + Email下列信息的拷贝: + 此主题的第一帖子 + 论坛管理 + 需要提供显示信息。 + 需要提供显示附件信息! + (注意:你已整体订阅论坛。你可能收到重复的通知。) + 请确认下面的帖子: + 请输入信息 + 请输入主题 + 用户可创建新Threads + 要为此信息附加文件吗? + 要订阅回复吗? + 可以在论坛发布帖子,也可以回复信息。 + 管理 + 管理论坛: + 控制/调制 + Message ID + 调制 + 已调制的 + 名称 + 新论坛 + 没有 + 没有论坛 + 没有信息 + 没有帖子。 + 没有 + 一条信息 + 一个Thread + 打开 + 参数 + parent ID + 待定 + 待定Threads + 发布 + 发布信息 + 发布新信息 + 回复帖子 + 发布帖子到论坛: + 已发布的 + 发布 + 发布日期 + 发布历史记录 + 发布历史记录 + 发布策略 + 陈述 + 预览 + 回复: + 拒绝 + 被拒绝的 + 回复 + 回复 + 回复此thread第一帖子 + 回复此页第一帖子 + 搜索: + 搜索 + 搜索: + 搜索论坛 + 主题 + 要订阅吗? + 普通文本 + 此论坛是 + Threaded + Threads + 查看 + + 你可能 + 注意 Index: openacs-4/packages/forums/catalog/forums.da_DK.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.da_DK.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.da_DK.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.da_DK.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,99 +1,113 @@ - - - + + - Active Fora Administr�r Administration + Anonym godkend - Er du sikker p�, at du �nsker at slette denne besked og <strong>alle svar til den</strong> + Er du sikker p�, at du �nsker at slette dette indl�g og <strong>alle svar til den</strong> Vedh�ft? - Vedh�ftninger: + Vedh�ftelser: Forfatter - Beskedtekst + Tilbage til %forum.name% + <a href="%thread_url%">Tilbage</a> til %forum.name% + Tekst efter Dato efter Forum - Dokument + Form�lsbeskrivelse lukket Bekr�ft? Bekr�ft Sletning: - Ber�ft Insendelse til Forum: + Bekr�ft indl�g til forum: Opret et nyt Forum Opret nyt Forum - slet + Slet deaktiv�r - deaktiv�re det + deaktivere det deaktiveret - Deaktiverede Fora - Redig�r - redig�r + Rediger + rediger + Rediger igen Rediger Forum - Rediger Besked: + Rediger Indl�g: E-mail - e-mail + %user_name% skrev p� %posting_date%: E-mail Besked: - Mail til en ven + Send til en ven aktiv�r aktiv�re det aktiveret Hele Tr�den + F�rste Indl�g + Fladt Format Forum Forum: Forum ID forum ID Forumnavn - Forumbesked + Forumindl�g Forum ID Fora - Fora: Indsendelseshistorie for + Fora: Indl�g for + Frem Fwd: - Seneste Indsendelse - Mail en kopi af den f�lgende besked: + html + Seneste Indl�g + Sidste indl�g indenfor emne + Send en kopi af det f�lgende indl�g: + F�rste indl�g indenfor emne Administration af Fora - Du skal angive en besked, som kan vises. - du skal angive en besked for at vise vedh�ftninger. - (Bem�rk, at du allerede abonnerer p� hele dette forum. Det er derfor muligt, at du modtager besked om nye insendelser to gange,) - Bekr�ft venligst den f�lgende indsendelse: - Skriv venligt en besked + Du skal angive et indl�g til visning. + du skal angive et indl�g for at vise vedh�ftelser. + (Bem�rk, at du allerede abonnerer p� hele dette forum. Det er derfor muligt, at du modtager besked om nye indl�g to gange.) + Bekr�ft venligst den f�lgende indl�g: + Skriv venligt et indl�g Skriv venligt et emne Brugere kan oprette nye tr�de - �nsker du at vedh�fte en fil til denne besked? + �nsker du at vedh�fte en fil til dette indl�g? �nsker du er at abonnere p� svar? - Du skal enten indesende til et forum eller svare p� en anden besked + Du skal enten skrive et indl�g til et forum eller svare p� et andet indl�g Administr�r Administr�r Forum Administr�r/Moder�r Besked ID + Moder�r modereret Navn Nyt Forum Nej - nej Ingen Fora Ingen Beskeder - Ingen Insendelser. + Ingen Indl�g. Ingen - Den - �n Besked - �n Tr�d + Et Indl�g + En Tr�d �bn + Parametre parent ID - Foreliggende Tr�de - Indsend en Besked - Indsend en Ny Besked + Afventer + Afventende Tr�de + Indl�g + Indsend et indl�g + Indsend et nyt indl�g Indsend et Svar Indsend til Forum: Indsendt - Insendelsesdato - Insendelseshistorie - Insendelseshistorie for + Indsendt af + Indsendelsesdato + Indsendelseshistorik + Indsendelseshistorik for Indsendelsespolitik Pr�sentation + Vis Re: afvis + Afvist Svar svar + Besvar det f�rste indl�g i tr�den + Besvar det f�rste indl�g p� denne side S�g: S�g S�g: @@ -102,11 +116,10 @@ Abonn�r? tekst Dette forum er + Opdelt i tr�de Tr�de Vis - skrev: Ja - ja Du kan Din Note Index: openacs-4/packages/forums/catalog/forums.de_DE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.de_DE.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.de_DE.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.de_DE.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,56 +1,125 @@ - - - + + - Aktive Foren - Administrieren - Administration - Genehmigen - Sind Sie sicher, dass Sie diese Nachricht und <strong>alle Antworten auf diese Nachricht</strong> l�schen wollen? + Forum verwalten + Diskussionsforen verwalten + Anonym + Freigeben + Wollen Sie diesen Beitrag und <strong>alle zugeh�rigen Antworten </strong> wirklich l�schen? Anh�ngen? Anh�nge: - Autor - Inhalt + Verfasser + Zur�ck zu %forum.name% + <a href="%thread_url%">Zur�ck</a> zu %forum.name% + Text nach Datum nach Forum - geschlossen + Beschreibung + Geschlossen Best�tigen L�schen best�tigen: - Ein neues Forum erstellen + Forumsbeitrag best�tigen: + Neues Forum erstellen Neues Forum erstellen - l�schen - ausschalten + L�schen + Deaktivieren + deaktivieren + Deaktiviert Bearbeiten - editieren + Bearbeiten + Erneut bearbeiten Forum bearbeiten - E-Mail - weiterleiten - Zugang erlauben + Forumsbeitrag bearbeiten: + E-Mail-Adresse + %user_name% schrieb am %posting_date%: + E-Mail-Nachricht: + Weiterleiten + Aktivieren + aktivieren + aktiviert + Gesamter Thread + Erster Beitrag + Chronologisch geordnet Format Forum + Forum: + Foren-ID + Foren-ID + Name des Forums + Forumsbeitrag + Foren-ID + Foren + Foren: Verlauf der Beitr�ge f�r + Weiterleiten + Fwd: + HTML Letzter Beitrag - Bitte best�tigen Sie den folgenden Beitrag: + Letzter Beitrag zum Thema + Eine Kopie des folgenden Beitrags per E-Mail versenden: + Erster Beitrag zum Thema + Diskussionsforen verwalten + Zum Anzeigen der Elemente wird eine Nachricht ben�tigt. + Zum Anzeigen von Anh�ngen wird eine Nachricht ben�tigt. + Hinweis: Sie haben die Benachrichtigungsfunktion bereits f�r das gesamte Forum aktiviert. M�glicherweise erhalten Sie mehrfache Benachrichtigungen. + Bitte best�tigen Sie folgenden Beitrag: + Bitte geben Sie einen Text ein. + Bitte geben Sie einen Betreff ein. + Benutzer d�rfen ein neues Diskussionsthema beginnen M�chten Sie dem Beitrag einen Anhang hinzuf�gen? - M�chten Sie �ber die Antworten benachrichtigt werden? - moderiert + M�chten Sie �ber Antworten benachrichtigt werden? + Sie k�nnen eine Nachricht entweder als eigenst�ndigen Forumsbeitrag posten oder als Antwort auf einen anderen Beitrag. + Verwalten + Forum verwalten: + Verwalten/Moderieren + Beitrags-ID + Moderieren + Moderiert Name + Neues Forum erstellen Nein - Keine Beitr�ge - offen - Neues Thema hinzuf�gen + Keine Diskussionsforen vorhanden + Keine Beitr�ge vorhanden + Keine Beitr�ge vorhanden + Kein Forum vorhanden + Einzelner Beitrag + Einzelner Thread + Offen + Einstellungen + ID des �bergeordneten Objekts + Noch nicht freigegeben + Diskussionsthemen mit Beitr�gen, die noch nicht freigegeben wurden + Abschicken + Neuen Beitrag verfassen + Neues Thema beginnen + Antworten + Ver�ffentlichen auf Forum: Beitrag vom - Beitragsverlauf von + Von + Ver�ffentlichungsdatum + Verlauf der Beitr�ge + Verlauf der Beitr�ge f�r + Teilnahmeregelung + Darstellungsform + Vorschau + Re: + Ablehnen + Abgelehnt Antworten - antworten + Antworten + Ersten Beitrag des Diskussionsthemas beantworten + Ersten Beitrag auf dieser Seite beantworten Suche: Suche - Suchen: - Foren durchsuchen - Thema - Abonnieren? - Text + Suche: + In Foren suchen + Betreff + Benachrichtigungsfunktion aktivieren? + Einfacher Text + Dieses Forum ist + Strukturiert + Diskussionsthemen Ansicht - schrieb: Ja - ja + Sie k�nnen es + Ihr Kommentar Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.en_AU.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.en_US.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.en_US.ISO-8859-1.xml 25 Oct 2002 12:59:59 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.en_US.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,106 +1,165 @@ - - - + + - Post to Forum: - None - Subject - Post a Reply - Format - Subscribe? - Please confirm the following post: - open - Manage/Moderate - New Forum - This forum is - No Postings. - delete - Would you like to attach a file to this message? - reply + Administrative options for all forums. + Administer + Administration + Anonymous + approve + Are you sure you want to delete this message and <strong>all replies to it</strong>? + Are you sure you want to move this message and all of its descendents? + Are you sure you want to move this thread and all of its descendents? Attach? - reject - moderated - Create a New Forum - Edit - Re: - Pending Threads - Active Forums - enable - disable it - Confirm Delete: - You either have to post to a forum or in reply to another message - Manage - yes - Name - Message ID - You may Attachments: - Create New Forum - no + Author + Back to %forum.name% + <a href="%thread_url%">Back</a> to %forum.name% Body - wrote: + by Date + by Forum Charter - Post a New Message - Author - Replies - forum ID - (Note that you are already subscribed to the forum as a whole. You may get duplicate notifications.) - One Message - Email - Need to provide a message to display. - Post a Message + closed + Confirm? + Confirm Delete: + Confirm Move to + Confirm Post to Forum: + Create a New Forum + Create New Forum + Delete + disable + disable it + disabled + Edit + Edit + Edit again + Edit forum + Edit forum "%name%" Edit Message: - Forum Posting - ForumID - Forums Administration - Administer + Email + On %posting_date%, %user_name% wrote: + Email Message: Email to a friend - One Thread + enable enable it enabled - Posting history for - Posting Policy - View - Presentation - Confirm? - edit Entire Thread - Administration - No Forums - Manage Forum: - Posting Date - Yes + First Post + Flat + Format + Forum + Forum: + Forum ID + forum ID Forum Name + Forum Posting + ForumID + Forums + Forums history + Forums History + Forums: Posting history for + Forward + Fwd: + If <b>No</b>, users may only reply to existing posts not create new threads. + <b>Open</b> allows any users to post and have posts appear immediately, <b>moderated</b> means posts must be approved by a moderator before others can see them, and <b>closed</b> means only administrators may post. + <b>Flat</b> only allows replies at the end of a thread with no nesting or threading, <b>Threaded</b> allows replies to be made to any post in the thread and the reply will be indented under the post they are associated with. + HTML Last Post + Last post in subject + List of users that wrote in the forum: Email a copy of the following message: - by Forum - Email Message: - Your Note - Forums: Posting history for - No + First post in subject + Forums Administration + Need to provide a message to display. + need to provide a message to display attachments! + (Note that you are already subscribed to the forum as a whole. You may get duplicate notifications.) + Please confirm the following post: + Please enter a message + Please enter a subject + Users Can Create New Threads + Would you like to attach a file to this message? Would you like to subscribe to responses? + You either have to post to a forum or in reply to another message + Manage + Manage Forum: + Manage/Moderate + Message ID + Subject + Moderate + moderated + Move message + Move message to forum: + Move message to the message + Move thread + Move thread to forum + Move message to other message + Move thread to other forum + Move thread to other thread + Move thread to thread + Move thread to other thread + Move to + Move to other thread + Name + Name + Forum Name + New Forum + No + No Forums + No Messages + No Postings. + None + Number of Posts + of forum + One Message + One Thread + open + Parameters parent ID + Pending + Pending Threads + Permissions for "%name%" + Permissions for all forums. + Post + Post a Message + Post a New Message + Post a Reply + Post to Forum: + Posted + Posted by + Posting Date + Posting History + Posting history for + Posting Policy + Presentation + Preview + Re: + reject + Rejected + Replies + Reply + Reply to first post in thread + Reply to first post on this page + Search: + Search Search: - by Date Search Forums - closed + Selected + Sorry. You can not move this message. There are no other threads in this forum. + Sorry. You can not move this thread. There are no other threads. + Sorry. You can not move this thread. There are no other forums. + Statistics + Subject + Subscribe? + Summary + Summary of posting history + Plain text + This forum is + Forum %forum.name%: %message.subject% + Threaded Threads - Forums - disable - Forum ID - On - Edit forum - disabled - email - Forum Administration: Bad Scoping of Forum #%forum_id% in Forum Editing - Forum - need to provide a message to display attachments! - Disabled Forums - No Messages - Confirm Post to Forum: - approve - Users Can Create New Threads - Posting History - Search: - Posted + User + Users that wrote in the forum + View + Yes + You may + Your Note Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.es_CO.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,112 +1,158 @@ - - - + + - Foros de Discussion Activos Administrar - Administracion + Administraci�n + An�nimo Aprobar - Esta seguro que quiere borrar este mensaje y sus respuestas? - Adjuntar archivo(s)? + �Est� seguro que quiere borrar este mensaje y sus respuestas? + �Est� seguro de que quiere mover este mensaje y todas sus respuestas? + �Est�s seguro que quieres mover este hilo y todos sus hijos? + + �Adjuntar archivo(s)? Archivos adjuntos: Autor + Regresar a %forum.name% + <a href="%thread_url%">Volver</a> a %forum.name% Cuerpo del mensaje Por Fecha - por Foro de Discussion + por Foro de Discusi�n Rama cerrado - Es correcto? - Confirmacion para eliminar: - Confirmacion de su mensaje para el foro de discusion: - Crear nuevo foro de discusion - Crear nuevo foro de discusion + �Es correcto? + Confirmaci�n para eliminar: + Confirmar mover mensaje + Confirmaci�n de su mensaje para el foro de discusi�n: + Crear nuevo foro de discusi�n + Crear nuevo foro de discusi�n Eliminar no habilitado Deshabilitar no habilitado - Foros de discusion deshabilitados Editar editar - Editar foro de discusion + Modificar de nuevo + Editar foro de discusi�n Editar Mensaje: Email - email + El %posting_date%, %user_name% escribi�: Mensaje: Enviar por email a terceros habilitar habilitar habilitado Hilo completo + Primer Mensaje + Sin hilos Formato - Foro de Discusion - Foro de Discusion + Foro de Discusi�n + Foro de Discusi�n Foro ID foro ID - Nombre Foro de Discusion - Enviando mensaje al foro de discusion + Nombre Foro de Discusi�n + Enviando mensaje al foro de discusi�n ForoID - Foros de Discusion - Foros de Discusion: Historia de mensajes de + Foros de Discusi�n + Foros historia + Foros historia + Foros de Discusi�n: Historia de mensajes de + Reenviar Re-enviar: - Ultimo Mensaje + html + �ltimo Mensaje + �ltimos mensajes del hilo + Usuarios que escribieron en el foro: Enviar una copia del siguiente mensaje: - Administracion de Foros de Discusion + Primer mensaje del hilo + Administraci�n de Foros de Discusi�n Necesita proveer un mensaje para mostrar Necesita proveer un mensaje para poder mostrar los archivos adjuntos - (Atencion: Ud.ya estar suscripto a este foro. Al suscribirse nuevamente puede recibir notificaciones duplicadas.) + (Atenci�n: Ud.est� suscrito a este foro. (Al suscribirse nuevamente puede recibir notificaciones duplicadas). Por favor, confirme el siguiente mensaje: Por favor, entre su mensaje - Por favor, ingrese titulo de mensaje + Por favor, ingrese t�tulo de mensaje Los usuarios pueden crear nuevos hilos - Desea adjuntar archivo a este mensaje? - Desea suscribirse para recibir respuestas? - Debe enviar un mensaje al foro de discusion o contestar a otro mensaje + �Desea adjuntar archivo a este mensaje? + �Desea suscribirse para recibir respuestas? + Debe enviar un mensaje al foro de discusi�n o contestar a otro mensaje Administrar - Administrar Foro de Discusion: + Administrar Foro de Discusi�n: Administrar/Moderar Mensaje ID + T�tulo + Moderar moderado + Mover mensaje + Mover mensaje al foro: + Mover mensaje a otro mensaje + Mover hilo + Mover hilo a otro foro + Mover mensaje al mensaje: + Mover hilo a otro foro + Mover hilo a otro hilo + Mover hilo al hilo + Mover hilo a otro hilo + Mover + Mover a otro hilo Nombre - Nuevo Foro de Discusion + Nombre del foro + Nombre del foro + Nuevo Foro de Discusi�n No - no - No existen foro de discusion + No existen foro de discusi�n No existen mensajes No existen mensajes enviados. Ninguno - Conectado + N�mero de mensajes + del foro Un Mensaje Un hilo - Abrir + abierto + Par�metros ID del padre + Pendientes Hilos pendientes + Enviar Enviar un mensaje - Enviar un Nuevo Mensaje - Enviar una contestacion - Enviar al Foro de Discusion + Enviar un nuevo Mensaje + Enviar una respuesta + Enviar al Foro de Discusi�n Enviados - Fecha de Envio + Enviado por + Fecha de Env�o Historia de Mensajes Enviados Mensajes Enviados por Pol�tica de publicaciones - Presentacion + Presentaci�n + Vista preliminar Res: rechazar + Rechazado Contestaciones Contestar + Responder al primer mensaje de este hilo + Responder al primer mensaje de esta p�gina Buscar: Buscar Buscar: - Buscar en Foros de Discusion - Titulo - Suscribir? + Buscar en Foros de Discusi�n + Seleccionado + Lo sentimos. No puedes mover este mensaje a otro hilo. No hay otros hilos en este foro. + Lo sentimos. No puedes mover este hilo a otro hilo porque solo existe �ste. + Lo sentimos. No puedes mover este hilo a otro foro porque no hay m�s foros. + Estad�sticas + T�tulo + �Suscribir? + Resumen de mensajes enviados + Resumen de mensajes enviados texto - Este Foro de Discusion es + Este Foro de Discusi�n es + Con hilos Hilos + Usuario + Usuarios que escribieron en el foro Ver - escribio: - Si - si + S� Puedes Su Commentario Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.es_GT.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.fi_FI.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.fi_FI.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.fi_FI.utf-8.xml 8 Oct 2003 14:28:12 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.fi_FI.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,7 +1,6 @@ - - + + - Käytössä olevat keskustelufoorumit Hallinnoi Hallinta hyväksy @@ -23,13 +22,11 @@ poista käytöstä Poista käytöstä pois käytöstä - Poissa käytöstä olevat keskusteluryhmät Muokkaa muokkaa Muokkaa keskusteluryhmää Muokkaa viestiä: Sähköposti - sähköposti Lähetä viesti sähköpostilla: Lähetä viesti kaverille ota käyttöön @@ -72,12 +69,10 @@ Nimi Uusi keskusteluryhmä Ei - ei Ei ryhmiä Ei viestejä Ei viestejä. Ei mitään. - Päällä Viesti Viestiketju avoin @@ -108,9 +103,7 @@ Säikeinen (jokainen viesti aloittaa oman haaransa) Viestiketjut Näkymä - kirjoitti: Kyllä - kyllä &nbsp; Huomautuksesi Index: openacs-4/packages/forums/catalog/forums.gl_ES.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.gl_ES.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.gl_ES.ISO-8859-1.xml 24 Jun 2003 12:01:31 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.gl_ES.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,8 +1,6 @@ - - - + + - F�rums Activos Administrar Administraci�n Aprobar @@ -24,13 +22,11 @@ desabilitar desactivalo desactivado - F�rums Desactivados Editar editar Editar f�rum Editar Mensaxe: Correo-E - correo-e Mensaxe de Correo: Enviar por correo para un amigo activar @@ -52,16 +48,62 @@ html �ltima Mensaxe �ltima mensaxe neste asunto + Enviar por correo electr�nico unha copia da seguinte mensaxe: + Primeira mensaxe relativa a este asunto + Administraci�n dos Forums + Necesita fornecer unha mensaxe para mostrar + necesita fornecer unha mensaxe para mostrar os anexos!! + (Repara en que xa te encontras subscrito para o forum como un todo. Podes receber notificaci�ns duplicadas.) + Por favor, confirma a seguinte mensaxe: + Por favor, escribe unha mensaxe + Por favor, pon un asunto + Usuarios poden criar novas discusi�ns + Gostar�as de anexar un ficheiro a esta mensaxe? + Gostar�as de subscrever-te para receber respostas? + Debes enviar a mensaxe para un forum ou en responsta a outra mensaxe + Xerenciar + Xerenciar Forum: + Xerenciar/Moderar + ID da mensaxe + moderado + Nome + Novo forum + Non + Non hai forums + Non hai mensaxes + Non hai mensaxes enviadas. + Ning�n + Unha mensaxe + Unha discusi�n + aberto + ID do pai + Discusi�ns pendentes + Enviar unha mensaxe + Enviar unha nova mensaxe + Enviar unha resposta + Enviar para o forum: + Enviada + Data de env�o + Hist�rico das mensaxes enviadas + Hist�rico das mensaxes enviadas para + Pol�tica de env�o de mensaxes + Presentaci�n + Re: + rexeitar + Respostas + responder + Presquisar: + Pesquisar + Pesquisar: + Pesquisar forums Asunto Subscreber? texto Este f�rum � Por discusi�ns Discusi�ns Ver - escrebeu: Si - si Podes O Teu Comentario Index: openacs-4/packages/forums/catalog/forums.hu_HU.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.hu_HU.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.hu_HU.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.hu_HU.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ - + Adminisztrál Adminisztráció @@ -8,7 +8,6 @@ Csatolod? Csatolt dolgok: Szerző - Tartalom Dátum szerint Fórumok szerint Kiáltvány @@ -18,36 +17,21 @@ Egy új fórum készítése Új fórum készítése töröl - letilt - kikapcsolva Szerkeszt szerkeszt Fórum módosítása - Üzenet szerkesztése: Email - %user_name% %posting date% írta: (?) - Email üzenet: - Továbbküldés emailben - engedélyez - engedélyezett - Az első üzenet Formátum Fórum Fórum: Fórum ID - fórum azonosítója + fórum id Fórum neve FórumID Fórumok - Fórumok: eddigi üzenetek (?) - továbbít - Fwd: html Utolsó hozzászólás Utolsó hozzászólás ebben a témában - A következő üzenet továbbküldése emailként: - Első üzenet ebben a témában - Fórum adminisztráció Üzenet ID moderált Név @@ -56,25 +40,17 @@ Nincsenek fórumok Nincsenek üzenetek Egy üzenet - Az egyik téma - ős-üzenet azonosítója - Új üzenet küldése Válasz erre - Üzenet küldése a fórumba: - Re: elutasít Válaszok - válasz Keresés: Keresés Keresés: Keresés a fórumokban Téma Előfizetsz? - csak szöveg + szöveg Ez a fórum - Témák Nézet Igen - Amit hozzáfűzöl Index: openacs-4/packages/forums/catalog/forums.it_IT.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.it_IT.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.it_IT.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.it_IT.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,23 +1,125 @@ - - - + + - Forum Attivi Amministra Amministrazione + Anonimo approva Sei sicuro di voler cancellare questo messaggio e <strong>tutte le risposte collegate</strong>? Allega? Allegati Autore + Torna indietro</a> a %forum.name% + <a href="%thread_url%">Torna indietro</a> a %forum.name% + Messaggio per Data + per Forum + Descrizione chiuso Confermi? Conferma Cancellazione + Conferma l'invio del messaggio: + Crea un nuovo forum + Crea un nuovo forum + cancella + disabilita + Disabilita + disabilitati + Modifica + modifica + Modifica ancora + Modifica il forum + Modifica il Messaggio: Email - email + Il %posting_date%, %user_name% ha scritto: + Spedisci il messaggio: + Invia a un amico + abilita + abilitalo + abilitato + L'intera discussione + Primo messaggio + Piatto + Formato + Forum + Forum: + ID Forum + ID Forum + Nome del Forum + Invio messaggi al forum + ForumID + Forum + Forum: Lista messaggi dell'utente + Inoltra + Fwd: + html + Ultimo messaggio + Ultimo messaggio in oggetto + Invia per posta una copia di questo messaggio: + Primo messaggio in oggetto + Amministrazione Forum + Occorre un messaggio per visualizzare + Occorre un messaggio per visualizzare l'allegato! + (Nota che tu hai gi� sottoscritto il forum per intero. Potresti ricevere notifiche doppie) + Conferma il seguente messaggio: + Inserisci un messaggio + Inserisci un oggetto + Gli utenti possono aprire nuove discussioni + Vuoi associare un file in attach a questo messaggio? + Vuoi ricevere un mail di notifica per eventuali risposte? + Devi inviare un messaggio a un forum o rispondere a un altro messaggio + Gestisci + Gestione Forum: + Gestisci/Modera + ID Messaggio + Modera + moderato + Nome + Nuovo Forum + No + Nessun Forum + Nessun Messaggio + Nessun invio + nessuno + Un messaggio + Una discussione + aperta + Parametri + parent ID + Pendente + Discussioni in attesa + Messaggio + Invia un messaggio + Invia un nuovo messaggio + Invia una risposta + Invia un messaggio al Forum: + Data d'invio + Inviato da + Data di invio + Elenco dei messaggi + Lista dei messaggi per l'utente + Politica sui messaggi pendente + Presentazione + Anteprima + Re: + rifiuta + Respinto + Risposte + rispondi + Rispondi al primo messaggio della discussione + Rispondi al primo messaggio su questa pagina + Cerca: + Cerca + Cerca: + Cerca i Forum + Oggetto + Sottoscrivi? testo Questo forum � + Ramificato + Discussioni + Vedi S� - s� + Puoi + Tua nota Index: openacs-4/packages/forums/catalog/forums.ja_JP.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.ja_JP.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.ja_JP.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.ja_JP.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ - + 作成者 閉鎖済み Index: openacs-4/packages/forums/catalog/forums.ko_KR.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.ko_KR.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.ko_KR.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.ko_KR.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,13 +1,16 @@ - + 관리하다 관리 + 무명의 승인 이 메시지와 <strong>모든 응답메시지</strong>를 삭제하시겠습니까? 첨부하시겠습니까? 첨부: 글쓴이 + %forum.name%으로 복귀 + %forum.name%으로 <a href="%thread_url%">돌아가기</a> 본문 일자에 의해 포럼에 의해 @@ -24,15 +27,18 @@ 사용불가능하다 수정 수정 + 다시 수정 포럼 수정 메시지 수정: 전자우편주소 + %posting_date%에 %user_name%(이)가 기록함 전자우편 메시지: 친구에게 전자우편 보내기 사용가능하게 하다 사용가능하게 하다 사용가능하게 하다 전체 스레드 + 처음 게시 플랫 형식 포럼 @@ -44,6 +50,7 @@ 포럼 아이디 포럼 포럼: 게시 기록 + 전달 전달: html 마지막 게시 @@ -65,6 +72,7 @@ 포럼 관리: 관리/조절 메시지 아이디 + 조절하다 조절하다 이름 새로운 포럼 @@ -76,22 +84,30 @@ 하나의 메시지 한개의 스레드 열기 + 파라미터 부모 아이디 + 계류중 보류중인 스레드 + 게시 메시지 게시 새로운 메시지 게시 회신 게시 포럼에 게시: 게시된 + 게시됨 게시 일자 게시 기록 게시 기록 게시 정책 표현 + 미리보기 응답: 거부 + 거부됨 회신 회신 + 스레드안의 첫번째 게시물에 응답 + 이 페이지의 첫번째 게시물에 응답 검색: 검색 검색: Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.ms_MY.utf-8.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.ms_my.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/Attic/forums.ms_my.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.ms_my.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.ms_my.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,46 +1,125 @@ - Menyelia + Tadbir Penyeliaan + Tanpa Nama lulus Adakah anda pasti anda mahu membuang pesanan ini dan <strong>semua balasan-balasannya</strong>? Lampirkan? Lampiran-lampiran: Pengarang + Kebali ke %forum.name% + <a href="%thread_url%">Kembali </a> ke %forum.name% Isi susunan mengikut Tarikh susunan mengikut Forum + Carta tutup Pasti? Pasti Buang: + Sahkan Pos kepada Forum: Buat satu Forum Baru Buat Forum Baru buang - tidak benarkan - tidak dibenarkan - Ubah - ubah - Ubah forum - Ubah Mesej: + lumpuh + lumpuhkannya + dilumpuhkan + Edit + Edit + Edit semula + Edit forum + Edit Mesej: Emel - Pada %posting_date%, %user_name% tulis: + Pada %posting_date%, %user_name% telah menulis: Emel Mesej: Emel kepada kawan + pulih + pulihkannya + dipulihkan + Seluruh Bebenang + Pos Pertama + Mendatar Format Forum Forum: Forum ID forum ID Nama Forum + Penghantaran Forum ForumID Forum-forum + Forum-forum: Penghantaran sejarah untuk + Hantar + Hantar: html + Penghantaran Terakhir + Penghantaran terakhir dalam subjek + Emel satu salinan mesej berikut: + Penghantaran pertama dalam subjek + Pentadbiran Forum-forum + Perlu memberi mesej untuk memapar. + perlu memberi mesej untuk memapar lampiran-lampiran! + (Ambil perhatian bahawa anda telah pun melanggan forum ini secara seluruhnya. Anda mungkin akan dapat notifikasi-notifikasi duplikasi.) + Sila kenalpasti penghantaran berikut: + Sila masukkan mesej + Sila masukkan subjek + Pengguna-pengguna Boleh Menambah Bebenang Baru + Mahukah anda melampirkan suatu fail kepada mesej ini? + Mahukan anda melanggan kepada maklumbalas-maklumbalas? + Sama ada anda perlu menghantar ke sesuatu forum atau membalas ke mesej yang lain + Urus + Urus Forum: + Urus/Moderasi + ID Mesej + Moderasi + Dimoderasikan + Nama + Forum Baru + Tidak + Tiada Forum + Tiada Mesej + Tiada Penghantaran. + Tiada + Satu Mesej + Satu Bebenang + buka + Parameter-parameter + ID induk + Tergantung + Bebenang Tergantung + Hantar + Hantar Mesej + Hantar Mesej Baru + Hantar Maklumbalas + Hantar ke Forum: + Dihantarkan + Dihantar oleh + Tarikh Penghantaran + Sejarah Penghantaran + Sejarah penghantaran untuk + Polisi Penghantaran + Persembahan + Prebiu + Balas: + ditolak + Ditolak + Balasan-balasan + Balas + Balas kepada penghantaran pertama dalam bebenang + Balas kepada penghantaran pertama dalam halaman ini + Cari: + Cari + Cari: + Cari Forum-forum Subjek + Langgan? tulisan Forum ini adalah Berangkai Rangkaian-Rangkain Paparan Ya + Anda boleh + Nota Anda Index: openacs-4/packages/forums/catalog/forums.nl_NL.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.nl_NL.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.nl_NL.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.nl_NL.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,112 +1,125 @@ - - - + + - Active Forums - Beheer - Beheer - Keur goed - Weet u zeker dat u dit bericht wilt verijderen? <strong>Alle reacties op dit bericht worden tevens verwijdert!</strong> - Aanhechten? + Beheren + Beheren + Anoniem + Goedkeuren + Dit bericht echt verwijderen? <strong>Alle reacties op dit bericht worden ook verwijderd!</strong> + Bijvoegen? Bijlagen: Auteur + Terug naar %forum.name% + <a href='%thread_url'>Terug</a> naar %forum.name%. Inhoud op Datum op Forum Beschrijving Gesloten Bevestigen? - Bevestig Verwijderen: - Bevestig Bericht in Forum: - Cre�er een Forum - Cre�er een Forum - verwijder - Blokkeer - Blokeer het - geblokeerd - Geblokeerd Forums - Wijzig - wijzig - Wijzig Forum - Wijzig Bericht: - Email - email - Email Bericht: - Email een friend - Deblokkeer - deblokkeer het - Actief - Gehele Discussie + Bevestig verwijderen: + Bericht verzending bevestigen in forum: + Een nieuw forum aanmaken + Nieuw forum aanmaken + Verwijderen + uitschakelen + uitschakelen + uitgeschakeld + Bewerken + Bewerken + Opnieuw bewerken + Forum bewerken + Bericht bewerken + E-mail + Op %posting_date%, schreef %user_name%: + E-mailbericht: + Een vriend e-mail sturen + inschakelen + inschakelen + ingeschakeld + Gehele discussie + Eerste bericht + Plat Formaat Forum Forum: Forum ID forum ID - Forum Naam - Forum Bericht - ForumID + Forum + Forumbericht + Forum ID Forums Forums: Berichten overzicht voor: + Doorsturen Doorgestuurd: - Laatste Bericht. - Email een copie van het volgende bericht: - Forum Beheer + html + Laatste bericht + Laatste bericht in onderwerp + Een kopie van het volgende bericht per e-mail sturen: + Eerste bericht in onderwerp + Forum administratie Om te tonen dient eerst voor een bericht te worden gezorgd Om bijlagen te kunnen tonen dient eerst voor een bericht te worden gezorgd! - (Attentie! U bent al geabonneerd op het gehele forum. U kunt dubbele berichten ontvangen.) - Bevestig het volgende bericht: - Vergeet het bericht niet. Het bericht is nu leeg. - Vergeet de titel niet. De titel is nu leeg. + (Attentie! Als de kennisgevingsfunctie is ingeschakeld voor het gehele forum en voor individuele discussie, zullen sommige berichten dubbel worden verzonden en ontvangen.) + Het volgende bericht bevestigen: + Bericht invoeren + Titel invoeren Gebruikers kunnen nieuwe discussies starten - Wilt u een bijlage toevoegen aan dit bestand? - Wilt U op de hoogte gesteld worden van reacties? - U dient te reageren op een ander bericht of een nieuwe discussie te starten in een forum. - Beheer - Beheer Forum: - Beheer/Voorzitten + Een bijlage aan dit bestand toevoegen? + Kennisgevingsfunctie voor antwoorden inschakelen? + Men kan een nieuwe discussie starten of reageren op een bericht in een forum. + Beheren + Forum beheren: + Beheren/Recenseren Bericht ID - gesuperviseerd + Gerecenseerd + gerecenseerd Naam - Nieuw Forum + Nieuw forum Nee - nee - Geen Forums - Geen Berichten - Geen Berichten + Geen forums beschikbaar + Geen berichten beschikbaar + Geen berichten beschikbaar Geen - Op - E�n Bericht - E�n Discussie + E�n bericht + E�n discussie open - Ouder ID - Hangende Discussies - Publiceer Bericht - Publiceer een Nieuw Bericht - Publiceer een Reactie - Publiceer in Forum: + Parameters + ID van het bovenliggende element + In behandeling + Lopende discussies + Plaatsen + Een bericht plaatsen + Een nieuw bericht plaatsen + Een reaktie plaatsen + In forum plaatsen Gepubliceerd - Datum Publicatie - Publicatie Overzicht + Geplaatst door + Plaatsingsdatum + Publicatiegeschiedenis Publicatie overzicht van - Publicatie Regelingen + Publicatiebeleid Presentatie - Betr: - Weiger + Voorvertoning + Re: + weigeren + Afgewezen Reacties - reageer - Zoek: - Zoek - Zoek: - Zoek Forums + Reageren + Op het eerste bericht in deze discussie reageren + Op het eerste bericht op deze pagina reageren + Zoeken: + Zoeken + Zoeken: + Forums doorzoeken Titel - Abonneer? - tekst + Kennisgevingsfunctie inschakelen? + Platte tekst Dit forum is + Per discussie Discussies - Lees - schreef: + Bekijk Ja - ja - U kunt - Uw Notitie + Er kan + Eigen notitie Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.nn_NO.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/catalog/forums.no_NO.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.no_NO.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.no_NO.ISO-8859-1.xml 11 Mar 2003 20:50:38 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.no_NO.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,15 +1,16 @@ - - - + + - Aktive fora Administrer Administrasjon + Anonym godkjenn Er du sikker p� at du vil slette denne meldingen og <strong>alle svarene p� den</strong>? - Legg ved + Legg ved? Vedlegg Forfatter + Tilbake til %forum.name% + <a href="%thread_url%">Tilbake</a> til %forum.name% Innhold etter dato etter forum @@ -24,19 +25,20 @@ gj�r uvirksom gj�r den uvirksom uvirksom - uvirksomme forum Rediger rediger + Rediger igjen Rediger forum Rediger melding: E-post - e-post + Den %posting_date% skrev %user_name%: E-postmelding: E-post til en venn gj�r virksom gj�r den virksom virksom - Hele lenken + Hele tr�den + F�rste innlegg Flat Format Forum @@ -47,12 +49,13 @@ Foruminnlegg ForumID Fora - Fora: Innlegg for + Fora: Innlegg av + Videresend Fwd: html Siste innlegg Siste innlegg i emne - Send kope av f�lgende melding som e-post: + Send kopi av f�lgende melding som e-post: F�rste innlegg i emne Forumadministrasjon m� skrive en melding for � vise. @@ -61,57 +64,62 @@ Vennligst bekreft f�lgende innlegg: Skriv en melding Skriv et emne - Brukere kan opprette nye lenker + Brukere kan opprette nye tr�der �nsker du � legge en fil ved denne meldingen? - �nsker du � bli f� tilsendt svarene? - Du m� enden legge inn i et forum eller i svar til en annen melding + �nsker du � f� tilsendt andre innlegg som e-post? + Du m� enden legge inn i et forum eller som svar til en annen melding Administrer Administreringsforum: Administrer/Moderer MeldingsID + Moderer moderert Navn Nytt forum Ingen - ingen Ingen forum Ingen meldinger Ingen innlegg. Ingen - P� En melding En lenke �pen + Parametre forelder ID - Utest�ende lenker + Venter + Ventende tr�der + Legg inn Legg inn en melding Legg inn en ny melding Legg inn et svar Ligg inn i forum: Innlagt + Innlagt av innlagt dato Innleggelseslogg Innleggelseslogg for Innleggelsespolicy Presentasjon + Forh�ndsvisning Ang.: forkast + Forkastet Svar svar + Svar til f�rste innlegg i tr�den + Svar til f�rste innlegg p� denne siden S�k S�k S�k: S�k fora Emne Abonner? - tekst + Enkel tekst Dette forumet er - Lenket - Lenker + Tr�det + Tr�der Utsnitt - skrev: ja - ja Du kan Din anmerkning Index: openacs-4/packages/forums/catalog/forums.pl_PL.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.pl_PL.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.pl_PL.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.pl_PL.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ - + Administruj Administracja Index: openacs-4/packages/forums/catalog/forums.pt_BR.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.pt_BR.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.pt_BR.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.pt_BR.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,15 +1,16 @@ - - - + + - F�rums Ativos Administrar Administra��o + An�nimo aprovar Tem certeza que quer apagar esta mensagem e <strong>todas as suas repostas</strong>? Anexar? Anexos: Autor + Retornar ao f�rum %forum.name% + <a href="%thread_url%">Retornar</a> para %forum.name% Corpo por Data por F�rum @@ -21,22 +22,24 @@ Criar um Novo F�rum Criar Novo F�rum apagar - desabilitar + desativar desativ�-lo desativados - F�rums Desativados Editar editar + Editar novamente Editar F�rum Editar Mensagem: E-mail - e-mail + Em %posting_date%, %user_name% escreveu: Enviar Mensagem por e-mail: Enviar por e-mail para um amigo - habilitar - habilit�-lo - habilitador + ativar + ativ�-lo + ativado Discuss�o Completa + Primeira Postagem + Plano Formato F�rum F�rum: @@ -47,9 +50,13 @@ ForumID F�rums F�rums: Hist�ria de mensagens de + Encaminhar Enc: + html �ltima Mensagem + �ltima mensagem neste assunto Enviar uma c�pia desta mensagem por e-mail: + Primeira mensagem neste assunto Administra��o dos F�rums � preciso uma mensagem a ser mostrada. � preciso uma mensagem para mostrar anexos! @@ -65,35 +72,42 @@ Gerenciar F�rum: Gerenciar/Moderar ID da Mensagem + Moderado moderado Nome Novo F�rum N�o - n�o Nenhum F�rum Nenhuma Mensagem Nenhuma Mensagem Enviada. Nenhum - Em Uma Mensagem Uma Discuss�o aberto(s) + Par�metros ID do pai + Pendente Discuss�es Pendentes + Postar Enviar uma Mensagem Enviar uma Nova Mensagem Enviar uma Resposta Enviar Mensagem ao F�rum: Enviados + Postado por Data de Envio Hist�rico de Mensagens Enviadas Hist�rico de Mensagens Enviadas de Pol�tica de Envios Apresenta��o + Prever Res: rejeitar + Rejeitado Respostas reponder + Responder � primeira postagem do assunto + Responder � primeira postagem nesta p�gina Busca: Busca Busca: @@ -102,11 +116,10 @@ Assinar? texto Este f�rum � + Por discuss�es Discuss�es Ver - escreveu: Sim - sim Voc� pode Seu Coment�rio Index: openacs-4/packages/forums/catalog/forums.pt_PT.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.pt_PT.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.pt_PT.ISO-8859-1.xml 17 Sep 2003 12:21:47 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.pt_PT.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,8 +1,6 @@ - - - + + - Forums Activos Administrar Administra��o aprovar @@ -24,13 +22,11 @@ desactivar desactiv�-lo desactivado - Forums Desactivados Editar editar Editar forum Editar Mensagem: Enviar por Correio Electr�nico - correio electr�nico Enviar Mensagem por Correio Electr�nico: Enviar por correio electr�nico a um amigo activar @@ -73,12 +69,10 @@ Nome Novo Forum N�o - n�o N�o h� Forums N�o h� Mensagens N�o h� mensagens enviadas. Nenhum - Em Uma Mensagem Uma Discuss�o aberto @@ -109,9 +103,7 @@ Por Discuss�es Discuss�es Ver - escreveu: Sim - sim Pode Sua Nota Index: openacs-4/packages/forums/catalog/forums.ru_RU.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.ru_RU.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.ru_RU.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.ru_RU.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ - + Администрировать Администрирование @@ -10,36 +10,8 @@ Автор Текст сообщения по дате - По форум - отключить - отключить - (отключено) - Редактировать - редактировать - Редактировать форум - Редактировать Сообщение - Эл.почта - В %posting_date%, %user_name% написал: - Сообщение Эл.почты: - Отправить сообщение другу - включить - включить - включено - Форум - Форум: - Название Форума - Форум ID - Отправить копию: - Введить Сообщение - Введите "Тема" - Название Нет Re: - Поиск: - Поиск - Поиск: - Поиск форумов - Показать: Да Вы можете Index: openacs-4/packages/forums/catalog/forums.sh_HR.utf-8.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.sh_HR.utf-8.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.sh_HR.utf-8.xml 15 Oct 2003 15:01:43 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.sh_HR.utf-8.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ - + Administriraj Administracija Index: openacs-4/packages/forums/catalog/forums.sv_SE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.sv_SE.ISO-8859-1.xml,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/catalog/forums.sv_SE.ISO-8859-1.xml 21 Jan 2003 18:49:13 -0000 1.1 +++ openacs-4/packages/forums/catalog/forums.sv_SE.ISO-8859-1.xml 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,19 +1,20 @@ - - - + + - Aktiva forum Administrera Administration + Anonym godk�nn �r du s�ker p� att du vill radera det h�r meddelandet och <strong>alla dess svar</strong>? Bifoga? Bifogade filer: F�rfattare + Tillbaka till %forum.name% + <a href="%thread_url%">Tillbaka</a> till %forum.name% Text - efter datum - efter forum + datumvis + forumvis Beskrivning st�ngt Bekr�fta? @@ -25,19 +26,21 @@ avaktivera avaktivera det avaktiverat - Avaktiverade forum - Editera - editera - Editera forum - Editera meddelande: - Email - email - Email-meddelande: - Skicka email till en v�n + Redigera + redigera + Redigera igen + Redigera forum + Redigera meddelande: + E-posta + %posting_date% skrev %user_name%: + E-postmeddelande: + E-posta till en v�n aktivera aktivera det aktiverat Hela tr�den + F�rsta postningen + Platt Format Forum Forum: @@ -48,9 +51,13 @@ ForumID Forum Forum: Postningshistorik f�r + Vidarebefordra Vidarebefordra: - Senaste postning + HTML + Senaste inl�gg + Senaste inl�gg i �mnet E-posta en kopia av f�ljande meddelande: + F�rsta inl�gget i �rendet Administration av forum M�ste tillhandah�lla ett meddelande att visa. m�ste tillhandah�lla ett meddelande f�r att visa bifogade filer. @@ -66,48 +73,54 @@ Handha forum: Handha/moderera Meddelande-ID + Moderera modererat Namn Nytt forum Ingen - nej Inga forum Inga meddelanden Inga postningar. Inga - P� Ett meddelande En tr�d �ppet + Parametrar f�r�lder-ID + Avvaktande Avvaktande tr�dar + Postning Posta ett meddelande Posta ett nytt meddelande Posta ett svar Posta till forum: Postat + Postad av Postningsdatum Postningshistorik Postningshistorik f�r Postningspolicy Presentation - Sv: + F�rhandsgranskning + Svar: avsl� + Ratade Svar svar + Svara p� f�rsta postningen i tr�den + Svara p� f�rsta postningen p� denna sida S�k: S�k S�k: Genoms�k forumen �mne Prenumerera? - text + Vanlig text Det h�r forumet �r + Tr�dat Tr�dar - Granska - skrev: + Visa Ja - ja Du kan Din anteckning Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/catalog/forums.zh_CN.utf-8.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/lib/forums/admin-forums-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/admin-forums-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/admin-forums-chunk.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/admin-forums-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -7,10 +7,16 @@ @cvs-id $Id$ } +set subsite_url [subsite::get_element -element url -notrailing] template::list::create \ -name forums \ -multirow forums \ + -actions [list \ + [_ forums.Create_a_New_Forum] forum-new {} \ + [_ forums.Parameters] [export_vars -base "$subsite_url/shared/parameters" { { return_url [ad_return_url] } { package_id {[ad_conn package_id]} } }] {} \ + [_ acs-subsite.Permissions] [export_vars -base "permissions" { { object_id {[ad_conn package_id]} } }] {} + ]\ -elements { edit { label {} Index: openacs-4/packages/forums/lib/forums/forums-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/Attic/forums-chunk-oracle.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/forums-chunk-oracle.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/forums-chunk-oracle.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -6,10 +6,7 @@ select forums_forums_enabled.*, - (select count(*) - from forums_messages_approved - where forums_messages_approved.forum_id = forums_forums_enabled.forum_id - and parent_id is null) as n_threads, + approved_thread_count as n_threads, to_char(last_post, 'YYYY-MM-DD HH24:MI:SS') as last_post_ansi, case when last_post > (sysdate - 1) then 't' else 'f' end as new_p from forums_forums_enabled Index: openacs-4/packages/forums/lib/forums/forums-chunk-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/Attic/forums-chunk-postgresql.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/forums-chunk-postgresql.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/forums-chunk-postgresql.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -6,10 +6,7 @@ select forums_forums_enabled.*, - (select count(*) - from forums_messages_approved - where forums_messages_approved.forum_id = forums_forums_enabled.forum_id - and parent_id is null) as n_threads, + approved_thread_count as n_threads, to_char(last_post, 'YYYY-MM-DD HH24:MI:SS') as last_post_ansi, case when last_post > (now() - interval '1 day') then 't' else 'f' end as new_p from forums_forums_enabled Index: openacs-4/packages/forums/lib/forums/forums-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/forums-chunk.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/forums-chunk.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/forums-chunk.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,48 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#forums.Forum_Name##forums.Threads##forums.Last_Post#
- - - - @forums.name@ - - - - -
@forums.charter;noquote@ -
-
- @forums.n_threads@ - - - @forums.last_post_ansi@ -   -
- #forums.No_Forums# -
+ Index: openacs-4/packages/forums/lib/forums/forums-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/forums-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/forums-chunk.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/forums-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -9,15 +9,65 @@ } set package_id [ad_conn package_id] -set user_id [ad_verify_and_get_user_id] +set user_id [ad_conn user_id] +set admin_p [permission::permission_p -object_id $package_id -privilege admin] + # get the colors from the params set table_border_color [parameter::get -parameter table_border_color] set table_bgcolor [parameter::get -parameter table_bgcolor] set table_other_bgcolor [parameter::get -parameter table_other_bgcolor] -db_multirow -extend { last_modified_pretty } forums select_forums {} { +set actions [list] +if { $admin_p } { + lappend actions [_ forums.New_Forum] "admin/forum-new" {} + lappend actions [_ forums.Administration] "admin/" {} +} + +template::list::create \ + -name forums \ + -actions $actions \ + -no_data [_ forums.No_Forums] \ + -elements { + name { + label {\#forums.Forum_Name\#} + link_url_col forum_view_url + display_template { + + + + @forums.name@ + + + + } + } + charter { + label {\#forums.Charter\#} + display_template {@forums.charter;noquote@} + } + n_threads { + label {\#forums.Threads\#} + display_col n_threads_pretty + html { align right } + } + last_post { + label {\#forums.Last_Post\#} + display_col last_modified_pretty + } + statistic { + label {\#forums.Statistics\#} + link_url_col forum_view_statistic + display_col statistic + } + } + +db_multirow -extend { forum_view_url last_modified_pretty n_threads_pretty forum_view_statistic statistic} forums select_forums {} { set last_modified_pretty [lc_time_fmt $last_post_ansi "%x %X"] + set forum_view_url [export_vars -base forum-view { forum_id }] + set n_threads_pretty [lc_numeric $n_threads] + set forum_view_statistic [export_vars -base forum-view-statistic { forum_id }] + set statistic "[_ forums.Statistics]" } if {[exists_and_not_null alt_template]} { Index: openacs-4/packages/forums/lib/forums/new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/new.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/forums/new.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/forums/new.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -9,6 +9,10 @@ } +if { ![info exists name] } { + set name {} +} + set package_id [ad_conn package_id] form create forum @@ -50,6 +54,8 @@ # Pre-fetch the forum_id set forum_id [db_nextval acs_object_id_seq] element set_properties forum forum_id -value $forum_id + element set_value forum new_threads_p 1 + element set_value forum name $name } if {[exists_and_not_null alt_template]} { Index: openacs-4/packages/forums/lib/message/attachment-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/attachment-list.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/attachment-list.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/attachment-list.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -19,6 +19,6 @@ set attachment_graphic [attachments::graphic_url] -if {![exists_and_not_null alt_template]} { +if {[exists_and_not_null alt_template]} { ad_return_template $alt_template } Index: openacs-4/packages/forums/lib/message/delete.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/delete.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/delete.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/delete.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,17 +1,12 @@ - - - #forums.Are_you_sure_you_want_to_delete_lt# -

- -

+

#forums.Are_you_sure_you_want_to_delete_lt#

+ +
-
- -

- - #forums.Yes# -

- #forums.No# -

+ - +

Index: openacs-4/packages/forums/lib/message/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/delete.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/delete.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/delete.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -14,14 +14,16 @@ if {$confirm_p} { # Delete the message and all children forum::message::delete -message_id $message(message_id) - + # Redirect to the forum ad_returnredirect "../forum-view?forum_id=$message(forum_id)" ad_script_abort } set message_id $message(message_id) +set message(tree_level) 0 + set url_vars [export_url_vars message_id return_url] if {[exists_and_not_null alt_template]} { Index: openacs-4/packages/forums/lib/message/edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/edit.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/edit.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/edit.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -18,13 +18,15 @@ forums::form::message message if {[form is_valid message]} { - template::form get_values message message_id subject content html_p + template::form get_values message message_id subject message_body + set content [string trimright [template::util::richtext::get_property contents $message_body]] + set format [string trimright [template::util::richtext::get_property format $message_body]] forum::message::edit \ -message_id $message_id \ -subject $subject \ -content $content \ - -html_p $html_p + -format $format ad_returnredirect "$return_url?message_id=$message_id" ad_script_abort @@ -33,8 +35,7 @@ # Prepare the other data element set_properties message message_id -value $message(message_id) element set_properties message subject -value $message(subject) -element set_properties message content -value $message(content) -element set_properties message html_p -value $message(html_p) +element set_properties message message_body -value [list $message(content) $message(format)] if {[info exists alt_template]} { ad_return_template $alt_template Index: openacs-4/packages/forums/lib/message/post-confirm.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/post-confirm.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/post-confirm.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/post-confirm.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,31 +1,19 @@ -

#forums.lt_Please_confirm_the_fo#

+

#forums.lt_Please_confirm_the_fo#

+
+ +
+
+ + @exported_vars;noquote@ + + #forums.lt_Would_you_like_to_sub# + #forums.No# + #forums.Yes# -<% set table_border_color [parameter::get -parameter table_border_color] %> - -
- - -
-
- - - - @exported_vars;noquote@ - -
- - - #forums.lt_Would_you_like_to_sub# - #forums.No# - #forums.Yes# - - -
#forums.lt_Note_that_you_are_alr# -
- -
-
- - - - + +
#forums.lt_Note_that_you_are_alr# +
+
+ + + Index: openacs-4/packages/forums/lib/message/post.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/post.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/post.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/post.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,8 +1,7 @@ - - -
-
+
+ +
Index: openacs-4/packages/forums/lib/message/post.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/post.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/post.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/post.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -67,8 +67,9 @@ set init_msg(attach_p) 0 form set_values message init_msg - + } elseif {[form is_valid message]} { + ############################## # Form processing # @@ -77,26 +78,31 @@ forum_id \ parent_id \ subject \ - content \ - html_p \ + message_body \ confirm_p \ subscribe_p \ - anonymous_p - + anonymous_p \ + attach_p + + if { [empty_string_p $anonymous_p] } { set anonymous_p 0 } + set action [template::form::get_button message] set displayed_user_id [ad_decode \ [expr {$anonymous_allowed_p && $anonymous_p}] \ 0 $user_id \ 0] if { [string equal $action "preview"] } { + set confirm_p 1 set subject.spellcheck ":nospell:" set content.spellcheck ":nospell:" - set content [string trimright $content] - set exported_vars [export_form_vars message_id forum_id parent_id subject content html_p confirm_p subject.spellcheck content.spellcheck anonymous_p attach_p] + set content [template::util::richtext::get_property content $message_body] + set format [template::util::richtext::get_property format $message_body] + + set exported_vars [export_vars -form {message_id forum_id parent_id subject {message_body $content} {message_body.format $format} confirm_p subject.spellcheck content.spellcheck anonymous_p attach_p}] - set message(html_p) $html_p + set message(format) $format set message(subject) $subject set message(content) $content set message(user_id) $displayed_user_id @@ -117,20 +123,26 @@ } } - ad_return_template "/message/post-confirm" + ad_return_template "/packages/forums/lib/message/post-confirm" return } if { [string equal $action "post"] } { - forum::message::new \ + set content [template::util::richtext::get_property content $message_body] + set format [template::util::richtext::get_property format $message_body] + forum::message::new \ -forum_id $forum_id \ -message_id $message_id \ -parent_id $parent_id \ -subject $subject \ -content $content \ - -html_p $html_p \ + -format $format \ -user_id $displayed_user_id + # DRB: Black magic cache flush call which will disappear when list builder is + # rewritten to paginate internally rather than use the template paginator. + cache flush "messages,forum_id=$forum_id*" + if {[empty_string_p $parent_id]} { set redirect_url "[ad_conn package_url]message-view?message_id=$message_id" } else { @@ -151,8 +163,6 @@ # Wrap the attachments URL if {$attachments_enabled_p} { - form get_values message attach_p - if { ![empty_string_p $attach_p] && $attach_p} { set redirect_url [attachments::add_attachment_url -object_id $message_id -return_url $redirect_url -pretty_name "[_ forums.Forum_Posting] \"$subject\""] } Index: openacs-4/packages/forums/lib/message/row.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/row.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/row.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/row.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,83 +1,65 @@ - - - - - - - @message.number@: - @message.subject@ - - - @message.subject@ - - - - - - - - @message.number@ - - - - - - In response to @message.parent_number@ - - - @message.posting_date_pretty@ - - - - -
- [ #forums.reply# - | #forums.forward# - ] - -
- [ #forums.edit# - | #forums.delete# - - - - | #forums.approve# - - - | #forums.reject# - +
+ + +
+
+ + +
+ + +
+ @message.number@: + @message.subject@ + + +
@message.subject@ + - - - - - - - - +
@message.number@ - -
- @message.content;noquote@ -

- #forums.Posted_by# @message.user_name@ -

+ + (response to @message.parent_number@) +
- - +
#forums.Posted_by# @message.user_name@ on
+
+ - - - - #forums.Attachments# - - - - +
+
@message.content;noquote@ + +
+ #forums.Attachments# + +
+
+
+
+
Index: openacs-4/packages/forums/lib/message/row.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/row.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/row.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/row.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,26 +1,22 @@ ad_page_contract { - + a message chunk to be included in a table listing of messages - _so that has to be wrapped in a _ - @author yon (yon@openforce.net) @author arjun (arjun@openforce.net) @creation-date 2002-06-02 @cvs-id $Id$ } -if {![exists_and_not_null bgcolor]} { - set table_bgcolor [parameter::get -parameter table_bgcolor] -} else { - set table_bgcolor $bgcolor -} +set viewer_id [ad_conn user_id] -if { [string is false $message(html_p)] } { - set message(content) [ad_text_to_html -- $message(content)] +if {![exists_and_not_null rownum]} { + set rownum 1 } +set message(content) [ad_html_text_convert -from $message(format) -to text/html -- $message(content)] + # convert emoticons to images if the parameter is set if { [string is true [parameter::get -parameter DisplayEmoticonsAsImagesP -default 0]] } { set message(content) [forum::format::emoticons -content $message(content)] @@ -37,3 +33,12 @@ if {[exists_and_not_null alt_template]} { ad_return_template $alt_template } +if {![info exists message(message_id)]} { + set message(message_id) none +} +if {![info exists message(tree_level)]} { + set message(tree_level) 0 +} + +set allow_edit_own_p [parameter::get -parameter AllowUsersToEditOwnPostsP -default 0] +set own_p [expr [string equal $message(user_id) $viewer_id] && $allow_edit_own_p] Index: openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/thread-chunk-oracle.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -21,7 +21,7 @@ 0 as n_attachments, subject, content, - html_p, + format, person.name(user_id) as user_name, to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, tree.tree_level(tree_sortkey) as tree_level, @@ -41,7 +41,7 @@ (select count(*) from attachments where object_id = message_id) as n_attachments, subject, content, - html_p, + format, person.name(user_id) as user_name, to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, tree.tree_level(tree_sortkey) as tree_level, Index: openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,33 +1,46 @@ - +tree_right( postgresql7.1 - select fma.message_id - from forums_messages fm, - forums_messages_approved fma - where fm.message_id = :root_message_id - and fma.forum_id = :forum_id - and fma.tree_sortkey between fm.tree_sortkey and tree_right(fm.tree_sortkey) - order by fma.message_id + SELECT fma.message_id + FROM forums_messages_approved fma + WHERE fma.forum_id = :forum_id + and fma.tree_sortkey between (select fm.tree_sortkey from forums_messages fm where fm.message_id = :root_message_id) + and (select tree_right(fm.tree_sortkey) from forums_messages fm where fm.message_id = :root_message_id) + ORDER BY fma.message_id + + + + SELECT fma.message_id + FROM forums_messages_approved fma + WHERE fma.forum_id = :forum_id + and fma.tree_sortkey between (select fm.tree_sortkey from forums_messages fm where fm.message_id = :message_id) + and (select tree_right(fm.tree_sortkey) from forums_messages fm where fm.message_id = :message_id) + ORDER BY fma.message_id + + + select message_id, 0 as n_attachments, subject, content, - html_p, + format, person__name(user_id) as user_name, to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, tree_level(tree_sortkey) as tree_level, state, user_id, - parent_id + parent_id, + open_p, + max_child_sortkey from $table_name where forum_id = :forum_id and tree_sortkey between tree_left(:tree_sortkey) and tree_right(:tree_sortkey) @@ -41,13 +54,15 @@ (select count(*) from attachments where object_id = message_id) as n_attachments, subject, content, - html_p, + format, person__name(user_id) as user_name, to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, tree_level(tree_sortkey) as tree_level, state, user_id, - parent_id + parent_id, + open_p, + max_child_sortkey from $table_name where forum_id = :forum_id and tree_sortkey between tree_left(:tree_sortkey) and tree_right(:tree_sortkey) Index: openacs-4/packages/forums/lib/message/thread-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/thread-chunk.adp 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/thread-chunk.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,54 +1,52 @@ - -
- - -
- - -
- - - - - - -
- - - - - - <% set width [expr 100 - [expr $responses(tree_level) - 1] * 1] %> - - - - - - - -
- + + +
+ + + + + + - - - - - - - -
-
+ + + + + + + + +
+@response_arrays_stub;noquote@ Index: openacs-4/packages/forums/lib/message/thread-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/thread-chunk.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/thread-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -22,9 +22,16 @@ # Check preferences for user # Set some variables for easy SQL access + set forum_id $message(forum_id) +set message_id $message(message_id) set tree_sortkey $message(tree_sortkey) +# Set variables for ajax effects +set main_message_id $message_id +set ajax_effects $ajax_effects + + if {[forum::attachments_enabled_p]} { set query select_message_responses_attachments } else { @@ -43,26 +50,38 @@ # Find ordering of messages # ##### - if { [string equal $forum(presentation_type) flat] } { set order_by "fma.posting_date, fma.tree_sortkey" } else { set order_by "fma.tree_sortkey" } + +# This list is the main list. It contains all the messages in +# the current thread + set root_message_id $message(root_message_id) + set message_id_list [db_list select_message_ordering {}] + set direct_url_base [export_vars -base [ad_conn url] { { message_id $message(root_message_id) } }] set message(direct_url) "$direct_url_base\#$message(message_id)" set message(number) [expr [lsearch $message_id_list $message(message_id)] + 1] set message(parent_number) {} +set message(parent_direct_url) "" if { [exists_and_not_null message(parent_id)] } { set message(parent_number) [expr [lsearch $message_id_list $message(parent_id)] + 1] set message(parent_direct_url) "$direct_url_base\#$message(parent_id)" + set message(parent_root_url) [export_vars -base [ad_conn url] { { message_id $message(parent_id) } }] } +set message(open_p) "t" +set message(reply_p) [expr [string equal $message(open_p) "t"] || [string equal $message(user_id) [ad_conn user_id]]] +set message(tree_level) 0 + + ##### # # Find responses @@ -76,14 +95,76 @@ set order_by "tree_sortkey" } -db_multirow -extend { posting_date_pretty direct_url number parent_number parent_direct_url } responses $query {} { +set old_tree_level 0 +set old_message_id 0 +set message_ids {} +set all_messages_ids {} +set message_list "" +db_multirow -extend { posting_date_pretty direct_url number parent_number parent_direct_url reply_p viewed_p open_p } responses $query {} { + set open_p t + set tree_level [min [expr {$tree_level - $message(tree_level)}] 10] set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] - set direct_url "$direct_url_base\#$message(message_id)" - set number [expr [lsearch $message_id_list $message(message_id)] + 1] + set direct_url "$direct_url_base\#$message_id" + set number [expr [lsearch $message_id_list $message_id] + 1] set parent_number [expr [lsearch $message_id_list $parent_id] + 1] set parent_direct_url "$direct_url_base\#$parent_id" + set parent_root_url [export_vars -base [ad_conn url] {{message_id $parent_id}}] + set reply_p [expr [string equal $open_p "t"] || [string equal $user_id [ad_conn user_id]]] + + # DEDS: get the response ids the tcl way or else we need to hit + # the db for each response to count its children + if {$tree_level == 1} { + # leftmost so this is a new parent. truncate the list of ids. + set message_ids {} + + } else { + if {$tree_level > $old_tree_level} { + # increase in level. previous id is a parent too. + lappend message_ids $old_message_id + foreach one_parent_id $message_ids { + lappend parent_message($one_parent_id) $message_id + + } + } elseif {$tree_level < $old_tree_level} { + # decrease in level. let us pop the last id. + set message_ids_last [expr [llength $message_ids] - 1] + set message_ids [lreplace $message_ids $message_ids_last $message_ids_last] + } else { + foreach one_parent_id $message_ids { + lappend parent_message($one_parent_id) $message_id + + } + } + } + # keep track of what level and message we are in + set old_tree_level $tree_level + set old_message_id $message_id + + # make sure we also populate the original message id + lappend parent_message($message(message_id)) $message_id } + +set message(tree_level) 0 + if {[exists_and_not_null alt_template]} { ad_return_template $alt_template } + +set response_arrays_stub " +" + +set return_url [ad_return_url] Index: openacs-4/packages/forums/lib/message/threads-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/Attic/threads-chunk-oracle.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/threads-chunk-oracle.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/threads-chunk-oracle.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -2,44 +2,36 @@ oracle8.1.6 - + select fm.message_id, fm.subject, - fm.user_id, person.name(fm.user_id) as user_name, to_char(fm.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, - fm.state, - (select count(*) - from forums_messages_approved fm1 - where fm1.forum_id = :forum_id - and fm1.tree_sortkey between tree.left(fm.tree_sortkey) and tree.right(fm.tree_sortkey)) as n_messages, - to_char(fm.last_child_post, 'YYYY-MM-DD HH24:MI:SS') as last_child_post_ansi, - case when fm.last_child_post > (sysdate - 1) then 't' else 'f' end as new_p + $replies as n_messages, + to_char(fm.last_child_post, 'YYYY-MM-DD HH24:MI:SS') as last_child_post_ansi from forums_messages_approved fm where fm.forum_id = :forum_id and fm.parent_id is null [template::list::orderby_clause -orderby -name "messages"] - + select fm.message_id, fm.subject, fm.user_id, person.name(fm.user_id) as user_name, to_char(fm.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, fm.state, - (select count(*) - from forums_messages fm1 - where fm1.forum_id = :forum_id - and fm1.tree_sortkey between tree.left(fm.tree_sortkey) and tree.right(fm.tree_sortkey)) as n_messages, + $replies as n_messages, to_char(fm.last_child_post, 'YYYY-MM-DD HH24:MI:SS') as last_child_post_ansi, case when fm.last_child_post > (sysdate - 1) then 't' else 'f' end as new_p - from forums_messages fm + from forums_messages_approved fm where fm.forum_id = :forum_id and fm.parent_id is null + [template::list::page_where_clause -and -name messages -key fm.message_id] [template::list::orderby_clause -orderby -name "messages"] Index: openacs-4/packages/forums/lib/message/threads-chunk-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/Attic/threads-chunk-postgresql.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/threads-chunk-postgresql.xql 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/threads-chunk-postgresql.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -2,56 +2,47 @@ postgresql7.1 - + select fm.message_id, fm.subject, - fm.user_id, person__name(fm.user_id) as user_name, - to_char(fm.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, - fm.state, - (select count(*) - from forums_messages_approved fm1 - where fm1.forum_id = :forum_id - and fm1.tree_sortkey between tree_left(fm.tree_sortkey) and tree_right(fm.tree_sortkey)) as n_messages, - to_char(fm.last_child_post, 'YYYY-MM-DD HH24:MI:SS') as last_child_post_ansi, - case when fm.last_child_post > (now() - interval '1 day') then 't' else 'f' end as new_p + $replies as n_messages, + to_char(fm.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi from forums_messages_approved fm where fm.forum_id = :forum_id and fm.parent_id is null - [template::list::orderby_clause -orderby -name "messages"] + [template::list::orderby_clause -orderby -name messages] - + select fm.message_id, fm.subject, - fm.user_id, - person__name(fm.user_id) as user_name, + fm.last_poster as user_id, + person__name(fm.last_poster) as user_name, to_char(fm.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, fm.state, - (select count(*) - from forums_messages fm1 - where fm1.forum_id = :forum_id - and fm1.tree_sortkey between tree_left(fm.tree_sortkey) and tree_right(fm.tree_sortkey)) as n_messages, + $replies as n_messages, to_char(fm.last_child_post, 'YYYY-MM-DD HH24:MI:SS') as last_child_post_ansi, case when fm.last_child_post > (now() - interval '1 day') then 't' else 'f' end as new_p from forums_messages_approved fm where fm.forum_id = :forum_id and fm.parent_id is null - [template::list::orderby_clause -orderby -name "messages"] + [template::list::page_where_clause -and -name messages -key fm.message_id] + [template::list::orderby_clause -orderby -name messages] - lower(person__name(fm.user_id)) desc + lower(person__name(fm.last_poster)) desc - lower(person__name(fm.user_id)) asc + lower(person__name(fm.last_poster)) asc Index: openacs-4/packages/forums/lib/message/threads-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/threads-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/message/threads-chunk.tcl 17 Dec 2003 15:45:29 -0000 1.1 +++ openacs-4/packages/forums/lib/message/threads-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,32 +1,61 @@ ad_page_contract { - one forum view @author Ben Adida (ben@openforce.net) @creation-date 2002-05-24 @cvs-id $Id$ - } # Get forum data + forum::get -forum_id $forum_id -array forum -set query messages_select +if {![info exists base_url]} { + set base_url "" +} + if {$moderate_p} { - set query messages_select_moderator + set replies reply_count +} else { + set replies approved_reply_count } +set actions [list] + +# new postings are allowed if + +# 1. Users can create new threads AND the posting policy is open or +# moderated 2. User is a moderator or adminsitrator + +if {([forum::new_questions_allowed_p \ + -forum_id $forum_id] + && ($forum(posting_policy) == "open" || $forum(posting_policy) == "moderated")) || [template::util::is_true $admin_p] || [template::util::is_true $moderate_p]} { + lappend actions [_ forums.Post_a_New_Message] [export_vars \ + -base "${base_url}message-post" {forum_id}] {} +} + +if {[template::util::is_true $admin_p]} { + lappend actions [_ forums.Administer] [export_vars \ + -base "${base_url}admin/forum-edit" {forum_id {return_url [ad_return_url]}}] {} +} + +if {[template::util::is_true $moderate_p]} { + lappend actions [_ forums.ManageModerate] [export_vars \ + -base "${base_url}moderate/forum" {forum_id}] {} +} + template::list::create \ -name messages \ -multirow messages \ - -pass_properties { moderate_p } \ + -page_size 30 \ + -page_query_name messages_select_paginate \ + -pass_properties {moderate_p} \ + -actions $actions \ -elements { subject { label "#forums.Subject#" link_url_col message_url - display_template { - @messages.subject@ - @messages.subject@ + display_template {@messages.subject@ @messages.subject@ } } state_pretty { @@ -40,7 +69,7 @@ n_messages { label "#forums.Replies#" display_col n_messages_pretty - html { align right } + html {align right} } posting_date { label "#forums.First_Post#" @@ -79,37 +108,38 @@ forum_id {} } -db_multirow -extend { +db_multirow -extend { last_child_post_pretty posting_date_pretty message_url user_url n_messages_pretty - state_pretty -} messages $query {} { - set last_child_post_ansi [lc_time_system_to_conn $last_child_post_ansi] - set last_child_post_pretty [lc_time_fmt $last_child_post_ansi "%x %X"] + state_pretty} messages messages_select {} { + set last_child_post_ansi [lc_time_system_to_conn $last_child_post_ansi] + set last_child_post_pretty [lc_time_fmt $last_child_post_ansi "%x %X"] - set posting_date_ansi [lc_time_system_to_conn $posting_date_ansi] - set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] + set posting_date_ansi [lc_time_system_to_conn $posting_date_ansi] + set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] - set message_url [export_vars -base "message-view" { message_id }] - set user_url [export_vars -base "user-history" { user_id }] - set n_messages_pretty [lc_numeric $n_messages] + set message_url [export_vars \ + -base "${base_url}message-view" {message_id}] + set user_url [export_vars \ + -base "${base_url}user-history" {user_id}] + set n_messages_pretty [lc_numeric $n_messages] - switch $state { - pending { - set state_pretty [_ forums.Pending] - } - rejected { - set state_pretty [_ forums.Rejected] - } - default { - set state_pretty {} - } + switch $state { + pending { + set state_pretty [_ forums.Pending] + } + rejected { + set state_pretty [_ forums.Rejected] + } + default { + set state_pretty {} + } + } } -} if {[exists_and_not_null alt_template]} { - ad_return_template $alt_template + ad_return_template $alt_template } Index: openacs-4/packages/forums/lib/search/search-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/search/search-chunk-oracle.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/search/search-chunk-oracle.xql 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/search/search-chunk-oracle.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -14,7 +14,7 @@ where forums_messages.forum_id = forums_forums.forum_id and forums_forums.package_id = :package_id and forums_messages.state = 'approved' - and upper(forums_messages.subject || ' ' || dbms_lob.substr(forums_messages.content) || ' ' || person.name(forums_messages.user_id)) + and upper(forums_messages.subject || ' ' || dbms_lob.substr(forums_messages.content,2500) || ' ' || person.name(forums_messages.user_id)) like '%' || upper(:search_text) || '%' order by forums_messages.posting_date desc @@ -32,7 +32,7 @@ and forums_forums.package_id = :package_id and forums_messages.forum_id = forums_forums.forum_id and forums_messages.state = 'approved' - and upper(forums_messages.subject || ' ' || dbms_lob.substr(forums_messages.content) || ' ' || person.name(forums_messages.user_id)) + and upper(forums_messages.subject || ' ' || dbms_lob.substr(forums_messages.content,3500) || ' ' || person.name(forums_messages.user_id)) like '%' || upper(:search_text) || '%' order by forums_messages.posting_date desc Index: openacs-4/packages/forums/lib/search/search-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/search/search-chunk.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/search/search-chunk.adp 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/search/search-chunk.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,3 +1,4 @@ +
@@ -11,3 +12,4 @@
+ Index: openacs-4/packages/forums/lib/search/search-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/search/search-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/search/search-chunk.tcl 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/search/search-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -5,36 +5,38 @@ @cvs-id $Id$ } - set package_id [ad_conn package_id] -form create search -forums::form::search search +set searchbox_p [parameter::get -parameter ForumsSearchBoxP -package_id $package_id -default 1] +if {$searchbox_p} { + form create search + forums::form::search search -if {[form is_valid search]} { - form get_values search search_text forum_id + if {[form is_valid search]} { + form get_values search search_text forum_id - # remove any special characters from the search text so we - # don't crash interMedia - regsub -all {[^[:alnum:]_[:blank:]]} $search_text {} search_text + # remove any special characters from the search text so we + # don't crash interMedia + regsub -all {[^[:alnum:]_[:blank:]]} $search_text {} search_text - set query search_all_forums - if {![empty_string_p $forum_id]} { - set query search_one_forum - } - - if { [parameter::get -parameter UseIntermediaForSearchP -default 0] } { - append query "_intermedia" - } + set query search_all_forums + if {![empty_string_p $forum_id]} { + set query search_one_forum + } + + if { [parameter::get -parameter UseIntermediaForSearchP -default 0] } { + append query "_intermedia" + } - db_multirow messages $query {} { - set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] + db_multirow messages $query {} { + set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] + } + + } else { + set messages:rowcount 0 } -} else { - set messages:rowcount 0 -} - -if {[exists_and_not_null alt_template]} { - ad_return_template $alt_template -} + if {[exists_and_not_null alt_template]} { + ad_return_template $alt_template + } +} \ No newline at end of file Index: openacs-4/packages/forums/lib/user/post-history-chunk.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/user/post-history-chunk.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/user/post-history-chunk.adp 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/user/post-history-chunk.adp 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -56,9 +56,47 @@
+

+
+

#forums.Summary_Posting_history_for#

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#forums.Forum##forums.Number_of_Posts##forums.Posted#
@posts.name@@posts.num_msg@@posts.last_post@
+ #forums.No_Postings# +
+ +
+ Index: openacs-4/packages/forums/lib/user/post-history-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/user/post-history-chunk.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/user/post-history-chunk.tcl 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/user/post-history-chunk.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -35,6 +35,9 @@ set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] } +# select number of post from this user +db_multirow posts select_num_post {} + set dimensional_chunk [ad_dimensional $dimensional_list] if {[exists_and_not_null alt_template]} { Index: openacs-4/packages/forums/lib/user/post-history-chunk.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/user/post-history-chunk.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/lib/user/post-history-chunk.xql 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/lib/user/post-history-chunk.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -34,5 +34,15 @@ forums_messages.posting_date desc
+ + + + select count(user_id) as num_msg, to_char(max(last_child_post), 'YYYY-MM-DD HH24:MI:SS') as last_post, forums_forums.name, forums_forums.forum_id + from forums_messages, forums_forums + where forums_messages.user_id = :user_id and forums_forums.forum_id = forums_messages.forum_id and package_id = :package_id + group by forums_forums.name, forums_forums.forum_id + order by forums_forums.name asc + +
Index: openacs-4/packages/forums/sql/oracle/forums-notifications-sanitize.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/oracle/Attic/forums-notifications-sanitize.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/oracle/forums-notifications-sanitize.sql 25 Jun 2002 19:32:59 -0000 1.1 +++ openacs-4/packages/forums/sql/oracle/forums-notifications-sanitize.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -9,11 +9,120 @@ -- declare + v_foo integer; + v_impl_id integer; begin + -- forums_forum + v_impl_id := acs_sc_impl.get_id ( + 'NotificationType', -- impl_contract_name + 'forums_forum_notif_type' -- impl_name + ); + + select type_id into v_foo from notification_types + where sc_impl_id = v_impl_id and short_name = 'forums_forum_notif'; + + delete from notification_types_intervals + where type_id = v_foo + and interval_id in ( + select interval_id + from notification_intervals + where name in ('instant','hourly','daily') + ); + + delete from notification_types_del_methods + where type_id = v_foo + and delivery_method_id in ( + select delivery_method_id + from notification_delivery_methods + where short_name in ('email') + ); + for row in (select type_id - from notification_types - where short_name in (''forums_forum_notif'',''forums_message_notif'')) - loop - notification_type.delete(row.type_id); - end loop; + from notification_types + where short_name in ('forums_forum_notif')) + loop + notification_type.del(row.type_id); + end loop; + + acs_sc_binding.del( + contract_name => 'NotificationType', + impl_name => 'forums_forum_notif_type' + ); + + v_foo := acs_sc_impl.delete_alias( + 'NotificationType', + 'forums_forum_notif_type', + 'GetURL' + ); + + v_foo := acs_sc_impl.delete_alias( + 'NotificationType', + 'forums_forum_notif_type', + 'ProcessReply' + ); + + acs_sc_impl.del( + 'NotificationType', + 'forums_forum_notif_type' + ); + + -- forums_message + v_impl_id := acs_sc_impl.get_id ( + 'NotificationType', -- impl_contract_name + 'forums_message_notif_type' -- impl_name + ); + + select type_id into v_foo from notification_types + where sc_impl_id = v_impl_id and short_name = 'forums_message_notif'; + + delete from notification_types_intervals + where type_id = v_foo + and interval_id in ( + select interval_id + from notification_intervals + where name in ('instant','hourly','daily') + ); + + delete from notification_types_del_methods + where type_id = v_foo + and delivery_method_id in ( + select delivery_method_id + from notification_delivery_methods + where short_name in ('email') + ); + + for row in (select type_id + from notification_types + where short_name in ('forums_message_notif')) + loop + notification_type.del(row.type_id); + end loop; + + acs_sc_binding.del( + contract_name => 'NotificationType', + impl_name => 'forums_message_notif_type' + ); + + v_foo := acs_sc_impl.delete_alias( + 'NotificationType', + 'forums_message_notif_type', + 'GetURL' + ); + + v_foo := acs_sc_impl.delete_alias( + 'NotificationType', + 'forums_message_notif_type', + 'ProcessReply' + ); + + acs_sc_impl.del( + 'NotificationType', + 'forums_message_notif_type' + ); end; +/ +show errors + + + + Index: openacs-4/packages/forums/sql/oracle/forums-search-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/oracle/forums-search-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/oracle/forums-search-create.sql 2 Jul 2002 02:00:01 -0000 1.1 +++ openacs-4/packages/forums/sql/oracle/forums-search-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ -- --- Copyright (C) 2001, 2002 OpenForce, Inc. +-- Copyright (C) 2001, 2002 MIT -- -- This file is part of dotLRN. -- @@ -17,17 +17,24 @@ -- -- Support for searching of forum messages -- --- @author yon@openforce.net +-- @author yon@openforce.net -- @creation-date 2002-07-01 -- @version $Id$ -- --- IMPORTANT: --- replace all instances of the string "yon" below this line with your schema --- user and schema password accordingly. also, replace the "connect --- ctxsys/ctxsys" statement with the appropriate values for your system. need --- to figure out how to do this in a better way. + +-- Call this script like this: +-- +-- sqlplus /nolog @forums-search-create.sql +-- +-- &1 = ctxsys password +-- &2 = OpenACS database user +-- &3 = OpenACS database password + + +connect &2/&3; + -- as normal user create or replace procedure index_message ( rid in rowid, @@ -57,23 +64,24 @@ show errors -- as ctxsys -connect ctxsys/ctxsys; +connect ctxsys/&1; create or replace procedure s_index_message ( rid in rowid, tlob in out NOCOPY clob ) is begin - yon.index_message(rid, tlob); + &2..index_message(rid, tlob); end; / show errors -grant execute on s_index_message to yon; +grant execute on s_index_message to &2; +grant execute on ctx_ddl to &2; -- as normal user -connect yon/yon; +connect &2/&3; execute ctx_ddl.create_preference('forums_user_datastore', 'user_datastore'); execute ctx_ddl.set_attribute('forums_user_datastore', 'procedure', 's_index_message'); @@ -88,7 +96,7 @@ begin dbms_job.submit( job => v_job, - what => 'ctx_ddl.sync_index(''forums_content_idx'');', + what => 'ctxsys.ctx_ddl.sync_index(''forums_content_idx'');', interval => 'sysdate + 1/24' ); end; @@ -106,47 +114,48 @@ -- 2. increase the max length from 256 to 1024 -- mbryzek@arsdigita.com, 7/6/2000 create or replace procedure im_convert_length_check ( - p_string IN varchar2, - p_number_chars_to_append IN number, - p_max_length IN number, - p_variable_name IN varchar2 + p_string in varchar2, + p_number_chars_to_append in number, + p_max_length in number, + p_variable_name in varchar2 ) is begin - if nvl(length(p_string),0) + p_number_chars_to_append > p_max_length then + if nvl(length(p_string),0) + p_number_chars_to_append > p_max_length + then raise_application_error(-20000, 'Variable "' || p_variable_name || '" exceeds ' || p_max_length || ' character declaration'); end if; end; / show errors; --- Query to take free text user entered query and from it into something --- that will make interMedia happy. Provided by Oracle. +-- this proc takes user supplied free text and transforms it into an interMedia +-- friendly query string. (provided by oracle). create or replace function im_convert ( query in varchar2 default null ) return varchar2 is - i number :=0; - len number :=0; + i number := 0; + len number := 0; char varchar2(1); minusString varchar2(256) := ''; plusString varchar2(256) := ''; mainString varchar2(256) := ''; mainAboutString varchar2(500) := ''; finalString varchar2(500) := ''; - hasMain number :=0; - hasPlus number :=0; - hasMinus number :=0; + hasMain number := 0; + hasPlus number := 0; + hasMinus number := 0; token varchar2(256); - tokenStart number :=1; - tokenFinish number :=0; - inPhrase number :=0; - inPlus number :=0; - inWord number :=0; - inMinus number :=0; - completePhrase number :=0; - completeWord number :=0; - code number :=0; + tokenStart number := 1; + tokenFinish number := 0; + inPhrase number := 0; + inPlus number := 0; + inWord number := 0; + inMinus number := 0; + completePhrase number := 0; + completeWord number := 0; + code number := 0; begin len := length(query); @@ -259,3 +268,6 @@ end; / show errors; + +exit + Index: openacs-4/packages/forums/sql/oracle/forums-search-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/oracle/forums-search-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/oracle/forums-search-drop.sql 2 Jul 2002 02:00:01 -0000 1.1 +++ openacs-4/packages/forums/sql/oracle/forums-search-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,5 +1,5 @@ -- --- Copyright (C) 2001, 2002 OpenForce, Inc. +-- Copyright (C) 2001, 2002 MIT -- -- This file is part of dotLRN. -- @@ -22,22 +22,25 @@ -- @version $Id$ -- --- IMPORTANT: --- replace all instances of the string "yon" below this line with your schema --- user and schema password accordingly. also, replace the "connect --- ctxsys/ctxsys" statement with the appropriate values for your system. need --- to figure out how to do this in a better way. +-- Call this script like this: +-- +-- sqlplus /nolog @forums-search-create.sql +-- +-- &1 = ctxsys password +-- &2 = OpenACS database user +-- &3 = OpenACS database password --- as normal user +connect &2/&3; + drop function im_convert; drop procedure im_convert_length_check; declare begin for row in (select job from user_jobs - where what like '%forums_content_idx%') + where what like '%&2..forums_content_idx%') loop dbms_job.remove(job => row.job); end loop; @@ -51,11 +54,13 @@ execute ctx_ddl.drop_preference('forums_user_datastore'); -- as ctxsys -connect ctxsys/ctxsys; +connect ctxsys/&1; drop procedure s_index_message; -- as normal user -connect yon/yon; +connect &2/&3; drop procedure index_message; + +exit Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.0.6-1.0.7d.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.0d4-1.0.1d2.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1.1-1.1.2d1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1.2d4-1.1.2d5.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1d1-1.1d2.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1d1-1.1d2.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1d1-1.1d2.sql 25 Mar 2004 15:59:29 -0000 1.1 +++ openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1d1-1.1d2.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1 +1,2 @@ @@ ../forums-messages-package-create.sql +@@ ../forums-forums-package-create.sql Index: openacs-4/packages/forums/sql/postgresql/forums-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -22,3 +22,6 @@ -- notifications \i forums-notifications-init.sql + +-- Search +\i forums-sc-create.sql Index: openacs-4/packages/forums/sql/postgresql/forums-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-drop.sql 12 Jun 2002 15:24:02 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -21,3 +21,6 @@ -- The basic forum constructs \i forums-forums-package-drop.sql \i forums-forums-drop.sql + +-- Search +\i forums-sc-drop.sql Index: openacs-4/packages/forums/sql/postgresql/forums-forums-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-forums-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-forums-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-forums-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -10,90 +10,96 @@ -- -- privileges -begin - -- moderate and post are new privileges - -- the rest are obvious inheritance - -- forum creation on a package allows a user to create forums - -- forum creation on a forum allows a user to create new threads - select acs_privilege__create_privilege('forum_create',null,null); - select acs_privilege__create_privilege('forum_write',null,null); - select acs_privilege__create_privilege('forum_delete',null,null); - select acs_privilege__create_privilege('forum_read',null,null); - select acs_privilege__create_privilege('forum_post',null,null); - select acs_privilege__create_privilege('forum_moderate',null,null); +begin; + -- moderate and post are new privileges + -- the rest are obvious inheritance + -- forum creation on a package allows a user to create forums + -- forum creation on a forum allows a user to create new threads + select acs_privilege__create_privilege('forum_create',null,null); + select acs_privilege__create_privilege('forum_write',null,null); + select acs_privilege__create_privilege('forum_delete',null,null); + select acs_privilege__create_privilege('forum_read',null,null); + select acs_privilege__create_privilege('forum_post',null,null); + select acs_privilege__create_privilege('forum_moderate',null,null); - -- temporarily drop this trigger to avoid a data-change violation - -- on acs_privilege_hierarchy_index while updating the child privileges. + -- add children + select acs_privilege__add_child('create','forum_create'); + select acs_privilege__add_child('write','forum_write'); + select acs_privilege__add_child('delete','forum_delete'); + select acs_privilege__add_child('admin','forum_moderate'); + select acs_privilege__add_child('forum_moderate','forum_read'); + select acs_privilege__add_child('forum_moderate','forum_post'); + select acs_privilege__add_child('forum_write','forum_read'); + select acs_privilege__add_child('forum_write','forum_post'); + + -- the last one that will cause all the updates + select acs_privilege__add_child('read','forum_read'); - drop trigger acs_priv_hier_ins_del_tr on acs_privilege_hierarchy; - - -- add children - select acs_privilege__add_child('create','forum_create'); - select acs_privilege__add_child('write','forum_write'); - select acs_privilege__add_child('delete','forum_delete'); - select acs_privilege__add_child('admin','forum_moderate'); - select acs_privilege__add_child('forum_moderate','forum_read'); - select acs_privilege__add_child('forum_moderate','forum_post'); - select acs_privilege__add_child('forum_write','forum_read'); - select acs_privilege__add_child('forum_write','forum_post'); - - -- re-enable the trigger before the last insert to force the - -- acs_privilege_hierarchy_index table to be updated. - - create trigger acs_priv_hier_ins_del_tr after insert or delete - on acs_privilege_hierarchy for each row - execute procedure acs_priv_hier_ins_del_tr (); - - -- the last one that will cause all the updates - select acs_privilege__add_child('read','forum_read'); + --return null; end; - --- --- The Data Model --- - create table forums_forums ( - forum_id integer not null - constraint forums_forum_id_fk - references acs_objects(object_id) - constraint forums_forum_id_pk - primary key, - name varchar(200) constraint forum_name_nn not null, - charter varchar(2000), - presentation_type varchar(100) - constraint forum_type_nn not null - constraint forum_type_ch - check (presentation_type in ('flat','threaded')), - posting_policy varchar(100) - constraint forum_policy_nn not null - constraint forum_policy_ch - check (posting_policy in ('open','moderated','closed')), - max_child_sortkey varbit, - enabled_p char(1) default 't' not null - constraint forum_enabled_p_ch check - (enabled_p in ('t','f')), - package_id integer constraint forum_package_id_nn not null + forum_id integer + constraint forums_forum_id_nn + not null + constraint forums_forum_id_fk + references acs_objects (object_id) + constraint forums_forum_id_pk + primary key, + name varchar(200) + constraint forums_name_nn + not null, + charter varchar(2000), + presentation_type varchar(100) + constraint forums_presentation_type_nn + not null + constraint forums_presentation_type_ck + check (presentation_type in ('flat','threaded')), + posting_policy varchar(100) + constraint forums_posting_policy_nn + not null + constraint forums_posting_policy_ck + check (posting_policy in ('open','moderated','closed')), + max_child_sortkey varbit, + enabled_p char(1) + default 't' + constraint forums_enabled_p_nn + not null + constraint forums_enabled_p_ck + check (enabled_p in ('t','f')), + package_id integer + constraint forums_package_id_nn + not null, + thread_count integer default 0, + approved_thread_count integer default 0, + forums_forums integer default 0, + last_post timestamptz ); create view forums_forums_enabled -as select * from forums_forums where enabled_p='t'; +as + select * + from forums_forums + where enabled_p = 't'; --- --- Object Type --- - +create function inline_0 () +returns integer as' begin - select acs_object_type__create_type ( - 'forums_forum', - 'Forums Forum', - 'Forums Forums', - 'acs_object', - 'forums_forums', - 'forum_id', - 'forums_forum', - 'f', - NULL, - 'forums_forum__name' - ); -end; + perform acs_object_type__create_type( + ''forums_forum'', + ''Forums Forum'', + ''Forums Forums'', + ''acs_object'', + ''forums_forums'', + ''forum_id'', + ''forums_forum'', + ''f'', + null, + ''forums_forum__name'' + ); + + return null; +end;' language 'plpgsql'; + +select inline_0(); +drop function inline_0(); Index: openacs-4/packages/forums/sql/postgresql/forums-forums-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-forums-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-forums-drop.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-forums-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,4 +1,3 @@ - -- -- The Forums Package -- @@ -10,50 +9,47 @@ -- -- privileges + +create function inline_0 () +returns integer as ' begin - -- temporarily drop this trigger to avoid a data-change violation - -- on acs_privilege_hierarchy_index while updating the child privileges. + -- remove children + perform acs_privilege__remove_child(''read'',''forum_read''); + perform acs_privilege__remove_child(''create'',''forum_create''); + perform acs_privilege__remove_child(''write'',''forum_write''); + perform acs_privilege__remove_child(''delete'',''forum_delete''); + perform acs_privilege__remove_child(''admin'',''forum_moderate''); + perform acs_privilege__remove_child(''forum_moderate'',''forum_read''); + perform acs_privilege__remove_child(''forum_moderate'',''forum_post''); + perform acs_privilege__remove_child(''forum_write'',''forum_read''); - drop trigger acs_priv_hier_ins_del_tr on acs_privilege_hierarchy; + perform acs_privilege__remove_child(''forum_write'',''forum_post''); + + perform acs_privilege__drop_privilege(''forum_moderate''); + perform acs_privilege__drop_privilege(''forum_post''); + perform acs_privilege__drop_privilege(''forum_read''); + perform acs_privilege__drop_privilege(''forum_create''); + perform acs_privilege__drop_privilege(''forum_write''); + perform acs_privilege__drop_privilege(''forum_delete''); - -- remove children - select acs_privilege__remove_child('read','forum_read'); - select acs_privilege__remove_child('create','forum_create'); - select acs_privilege__remove_child('write','forum_write'); - select acs_privilege__remove_child('delete','forum_delete'); - select acs_privilege__remove_child('admin','forum_moderate'); - select acs_privilege__remove_child('forum_moderate','forum_read'); - select acs_privilege__remove_child('forum_moderate','forum_post'); - select acs_privilege__remove_child('forum_write','forum_read'); + return null; +end;' language 'plpgsql'; - -- reenable for trigger update - create trigger acs_priv_hier_ins_del_tr after insert or delete - on acs_privilege_hierarchy for each row - execute procedure acs_priv_hier_ins_del_tr (); +select inline_0(); +drop function inline_0 (); - select acs_privilege__remove_child('forum_write','forum_post'); - - select acs_privilege__drop_privilege('forum_moderate'); - select acs_privilege__drop_privilege('forum_post'); - select acs_privilege__drop_privilege('forum_read'); - select acs_privilege__drop_privilege('forum_create'); - select acs_privilege__drop_privilege('forum_write'); - select acs_privilege__drop_privilege('forum_delete'); -end; - - --- --- The Data Model --- - +drop view forums_forums_enabled; drop table forums_forums; --- --- Object Type --- - +create function inline_0 () +returns integer as ' begin - select acs_object_type__drop_type ( - 'forums_forum', 'f' - ); -end; + perform acs_object_type__drop_type ( + ''forums_forum'', ''f'' + ); + + return null; +end;' language 'plpgsql'; + +select inline_0(); +drop function inline_0 (); Index: openacs-4/packages/forums/sql/postgresql/forums-forums-package-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-forums-package-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-forums-package-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-forums-package-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -13,62 +13,62 @@ select define_function_args('forums_forum__new','forum_id,object_type;forums_forum,name,charter,presentation_type,posting_policy,package_id,creation_date,creation_user,creation_ip,context_id'); -select define_function_args('forums_forum__name','forum_id'); - -select define_function_args('forums_forum__delete','forum_id'); - - --- implementation - -create function forums_forum__new (integer,varchar,varchar,varchar,varchar,varchar,integer,timestamp,integer,varchar,integer) +create or replace function forums_forum__new (integer,varchar,varchar,varchar,varchar,varchar,integer,timestamptz,integer,varchar,integer) returns integer as ' -DECLARE - p_forum_id alias for $1; - p_object_type alias for $2; - p_name alias for $3; - p_charter alias for $4; - p_presentation_type alias for $5; - p_posting_policy alias for $6; - p_package_id alias for $7; - p_creation_date alias for $8; - p_creation_user alias for $9; - p_creation_ip alias for $10; - p_context_id alias for $11; - v_forum_id integer; -BEGIN - v_forum_id:= acs_object__new ( - p_forum_id, - p_object_type, - p_creation_date, - p_creation_user, - p_creation_ip, - p_context_id); +declare + p_forum_id alias for $1; + p_object_type alias for $2; + p_name alias for $3; + p_charter alias for $4; + p_presentation_type alias for $5; + p_posting_policy alias for $6; + p_package_id alias for $7; + p_creation_date alias for $8; + p_creation_user alias for $9; + p_creation_ip alias for $10; + p_context_id alias for $11; + v_forum_id integer; +begin + v_forum_id:= acs_object__new( + p_forum_id, + p_object_type, + p_creation_date, + p_creation_user, + p_creation_ip, + coalesce(p_context_id, p_package_id), + ''t'', + p_name, + p_package_id + ); - insert into forums_forums - (forum_id, name, charter, presentation_type, posting_policy, package_id) values - (v_forum_id, p_name, p_charter, p_presentation_type, p_posting_policy, p_package_id); + insert into forums_forums + (forum_id, name, charter, presentation_type, posting_policy, package_id) + values + (v_forum_id, p_name, p_charter, p_presentation_type, p_posting_policy, p_package_id); - return v_forum_id; -END; + return v_forum_id; +end; ' language 'plpgsql'; +select define_function_args('forums_forum__name','forum_id'); -create function forums_forum__name(integer) -returns integer as ' -DECLARE - p_forum_id alias for $1; -BEGIN - return name from forums_forums where forum_id= p_forum_id; -END; +create or replace function forums_forum__name(integer) +returns varchar as ' +declare + p_forum_id alias for $1; +begin + return name from forums_forums where forum_id = p_forum_id; +end; ' language 'plpgsql'; +select define_function_args('forums_forum__delete','forum_id'); -create function forums_forum__delete(integer) +create or replace function forums_forum__delete(integer) returns integer as ' -DECLARE - p_forum_id alias for $1; -BEGIN - perform acs_object__delete(p_forum_id); - return 0; -END; +declare + p_forum_id alias for $1; +begin + perform acs_object__delete(p_forum_id); + return 0; +end; ' language 'plpgsql'; Index: openacs-4/packages/forums/sql/postgresql/forums-forums-package-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-forums-package-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-forums-package-drop.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-forums-package-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -11,10 +11,8 @@ -- chunks lifted from Gilbert. Thanks Orchard Labs! -- +drop function forums_forum__new (integer,varchar,varchar,varchar,varchar,varchar,integer,timestamptz,integer,varchar,integer); - -drop function forums_forum__new (integer,varchar,varchar,varchar,varchar,varchar,integer,timestamp,integer,varchar,integer); - drop function forums_forum__name(integer); drop function forums_forum__delete(integer); Index: openacs-4/packages/forums/sql/postgresql/forums-messages-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-messages-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-messages-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-messages-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,4 +1,3 @@ - -- -- The Forums Package -- @@ -9,74 +8,95 @@ -- lifted from Gilbert. Thanks Orchard Labs! -- --- privileges --- NO PRIVILEGES FOR MESSAGES --- we don't individually permission messages - --- --- The Data Model --- - create table forums_messages ( - message_id integer not null - constraint forums_message_id_fk - references acs_objects(object_id) - constraint forums_message_id_pk - primary key, - forum_id integer - constraint forums_mess_forum_id_fk - references forums_forums(forum_id), - subject varchar(200), - content text, - -- html_p only applies to the body. The subject is plaintext. - html_p char(1) default 'f' - constraint forums_mess_html_p_ch - check (html_p in ('t','f')) - constraint forums_mess_html_p_nn not null, - user_id integer - constraint forums_mess_user_id_fk - references users(user_id) - constraint forums_mess_user_id_nn - not null, - posting_date timestamp - constraint forum_mess_post_date_nn not null, - state varchar(100) - constraint forum_mess_state_ch check (state in ('pending','approved','rejected')), - -- Hierarchy of messages - parent_id integer - constraint forum_mess_parent_id_fk - references forums_messages(message_id), - open_p char(1) default 't' not null - constraint forum_mess_open_p_ch check (open_p in ('t','f')), - tree_sortkey varbit, - max_child_sortkey varbit, - constraint forums_mess_sk_forum_un - unique (tree_sortkey,forum_id) + message_id integer + constraint forums_message_id_fk + references acs_objects (object_id) + constraint forums_messages_pk + primary key, + forum_id integer + constraint forums_mess_forum_id_fk + references forums_forums (forum_id), + subject varchar(200), + content text, + user_id integer + constraint forums_mess_user_id_fk + references users(user_id) + constraint forums_mess_user_id_nn + not null, + posting_date timestamptz + default current_timestamp + constraint forum_mess_post_date_nn + not null, + state varchar(100) + constraint forum_mess_state_ck + check (state in ('pending','approved','rejected')), + format varchar(30) + default 'text/plain', + -- Hierarchy of messages + parent_id integer + constraint forum_mess_parent_id_fk + references forums_messages (message_id), + open_p char(1) + default 't' + constraint forum_mess_open_p_nn + not null + constraint forum_mess_open_p_ck + check (open_p in ('t','f')), + tree_sortkey varbit, + max_child_sortkey varbit, + last_child_post timestamptz, + reply_count integer + constraint forums_mess_reply_count_ck + check (reply_count >= 0) default 0, + approved_reply_count integer + constraint forums_mess_app_rep_count_ck + check (approved_reply_count >= 0) default 0, + last_poster integer + constraint forums_mess_last_poster_fk + references users(user_id), + constraint forums_mess_sk_forum_un + unique (tree_sortkey, forum_id) ); --- views +-- We do a some big queries on forum_id (thread count on index.tcl) so create a second index +-- ordered so it's useful for them +create unique index forums_mess_forum_sk_un on forums_messages(forum_id, tree_sortkey); +-- Need these two for RI checks +create index forums_messages_user_id_idx on forums_messages(user_id); +create index forums_messages_parent_id_idx on forums_messages(parent_id); +create index forum_messages_date_idx on forums_messages (forum_id, posting_date); -create view forums_messages_approved as -select * from forums_messages where state='approved'; +create or replace view forums_messages_approved +as + select * + from forums_messages + where state = 'approved'; -create view forums_messages_pending as -select * from forums_messages where state='pending'; +create or replace view forums_messages_pending +as + select * + from forums_messages + where state= 'pending'; --- --- Object Type --- - +create or replace function inline_0 () +returns integer as ' begin - select acs_object_type__create_type ( - 'forums_message', - 'Forums Message', - 'Forums Messages', - 'acs_object', - 'forums_messages', - 'message_id', - 'forums_message', - 'f', - NULL, - NULL - ); -end; + perform acs_object_type__create_type( + ''forums_message'', + ''Forums Message'', + ''Forums Messages'', + ''acs_object'', + ''forums_messages'', + ''message_id'', + ''forums_message'', + ''f'', + null, + ''forums_message__name'' + ); + + return null; +end;' language 'plpgsql'; + +select inline_0(); +drop function inline_0 (); Index: openacs-4/packages/forums/sql/postgresql/forums-messages-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-messages-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-messages-drop.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-messages-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,4 +1,3 @@ - -- -- The Forums Package -- @@ -9,22 +8,19 @@ -- lifted from Gilbert. Thanks Orchard Labs! -- --- privileges --- NO PRIVILEGES FOR MESSAGES --- we don't individually permission messages - --- --- The Data Model --- - +drop view forums_messages_pending; +drop view forums_messages_approved; drop table forums_messages; --- --- Object Type --- - +create function inline_0 () +returns integer as ' begin - select acs_object_type__drop_type ( - 'forums_message', 'f' - ); -end; + perform acs_object_type__drop_type ( + ''forums_message'', ''f'' + ); + + return null; +end;' language 'plpgsql'; + +select inline_0(); +drop function inline_0 (); Index: openacs-4/packages/forums/sql/postgresql/forums-messages-package-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-messages-package-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-messages-package-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-messages-package-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -4,187 +4,327 @@ -- -- @author gwong@orchardlabs.com,ben@openforce.biz -- @creation-date 2002-05-16 +-- @cvs-id $Id$ -- -- The Package for Messages -- -- This code is newly concocted by Ben, but with heavy concepts and heavy code -- chunks lifted from Gilbert. Thanks Orchard Labs! -- -select define_function_args ('forums_message_new', 'message_id,object_type;forums_message,forum_id,subject,content,html_p,user_id,posting_date,state,parent_id,creation_date,creation_user,creation_ip,context_id'); +select define_function_args ('forums_message__new', 'message_id,object_type;forums_message,forum_id,subject,content,format,user_id,state,parent_id,creation_date,creation_user,creation_ip,context_id'); -select define_function_args ('forums_message__root_message_id', 'message_id'); +-- Get rid of the old version so we'll throw an error if the admin forgets to reboot +-- OpenACS after the upgrade (package_instantiate_object caches param lists) +create or replace function forums_message__new (integer,varchar,integer,varchar,text,char,integer,varchar,integer,timestamptz,integer,varchar,integer) +returns integer as ' +declare + p_message_id alias for $1; + p_object_type alias for $2; + p_forum_id alias for $3; + p_subject alias for $4; + p_content alias for $5; + p_format alias for $6; + p_user_id alias for $7; + p_state alias for $8; + p_parent_id alias for $9; + p_creation_date alias for $10; + p_creation_user alias for $11; + p_creation_ip alias for $12; + p_context_id alias for $13; + v_message_id integer; + v_forum_policy forums_forums.posting_policy%TYPE; + v_state forums_messages.state%TYPE; + v_posting_date forums_messages.posting_date%TYPE; + v_package_id acs_objects.package_id%TYPE; +begin -select define_function_args ('forums_message__thread_open', 'message_id'); + select package_id into v_package_id from forums_forums where forum_id = p_forum_id; -select define_function_args ('forums_message__thread_close', 'message_id'); + if v_package_id is null then + raise exception ''forums_message__new: forum_id % not found'', p_forum_id; + end if; -select define_function_args ('forums_message__delete', 'message_id'); + v_message_id := acs_object__new( + p_message_id, + p_object_type, + p_creation_date, + p_creation_user, + p_creation_ip, + coalesce(p_context_id, p_forum_id), + ''t'', + p_subject, + v_package_id + ); -select define_function_args ('forums_message__delete_thread', 'message_id'); + if p_state is null then + select posting_policy + into v_forum_policy + from forums_forums + where forum_id = p_forum_id; --- implementation + if v_forum_policy = ''moderated'' + then v_state := ''pending''; + else v_state := ''approved''; + end if; + else + v_state := p_state; + end if; -create function forums_message__new (integer,varchar,integer,varchar,text,char,integer,timestamp,varchar,integer,timestamp,integer,varchar,integer) -returns integer as ' -DECLARE - p_message_id alias for $1; - p_object_type alias for $2; - p_forum_id alias for $3; - p_subject alias for $4; - p_content alias for $5; - p_html_p alias for $6; - p_user_id alias for $7; - p_posting_date alias for $8; - p_state alias for $9; - p_parent_id alias for $10; - p_creation_date alias for $11; - p_creation_user alias for $12; - p_creation_ip alias for $13; - p_context_id alias for $14; - v_message_id integer; - v_forum_policy forums_forums.posting_policy%TYPE; - v_state forums_messages.state%TYPE; -BEGIN - v_message_id:= acs_object__new ( - p_message_id, - p_object_type, - p_creation_date, - p_creation_user, - p_creation_ip, - p_context_id); + insert into forums_messages + (message_id, forum_id, subject, content, format, user_id, parent_id, state, last_child_post, last_poster) + values + (v_message_id, p_forum_id, p_subject, p_content, p_format, p_user_id, p_parent_id, + v_state, current_timestamp, p_user_id); - IF p_state is NULL - then - select posting_policy into v_forum_policy from forums_forums - where forum_id= p_forum_id; - - if v_forum_policy = ''moderated'' - then v_state := ''pending''; - else v_state := ''approved''; - end if; - else - v_state := p_state; - end if; + update forums_forums + set last_post = current_timestamp + where forum_id = p_forum_id; - insert into forums_messages - (message_id, forum_id, subject, content, html_p, user_id, posting_date, parent_id, state) - values - (v_message_id, p_forum_id, p_subject, p_content, p_html_p, p_user_id, p_posting_date, p_parent_id, v_state); + if p_parent_id is null then + if v_state = ''approved'' then + update forums_forums + set thread_count = thread_count + 1, + approved_thread_count = approved_thread_count + 1 + where forum_id=p_forum_id; + else + update forums_forums + set thread_count = thread_count + 1 + where forum_id=p_forum_id; + end if; + else + if v_state = ''approved'' then + update forums_messages + set approved_reply_count = approved_reply_count + 1, + reply_count = reply_count + 1, + last_poster = p_user_id, + last_child_post = current_timestamp + where message_id = forums_message__root_message_id(v_message_id); + else + -- dont update last_poster, last_child_post when not approved + update forums_messages + set reply_count = reply_count + 1 + where message_id = forums_message__root_message_id(v_message_id); + end if; + end if; - return v_message_id; -END; -' language 'plpgsql'; + return v_message_id; +end;' language 'plpgsql'; -create function forums_message__root_message_id (integer) +select define_function_args ('forums_message__root_message_id', 'message_id'); + +create or replace function forums_message__root_message_id (integer) returns integer as ' -DECLARE - p_message_id alias for $1; - v_message_id forums_messages.message_id%TYPE; - v_forum_id forums_messages.forum_id%TYPE; - v_sortkey forums_messages.tree_sortkey%TYPE; -BEGIN - select forum_id, tree_sortkey into v_forum_id, v_sortkey - from forums_messages where message_id= p_message_id; +declare + p_message_id alias for $1; + v_message_id forums_messages.message_id%TYPE; + v_forum_id forums_messages.forum_id%TYPE; + v_sortkey forums_messages.tree_sortkey%TYPE; +begin + select forum_id, tree_sortkey + into v_forum_id, v_sortkey + from forums_messages + where message_id = p_message_id; - select message_id into v_message_id from forums_messages where forum_id= v_forum_id - and tree_sortkey= tree__ancestor_key(v_sortkey, 1); + select message_id + into v_message_id + from forums_messages + where forum_id = v_forum_id + and tree_sortkey = tree_ancestor_key(v_sortkey, 1); - return v_message_id; -END; -' language 'plpgsql'; + return v_message_id; +end; +' language 'plpgsql' stable strict; +select define_function_args ('forums_message__thread_open', 'message_id'); -create function forums_message__thread_open (integer) +create or replace function forums_message__thread_open (integer) returns integer as ' -DECLARE - p_message_id alias for $1; - v_forum_id forums_messages.forum_id%TYPE; - v_sortkey forums_messages.tree_sortkey%TYPE; -BEGIN - select forum_id, tree_sortkey into v_forum_id, v_sortkey - from forums_messages where message_id= p_message_id; +declare + p_message_id alias for $1; + v_forum_id forums_messages.forum_id%TYPE; + v_sortkey forums_messages.tree_sortkey%TYPE; +begin + select forum_id, tree_sortkey + into v_forum_id, v_sortkey + from forums_messages + where message_id = p_message_id; - update forums_messages set open_p=''t'' - where tree_sortkey between tree__left(v_sortkey) and tree__right(v_sortkey) - and forum_id = v_forum_id; + update forums_messages + set open_p = ''t'' + where tree_sortkey between tree_left(v_sortkey) and tree_right(v_sortkey) + and forum_id = v_forum_id; - update forums_messages set open_p=''t'' - where message_id= p_message_id; + update forums_messages + set open_p = ''t'' + where message_id = p_message_id; - return 0; -END; + return 0; +end; ' language 'plpgsql'; +select define_function_args ('forums_message__thread_close', 'message_id'); -create function forums_message__thread_close (integer) +create or replace function forums_message__thread_close (integer) returns integer as ' -DECLARE - p_message_id alias for $1; - v_forum_id forums_messages.forum_id%TYPE; - v_sortkey forums_messages.tree_sortkey%TYPE; -BEGIN - select forum_id, tree_sortkey into v_forum_id, v_sortkey - from forums_messages where message_id= p_message_id; +declare + p_message_id alias for $1; + v_forum_id forums_messages.forum_id%TYPE; + v_sortkey forums_messages.tree_sortkey%TYPE; +begin + select forum_id, tree_sortkey + into v_forum_id, v_sortkey + from forums_messages + where message_id = p_message_id; - update forums_messages set open_p=''f'' - where tree_sortkey between tree__left(v_sortkey) and tree__right(v_sortkey) - and forum_id = v_forum_id; + update forums_messages + set open_p = ''f'' + where tree_sortkey between tree_left(v_sortkey) and tree_right(v_sortkey) + and forum_id = v_forum_id; - update forums_messages set open_p=''f'' - where message_id= p_message_id; + update forums_messages + set open_p = ''f'' + where message_id = p_message_id; - return 0; -END; + return 0; +end; ' language 'plpgsql'; +select define_function_args ('forums_message__set_state', 'message_id,state'); -create function forums_message__delete (integer) +create or replace function forums_message__set_state(integer,varchar) returns integer as ' +declare + p_message_id alias for $1; + p_state alias for $2; + v_cur record; +begin + + select into v_cur * + from forums_messages + where message_id = p_message_id; + + if v_cur.parent_id is null then + if p_state = ''approved'' and v_cur.state <> ''approved'' then + update forums_forums + set approved_thread_count = approved_thread_count + 1 + where forum_id=v_cur.forum_id; + elsif p_state <> ''approved'' and v_cur.state = ''approved'' then + update forums_forums + set approved_thread_count = approved_thread_count - 1 + where forum_id=v_cur.forum_id; + end if; + else + if p_state = ''approved'' and v_cur.state <> ''approved'' then + update forums_messages + set approved_reply_count = approved_reply_count + 1, + last_poster = (case when v_cur.posting_date > last_child_post then v_cur.user_id else last_poster end), + last_child_post = (case when v_cur.posting_date > last_child_post then v_cur.posting_date else last_child_post end) + where message_id = forums_message__root_message_id(v_cur.message_id); + elsif p_state <> ''approved'' and v_cur.state = ''approved'' then + update forums_messages + set approved_reply_count = approved_reply_count - 1 + where message_id = forums_message__root_message_id(v_cur.message_id); + end if; + end if; + + update forums_messages + set state = p_state + where message_id = p_message_id; + + return 0; + +end;' language 'plpgsql'; + +select define_function_args ('forums_message__delete', 'message_id'); + +create or replace function forums_message__delete (integer) returns integer as ' -DECLARE - p_message_id alias for $1; -BEGIN - perform acs_object__delete(p_message_id); - return 0; -END; -' language 'plpgsql'; +declare + p_message_id alias for $1; + v_cur record; +begin + -- Maintain the forum thread counts -create function forums_message__delete_thread (integer) + select into v_cur * + from forums_messages + where message_id = p_message_id; + + if v_cur.parent_id is null then + if v_cur.state = ''approved'' then + update forums_forums + set thread_count = thread_count - 1, + approved_thread_count = approved_thread_count - 1 + where forum_id=v_cur.forum_id; + else + update forums_forums + set thread_count = thread_count - 1 + where forum_id=v_cur.forum_id; + end if; + elsif v_cur.state = ''approved'' then + update forums_messages + set approved_reply_count = approved_reply_count - 1, + reply_count = reply_count - 1 + where message_id = forums_message__root_message_id(v_cur.message_id); + else + update forums_messages + set reply_count = reply_count - 1 + where message_id = forums_message__root_message_id(v_cur.message_id); + end if; + + perform acs_object__delete(p_message_id); + return 0; +end;' language 'plpgsql'; + +select define_function_args ('forums_message__delete_thread', 'message_id'); + +create or replace function forums_message__delete_thread (integer) returns integer as ' -DECLARE - p_message_id alias for $1; - v_forum_id forums_messages.forum_id%TYPE; - v_sortkey forums_messages.tree_sortkey%TYPE; - v_message RECORD; -BEGIN - select forum_id, tree_sortkey into v_forum_id, v_sortkey - from forums_messages where message_id= p_message_id; - - -- if it is already deleted - if NOTFOUND - then return 0; - end if; +declare + p_message_id alias for $1; + v_forum_id forums_messages.forum_id%TYPE; + v_sortkey forums_messages.tree_sortkey%TYPE; + v_message RECORD; +begin + select forum_id, tree_sortkey + into v_forum_id, v_sortkey + from forums_messages + where message_id = p_message_id; - -- delete all children - -- order by tree_sortkey desc to guarantee - -- that we never delete a parent before its child - -- sortkeys are beautiful - FOR v_message in - (select * from forums_messages - where forum_id = v_forum_id and - tree_sortkey between tree__left(v_sortkey) - and tree__right(v_sortkey) order by tree_sortkey desc) - LOOP - perform forums_message__delete(v_message.message_id); - END LOOP; + -- if it is already deleted + if v_forum_id is null + then return 0; + end if; - -- delete the message itself - perform forums_message.delete(p_message_id); + -- delete all children + -- order by tree_sortkey desc to guarantee + -- that we never delete a parent before its child + -- sortkeys are beautiful + for v_message in select * + from forums_messages + where forum_id = v_forum_id + and tree_sortkey between tree_left(v_sortkey) and tree_right(v_sortkey) + order by tree_sortkey desc + loop + -- Avoid the count bookkeeping down in forums_message__delete + perform forums_message__delete(v_message.message_id); + end loop; - return 0; -END; -' language 'plpgsql'; + -- delete the message itself + perform forums_message__delete(p_message_id); + return 0; +end;' language 'plpgsql'; + +select define_function_args('forums_message__name','message_id'); + +create or replace function forums_message__name (integer) +returns varchar as ' +declare + p_message_id alias for $1; +begin + return subject from forums_messages where message_id = p_message_id; +end; +' language 'plpgsql'; Index: openacs-4/packages/forums/sql/postgresql/forums-messages-package-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-messages-package-drop.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-messages-package-drop.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-messages-package-drop.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -11,7 +11,7 @@ -- chunks lifted from Gilbert. Thanks Orchard Labs! -- -drop function forums_message__new (integer,varchar,integer,varchar,text,char,integer,timestamp,varchar,integer,timestamp,integer,varchar,integer); +drop function forums_message__new (integer,varchar,integer,varchar,text,char,integer,timestamptz,varchar,integer,timestamptz,integer,varchar,integer); drop function forums_message__root_message_id (integer); @@ -23,4 +23,4 @@ drop function forums_message__delete_thread (integer); - +drop function forums_message__name (integer); Index: openacs-4/packages/forums/sql/postgresql/forums-notifications-init.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/Attic/forums-notifications-init.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-notifications-init.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-notifications-init.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -10,47 +10,117 @@ -- -- the integration with Notifications + +create function inline_0() returns integer as ' declare + impl_id integer; v_foo integer; begin - v_foo:= notification_type.new ( - short_name => 'forums_forum_notif', - pretty_name => 'Forum Notification', - description => 'Notifications for Entire Forums', - creation_user => NULL, - creation_ip => NULL - ); + -- the notification type impl + impl_id := acs_sc_impl__new ( + ''NotificationType'', + ''forums_forum_notif_type'', + ''forums'' + ); + v_foo := acs_sc_impl_alias__new ( + ''NotificationType'', + ''forums_forum_notif_type'', + ''GetURL'', + ''forum::notification::get_url'', + ''TCL'' + ); + + v_foo := acs_sc_impl_alias__new ( + ''NotificationType'', + ''forums_forum_notif_type'', + ''ProcessReply'', + ''forum::notification::process_reply'', + ''TCL'' + ); + + PERFORM acs_sc_binding__new ( + ''NotificationType'', + ''forums_forum_notif_type'' + ); + + v_foo:= notification_type__new ( + NULL, + impl_id, + ''forums_forum_notif'', + ''Forum Notification'', + ''Notifications for Entire Forums'', + now(), + NULL, + NULL, + NULL + ); + -- enable the various intervals and delivery methods insert into notification_types_intervals (type_id, interval_id) select v_foo, interval_id - from notification_intervals where name in ('instant','hourly','daily'); + from notification_intervals where name in (''instant'',''hourly'',''daily''); insert into notification_types_del_methods (type_id, delivery_method_id) select v_foo, delivery_method_id - from notification_delivery_methods where short_name in ('email'); + from notification_delivery_methods where short_name in (''email''); - v_foo:= notification_type.new ( - short_name => 'forums_message_notif', - pretty_name => 'Message Notification', - description => 'Notifications for Message Thread', - creation_user => NULL, - creation_ip => NULL - ); + -- the notification type impl + impl_id := acs_sc_impl__new ( + ''NotificationType'', + ''forums_message_notif_type'', + ''forums'' + ); + v_foo := acs_sc_impl_alias__new ( + ''NotificationType'', + ''forums_message_notif_type'', + ''GetURL'', + ''forum::notification::get_url'', + ''TCL'' + ); + + v_foo := acs_sc_impl_alias__new ( + ''NotificationType'', + ''forums_message_notif_type'', + ''ProcessReply'', + ''forum::notification::process_reply'', + ''TCL'' + ); + + PERFORM acs_sc_binding__new ( + ''NotificationType'', + ''forums_message_notif_type'' + ); + + v_foo:= notification_type__new ( + NULL, + impl_id, + ''forums_message_notif'', + ''Message Notification'', + ''Notifications for Message Thread'', + now(), + NULL, + NULL, + NULL + ); + -- enable the various intervals and delivery methods insert into notification_types_intervals (type_id, interval_id) select v_foo, interval_id - from notification_intervals where name in ('instant','hourly','daily'); + from notification_intervals where name in (''instant'',''hourly'',''daily''); insert into notification_types_del_methods (type_id, delivery_method_id) select v_foo, delivery_method_id - from notification_delivery_methods where short_name in ('email'); + from notification_delivery_methods where short_name in (''email''); + return (0); end; -/ -show errors +' language 'plpgsql'; + +select inline_0(); +drop function inline_0(); \ No newline at end of file Index: openacs-4/packages/forums/sql/postgresql/forums-notifications-sanitize.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/Attic/forums-notifications-sanitize.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-notifications-sanitize.sql 12 Jun 2002 15:24:02 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-notifications-sanitize.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -25,3 +25,112 @@ select inline_0(); drop function inline_0 (); + +-- +-- Service contract drop stuff was missing - Roberto Mello +-- + +create function inline_0() returns integer as ' +declare + impl_id integer; + v_foo integer; +begin + + -- the notification type impl + impl_id := acs_sc_impl__get_id ( + ''NotificationType'', -- impl_contract_name + ''forums_forum_notif_type'' -- impl_name + ); + + PERFORM acs_sc_binding__delete ( + ''NotificationType'', + ''forums_forum_notif_type'' + ); + + v_foo := acs_sc_impl_alias__delete ( + ''NotificationType'', -- impl_contract_name + ''forums_forum_notif_type'', -- impl_name + ''GetURL'' -- impl_operation_name + ); + + v_foo := acs_sc_impl_alias__delete ( + ''NotificationType'', -- impl_contract_name + ''forums_forum_notif_type'', -- impl_name + ''ProcessReply'' -- impl_operation_name + ); + + select into v_foo type_id + from notification_types + where sc_impl_id = impl_id + and short_name = ''forums_forum_notif''; + + perform notification_type__delete (v_foo); + + delete from notification_types_intervals + where type_id = v_foo + and interval_id in ( + select interval_id + from notification_intervals + where name in (''instant'',''hourly'',''daily'') + ); + + delete from notification_types_del_methods + where type_id = v_foo + and delivery_method_id in ( + select delivery_method_id + from notification_delivery_methods + where short_name in (''email'') + ); + + -- the notification type impl + impl_id := acs_sc_impl__get_id ( + ''NotificationType'', + ''forums_message_notif_type'' + ); + + PERFORM acs_sc_binding__delete ( + ''NotificationType'', + ''forums_message_notif_type'' + ); + + v_foo := acs_sc_impl_alias__delete ( + ''NotificationType'', + ''forums_message_notif_type'', + ''GetURL'' + ); + + v_foo := acs_sc_impl_alias__delete ( + ''NotificationType'', + ''forums_message_notif_type'', + ''ProcessReply'' + ); + + select into v_foo type_id + from notification_types + where sc_impl_id = impl_id + and short_name = ''forums_message_notif''; + + perform notification_type__delete (v_foo); + + delete from notification_types_intervals + where type_id = v_foo + and interval_id in ( + select interval_id + from notification_intervals + where name in (''instant'',''hourly'',''daily'') + ); + + delete from notification_types_del_methods + where type_id = v_foo + and delivery_method_id in ( + select delivery_method_id + from notification_delivery_methods + where short_name in (''email'') + ); + + return (0); +end; +' language 'plpgsql'; + +select inline_0(); +drop function inline_0(); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/forums-sc-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/forums-sc-drop.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/sql/postgresql/forums-tree-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/forums-tree-create.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/forums-tree-create.sql 1 Jun 2002 19:02:29 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/forums-tree-create.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -13,48 +13,50 @@ -- This is the sortkey code -- - -create or replace trigger forums_mess_insert_tr -before insert on forums_messages -for each row +create function forums_mess_insert_tr () +returns opaque as ' declare - v_max_child_sortkey forums_messages.max_child_sortkey%TYPE; - v_parent_sortkey forums_messages.tree_sortkey%TYPE; + v_max_child_sortkey forums_forums.max_child_sortkey%TYPE; + v_parent_sortkey forums_messages.tree_sortkey%TYPE; begin - if :new.parent_id is NULL - then - -- get the max from the forum - select max_child_sortkey into v_max_child_sortkey - from forums_forums where forum_id= :new.forum_id - for update of max_child_sortkey; - v_parent_sortkey:= NULL; - else - -- get the max child sortkey from parent - -- grab the lock - select tree_sortkey, max_child_sortkey + if new.parent_id is null + then + + select '''', max_child_sortkey into v_parent_sortkey, v_max_child_sortkey + from forums_forums + where forum_id = new.forum_id + for update; + + v_max_child_sortkey := tree_increment_key(v_max_child_sortkey); + + update forums_forums + set max_child_sortkey = v_max_child_sortkey + where forum_id = new.forum_id; + + else + + select coalesce(tree_sortkey, ''''), max_child_sortkey + into v_parent_sortkey, v_max_child_sortkey from forums_messages - where message_id= :new.parent_id - for update of max_child_sortkey; - end if; + where message_id = new.parent_id + for update; - -- increment the sortkey - v_max_child_sortkey:= lpad(tree.increment_key(v_max_child_sortkey),6,'0'); + v_max_child_sortkey := tree_increment_key(v_max_child_sortkey); - if :new.parent_id is null - then - update forums_forums set max_child_sortkey= v_max_child_sortkey - where forum_id= :new.forum_id; - else - -- update the parent - update forums_messages set max_child_sortkey= v_max_child_sortkey - where message_id= :new.parent_id; - end if; + update forums_messages + set max_child_sortkey = v_max_child_sortkey + where message_id = new.parent_id; - -- generate the current sortkey - :new.tree_sortkey:= v_parent_sortkey || v_max_child_sortkey; - -end forums_mess_insert_tr; -/ -show errors + end if; + + new.tree_sortkey := v_parent_sortkey || v_max_child_sortkey; + + return new; +end;' language 'plpgsql'; + +create trigger forums_mess_insert_tr +before insert on forums_messages +for each row +execute procedure forums_mess_insert_tr(); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.0.6-1.0.7d.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.0d4-1.0.1d2.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1.1-1.1.2d1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1.2d4-1.1.2d5.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1d1-1.1d2.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1d1-1.1d2.sql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1d1-1.1d2.sql 25 Mar 2004 15:59:30 -0000 1.1 +++ openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1d1-1.1d2.sql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -1,73 +1,119 @@ --- propigate title and package_id to acs_objects. -create or replace function bookshelf_book__new ( - integer, -- book_id - varchar, -- object_type - integer, -- package_id - varchar, -- isbn - text, -- book_author - text, -- book_title - text, -- main_entry - text, -- additional_entry - text, -- excerpt - varchar, -- publish_status - varchar, -- read_status - date, -- creation_date - integer, -- creation_user - varchar, -- creation_ip - integer -- context_id -) +-- replace new functions with ones that set acs_object.title, package_id + +create or replace function forums_forum__new (integer,varchar,varchar,varchar,varchar,varchar,integer,timestamptz,integer,varchar,integer) returns integer as ' declare - p_book_id alias for $1; + p_forum_id alias for $1; p_object_type alias for $2; - p_package_id alias for $3; - p_isbn alias for $4; - p_book_author alias for $5; - p_book_title alias for $6; - p_main_entry alias for $7; - p_additional_entry alias for $8; - p_excerpt alias for $9; - p_publish_status alias for $10; - p_read_status alias for $11; - p_creation_date alias for $12; - p_creation_user alias for $13; - p_creation_ip alias for $14; - p_context_id alias for $15; - v_book_id integer; - v_book_no integer; - v_creation_date date; + p_name alias for $3; + p_charter alias for $4; + p_presentation_type alias for $5; + p_posting_policy alias for $6; + p_package_id alias for $7; + p_creation_date alias for $8; + p_creation_user alias for $9; + p_creation_ip alias for $10; + p_context_id alias for $11; + v_forum_id integer; begin - if p_creation_date is null then - v_creation_date := now(); - else - v_creation_date := p_creation_date; - end if; - - v_book_id := acs_object__new( - p_book_id, + v_forum_id:= acs_object__new( + p_forum_id, p_object_type, - v_creation_date, + p_creation_date, p_creation_user, p_creation_ip, coalesce(p_context_id, p_package_id), ''t'', - p_book_title, + p_name, p_package_id ); - select coalesce(max(book_no),0) + 1 - into v_book_no - from bookshelf_books - where package_id = p_package_id; - - insert into bookshelf_books - (book_id, book_no, isbn, book_author, book_title, main_entry, additional_entry, excerpt, - publish_status, read_status, package_id) + insert into forums_forums + (forum_id, name, charter, presentation_type, posting_policy, package_id) values - (v_book_id, v_book_no, p_isbn, p_book_author, p_book_title, p_main_entry, p_additional_entry, p_excerpt, - p_publish_status, p_read_status, p_package_id); + (v_forum_id, p_name, p_charter, p_presentation_type, p_posting_policy, p_package_id); - return v_book_id; + return v_forum_id; end; ' language 'plpgsql'; + +create or replace function forums_message__new (integer,varchar,integer,varchar,text,char,integer,timestamptz,varchar,integer,timestamptz,integer,varchar,integer) +returns integer as ' +declare + p_message_id alias for $1; + p_object_type alias for $2; + p_forum_id alias for $3; + p_subject alias for $4; + p_content alias for $5; + p_html_p alias for $6; + p_user_id alias for $7; + p_posting_date alias for $8; + p_state alias for $9; + p_parent_id alias for $10; + p_creation_date alias for $11; + p_creation_user alias for $12; + p_creation_ip alias for $13; + p_context_id alias for $14; + v_message_id integer; + v_forum_policy forums_forums.posting_policy%TYPE; + v_state forums_messages.state%TYPE; + v_posting_date forums_messages.posting_date%TYPE; + v_package_id acs_objects.package_id%TYPE; +begin + + select package_id into v_package_id from forums_forums where forum_id = p_forum_id; + + if v_package_id is null then + raise exception ''forums_message__new: forum_id % not found'', p_forum_id; + end if; + + v_message_id := acs_object__new( + p_message_id, + p_object_type, + p_creation_date, + p_creation_user, + p_creation_ip, + coalesce(p_context_id, p_forum_id), + ''t'', + p_subject, + v_package_id + ); + + if p_state is null then + select posting_policy + into v_forum_policy + from forums_forums + where forum_id = p_forum_id; + + if v_forum_policy = ''moderated'' + then v_state := ''pending''; + else v_state := ''approved''; + end if; + else + v_state := p_state; + end if; + + if p_posting_date is null then + v_posting_date = now(); + else + v_posting_date = p_posting_date; + end if; + + insert into forums_messages + (message_id, forum_id, subject, content, html_p, user_id, posting_date, parent_id, state) + values + (v_message_id, p_forum_id, p_subject, p_content, p_html_p, p_user_id, v_posting_date, p_parent_id, v_state); + + update forums_forums + set last_post = v_posting_date + where forum_id = p_forum_id; + + update forums_messages + set last_child_post = v_posting_date + where message_id = forums_message__root_message_id(v_message_id); + + return v_message_id; + +end; +' language 'plpgsql'; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.2d2-1.2d3.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/tcl/form-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/form-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/form-procs.tcl 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/tcl/form-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -6,10 +6,10 @@ @creation-date 2003-11-12 } -namespace eval forums { -namespace eval form { +namespace eval forums {} +namespace eval forums::form {} -ad_proc -public message { +ad_proc -public forums::form::message { {-optional:boolean} {-prefix {}} form_name @@ -21,61 +21,30 @@ ############################## # Form definition # + + if { $optional_p } { + set optional_switch "-optional" + } else { + set optional_switch "" + } + template::element create $form_name ${prefix}subject \ -label [_ forums.Subject] \ -datatype text \ -widget text \ - -html {size 60} + -html {size 60} \ + $optional_switch - template::element create $form_name ${prefix}content \ + template::element create $form_name ${prefix}message_body \ -label [_ forums.Body] \ - -datatype text \ - -widget textarea \ + -datatype richtext \ + -widget richtext \ -html {rows 20 cols 60 wrap soft} \ + $optional_switch - template::element create $form_name ${prefix}html_p \ - -label [_ forums.Format] \ - -datatype text \ - -widget radio \ - -options [list [list [_ forums.text] f] [list [_ forums.html] t]] \ - -value f - - - ############################## - # Form validation - # - set subject_val [list] - set content_val [list html \ - {expr {[string match $html_p "f"] || \ - ([string match $html_p "t"] && \ - [empty_string_p \ - [set v_message \ - [ad_quotehtml \ - [ad_html_security_check $value]]]])}} \ - {}] - - if {$optional_p} { - template::element set_properties $form_name ${prefix}subject -optional - template::element set_properties $form_name ${prefix}content -optional - template::element set_properties $form_name ${prefix}html_p -optional - } else { - lappend subject_val \ - {expr ![empty_string_p [string trim $value]]} \ - "[_ forums.lt_Please_enter_a_subjec]" - - lappend content_val empty \ - {expr ![empty_string_p [string trim $value]]} \ - "[_ forums.lt_Please_enter_a_messag]" - } - - template::element set_properties $form_name ${prefix}subject \ - -validate $subject_val - - template::element set_properties $form_name ${prefix}content \ - -validate $content_val } -ad_proc -public post_message { +ad_proc -public forums::form::post_message { {-optional:boolean} {-show_anonymous_p 1} {-show_attachments_p 1} @@ -124,7 +93,7 @@ } } -ad_proc -public forward_message { +ad_proc -public forums::form::forward_message { {-prefix {}} form_name } { @@ -150,7 +119,7 @@ -html {cols 80 rows 10 wrap hard} } -ad_proc -public search { +ad_proc -public forums::form::search { {-prefix {}} form_name } { @@ -169,7 +138,7 @@ -optional } -ad_proc -public forum { +ad_proc -public forums::form::forum { {-prefix {}} form_name } { @@ -185,28 +154,28 @@ template::element create $form_name ${prefix}charter \ -label [_ forums.Charter] \ -datatype text \ - -widget textarea \ + -widget richtext \ -html {cols 60 rows 10 wrap soft} \ -optional template::element create $form_name ${prefix}presentation_type \ -label [_ forums.Presentation] \ -datatype text \ -widget select \ + -help_text [_ forums.help_presentation] \ -options [list [list [_ forums.Flat] flat] [list [_ forums.Threaded] threaded]] template::element create $form_name ${prefix}posting_policy \ -label [_ forums.Posting_Policy] \ -datatype text \ -widget select \ + -help_text [_ forums.help_posting_policy] \ -options [list [list [_ forums.open] open] [list [_ forums.moderated] moderated] [list [_ forums.closed] closed] ] template::element create $form_name ${prefix}new_threads_p \ -label [_ forums.lt_Users_Can_Create_New_] \ -datatype integer \ -widget radio \ + -help_text [_ forums.help_new_threads] \ -options [list [list [_ forums.Yes] 1] [list [_ forums.No] 0] ] } - -} -} Index: openacs-4/packages/forums/tcl/forum-message-reply-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forum-message-reply-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forum-message-reply-procs.tcl 29 Jun 2002 00:21:46 -0000 1.1 +++ openacs-4/packages/forums/tcl/forum-message-reply-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -24,3 +24,6 @@ } + + + Index: openacs-4/packages/forums/tcl/forum-reply-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forum-reply-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forum-reply-procs.tcl 29 Jun 2002 00:21:46 -0000 1.1 +++ openacs-4/packages/forums/tcl/forum-reply-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -13,13 +13,35 @@ ad_proc -public get_url { object_id } { + returns a full url to the object_id. + handles messages and forums. + } { + set object_type [db_string select_object_type {}] + + if {[string compare $object_type "forums_message"] == 0} { + + # object is a message + set message_id $object_id + forum::message::get -message_id $message_id -array message + set forum_id $message(forum_id) + set forum_url "[ad_url][db_string select_forums_package_url {}]" + return ${forum_url}message-view?message_id=$message(root_message_id) + + } else { + + # object_type is a forum + set forum_id $object_id + set forum_url "[ad_url][db_string select_forums_package_url {}]" + return ${forum_url}forum-view?forum_id=$forum_id + + } } ad_proc -public process_reply { reply_id } { - ns_log Notice "FORUM-NOTIF: processing reply $reply_id" + ns_log debug "forum::notification::process_reply: processing reply $reply_id" # Get the data notification::reply::get -reply_id $reply_id -array reply @@ -37,3 +59,6 @@ } + + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/tcl/forums-callback-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/tcl/forums-email-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-email-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forums-email-procs.tcl 17 Dec 2003 15:45:30 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-email-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -20,14 +20,18 @@ upvar $message_passed message # Variables for I18N message lookup: - set posting_date $message(posting_date) + set posting_date $message(posting_date_ansi) set user_name $message(user_name) # Set up the message body set new_body "[ad_html_to_text -- $pre_body]" append new_body "\n\n===================================\n\n" - append new_body "[_ forums.email_alert_body_header]\n\n" - append new_body "[ad_html_to_text -- $message(content)]\n" + append new_body "[_ forums.email_alert_body_header] +[_ forums.Forum_1] $message(forum_name) +Thread: $message(root_subject)\n\n" + append new_body [ad_html_text_convert -from $message(format) -to text/plain -- $message(content)] + append new_body "\n\n-- \n[ad_url][ad_conn package_url]message-view?[export_vars -anchor $message(message_id) [list [list message_id $message(root_message_id)]]]\n" + return $new_body } Index: openacs-4/packages/forums/tcl/forums-install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-install-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forums-install-procs.tcl 1 Apr 2004 20:03:53 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-install-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -20,7 +20,7 @@ forum::sc::unregister_implementations } -ad_proc -private forum::install::package_upgrade {} { +ad_proc -private forum::install::package_upgrade { {-from_version_name:required} {-to_version_name:required} } { @@ -36,3 +36,85 @@ } } } + +ad_proc -private ::install::xml::action::forum-create { node } { + Create a forum instance from an install.xml file +} { + set url [apm_required_attribute_value $node url] + set name [apm_required_attribute_value $node name] + set presentation [apm_attribute_value -default "flat" $node presentation] + set id [apm_attribute_value -default "" $node id] + set posting_policy [apm_attribute_value -default "open" $node posting-policy] + + + set charter_node [lindex [xml_node_get_children_by_name [lindex $node 0] charter] 0] + set charter [xml_node_get_content $charter_node] + + set package_id [site_node::get_element -url $url -element package_id] + + set forum_id [forum::new \ + -name $name \ + -charter $charter \ + -presentation_type $presentation \ + -posting_policy $posting_policy \ + -package_id $package_id] + + if {![string equal $id ""]} { + set ::install::xml::ids($id) $forum_id + } +} + +ad_proc -public -callback forum::forum_new { + {-package_id:required} + {-forum_id:required} +} { +} + +ad_proc -public -callback forum::forum_edit { + {-package_id:required} + {-forum_id:required} +} { +} + +ad_proc -public -callback forum::forum_delete { + {-package_id:required} + {-forum_id:required} +} { +} + +ad_proc -public -callback forum::message_new { + {-package_id:required} + {-message_id:required} +} { +} + +ad_proc -public -callback forum::message_edit { + {-package_id:required} + {-message_id:required} +} { +} + +ad_proc -public -callback forum::message_delete { + {-package_id:required} + {-message_id:required} +} { +} + +ad_proc -public -callback pm::project_new -impl forums { + {-package_id:required} + {-project_id:required} + {-data:required} +} { + create a new forum for each new project +} { + set pm_name [pm::project::name -project_item_id $project_id] + + foreach forum_package_id [application_link::get_linked -from_package_id $package_id -to_package_key "forums"] { + set forum_id [forum::new \ + -name $pm_name \ + -package_id $forum_package_id \ + -no_callback] + + application_data_link::new -this_object_id $project_id -target_object_id $forum_id + } +} Index: openacs-4/packages/forums/tcl/forums-sc-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-sc-procs-postgresql.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forums-sc-procs-postgresql.xql 1 Sep 2003 22:22:14 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-sc-procs-postgresql.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -15,17 +15,27 @@ - select site_node__url(node_id) + select site_node__url(min(node_id)) from site_nodes where object_id = (select package_id from forums_forums where forums_forums.forum_id = :forum_id) + + + select site_node__url(min(node_id)) + from site_nodes + where object_id = (select package_id + from forums_forums + where forums_forums.forum_id = :forum_id) + + + - select subject, content, html_p + select subject, content, format from forums_messages where message_id=:message_id or (tree_sortkey between tree_left(:tree_sortkey) and tree_right(:tree_sortkey)) and forum_id=:forum_id Index: openacs-4/packages/forums/tcl/forums-sc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-sc-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/forums-sc-procs.tcl 1 Sep 2003 22:22:14 -0000 1.1 +++ openacs-4/packages/forums/tcl/forums-sc-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -4,13 +4,12 @@ @creation-date 2002-08-07 @author Dave Bauer - @cvs-id $Id: - + @cvs-id $Id$ } -namespace eval forum::message { +namespace eval forum::message {} -ad_proc datasource { message_id } { +ad_proc -private forum::message::datasource { message_id } { @param message_id @author dave@thedesignexperience.org @creation_date 2002-08-07 @@ -35,14 +34,8 @@ forum::message::get -message_id $message_id -array message if { ![empty_string_p $message(parent_id)] } { - ns_log notice "forum::message::datasource was called with a message_id that has a parent - skipping: $message_id" - set empty(object_id) $message_id - set empty(title) "" - set empty(content) "" - set empty(keywords) "" - set empty(storage_type) "" - set empty(mime) "" - return [array get empty] + ns_log Notice "forum::message::datasource was called with a message_id that has a parent - skipping: $message_id" + return {object_id {} name {} charter {} mime {} storage_type {}} } set tree_sortkey $message(tree_sortkey) @@ -61,27 +54,22 @@ # different subject append combined_content "$subject\n\n" } - - if { $html_p } { - append combined_content [ad_html_to_text -showtags $content] - } else { - append combined_content $content - } + append combined_content [ad_html_text_convert -from $format -to text/plain -- $content] + # In case this text is not only used for indexing but also for display, beautify it append combined_content "\n\n" } - set datasource(object_id) $message(message_id) - set datasource(title) $message(subject) - set datasource(content) $combined_content - set datasource(keywords) "" - set datasource(storage_type) text - set datasource(mime) "text/plain" - return [array get datasource] + return [list object_id $message(message_id) \ + title $message(subject) \ + content $combined_content \ + keywords {} \ + storage_type text \ + mime text/plain ] } -ad_proc url { message_id } { +ad_proc -private forum::message::url { message_id } { @param message_id @author dave@thedesignexperience.org @creation_date 2002-08-07 @@ -95,4 +83,95 @@ return "[ad_url][db_string select_forums_package_url {}]message-view?message_id=$message_id" } + + +namespace eval forum::forum {} + +ad_proc -private forum::forum::datasource { + forum_id +} { + Datasource for the FtsContentProvider contract. + + @param forum_id + + @author Jeff Davis davis@xarg.net + @creation_date 2004-04-01 +} { + if {![db_0or1row datasource { + select + forum_id as object_id, + name as title, + charter as content, + 'text/plain' as mime, + 'text' as storage_type, + '' as keywords + from forums_forums + where forum_id = :forum_id + } -column_array datasource]} { + return {object_id {} name {} charter {} mime {} storage_type {}} + } + + return [array get datasource] } + +ad_proc -private forum::forum::url { + forum_id +} { + url method for the FtsContentProvider contract + + @param forum_id + + @author Jeff Davis davis@xarg.net + @creation_date 2004-04-01 +} { + return "[ad_url][db_string select_forums_package_url {}]forum-view?forum_id=$forum_id" +} + + +namespace eval forum::sc {} + +ad_proc -private forum::sc::register_implementations {} { + Register the forum_forum and forum_message content type fts contract +} { + db_transaction { + forum::sc::register_forum_fts_impl + forum::sc::register_message_fts_impl + } +} + +ad_proc -private forum::sc::unregister_implementations {} { + db_transaction { + acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forum_message + acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forum_forum + } +} + +ad_proc -private forum::sc::register_forum_fts_impl {} { + set spec { + name "forums_forum" + aliases { + datasource forum::forum::datasource + url forum::forum::url + } + contract_name FtsContentProvider + owner forums + } + + acs_sc::impl::new_from_spec -spec $spec +} + + +ad_proc -private forum::sc::register_message_fts_impl {} { + set spec { + name "forums_message" + aliases { + datasource forum::message::datasource + url forum::message::url + } + contract_name FtsContentProvider + owner forums + } + + acs_sc::impl::new_from_spec -spec $spec +} + Index: openacs-4/packages/forums/tcl/messages-format-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/messages-format-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/messages-format-procs.tcl 7 Jan 2003 18:58:35 -0000 1.1 +++ openacs-4/packages/forums/tcl/messages-format-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -4,6 +4,19 @@ namespace eval forum::format { + ad_proc -public reply_subject { parent_subject } { + + Generates a subject string for a reply to an existing message. + + } { + set subject "[_ forums.Re] $parent_subject" + + # trim multiple leading Re: + regsub "^(\s*Re:\s*)*" $subject {Re: } subject + + return $subject + } + ad_proc emoticons { {-content:required} } { @@ -17,6 +30,9 @@ the img tag that gets constructed here. } { set emoticons_map [list] + + # if you change this list, consider changing + # www/doc/emoticons.adp as well foreach { emoticon image } { ":-)" "smile" ";-)" "wink" @@ -28,8 +44,9 @@ ":-/" "think" } { lappend emoticons_map $emoticon - lappend emoticons_map "\"$emoticon\"" + lappend emoticons_map "\"$emoticon\"" } return [string map $emoticons_map $content] } + } Index: openacs-4/packages/forums/tcl/messages-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/Attic/messages-procs-postgresql.xql,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/messages-procs-postgresql.xql 3 Jun 2002 04:39:05 -0000 1.1 +++ openacs-4/packages/forums/tcl/messages-procs-postgresql.xql 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -5,49 +5,57 @@ - select message_id, - forum_id, - subject, - content, - person__name(user_id) as user_name, - party__email(user_id) as user_email, - user_id, - forums_forum__name(forum_id) as forum_name, + select forums_messages.*, + tree_level(forums_messages.tree_sortkey) as tree_level, + person__name(forums_messages.user_id) as user_name, + party__email(forums_messages.user_id) as user_email, + forums_forum__name(forums_messages.forum_id) as forum_name, forums_message__root_message_id(forums_messages.message_id) as root_message_id, - (select subject + (select fm2.subject from forums_messages fm2 - where message_id = forums_message__root_message_id(forums_messages.message_id)) as root_subject, - to_char(posting_date, 'Mon DD YYYY HH24:MI:SS') as posting_date, - tree_sortkey, - parent_id, - state, - html_p + where fm2.message_id = forums_message__root_message_id(forums_messages.message_id)) as root_subject, + to_char(forums_messages.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi from forums_messages - where message_id= :message_id + where forums_messages.message_id= :message_id - + - declare begin - forums_message__delete_thread(:message_id); - end; + select forums_messages.*, + (select count(*) from attachments where object_id= message_id) as n_attachments, + person__name(forums_messages.user_id) as user_name, + party__email(forums_messages.user_id) as user_email, + forums_forum__name(forums_messages.forum_id) as forum_name, + forums_message__root_message_id(forums_messages.message_id) as root_message_id, + (select fm2.subject + from forums_messages fm2 + where fm2.message_id = forums_message__root_message_id(forums_messages.message_id)) as root_subject, + to_char(forums_messages.posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi + from forums_messages + where forums_messages.message_id= :message_id + + + select site_node__url(node_id) + from site_nodes + where object_id = (select package_id + from forums_forums + where forums_forums.forum_id = :forum_id) + + + - declare begin - forums_message__thread_close(:message_id); - end; + select forums_message__thread_close(:message_id); - declare begin - forums_message__thread_open(:message_id); - end; + select forums_message__thread_open(:message_id); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/tcl/test/forums-callback-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/tcl/test/forums-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/test/forums-procs.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/tcl/test/forums-procs.tcl 15 Nov 2003 15:30:06 -0000 1.1 +++ openacs-4/packages/forums/tcl/test/forums-procs.tcl 28 Jun 2006 20:30:28 -0000 1.1.1.1 @@ -6,7 +6,7 @@ @cvs-id $Id$ } -aa_register_case forum_new { +aa_register_case -cats {api smoke} forum_new { Test the forum::new proc. } { @@ -27,7 +27,7 @@ } } -aa_register_case forum_message_new { +aa_register_case -cats {api smoke} forum_message_new { Test the forum::message::new proc. } { @@ -53,3 +53,94 @@ aa_equals "message was created succesfully" $success_p 1 } } + +aa_register_case -cats {db smoke} forum_count_test { + Test the thread count and reply count tracking code. +} { + + aa_run_with_teardown \ + -rollback \ + -test_code { + + # Create open forum + set forum_id [forum::new \ + -name foo \ + -package_id [ad_conn package_id]] + + forum::get -forum_id $forum_id -array forum + aa_equals "New forum has zero approved threads" $forum(approved_thread_count) 0 + aa_equals "New forum has zero threads" $forum(thread_count) 0 + + # Create message + set message_id [forum::message::new \ + -forum_id $forum_id \ + -subject foo \ + -content foo] + + forum::get -forum_id $forum_id -array forum + aa_equals "After post forum has one approved thread" $forum(approved_thread_count) 1 + aa_equals "After post forum has one threads" $forum(thread_count) 1 + + forum::message::get -message_id $message_id -array message + aa_equals "New post has zero approved replies" $message(approved_reply_count) 0 + aa_equals "New post has zero threads" $message(reply_count) 0 + + set reply_id [forum::message::new \ + -forum_id $forum_id \ + -parent_id $message_id \ + -subject foo \ + -content foo] + + forum::get -forum_id $forum_id -array forum + aa_equals "After reply forum has one approved thread" $forum(approved_thread_count) 1 + aa_equals "After reply forum has one thread" $forum(thread_count) 1 + + forum::message::get -message_id $message_id -array message + aa_equals "After reply post has one approved replies" $message(approved_reply_count) 1 + aa_equals "After reply post has one reply" $message(reply_count) 1 + + # Create moderated forum + set forum_id [forum::new \ + -name bar \ + -posting_policy moderated \ + -package_id [ad_conn package_id]] + + # Create message + set message_id [forum::message::new \ + -forum_id $forum_id \ + -subject "foo" \ + -content "foo"] + + forum::get -forum_id $forum_id -array forum + aa_equals "After post moderated forum has zero approved threads" $forum(approved_thread_count) 0 + aa_equals "After post moderated forum has one thread" $forum(thread_count) 1 + + set reply_id [forum::message::new \ + -forum_id $forum_id \ + -parent_id $message_id \ + -subject "foo" \ + -content "foo"] + + forum::message::get -message_id $message_id -array message + aa_equals "After reply moderated post has zero approved replies" $message(approved_reply_count) 0 + aa_equals "After reply moderated post has one reply" $message(reply_count) 1 + + forum::message::set_state -message_id $message_id -state approved + + forum::get -forum_id $forum_id -array forum + aa_equals "After approval moderated forum has one approved thread" $forum(approved_thread_count) 1 + aa_equals "After approval moderated forum has one thread" $forum(thread_count) 1 + + forum::message::set_state -message_id $reply_id -state approved + + forum::message::get -message_id $message_id -array message + aa_equals "After reply approval post has one approved reply" $message(approved_reply_count) 1 + aa_equals "After reply approval post has one reply" $message(reply_count) 1 + + forum::message::delete -message_id $message_id + + forum::get -forum_id $forum_id -array forum + aa_equals "After deletion moderated forum has zero approved threads" $forum(approved_thread_count) 0 + aa_equals "After deletion moderated forum has zero threads" $forum(thread_count) 0 + } +} Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/tcl/test/tclwebtest-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/www/message-post-confirm.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/message-post-confirm.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/message-post-confirm.adp 30 May 2002 06:25:52 -0000 1.1 +++ openacs-4/packages/forums/www/message-post-confirm.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -1,27 +1,16 @@ - -Confirm Post to Forum: @forum.name@ - + +#forums.Confirm_Post_to_Forum# @forum.name;noquote@ +@context;noquote@ + + + + + + + + -Please confirm the following post: -

-Subject: @subject@

-Body:
-

-@content@ -
-

-

- -@exported_vars@ -

- -Would you like to subscribe to responses? - No - Yes - -
-(Note that you are already subscribed to the forum as a whole. You may get duplicate notifications.) -
-
- -

+ Index: openacs-4/packages/forums/www/messages-get.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/messages-get.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/messages-get.adp 27 Jan 2005 22:24:07 -0000 1.1 +++ openacs-4/packages/forums/www/messages-get.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -2,80 +2,17 @@ nan - + - - - -
- -
- @message.number@: - @message.subject@ -
- by @message.user_name@ on - - (response to @message.parent_number@) - -
-
- @message.content;noquote@ - -
- #forums.Attachments# - -
-
-
- - #forums.reply# - #forums.forward# - - - @message.links;noquote@ - - - #forums.delete# - - - #forums.approve# - - - #forums.reject# - - - User Views - - - + - - - - [open parent] - - -
-
- - @message.number@: - @message.subject@ - #forums.Posted_by# @message.user_name@ on - - (response to @message.parent_number@) - - - - - -
-
+ + +
@message.content;noquote@
Index: openacs-4/packages/forums/www/messages-get.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/messages-get.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/messages-get.tcl 27 Jan 2005 22:24:07 -0000 1.1 +++ openacs-4/packages/forums/www/messages-get.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -1,110 +1,15 @@ -ad_page_contract { - this assumes that all fetched messages are under one - message root. it may fail when given differently rooted messages +ad_page_contract { } { - cid:integer,multiple + cid:integer {op noop} - sid:integer + {sid nosid} {dynamicmode:integer} } -forum::message::get -message_id $sid -array root_message -set root_message_id $sid -set forum_id $root_message(forum_id) -forum::get -forum_id $forum_id -array forum - -if {$forum(posting_policy) == "moderated"} { - set forum_moderated_p 1 -} else { - set forum_moderated_p 0 -} - -set moderate_forum_p [forum::security::can_moderate_forum_p -forum_id $forum_id] -if { $moderate_forum_p } { - set table_name "forums_messages" -} else { - set table_name "forums_messages_approved" -} - -set message_id_list [db_list select_message_ordering { - select fma.message_id - from forums_messages fm, - forums_messages_approved fma - where fm.message_id = :root_message_id - and fma.forum_id = :forum_id - and fma.tree_sortkey between fm.tree_sortkey and tree_right(fm.tree_sortkey) - order by fma.message_id -}] - -set direct_url_base [export_vars -base message-view { { message_id $root_message_id } }] - if {$dynamicmode} { - set query " - select message_id, - (select count(*) from attachments where object_id = message_id) as n_attachments, - subject, - content, - format, - person__name(user_id) as user_name, - to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, - tree_level(tree_sortkey) as tree_level, - state, - user_id, - parent_id, - tree_sortkey, - open_p, - max_child_sortkey - from $table_name - where message_id in ([join $cid ","]) - order by tree_sortkey -" + forum::message::get -message_id $cid -array message + set message(content) [ad_html_text_convert -from $message(format) -to text/html -- $message(content)] } else { - set query " - select message_id, - (select count(*) from attachments where object_id = message_id) as n_attachments, - subject, - format, - person__name(user_id) as user_name, - to_char(posting_date, 'YYYY-MM-DD HH24:MI:SS') as posting_date_ansi, - tree_level(tree_sortkey) as tree_level, - state, - user_id, - parent_id, - tree_sortkey, - open_p, - max_child_sortkey - from $table_name - where message_id in ([join $cid ","]) - order by tree_sortkey -" + set message(content) {} } -# convert emoticons to images if the parameter is set -set convert_emoticons_p [string is true [parameter::get -parameter DisplayEmoticonsAsImagesP -default 0]] -db_multirow -extend { reply_p moderate_p posting_date_pretty number parent_number direct_url parent_direct_url htmltext webeq links own_p} message get_messages $query { - set number [expr [lsearch $message_id_list $message_id] + 1] - set parent_number [expr [lsearch $message_id_list $parent_id] + 1] - set posting_date_pretty [lc_time_fmt $posting_date_ansi "%x %X"] - set direct_url "$direct_url_base\#$message_id" - set parent_direct_url "$direct_url_base\#$parent_id" - if {$dynamicmode} { - set content [ad_html_text_convert -from $format -to text/html -- $content] - - if { $convert_emoticons_p } { - set content [forum::format::emoticons -content $content] - } - - set links "#forums.edit# Text" - - set moderate_p [forum::security::can_moderate_message_p -message_id $message_id] - set reply_p [expr [string equal $open_p "t"] || [string equal $user_id [ad_conn user_id]]] - set allow_edit_own_p [parameter::get -parameter AllowUsersToEditOwnPostsP -default 0] - set own_p [expr [string equal $user_id [ad_conn user_id]] && $allow_edit_own_p] - } else { - set moderate_p 0 - set reply_p 0 - set own_p 0 - } -} - -set viewer_id [ad_conn user_id] Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/www/not-allowed.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/www/not-allowed.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/www/search.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/search.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/search.adp 2 Jul 2002 02:00:01 -0000 1.1 +++ openacs-4/packages/forums/www/search.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -1,58 +1,9 @@ - -Search Forums -@context_bar@ + + @page_title;noquote@ + @context;noquote@
- + - - - - -
- - Search:  - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SubjectAuthorPosting Date
- @messages.subject@ - @messages.user_name@@messages.posting_date@
- No Messages -
-
Index: openacs-4/packages/forums/www/search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/search.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/search.tcl 2 Jul 2002 02:00:01 -0000 1.1 +++ openacs-4/packages/forums/www/search.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -1,44 +1,13 @@ ad_page_contract { - @author yon@openforce.net + @author yon@openforce.net + @author rob@thaum.net @creation-date 2002-07-01 - @version $Id$ + @cvs-id $Id$ } -query { {forum_id ""} } -set package_id [ad_conn package_id] - -form create search - -element create search search_text \ - -label Search \ - -datatype text \ - -widget text \ - -html {size 60} - -element create search forum_id \ - -label ForumID \ - -datatype text \ - -widget hidden \ - -value $forum_id \ - -optional - -if {[form is_valid search]} { - form get_values search search_text forum_id - - set query search_all_forums - if {![empty_string_p $forum_id]} { - set query search_one_forum - } - - db_multirow messages $query {} - -} else { - set messages:rowcount 0 -} - -set context_bar {Search} - -ad_return_template +set page_title [_ forums.Search_Forums] +set context [list $page_title] Index: openacs-4/packages/forums/www/admin/permissions-user-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/permissions-user-add.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/admin/permissions-user-add.tcl 21 Sep 2003 19:58:58 -0000 1.1 +++ openacs-4/packages/forums/www/admin/permissions-user-add.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -8,9 +8,13 @@ object_id:integer } -forum::get -forum_id $object_id -array forum +if { $object_id == [ad_conn package_id] } { + set what "Package" +} else { + forum::get -forum_id $object_id -array forum + set what "$forum(name)" +} -set page_title "Add User" +set page_title "Add User on $what" -set context [list [list [export_vars -base permissions { object_id }] "$forum(name) Permissions"] $page_title] - +set context [list [list [export_vars -base permissions { object_id }] "$what Permissions"] $page_title] Index: openacs-4/packages/forums/www/admin/permissions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/permissions.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/admin/permissions.adp 21 Sep 2003 19:58:58 -0000 1.1 +++ openacs-4/packages/forums/www/admin/permissions.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -2,4 +2,4 @@ @page_title@ @context@ - + Index: openacs-4/packages/forums/www/admin/permissions.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/admin/permissions.tcl,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/admin/permissions.tcl 21 Sep 2003 19:58:58 -0000 1.1 +++ openacs-4/packages/forums/www/admin/permissions.tcl 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -8,9 +8,12 @@ object_id:integer } -forum::get -forum_id $object_id -array forum +if { $object_id == [ad_conn package_id] } { + set page_title "Permissions" +} else { + forum::get -forum_id $object_id -array forum + set page_title "$forum(name) Permissions" +} -set page_title "$forum(name) Permissions" - set context [list $page_title] Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/www/admin/subscribe-others-2.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/www/admin/subscribe-others.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/www/admin/subscribe-others.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums/www/moderate/message-move.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/message-move.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/moderate/message-move.adp 8 Apr 2005 08:28:09 -0000 1.1 +++ openacs-4/packages/forums/www/moderate/message-move.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -2,4 +2,4 @@ #forums.Confirm_Move_to# @message.subject;noquote@ #forums.Move_to# - + Index: openacs-4/packages/forums/www/moderate/thread-move-thread.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/thread-move-thread.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/moderate/thread-move-thread.adp 8 Apr 2005 08:28:09 -0000 1.1 +++ openacs-4/packages/forums/www/moderate/thread-move-thread.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -2,4 +2,4 @@ #forums.Confirm_Move_to# @message.subject;noquote@ #forums.Move_to# - + Index: openacs-4/packages/forums/www/moderate/thread-move.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/moderate/thread-move.adp,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/moderate/thread-move.adp 8 Apr 2005 08:28:09 -0000 1.1 +++ openacs-4/packages/forums/www/moderate/thread-move.adp 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -2,4 +2,4 @@ #forums.Confirm_Move_to# @message.subject;noquote@ #forums.Move_to# - + Index: openacs-4/packages/forums/www/resources/dynamic-comments.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/resources/dynamic-comments.js,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/resources/dynamic-comments.js 27 Jan 2005 22:12:08 -0000 1.1 +++ openacs-4/packages/forums/www/resources/dynamic-comments.js 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -27,10 +27,10 @@ // Get an element by ID in a portable manner function getid(id) { - if(document.all) - return document.all(id); - else if(document.getElementById) + if(document.getElementById) return document.getElementById(id); + else if(document.all) + return document.all(id); return false; } @@ -60,21 +60,30 @@ var content = getid('content'+n); if(!link || !content || !ifrmdoc) return; + // Initialise the link's expandStatus if it hasn't yet been set - if(link.expandStatus == null) { - if(content.className == 'dynexpanded') - link.expandStatus = 1; - else - link.expandStatus = 0; - } + if(link.className == '') { + if (content.className == 'dynexpanded') { + link.className = 'dynexpanded'; + } else { + link.className = 'dyncollapsed'; + } + } + if(link.className == 'dynexpanded') { + link.expandStatus = 1; + } else { + link.expandStatus = 0; + } + var s; - if(state != null) - s = state; - else if(!link.expandStatus) - s = 1; // set to expand - else - s = 0; // set to collapse + if(state != null) + s = state; + else if(link.className == 'dyncollapsed') + s = 1; // set to expand + else + s = 0; // set to collapse + // Immediately return if we aren't changing state at all if((s == link.expandStatus) && (rate == null)) return; @@ -86,7 +95,6 @@ || ((s == 0) && content.collapsedContent))) { // If we've already grabbed the desired state for this comment, // set it right here - setSavedState(n, s); } else { @@ -185,15 +193,19 @@ var symbol; if (s) symbol = collapse_symbol; else symbol = expand_symbol; + if(link.innerHTML) link.innerHTML = symbol; else if(link.appendChild) { while(link.hasChildNodes()) link.removeChild(link.firstChild); link.appendChild(document.createTextNode(symbol)); } + link.expandStatus = s; + content.className = (s? 'dynexpanded' : 'dyncollapsed'); + link.className = (s? 'dynexpanded' : 'dyncollapsed'); } // Called from the iframe's onload event to ship the content into the main Index: openacs-4/packages/forums/www/resources/expand.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/resources/expand.css,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/resources/expand.css 15 Mar 2005 20:06:46 -0000 1.1 +++ openacs-4/packages/forums/www/resources/expand.css 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -3,4 +3,5 @@ } #forum-thread .action-list { display: inline; -} \ No newline at end of file +} + Index: openacs-4/packages/forums/www/resources/forums.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/www/resources/forums.css,v diff -u -r1.1 -r1.1.1.1 --- openacs-4/packages/forums/www/resources/forums.css 27 Jan 2005 22:12:08 -0000 1.1 +++ openacs-4/packages/forums/www/resources/forums.css 28 Jun 2006 20:30:29 -0000 1.1.1.1 @@ -3,23 +3,34 @@ text-align: left; margin-bottom: 5px; margin-left: 1em; + + } #forum-thread .action-list { float: right; + text-decoration: none; text-align: right; - margin-top: 8px; - margin-right: 8px; + margin-top: 0.5px; + margin-right: 0.5px; + background: #f0f0f0; + height: 1%; + padding-bottom: 6px; + + } -#forum-thread .details { - margin-top: 3px; +#forum-thread .details { + margin-top: 2px; + padding-right: 4px; + padding-bottom: 2px; + } #forum-thread .content { text-align: left; - padding: 0.5em; - margin-bottom: 1em; + padding: 0.2em; + margin-bottom: 1em; } #forum-thread .dynexpanded { @@ -34,13 +45,14 @@ #forum-thread .subject { text-align: left; - background: #f0f0f0; - padding: 0.5em; + background: #f0f0f0; + padding: 0.2em; + display: inline-block; + height: 1%; } - + #forum-thread .subject a.title { -# color: blue; -# font-weight: bold; + text-decoration:none; } @@ -53,14 +65,16 @@ #forum-thread .subject .response { color: black; + } #forum-thread .subject .reference { color: green; -} +} #forum-thread .attribution { padding-top: 0.5em; color: #aaaaaa; + display: inline-block; } #forum-thread .attribution a { @@ -116,3 +130,7 @@ .right { float: right; } + +.details img { + border-style: none; +}