Ciao,
Sto scrivendo un modulo rubrica ma il modulo è funzionante solo come admin.
Ho configurato nei hook_menu i privilegi, li ho assegnati ma ... nella pagine dove genero delle tabelle i dati non sono visibili ai comuni mortali.
Non ricevo messaggi di errore di accesso!!
Chi ha idee??
Grazie Uccio
dovresti configurare:
E prima di caricare la pagina controlli il permesso.
PS: ma ti da accesso negato?
--
Drupal e Siti Web Torino
Blog: Computer Graphics
la funzione della pagina è
mentre hook permission è:
oltre che nei menu ho delle robe del tipo
Il problema è che non mi da accesso negato ma nasconde la tabella dei risultati
Uccio
Uccio
Il mio sito con drupal
Fammi capire:
questo $content .= " $sql_query "; lo visualizza...... visualizza anche il pager ma non la tabella?
io vedo :
1 le scritte
2 header della tabella
3 il pager con il numero di pagine
una cosa tipo:
main function
SELECT id, name, company, email, tel, mob from sk_addressbook ORDER BY company ASC
Company Name Email Phone Mobile [L'header]
......il pager......
ma se sono admin vedo anche il contenuto della tabelle (le righe!)
Uccio
Il mio sito con drupal
Strano, vedendo il tuo codice al volo, non mi sembra di vedere errori. Oltretutto, se dai i diritti a "anonimus" di fare "use addressbook", direi che dovresti vedere tutto, visto che i diritti sono sulla chiamata di callback, che nel tuo caso è la funzione sk_addressbook_main().
Oltretutto all'interno di essa non ci sono richiami ad altre funzioni esterne, al di la delle api.
Ora devo uscire, ma se non riesci a risolvere in serata, poi (se lo desideri), mandarmi il modulo e faccio una prova da me in locale..... però, non prima delle 22
Tra l'altro, io uso codice molto molto simile e non vedo distinzioni tra quello che fai tu e quello che solitamente faccio io (a parte il filtro sulla query):
Ciao
Gianni
piccola scoperta
Se aggiungo all'utente il privilegio "adminster node " vedo la tabella!!
Suggerimenti?
Uccio
Il mio sito con drupal
per favore, posta tutta la funzione di hook_menu e tutta la hook_perm....... o, ancora meglio, tutto il modulo (non penso ci saranno "segreti industriali" in un modulo agend ;-) )
Ho provato in questo momento con un normalissimo modulo fatto in casa e i permessi/visualizzazioni mi vanno alla grande.
Ciao
Gianni
[OT]Per piacere quando inserite codice PHP usate il pulsantino apposito (PHP) e non CODE, rende molto più leggibile il codice (avendo l'evidenzazione della sintassi).[/OT]
Ciao
Marco
--
My blog
Working at @agavee
OK.... ricevuto ;-)
Ciao Uccio... ho provato il modulo e a me funziona perfettamente. Nel dubbio ho anche tolto ogni permesso all'utente anonimo, di ogni modulo, lasciando solo quello di "use addressbook" del tuo modulo. Mi sono disconnesso e mi funziona tutto, vedo i record inseriti, anche andando sulle singole lettere o vedendone il dettaglio.
Prova ad installare una versione "pulita" di drupal 5.1 in una nuova directory.... poi prova ad installare il tuo modulo e vedrai che funziona.
Il menu, nella sezione delle lettere, "comprimilo" con un codice simile a questo sotto:
Ok
Smontando il tutto ho trovato il perchè!!
Il modulo gira su installazione di drupal che usa tassionomy_access che controllando la generazione delle pagine e mi uccide il contenuto della tabella a meno che l'utente non abbia il permesso di "View" su "Uncategorized nodes"
Si puo camuffare il contenuto in qualche modo perchè venga visto categorizzato? ...forse è una follia
Uccio
Uccio
Il mio sito con drupal
Non sono andato a vedere il funzionamento di tassionomy_access, tuttavia il suo funzionamento è al quanto curioso: si parla di permesso di "View" su "Uncategorized nodes", ma il tuo NON è un nodo, ma una tabella all'interno di drupal, interrogata tramite api. Quindi, negare la visualizzazione della tabella è un comportamento anomalo di tassionomy_access che dovrebbe limitarsi unicamente ai nodi e alle sue categorie. Tutto IMO
Ciao
Gianni
Correzione,
Non ho risolto nulla la cosa ha funzionato poco (suppongo copie cache non so bene dove) e non sono riuscito a farmi dare la pagina!!
Nel frattempo ho scopero che avevo alcune incoerenze nel db ma non servono a risolvere il mio problema.
Uccio
Il mio sito con drupal
Prova a togliere il db_rewrite_sql da questa riga:
Diventerebbe:
Fammi sapere
Ciao
Gianni
Forse ci siamo,
Il primo esperimento su un db di prova sembra promettere bene, la cosa interessante e comunque questa:
La query con il db_rewrite_sql diventa:
SELECT id, name, company, email, tel, mob from sk_addressbook where type like 'skylogic' INNER JOIN {node_access} na ON na.nid = n.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 1 AND na.realm = 'term_access'))) ORDER BY company ASC
Che direi che non puo avere dati!!!
Per il momento Grazie di tutto, adesso ci lavoro un po sopra!!
Uccio
Il mio sito con drupal
Perfetto l'arcano è proprio questo!!
Il DB_Rewrite protegge i dati come se provenissero da un oggetto di tipo NODO che ovviamente ha tutti i parametri necessari per poter essere creata.
Grazie Uccio
Uccio
Il mio sito con drupal