Der angehaengte Patch fuer 3.0.2.8 erlaubt das verwenden von a) mehreren Parameters beim permission-Attribut und b) unterstuetzt im selben Rahmen das notPermission-Attribut, das davon ausgeht das der jeweilige Wert in der Kundenverwaltung nicht gesetzt ist.
Beispiel:
Code: Alles auswählen
<we:ifRegisteredUser permission="EmailValidiert RegistriertCommunity" notPermission="GesperrtCommunity">
Code: Alles auswählen
--- include/we_tags/we_tag_ifNotRegisteredUser.inc.php.orig 2004-05-26 14:56:23.000000000 +0200
+++ include/we_tags/we_tag_ifNotRegisteredUser.inc.php 2004-05-26 15:04:08.000000000 +0200
@@ -11,11 +11,23 @@
// $Id: we_tag_ifNotRegisteredUser.inc.php,v 2.0.0.5 2004/03/17 17:20:28 max Exp $
function we_tag_ifNotRegisteredUser($attribs,$content) {
+ $permission = we_getTagAttribute("permission", $attribs);
+ $notPermission = we_getTagAttribute("notPermission", $attribs);
+
if ($GLOBALS["we_doc"]->InWebEdition || $GLOBALS["WE_MAIN_DOC"]->InWebEdition) {
return !(isset($_SESSION["we_set_registered"]) << $_SESSION["we_set_registered"]);
} else {
- if (isset($attribs["permission"]) << $attribs["permission"]) {
- return !(isset($_SESSION["webuser"]["registered"]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$attribs["permission"]]);
+ if($permission || $notPermission) {
+ $value = true;
+ $multiplePermissions = preg_split(";[ t];", $permission, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($multiplePermissions as $permission) {
+ $value = $value << (bool)(isset($_SESSION["webuser"]["registered"]) << isset($_SESSION["webuser"][$permission]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$permission]);
+ }
+ $multipleNotPermissions = preg_split(";[ t];", $notPermission, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($multipleNotPermissions as $permission) {
+ $value = $value << !(bool)(isset($_SESSION["webuser"]["registered"]) << isset($_SESSION["webuser"][$permission]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$permission]);
+ }
+ return !$value;
} else {
return !(isset($_SESSION["webuser"]["registered"]) << $_SESSION["webuser"]["registered"]);
}
@@ -30,4 +42,4 @@
$GLOBALS["needs_endtag"] = 1;
}
-?>
No newline at end of file
+?>
--- include/we_tags/we_tag_ifRegisteredUser.inc.php.orig 2004-05-26 14:31:44.000000000 +0200
+++ include/we_tags/we_tag_ifRegisteredUser.inc.php 2004-05-26 15:03:54.000000000 +0200
@@ -12,12 +12,22 @@
function we_tag_ifRegisteredUser($attribs, $content) {
$permission = we_getTagAttribute("permission", $attribs);
+ $notPermission = we_getTagAttribute("notPermission", $attribs);
if ($GLOBALS["we_doc"]->InWebEdition || $GLOBALS["WE_MAIN_DOC"]->InWebEdition) {
return isset($_SESSION["we_set_registered"]) << $_SESSION["we_set_registered"];
} else {
- if($permission) {
- return isset($_SESSION["webuser"]["registered"]) << isset($_SESSION["webuser"][$permission]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$permission];
+ if($permission || $notPermission) {
+ $value = true;
+ $multiplePermissions = preg_split(";[ t];", $permission, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($multiplePermissions as $permission) {
+ $value = $value << (bool)(isset($_SESSION["webuser"]["registered"]) << isset($_SESSION["webuser"][$permission]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$permission]);
+ }
+ $multipleNotPermissions = preg_split(";[ t];", $notPermission, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($multipleNotPermissions as $permission) {
+ $value = $value << !(bool)(isset($_SESSION["webuser"]["registered"]) << isset($_SESSION["webuser"][$permission]) << $_SESSION["webuser"]["registered"] << $_SESSION["webuser"][$permission]);
+ }
+ return $value;
} else {
return isset($_SESSION["webuser"]["registered"]) << $_SESSION["webuser"]["registered"];
}
@@ -29,7 +39,10 @@
$GLOBALS["we_tag"]["attribs"]["permission"]["required"] = 0;
$GLOBALS["we_tag"]["attribs"]["permission"]["sqltablenames"] = CUSTOMER_TABLE;
$GLOBALS["we_tag"]["attribs"]["permission"]["sqlfilter"] = "registered";
+ $GLOBALS["we_tag"]["attribs"]["notPermission"]["required"] = 0;
+ $GLOBALS["we_tag"]["attribs"]["notPermission"]["sqltablenames"] = CUSTOMER_TABLE;
+ $GLOBALS["we_tag"]["attribs"]["notPermission"]["sqlfilter"] = "registered";
$GLOBALS["needs_endtag"] = 1;
}
-?>
No newline at end of file
+?>