Fork me on GitHub
"XOOPS ist ein dynamisches OO (Objekt Orientiertes) open source Portal Script geschrieben in PHP. XOOPS ist ein ideales CMS (Content Management System) für den Aufbau von kleineren und grösseren Communities, Firmen-, Intra- und Internet-Portale, Web-Logs und vieles mehr."
forum
Bitte schaut in die DOKUMENTATION oder benutzt die SUCHFUNKTION bevor Ihr Eure Fragen im Forum stellt. Viele Fragen wurden bereits gestellt.

Leser in diesem Thema:   1 Anonyme(r)




ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#1
Benutzerinformationen
Hallo Leute,

stecke inmitten eines Moduls zur Darstellung statischer Contentseiten fest:

<?php // DATENAUSGABE
...
if(
is_object($xoopsUser) && $xoopsUser->isAdmin)) {
 echo 
'Content der NUR bei USER MIT ADMINRECHTEN angezeigt wird...';
 } else {
 echo 
'KEINE ADMINRECHTE';
 }
...
?>


Ich habe mir überlegt, diese Bedingung in die zu erstellende Datei einzubinden, d.h. ein hiddenfield, welches den User in ein Array speichert, der die Seite gerade erstellt, das funktioniert auch soweit (Prüfung dessen erfolgt per Ausgabe des Array auf der Seite, auf der die Anreißer iteriert werden).

Nun zum Problem:
Wie kann ich obige Bedingung erweitern- oder umschreiben, das NUR der im Array gespeicherte User Zugriffsrechte hat?
Denn Admin ist Admin, demnach haben ALLE User dieser Gruppe das Recht zum Bearbeiten.

Sollte ich mich nicht klar genug ausgedrückt haben, stellt bitte Eure Fragen.

Danke für alles schonmal im voraus!

Gruß
Thomas

Geschrieben: 03.08.2010
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#2
Benutzerinformationen
Zitat:

equinoxx schrieb:
welches den User in ein Array speichert, der die Seite gerade erstellt, das funktioniert auch soweit (Prüfung dessen erfolgt per Ausgabe des Array auf der Seite, auf der die Anreißer iteriert werden).

Nun zum Problem:
Wie kann ich obige Bedingung erweitern- oder umschreiben, das NUR der im Array gespeicherte User Zugriffsrechte hat?


Wenn es nur 1 User ist, warum das Array?

ansonsten (mit Array):

<?php // DATENAUSGABE 
... 
$userarray=array( < id des users > );
if(
is_object($xoopsUser) && in_array($xoopsUser->uid(),$userarray)) { 
 echo 
'Content der NUR bei USER MIT ADMINRECHTEN angezeigt wird...'
 } else { 
 echo 
'KEINE ADMINRECHTE'
 } 
... 
?>

Geschrieben: 03.08.2010
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#3
Benutzerinformationen
Hallo Alfred,

danke schonmal für Deine Hilfe...
vorab, das Array deshalb, weil sich mir sonst keine Möglichkeit ergibt den User abzugleichen, und es ist nicht nur 1 User.

Group1 > ModulAdmin > ist Verfasser des Beitrags = auch Edit
Group1 > ModulAdmin > nicht Verfasser des Beitrags = kein Edit

Werde nach Test deiner Hilfe sofort berichten.
Nochmals Dank

Gruß
Thomas

Geschrieben: 03.08.2010
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#4
Benutzerinformationen
Als Modul ist diese Eigenschaft auch im DH-Info (einschließlich statischer Seiten).

Wieso dann das ganze nochmal erfinden?

Muki

Geschrieben: 03.08.2010
_________________
Es gibt keine dummen Fragen, nur dumme Antworten (Ausnahmen bestätigen die Regel).
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#5
Benutzerinformationen
Hallo Alfred,

diese kleine Funktion sieht interessant aus, leider ziele ich mit dem Userarray dann auf die UserID (die Gruppe des Users), möchte aber auf den Username zielen.

Die Abfrage, ob Adminrechte vorhanden sind habe ich ja schon per "xoopsUser->isAdmin" gestellt, danach soll diese Bedingung nur erweitert werden auf den Username, nicht dessen ID (Da die ID sich allein auf die Gruppe bezieht, nicht aber ob nur ein User daraus das Recht hat.)

Also:
XOOPSUSER = ja
XOOPSADMIN = ja
SUBMITTER = ja > dann auch EDIT für NUR DIESEN ARTIKEL
SUBMITTER = nein > dann kein EDIT, sondern nur submit für einen neuen Artikel (dann wird das Array mit seinem Username gefüllt, und kann separat auch NUR von diesem User editiert werden.)

BTW: Wenn ich auf "$xoopsUser->uname()" ziele, wird mir der Vor- und Zuname des Users angezeigt, wieso nicht der Name, mit dem sich der User registriert hat? Bin der Meinung, früher war das auch so?

Hoffe es ist jetzt verständlicher :)

Gruß
Thomas

