Seite 1 von 3

[BETA] Video Add On für Attachment Mod

Verfasst: 12.10.2005 19:17
von mgutt
Auf Grund einiger Nachfragen habe ich mich dazu durchgerungen die Videoliste (Demolink) in einen Mod zu schreiben.

Was macht dieser Mod?
Eigentlich nichts spannendes. Er listet auf einer Seite alle wmv Videos Eures Forums auf und erzeugt gleichzeitig eine neue Detailseite. Dabei werden die Videos nicht doppelt gespeichert oder ähnliches. Jedes wmv Video ist automatisch in der Liste ohne jegliches zutun.

Was bringt mir das?
Besucher haben einen schnellen Zugriff auf die Videos ohne im Forum nach diesen suchen zu müssen. Die Detailseite ist übersichtlich gehalten und Ihr könnt entscheiden, ob nur registrierte oder nur bestimmte Gruppen und User die Videos sehen dürfen. (Einfach mal in den showvideo.php Code reinschauen und Anpassung vornehmen)

Was brauche ich dafür?
Der Mod funktioniert nur, wenn ihr den Attachment Mod von Opentools installiert habt. Wenn Ihr viele Besucher auf euren Seiten habt, werdet ihr wahrscheinlich die Problematik mit dem Traffic und Videos kennen. Also seit gewarnt. Alleine diese simple Auflistung hat meine Userzahlen verdoppelt und meinen Traffic verdreifacht. ;)


Mod hier downloaden.


Einfach die Dateien aus dem Paket in euren Root laden und folgende Änderung in der overall_header.tpl durchführen:

Code: Alles auswählen

#
#-----[ OEFFNE ]------------------------------------------
#

templates/subSilver/overall_header.tpl

#
#-----[ FINDE ]------------------------------------------
#

<span class="mainmenu">

#
#-----[ IN DER ZEILE, DANACH EINFUEGEN ]------------------------------------------
#

<!-- Begin Videos Mod -->&nbsp;<a href="videos.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_videos.gif" width="12" height="13" border="0" align="top" alt="Videos" hspace="3" />Videos</a>&nbsp; <!-- End Videos Mod -->

Anregungen und Kritik sind gerne Willkommen :D


Hinweise:
- Eure Datenbank sollte den Präfix "phpbb" nutzen, sonst müsst ihr in der SQL Abfrage noch diese Variable ändern
- Derzeit gibt es noch kein Rechteabfrage. Soll heißen, wenn ihr ein wmv Video in einem versteckten Forum postet, wird es trotzdem in der Videoliste angezeigt. Das wird aber je nach Interesse noch hinzugefügt


History:
13.10.2005 - Video Add On Version 1.0.1
- Template Dateinamen geändert
- Login bei "nur registrierte User" geändert auf richtigen Dateinamen
12.10.2005 - Video Add On Version 1.0.0

Verfasst: 13.10.2005 09:31
von mgutt
noch eine klitzekleine frage,
wie mach ich es, das videos aus versteckten foren nicht zu sehen sind?

eben habe ich noch bemerkt das die seite auch für leute die nicht eingeloggt sind, zu sehen ist ...

obwohl ich in der datei die anpassúngen gemacht habe das nur die gruppe mit der id 200 zugriff haben soll
// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss.
$allowed_u = array();
$allowed_u[] = 'g200'; //gruppe

$access_allowed = false;
if( in_array($userdata['user_id'],$allowed_u))
{
$access_allowed = true;
}
wie genau, bzw. was genau muss ich eintragen bzw. anpassen das es funktioniert wie ich meine...

liebe grüsse


@edit

eben habe ich mal einen user in die gruppe mit der id 200 rein,
allerdings, sieht er zwar die übersichtseite aber wenn er auf den link klickt kommt der hinweis das er nicht berechtigt ist, obwohl er in der richtigen gruppe ist...

im moment hab ich das so... weis nicht ob das stimmt?
/*
// Nur registrierte User haben Zugriff auf diese Seite
if ( !$userdata['session_logged_in'] )
{
redirect(append_sid("login.$phpEx?redirect=album_showvideo.$phpEx?vid_id=" . $videoid, true));
}
*/


// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss.
$allowed_u = array();
$allowed_u[] = 'g200'; //gruppe

$access_allowed = false;
if( in_array($userdata['user_id'],$allowed_u))
{
$access_allowed = true;
}

else
{
$sql = "SELECT g.group_id, g.group_name
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = '" . $userdata['user_id'] . "'
AND g.group_id = ug.group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql);
}
$access_allowed = false;
while( list($group_id, $group_name) = $db->sql_fetchrow($result) )
{
if( in_array('g' . $group_id,$allowed_u))
{
$access_allowed = true;
break;
}
if( in_array('g' . $group_name,$allowed_u))
{
$access_allowed = true;
break;
}
}
if( !$access_allowed )
{
message_die(GENERAL_MESSAGE, 'Sorry, you don\'t have the permission to view this page!');
}
}
und das komische ist, das auch bei mir als admin der hinweis kommt das ich keine rechte habe...

Verfasst: 13.10.2005 09:41
von mgutt
Info: Version 1.0.1 oben.. kleinen Fehler behoben


Schau mal bitte hier:
http://www.phpbb.de/viewtopic.php?t=90426

Ich hatte die Gruppenberechtigungen damals korrigiert.

Vielleicht funktioniert diese Änderung nur bei mir und Du musst den Originalmod nehmen:
http://www.phpbb.de/viewtopic.php?t=65247

