Smarty + Berechtigung + Unread Comments

76
Bug #
Priorität4 (▼ Niedrig)
BereichCommenting
TitleSmarty + Berechtigung + Unread Comments
BeschreibungWenn man keinen Zugriff auf das Template hat, sollen auch die Comments nicht unread markiert werden.
Reported by @
 
Git Commit
Assigned to @ 02.08.2004 10:30
StatusResolved @ 76
zorg.ch
#39985 by @ 29.07.2004 09:51 - nach oben -
dazu muss man fast ein rechte-syste für die comments machen... Mit Read comments hatten wir dieses Problem noch nicht.
zorg.ch
#40094 by @ 29.07.2004 22:53 - nach oben -
du musst nur die berechtigung aus der template-table holen und den unread-entry nur bei diesen usern machen, die berechtigt sind.
zorg.ch
#40105 by @ 29.07.2004 23:57 - nach oben -
Ich hab nichts gegen Berechtigungen holen, würds aber gerne dynamischer lösen...
zorg.ch
#40109 by @ 30.07.2004 00:44 - nach oben -
was heisst hier dynamischer? ist das nicht dynamisch genug?
zorg.ch
#40119 by @ 30.07.2004 09:08 - nach oben -
Ich mach erstmal einfach dass Einträge älter als 1 Monat aus comments_unread gelöscht werden.
zorg.ch
#40120 by @ 30.07.2004 09:23 - nach oben -
Kann mir jemand damit helfen?

DELETE FROM comments_unread
INNER JOIN comments ON (comments.id = comments_unread.comment_id)
WHERE UNIX_TIMESTAMP(date) < (UNIX_TIMESTAMP(now())-60*60*24*30)
ORDER BY date desc
zorg.ch
#40125 by @ 30.07.2004 09:31 - nach oben -
DELETE FROM comments_unread
INNER JOIN comments ON (comments.id = comments_unread.comment_id)
WHERE UNIX_TIMESTAMP(comments.date) < (UNIX_TIMESTAMP(now())-86400*60)
//ORDER BY date desc <-- wiso order bei nem delete ?

ich hab 60 tage draus gemacht...
zorg.ch
#40131 by @ 30.07.2004 09:34 - nach oben -
haha :-)
zorg.ch
#40133 by @ 30.07.2004 09:35 - nach oben -
hm....
geht auch nicht...
#1064 - You have an error in your SQL syntax.

Check the manual that corresponds to your MySQL server version for the right syntax to use near
'INNER JOIN comments ON ( comments.id = comments_unread.comment
zorg.ch
#40137 by @ 30.07.2004 09:42 - nach oben -
hm...strub, die datensätze sind jedenfalls gelöscht.
zorg.ch
#40140 by @ 30.07.2004 09:44 - nach oben -
scho? und was soll ich jetzt ins cronfile werfen?
Additional posts
zorg.ch
#40121 by @ 30.07.2004 09:25 - nach oben -
Ok, es muss wohl schon so gemacht werden, aber es wäre wohl schöner wenn die Berechtigung in einer Thread-Table gespeichert werden könnte.
zorg.ch
#40134 by @ 30.07.2004 09:36 - nach oben -
Du willst ja eh ne Thread Tabelle machen, dann ist das ja kein Problem.
zorg.ch
#40141 by @ 30.07.2004 09:44 - nach oben -
tjo... ein weiterer Grund warum diese wichtig ist.
zorg.ch
#40143 by @ 30.07.2004 09:48 - nach oben -
berechtigung in thread-table ist für alles ausser forum scheisse und überhaupt nicht dynamisch. weil wenn ich die berechtigung auf einem template ändere, kriegt die thread-table das nicht mit. es besteht die gefahr von inkonsistenten daten...
zorg.ch
#40145 by @ 30.07.2004 09:53 - nach oben -
aber auf deine art besteht die Gefahr dass das Forum am schluss X felder und funktionen drin hat für fremde sections.
zorg.ch
#40225 by @ 30.07.2004 21:44 - nach oben -
das forum soll eben genau keine felder für fremde sections haben. deswegen sollen die berechtigungen auch aus der smarty-table genommen werden. wenn comments in fremden sections eingesetzt werden können, müssen halt auch daten von fremden sections verwendet werden..
zorg.ch
#40419 by @ 02.08.2004 10:32 - nach oben -
Feld nicht, aber eine fremde Funktion wirds in diesem Fall benötigen. Aber ich machs mal, bin einverstanden...
Ich müsste nur mal eine art finden, wie man N-Fremde Commenting Sachen edel einbinden kann. (Hab momentan einfach 2 Funktionen mit einem switch($board) drin.)
zorg.ch
#40207 by @ 30.07.2004 17:24 - nach oben -
Ok... hättest du mir eine Funktion: Smarty::isUserBerechtigt($template_id, $user_id); ? Dann bau ich das rasch ein.
zorg.ch
#40226 by @ 30.07.2004 21:50 - nach oben -
so was ähnliches gibts schon:

bool tpl_permission($group, $owner)

wobei $group die zugriffs-berechtigung im template ist. für die comments wäre also das feld read_rights in der templates-table als $group zu übergeben.

$owner ist der besitzer des templates. also das feld owner aus der templates-table.

geprüft wird immer, ob der aktuelle user berechtigt ist. sollte reichen, oder?
zorg.ch
#40489 by @ 02.08.2004 16:51 - nach oben -
Check ich nicht, bzw. glaube es reicht nicht...
zorg.ch
#40518 by @ 02.08.2004 21:23 - nach oben -
sollte reichen. mach einfach folgendes: hol im query die felder 'read_rights' und 'owner' zum entsprechenden template und für die funktion aus:



tpl_permission($rs['read_rights'], $rs['owner'])



dann wird überprüft, ob der user lese-rechte auf das template hat.
Additional posts