Geschrieben: 04.08.2010
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#6
Benutzerinformationen
Zitat:

equinoxx schrieb:
danach soll diese Bedingung nur erweitert werden auf den Username, nicht dessen ID (Da die ID sich allein auf die Gruppe bezieht, nicht aber ob nur ein User daraus das Recht hat.)


Die Userid ist einmalig je User, das hat nichts mit Gruppen zu tun, ich denke du verwechselst da was
Den namen dazu verwenden ist nicht so gut, was machst du denn, wenn der User sich mal abmeldet und ein anderer den Namen dann mal erhält?
Für eben solche Zwecke gibts die User-ID, weil die ist einmalig.

Geschrieben: 04.08.2010
Erstelle PDF des Beitrags Drucke

Aw:: ausschließlich dem Autor eines Beitrages das Edit ermöglichen
#7
Benutzerinformationen
Hallo Alfred,
besten Dank für die Aufklärung, muss feststellen, das ich an dieser Stelle tatsächlich meine Überlegung etwas zu "intensiv" gestaltet hatte...
Natürlich hast Du recht mit dem Username, sowas wäre ja nicht im Sinne der Erfindung :)

Da wir aber die Möglichkeit der Gruppen haben, werde ich die Editfunktionen erstmal darüber steuern. (Trotz ich nachwievor der Meinung bin, das es ein umständlicher Weg ist ;) ).
Ich werde zu gegebener Zeit das mal genauer erklären.

Danke für die Hilfe.

Gruß
Thomas

Geschrieben: 04.08.2010
Erstelle PDF des Beitrags Drucke







[Erweiterte Suche]