Aber warum Du als Admin nicht mal darauf zugreifen kannst, verstehe ich nicht. Das dürfte eigentlich nicht passieren.

Die Videos aus versteckten Foren könnte nur über die originalen Rechte vom Attachment oder der Viewtopic gesperrt werden.

Das mache ich als nächstes, weil ich es auch noch brauche.

Ein Update folgt dafür noch.

Verfasst: 13.10.2005 13:10
von blondi
halli hallo..

ich habe eben die neuen files hochgeladen und eine gruppen id eingetragen...

allerdings lässt es sich trotzdem von einem user nicht aufrufen obwohl er in der gruppe drinnen ist...

was genau muss ich noch zusätzlich ändern?

liebe grüsse

Verfasst: 13.10.2005 13:54
von mgutt
für die gruppenzugehörigkeit eigentlich nichts.

das mit den versteckten foren hat ja grundsätzlich nichts damit zu tun.

hast du auch den "original"-code von dem gruppen mod mal probiert? vielleicht ist die gruppenabfrage bei mir anders.

probier mal die codezeilen von dem mod:
http://www.phpbb.de/viewtopic.php?t=65247

Verfasst: 14.10.2005 17:21
von blondi
mgutt hat geschrieben:
hast du auch den "original"-code von dem gruppen mod mal probiert? vielleicht ist die gruppenabfrage bei mir anders.

probier mal die codezeilen von dem mod:
http://www.phpbb.de/viewtopic.php?t=65247

ich weis nicht genau was ich da raus friemeln muss?
komm da nicht ganz klar wie man das umbaut :-((

Verfasst: 14.10.2005 17:33
von mgutt
das ist der code vom original mod:

Code: Alles auswählen

// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids  erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss. 
$allowed_u = array(); 
$allowed_u[] = 'g3'; //gruppe 

$access_allowed = false; 
if( in_array($userdata['user_id'],$allowed_u)) 
{ 
        $access_allowed = true; 
} 

else 
{ 
        $sql = "SELECT g.group_id, g.group_name 
                FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
                WHERE ug.user_id = '" . $userdata['user_id'] . "' 
                        AND g.group_id = ug.group_id"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql); 
        } 
        $access_allowed = false; 
        while( list($group_id, $group_name) = $db->sql_fetchrow($result) ) 
        { 
                if( in_array('g' . $group_id[group_id],$allowed_u )) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
                if( in_array('g' . $group_name[group_name],$allowed_u)) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
        } 
        if( !$access_allowed ) 
        { 
                message_die(GENERAL_MESSAGE, 'Sie haben keinen Zugriff auf diese Seite.'); 
        } 
} 
Den müsstest du an der Stelle von meinem Code ersetzen. (Ende ähnlich, meine Meldung ist nur Englisch)

Sag bescheid :D

Verfasst: 14.10.2005 20:39
von blondi
danke dir, werde ich gleich mal ausprobieren....

grüsse


@edit

habe es eben probiert,
leider das gleiche problem, auch mit dem org. code kommt nicht berechtigt, obwohl der user in der richtigen gruppe ist, und diese auch im code eingetragen ist...

so hab ich den code drinnen, die gruppe stimmt doch so?

Code: Alles auswählen

// User die zugriff haben: es sind gruppen_ids, gruppennamen und user_ids  erlaubt wobei bei den gruppen namen und ids ein g am anfang angehängt werden muss. 
$allowed_u = array(); 
$allowed_u[] = 'g200'; //gruppe 

$access_allowed = false; 
if( in_array($userdata['user_id'],$allowed_u)) 
{ 
        $access_allowed = true; 
} 

else 
{ 
        $sql = "SELECT g.group_id, g.group_name 
                FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
                WHERE ug.user_id = '" . $userdata['user_id'] . "' 
                        AND g.group_id = ug.group_id"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql); 
        } 
        $access_allowed = false; 
        while( list($group_id, $group_name) = $db->sql_fetchrow($result) ) 
        { 
                if( in_array('g' . $group_id[group_id],$allowed_u )) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
                if( in_array('g' . $group_name[group_name],$allowed_u)) 
                { 
                         $access_allowed = true; 
                         break; 
                } 
        } 
        if( !$access_allowed ) 
        { 
                message_die(GENERAL_MESSAGE, 'Sorry, you don\'t have the permission to view this page!'); 
        } 
}
hast du noch einen tipp :-))

gruß

Verfasst: 15.10.2005 19:41
von mgutt
ich habe mich bei dir mal registriert.

lad dir mal den gruppentest hoch und kopier mir mal den text aus dem ergebnis hier rein:

www.marc-gutt.de/webdesign.htm

Verfasst: 15.10.2005 22:33
von blondi
hab ich gemacht, hier ist das ergebnis :D
Welche Gruppen dürfen die Seite einsehen:

Array ( [0] => g200 )

Welcher Gruppe gehörst Du an:



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):




Die 1. Art der Abfrage hat nicht geklappt. 2. Abfrage startet...


Welche Gruppen dürfen die Seite einsehen:

Array ( [0] => g200 )

Welcher Gruppe gehörst Du an:



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):



Vergleich der ID:
Vergleich der ID (Eigentest):
Vergleich der Gruppe:
Vergleich der Gruppe (Eigentest):

Information
[FetishPortal]=BY=[Michelle] Foren-Übersicht » Information
Information

Sie haben keinen Zugriff auf diese Seite.