Zugriff verweigert sound absielen

Begonnen von Oscar175, 19 Juli 2007, 20:47:58

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Oscar175

Hallo,
ich möchte, dass ein Soundfile abgespielt wird, wenn ein Besucher einen Bereich betreten will, der nur für Registrierte ist.
Wenn die Meldung:
ZitatSie sind im Begriff einen geschützten Bereich zu betreten.
Es tut uns leid, aber dieser Bereich ist nur unseren Registrierten Benutzern zugänglich.
Sie können sich kostenfrei registrieren, indem Sie hier klicken,
anschliessend haben Sie uneingeschränkten Zugriff auf diesen Bereich.
Danke.
das Soundfile abgespielt wird. Weiß zufällig jemand wie das geht?
LG Benjamin

Oscar175

#1
Ich habe es mal in der Sprachdatei probiert. Habe einfach hinter "Sie sind im Begriff...." das eingefügt:
<embed src=verweigert.wav width=1 height=1></embed>
Hat leider nicht geklappt.
LG Benjamin


Oscar175

@m-t

Vielen Dank, aber wo muss ich das dann einfügen?
LG Benjmain

Oscar175

Gibt es vielleicht eine Datei, wo die Seite "Sie sind im Begriff einen geschützten Bereich zu betreten....." generiert wird?? Dann müsste ich den Code da doch nur noch einfügen, oder?
LG Benjamin

JoergK

Werf mal nen Blick in die modules.php. Dort werden die "Fehlermeldungen" bezüglich nicht aktivierter oder nur für bestimmte User / Gruppen freigegebener Module generiert bzw. ausgegeben (Zeilen ~117, 120, 122, 124 und 126). Hier jeweils hinter den angegebenen Zeilen den entsprechenden Code für die Soundausgabe einfügen.

Allerdings solltest Du das nicht mit dem <embed>-Element sondern mittels dem <object>-Element machen, da das <embed> zum einen ein Relikt aus alten Zeiten ist und zum zweiten nicht zum HTML-Standard gehört und auch noch nie ghört hat (siehe http://de.selfhtml.org/html/multimedia/netscape.htm).

Mit dem folgenden Code (ungetestet) sollte es funktionieren:
<?php

echo '<p>
    <object data="PFAD_ZUR_DATEI/verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="PFAD_ZUR_DATEI/verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;

?>
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Oscar175

@JoergK

ich weiß nicht, wie ich das da einfügen muss. Wenn ich es dahinter setzte und den Pfad anpasse, passiert garnichts.
So habe ich das gemacht:

<?php
if ((($mod_active != 1) && (!MX_IS_ADMIN)) || empty($mod_id)) {
    
mxErrorScreen("<b>" _MODULENOTACTIVE "</b><br>"'');echo '<p>
    <object data="verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;
} else if (!@
file_exists($modfile)) {
    
$msg = (MX_IS_ADMIN) ? "Sorry, the file '$modfile' doesn't exist!" "Sorry, such file doesn't exist...";
    
mxErrorScreen($msg);echo '<p>
    <object data="verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;
} else if (
$mod_view == && !MX_IS_ADMIN) {
    
mxErrorScreen("<b>" _RESTRICTEDAREA "</b><br><br>" _MODULESADMINS_ACCESSDENIED);echo '<p>
    <object data="verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;
} else if (
$mod_view == && !MX_IS_ADMIN && !MX_IS_USER) {
    
mxErrorScreen("<b>" _RESTRICTEDAREA "</b><br><br>" _MODULEUSERS_ACCESSDENIED);echo '<p>
    <object data="verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;
} else if (
$mod_view == && !MX_IS_ADMIN && !mxModuleAllowed($mod_title)) {
    
mxErrorScreen("<b>" _GROUPRESTRICTEDAREA "</b><br>"_ACCESSDENIED);echo '<p>
    <object data="verweigert.wav" type="audio/x-wav" width="1" height="1">
        <param name="src" value="verweigert.wav">
        Ihr Browser kann das Objekt leider nicht abspielen!
    </object>
</p>'
;
} else {
    unset(
$result$qry$mod_view$mod_active$mod_title$mod_id);
?>

Oder ist das so falsch?
LG Benjamin

JoergK

#7
Sorry, aber ich hab übersehen, dass in der function mxErrorScreen die komplette Seitenausgabe statt findet.
Somit war meine gestrige Info nen Griff ins .

Eine Änderung an dieser function ist ein Eingriff in die API von pragmaMx und will somit wohl überlegt sein ... auch unter Gesichtspunkt möglicher zukünftiger Updates.

Wenn Du also bei jeglichen Zugriffs-Fehlermeldungen einen Sound abspielen lassen möchtest - die function wird u.A. in vielen Modulen aufgerufen, musst Du die Änderung in der function mxErrorScreen in der /includes/mx_api_2.php machen:

Alt
<?php

    OpenTableAl
();
    echo 
"<center><span class=\"content\">" $msg "<br>";
    if (
$goback) echo "<br>" _GOBACK "<br>";
    echo 
"</span></center>";
    
CloseTableAl();

?>



Neu
<?php

    OpenTableAl
();
    echo 
"<center><span class=\"content\">" $msg "<br>";
    if (
$goback) echo "<br>" _GOBACK "<br>";
    echo 
"</span></center>";
    echo 
'<p>
              <object data="PFAD_ZUR_DATEI/verweigert.wav" type="audio/x-wav" width="1" height="1">
                  <param name="src" value="PFAD_ZUR_DATEI/verweigert.wav">
                  Ihr Browser kann das Objekt leider nicht abspielen!
              </object>
          </p>'
;    
    
CloseTableAl();

?>

Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Oscar175

@JoergK

Vielen Dank, du bist der beste, hat super geklappt  :thumbup:
LG Benjamin

jubilee

ZitatWenn Du also bei jeglichen Zugriffs-Fehlermeldungen
Bitte beachten was der Joerg geschrieben hat !
Die mxErrorScreen wird ja für vielfältige Meldungen verwendet und nun kommt jedesmal der Sound ....