Fehler
Warnung: syntax error, unexpected END_OF_LINE, expecting '=' in /var/www/clients/client1/web3/security/myxoops/xoops_data/configs/xoRewriteHtaccess.ini.php on line 13 in Datei /class/smarty/xoops_plugins/xoSmartyFunctions.php Zeile 32
Warnung: array_key_exists() expects parameter 2 to be array, boolean given in Datei /class/smarty/xoops_plugins/xoSmartyFunctions.php Zeile 34
Warnung: XoSmartyPlugin : section [xoRewriteHtaccess] does not exist in /configs/xoRewriteHtaccess.ini.php in Datei /class/smarty/xoops_plugins/xoSmartyFunctions.php Zeile 42
abgelehnt
Abfragen
0.000101 - SET NAMES 'utf8'
0.000063 - SET SQL_BIG_SELECTS = 1
0.000121 - SELECT * FROM config WHERE (conf_modid = '0' AND conf_catid = '1') ORDER BY conf_order ASC
0.000174 - SELECT sess_data, sess_ip FROM session WHERE sess_id = 'q4h7vba8ptr0bhn1gr3ho2ppr3'
0.000078 - SELECT * FROM modules WHERE dirname = 'newbb'
0.000069 - SELECT COUNT(*) FROM group_permission WHERE (gperm_modid = '1' AND (gperm_groupid = '3') AND gperm_name = 'module_read' AND gperm_itemid = '2')
0.000107 - SELECT * FROM config WHERE (conf_modid = '2') ORDER BY conf_order ASC
0.000079 - SELECT * FROM modules WHERE dirname = 'protector'
0.000281 - DELETE FROM protector_access WHERE expire < UNIX_TIMESTAMP()
0.000242 - SELECT COUNT(*) FROM protector_access WHERE ip='54.91.35.130' AND request_uri='/forum/viewtopic.php?post_id=67620'
0.000205 - SELECT COUNT(*) FROM protector_access WHERE ip='54.91.35.130'
0.000182 - INSERT INTO protector_access SET ip='54.91.35.130',request_uri='/forum/viewtopic.php?post_id=67620',expire=UNIX_TIMESTAMP()+'60'
0.000086 - SELECT * FROM modules WHERE dirname = 'xoopspoll'
0.000068 - SELECT * FROM modules WHERE dirname = 'umfrage'
0.000273 - SELECT t.* FROM bb_topics t, bb_posts p WHERE t.topic_id = p.topic_id AND p.post_id = 67620
0.000083 - SELECT * FROM bb_forums WHERE forum_id = '81'
0.000100 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'category_access')
0.000159 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_access')
0.000185 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_view')
0.000414 - SELECT COUNT(*) FROM `bb_posts` WHERE (topic_id = '12363' AND approved = '1')
0.000233 - SELECT COUNT(*) FROM bb_posts AS p WHERE p.topic_id=12363 AND p.approved = 1 AND p.post_id < 67620
0.000583 - SELECT p.*, t.* FROM bb_posts p, bb_posts_text t WHERE p.topic_id=12363 AND p.post_id = t.post_id AND p.approved = 1 ORDER BY p.post_id ASC LIMIT 0, 10
0.000276 - UPDATE bb_topics SET topic_views = topic_views + 1 WHERE topic_id =12363
0.000089 - SELECT * FROM config WHERE (conf_modid = '0' AND conf_catid = '3') ORDER BY conf_order ASC
0.000088 - SELECT DISTINCT gperm_itemid FROM group_permission WHERE gperm_name = 'block_read' AND gperm_modid = 1 AND gperm_groupid IN (3)
0.000100 - SELECT b.* FROM newblocks b, block_module_link m WHERE m.block_id=b.bid AND b.isactive=1 AND b.visible=1 AND m.module_id IN (0,2) AND b.bid IN (31,30,29,28,27,26,25,24,23,22,21,18,17,16,49,15,14,13,10,7,5,3,2,20,19,48,38,37,36,41,40,35,45,44,46,47,50,51,52) ORDER BY b.weight, m.block_id
0.000190 - DELETE FROM lastseen WHERE (uid<1 AND time<=1413915452) OR (uid>0 AND time<=1413310952)
0.000142 - UPDATE lastseen SET online=0 WHERE uid>0 AND time< 1413915452
0.000081 - SELECT * FROM modules WHERE dirname = 'onlinehistory'
0.000075 - SELECT * FROM config WHERE (conf_modid = '7') ORDER BY conf_order ASC
0.000299 - SELECT count(uid) as cuid FROM lastseen WHERE uid=0 AND ip='54.91.35.130'
0.000244 - UPDATE lastseen SET time = 1413915752, ip='54.91.35.130' ,uagent='CCBot/2.0 (http://commoncrawl.org/faq/)', username='Besucher', module=2, online=1 WHERE uid=0 AND ip='54.91.35.130'
0.000212 - SELECT COUNT(uid) as count FROM lastseen WHERE (online > '0' AND uid > '-1')
0.000178 - DELETE FROM bb_online WHERE online_updated < 1413915452
0.000132 - DELETE FROM online WHERE online_updated < 1413915452
0.000181 - SELECT COUNT(*) FROM online WHERE online_uid=0 AND online_ip='54.91.35.130'
0.000172 - UPDATE online SET online_updated=1413915752, online_module = 2 WHERE online_uid = 0 AND online_ip='54.91.35.130'
0.000183 - SELECT COUNT(*) FROM bb_online WHERE online_uid=0 AND online_ip='54.91.35.130'
0.000193 - UPDATE bb_online SET online_updated= '1413915752', online_forum = '81', online_topic = '12363' WHERE online_uid = 0 AND online_ip='54.91.35.130'
0.000269 - DELETE FROM bb_online WHERE ( online_uid > 0 AND online_uid NOT IN ( SELECT online_uid FROM online WHERE online_module =2 ) ) OR ( online_uid = 0 AND online_ip NOT IN ( SELECT online_ip FROM online WHERE online_module =2 AND online_uid = 0 ) )
0.000173 - SELECT * FROM bb_online WHERE online_topic = '12363'
0.000087 - SELECT * FROM bb_type WHERE type_id = '3'
0.000070 - SELECT cat_title, cat_id FROM bb_categories WHERE cat_id = '12'
0.000160 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_post')
0.000135 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.001130 - SELECT * FROM `users` WHERE uid IN (11177,8758,10094)
0.000101 - SELECT * FROM smiles
0.000242 - SELECT online_uid FROM bb_online WHERE online_uid IN (8758, 10094, 11177)
0.000104 - SELECT * FROM ranks
0.016662 - SELECT user_digests, uid FROM bb_user_stats WHERE uid IN( 8758, 10094, 11177)
0.000218 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000275 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000174 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000159 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000134 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000137 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000157 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.003426 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000199 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000224 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000196 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000173 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000186 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000172 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000152 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000186 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000154 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000233 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000178 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_edit')
0.000158 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_delete')
0.000179 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
0.000132 - SELECT * FROM modules WHERE dirname = 'xoopspoll'
0.000147 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_addpoll')
0.000143 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_addpoll')
0.000138 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'category_access')
0.000078 - SELECT `cat_id`, `cat_order`, `cat_title` FROM `bb_categories` WHERE cat_id IN (9, 20, 12, 17, 19, 21, 2) ORDER BY cat_order ASC
0.000133 - SELECT * FROM group_permission WHERE (gperm_modid = '2' AND gperm_name = 'forum_reply')
Zusammen: 77
Blöcke
Online Historie Zählblock: nicht zwischengespeichert
Zusammen: 1
Extras
plugin smarty for xoops => xoRewriteModule : Loaded
plugin smarty for xoops => xoRewriteModule : Loaded
inbegriffene Dateien: 160 Dateien
Speicher: 12553664 bytes
Zeitmessung
XOOPS brauchte 0.564 Sekunden zum laden.
XOOPS Boot brauchte 0.028 Sekunden zum laden.
Module init brauchte 0.070 Sekunden zum laden.
XOOPS output init brauchte 0.013 Sekunden zum laden.
Module display brauchte 0.437 Sekunden zum laden.
Page rendering brauchte 0.016 Sekunden zum laden.