node access - nodes unter beiträge sichtbar machen?
Eingetragen von patcher (217)
am 24.07.2007 - 14:09 Uhr in
am 24.07.2007 - 14:09 Uhr in
hallo,
wisst ihr, ob es möglich ist, nodes, die über nodeaccess einem anderen user zur bearbeitung freigegeben sind - beim "zweituser" auch in der beitrags-übersicht unter mein konto zugänglich zu machen? dort erscheinen derzeit immer nur die eigenen beiträge, nicht alle für die berechtigungen vorleigen.
danke
patcher
- Anmelden oder Registrieren um Kommentare zu schreiben
Meinst Du den Tracker? Der
am 29.07.2007 - 12:33 Uhr
Meinst Du den Tracker? Der Tracker zeigt lediglich die Beiträge des entsprechenden Benutzers an.
Du kannst aber mit Views[1] den normalen Tracker überschreiben und anzeigen lassen, was Du willst.
vg
[1] http://drupal.org/project/views
--
sanduhrs - drupalcenter
--------------------------------
Stefan Auditor
http://erdfisch.de
node access - beiträge anzeigen zu denen user "access" hat
am 20.11.2007 - 14:16 Uhr
hallo patcher,
hast du inzwischen eine Möglichkeit gefunden?
Gruß
Jonas
leider nein... die
am 23.11.2007 - 23:14 Uhr
leider nein... die berechtigen user haben zwar beim jeweiligen artikel die möglichkeit zu bearbeiten (über entsprechenden reiter).. die artikel sind aber nicht in der übersicht.
sprich ich muss die links zu den beiträgen wissen....
hast du ne idee?
Alle nodes anzeigen bei denen der User node_access hat...
am 24.11.2007 - 19:47 Uhr
Moin patcher,
Ich habe mir gerade mal per phpmyadmin die Tabelle "node_access" angeschaut.
Dort wird von von dem Modul "node acces" folges eingetragen:
nid | gid | realm |grant_view | grant_update | grant_delete
475 | 9 | nodeaccess_uid | 1 | 1 | 1
475 | 8 | nodeaccess_author | 1 | 1 | 1
Daraus ist zu entnehmen das der User 8 Autor des nodes 475 ist. User 8 hat per nodeacces dem User 9 sowohl ansichts-, schreib- und löschberechtigung gegeben.
Damit User 9 nun eine Liste erhält mit nodes bei denen er Schreibberechtigung hat. Bräuchten wir eine Datenbankabfrage, die in etwa folgendes enthält: zeige alle nids wo gid=9 und grant_update=1
Allerdings habe ich mich bisher noch nicht ausreichend mit Datenbankabfragen beschäftigt um das zu coden. Aber vielleicht kann uns hier ja jemand helfen?!
Gruß
Jonas
hier mal ein ansatz...
am 24.11.2007 - 20:29 Uhr
ich habe mir gerade noch mal das Modul nodeaccess angesehen:
viellicht ist das hier schon mal ein ungefährer erster Ansatz:
$result = db_query("SELECT nid, FROM {node_access} WHERE gid=9 AND realm='nodeaccess_uid'");
gid=9 gilt natürlich nur für mein User 9 aus den oben angeführten Beispiel
Gruß
Jonas
Anzeige von bearbeitbaren Beiträgen im Userprofil
am 25.11.2007 - 12:20 Uhr
Nehmen wir mal an, dass im Userprofil alle Beiträge angezeigt werden sollen, die ein User bearbeiten darf.
Dazu würde ich folgendes Codesnippet in die Datei user_profile.tpl.php einfügen:
(Das Snippet funktioniert allerdings noch nicht... bin also dankbar für jede Hilfe!)
<?php
print "<h3>Beiträge, die ich bearbeiten darf:</h3>";
$query = db_query("SELECT nid FROM {node_access} WHERE gid=$user->uid AND realm='nodeaccess_uid'");
$queryResult = db_query($query);
while ($links = db_fetch_object($queryResult)) {
print = '<a href="' . url('node/' . $links->nid) . '">' . $links->title . '</a><br />';
}
?>
error in your SQL syntax
am 25.11.2007 - 12:22 Uhr
Das oben genannte Codesnippet löst folgende Fehlermeldung aus:
User warning: 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 'Resource id #174' at line 1 query: Resource id #174 in /mounted-storage/home61a/sub006/sc38600-KENG/www/includes/database.mysql.inc on line 172.
habe das snippets überarbeitet...
am 25.11.2007 - 15:49 Uhr
Das folgendes Codesnippet funktioniert schon mal teilweise!
<?php
print "<h3>Beiträge die ich bearbeiten darf:</h3>";
$links = db_result(db_query("SELECT nid FROM {node_access} WHERE gid=$user->uid AND realm='nodeaccess_uid'"));
print '<a href="/node/' . $links . '">node/' . $links . '</a><br />';
?>
Um am Beispiel von oben zu bleiben wird nun im Userprofil von User 9 angezeigt:
Beiträge die ich bearbeiten darf:
node/475
Allerdings wird anscheinend immer nur der erste Beitrag angezeigt, denn laut der tabelle "node_access" darf User 9 zwei Beiträge bearbeiten:
nid | gid | realm |grant_view | grant_update | grant_delete
475 | 9 | nodeaccess_uid | 1 | 1 | 1
476 | 9 | nodeaccess_uid | 1 | 1 | 1
--> Nämlich 475 und 476...
Vielleicht hat ja jemand noch nen Tipp für mich!
klar .. versuchs mal
am 25.11.2007 - 16:30 Uhr
klar .. versuchs mal so:
<?php
print "<h3>Beiträge die ich bearbeiten darf:</h3>";
$links = db_query("SELECT nid FROM {node_access} WHERE gid=$user->uid AND realm='nodeaccess_uid'");
while ($link = db_fetch_object($links)) {
print '<a href="/node/' . $link->nid . '">node/' . $link->nid . '</a><br />';
}
?>
oder so:
<?php
print "<h3>Beiträge die ich bearbeiten darf:</h3>";
$links = db_query("SELECT * FROM {node_access} WHERE gid=$user->uid AND realm='nodeaccess_uid'");
while ($link = db_fetch_object($links)) {
$allowed_node = node_load($link->nid);
print '<a href="/node/' . $allowed_node->nid . '">node/' . $allowed_node->title . '</a><br />';
}
?>
danke
am 25.11.2007 - 17:25 Uhr
das untere Codesnippets funktioniert genauso wie ich es mir vorgestellt habe!
hier noch mal meine version...
am 28.11.2007 - 18:14 Uhr
Ich benutze dieses Snippet in einem Block:
<?php
global $user;
$links = db_query("SELECT * FROM {node_access} WHERE gid=$user->uid AND realm='nodeaccess_uid'");
while ($link = db_fetch_object($links)) {
$allowed_node = node_load($link->nid);
print '<div class="content"><a href="/node/' . $allowed_node->nid . '">' . $allowed_node->title . '</a> von ' . $allowed_node->name . '<br /></div>';
}
?>
Es werden alle Beiträge angezeigt die der User bearbeiten darf und der name des "orginal-autors"!
Vielen Dank für die Hilfe,
Gruß Jonas
ich arbeite nun mit
am 09.10.2008 - 20:58 Uhr
ich arbeite nun mit content_access hätte hier auch gerne die "berechtigten" links in meiner "meine beiträge" liste. hat jemand von euch ne idee wie sich das realisieren lässt.
im unterschied zu node_access steht für content-access zur zwei datenbank-einträge (nid und settings).. wie lassen sich die "settings" per php auslesen?
danke für nen tipp an nen php-laien.
patcher