ugyanarról beszélünk?
function modr8_db_rewrite_sql($query, $primary_table, $primary_field, $args) { switch ($primary_field) { case 'nid': // this query deals with node objects $access = (user_access('administer nodes') || user_access('moderate content')); if (!$access) { global $user; $return = array(); if ($primary_table != 'n') { $return['join'] = "LEFT JOIN {node} n ON $primary_table.nid = n.nid"; } if ($user->uid == 0) { $return['where'] = "(n.moderate != 1)"; } else { $return['where'] = "(n.moderate != 1 OR n.uid = ". (int)$user->uid .")"; } return $return; } break; } }
Ez itt a kódunk. Namost ha a tábla nem n, akkor JOIN-olja a node táblát, ha viszont n, akkor felteszi, hogy node, és teszi bele a feltételt. Tehát a hiba máshol van :) Mert egy lekérdezésben n van megadva aliaszként, pedig nem a node táblára vonatkozik a lekérdezés.
Rákerestem ilyen lekérdezésekre a kiegészítő modulokban, és a Drupalban. A comment modulban találtam rá. Drupal 5.3-ban ez van:
SELECT nc.nid FROM {node_comment_statistics} nc WHERE nc.comment_count > 0 ORDER BY nc.last_comment_timestamp DESC
A fent beküldött lekérdezés ennek a felturbózott változata modr8 és más jogosultság kezelő kiegészítőkkel, amiket a többi modul ráaggat.
Ez a CVS logok alapján a Drupal 5.1 és 5.2 között lett kijavítva, hogy az nc tábla aliaszt használja, előtte az n aliaszt használta hibásan. Magyarul kedves GaBy: tessék frissíteni a Drupal újabb kiadására, és a probléma megoldódik. (Ez még sok más potenciális hibát is megold és pár biztonsági rés befoltozását is jelenti).
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
A most aktuális Archiv
A most aktuális Archiv modul-ban benne van a tartalomtípusonként való szűrés, viszont nem találom a blokkban a honapok közti váltást. Most ott csak a decembert mutatja.
Tud erről valaki valamit ?
Hol lehet beállítani ?
...mit tudok: http://web.termuves.hu
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Alapvető különbség van!
1. Van a db_rewrite_sql. Ha én egy olyan lekérdezést csinálok, ami a node táblából kérdez le, és szeretném, hogy a Drupal hozzáfárás szabályozási rendszerén keresztül menjen akkor nekem a db_query függvény hívása előtt, a db_rewrite_sql függvényt meg kell hívnom. (ami végighivogatja a megfelelő modulok függvényeit és kiegészí az sql lekérdezésemet a megfelelő cuccokkal)
2. Ha én szeretnék ilyen lekérdezésekbe beépülni akkor meg kell valósítanom a hook_db_rewrite_sql kampót ahol aztán kibővíthetem az ilyen sqleket a saját hozzáférés szabályozásommal.
Én azt írtam a hiba máshol van mert 2. eset áll elő(ezt írtad Te is a második hozzászólásodban ;)) Te az első hozzászólásodban az 1. esetre hivatkoztál, mint pontosítás, holott szerintem pont az a zagyválás ;) Lehet rosszul értelmeztem a hozzászólásodat mindjárt elolvasom mégegyszer!
Natehát a kifogásolt rész:
a moder8 db_rewrite_sql() hívása okozza a problémát
Ez írtad pontosításkén az én következő mondatomra:
valamelyik másik modul nem megfelelően használja a db_rewrite_sql hívást.
Én azon problémázom, hogy nem a modr8 db_rewrite_sql hívása okozza a problémát, hanem valamelyik másik modul. Ebbe a hibás hívásba épül bele a modr8 a hook-kal, ami a hibát kiváltja.
Szóval ugyan arról beszélünk, de nekem van igazam :D
pp
Elvileg, de javíts ki, ha tévedek a node_comment_statistics táblával nem is lehetne db_rewrite_sql-t hívni :
$primary_table Name or alias of the table which has the primary key field for this query. Possible values are: {comments}, {forum}, {node}, {menu}, {term_data}, {vocabulary}.
Az már egy másik történet, hogy az alapértelmezett érték az 'n' ami ugye nincs itt a lehetésges értékek között :D Tehát valami nagyon nem úgy van ahogyan van. (na megyek forrást túrni, hogy választ kapjak a kérdésemre...)
Palócz István
https://palocz.hu | https://tanarurkerem.hu
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
A menük kezelésénél a
A menük kezelésénél a letilt opció választása a tartalom beküldésénél...
vagy ha ez nem működik, akkor tedd be egy külön menüblokkba (blokkok menüpontban létrehozol egyet) és ezt a blokkot nem jeleníted meg. Ennek működnie kell (én egyszer még az adminisztráció menüpontot is el tudtam tüntetni, még magam elől is! :D)
- - -
Juhász Márton
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
comment rewrite
A comment modulban a hozzászólások megjelenítése is lehet jogosultság függő (például hozzászólás egy általad nem látható node-hoz), ezért ott a statisztikát is ugyanúgy kell szűrni. Így van a node_comment_statistics táblán ilyen hívás. Elvileg bármilyen lekérdezésen lehet ilyen hívás, bár kétségtelen, hogy gyakorlatilag a felsorolt táblákra korlátozzák legtöbbször.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

Siker! Köszönöm szépen,
Siker!
Köszönöm szépen, a második módszer működött. Az első az sajna nem megy, mert nem ajánlja fel a "tiltást" a Tartalom beküldése menüpontnál.
Ha valakinek még esetleg ugyanez a baja lenne, annak leírom pontosan:
1. Adminisztráció -> Menük -> Menü hozzáadása (felső fülek közül)
2. Adsz neki egy címet, aztán beküldés.
3. Adminisztráció -> Menük -> Tartalom beküldése - Szerkeztés
4. Ott a szülő menüpontnál kiválasztod a 2. pontban megadott menü-t!
megj.: Alapesetben amikor létrehozol egy szimpla menüt, az még engedélyezetlen formában jelenik meg, szóval nem kell külön letiltanod a blokkoknál!
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
szerintem[!] nem jól használod az imagecachet
vagy én értek félre valamit, vagy rosszul írtad le mit csináltál vagy rosszul használod az imagecachet.
Usage:
...
add a
php print theme('imagecache', $ruleset_namespace, $image['filepath'], $alt, $title, $attributes)
to your tpl.php file where you would like the image to appear, where $alt, $title and $attributes are optional parameters.
kipróbáltam és nekem hibátlanul csinálja a dolgát így:
cck imagefield neve: imagefield
imagecache rule namespace: resize_100
imagecache folder: imagefield_files
print $node->content['body']['#value']; print theme('imagecache', 'resize_100', $node->field_imagefield[0]['filepath'], $node->field_imagefield[0]['alt'], $node->field_imagefield[0]['title'], null);
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Ne offolj!
Kérlek indíts ennek új témát, ne ide szemetelj!
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu