Problema con mod Links directory lite

Started by cluaudiuzz, January 12, 2013, 09:32:53 AM

Previous topic - Next topic

cluaudiuzz

Salve,
ho un problema con questa mod http://custom.simplemachines.org/mods/index.php?mod=3081
I problemi sono relativi alla cancellazione dei links non approvati e dei commenti, mi spiego meglio:
Primo problema:
Nella pagina principale LINKS appare l'elenco delle categorie (che io ho creato) e il numero dei link presente al loro interno.
Gli utenti per inserire un link devono avere la mia approvazione, succede che se ad esempio nella categoria, si hanno O links quando non approvo un link e lo elimino mi esce -1.
Oppure altro esempio se approvo un link mentre un altro lo elimino mi esce 0. Questo conteggio però è totalmente sballato visto che nella categoria c'è sempre un link.
Secondo problema:
quando cerco di eliminare un link devo prima aprirlo e poi cliccare sul tasto elimina, mentre se clicco direttamente sul tasto elimina mi esce un errore tipo : Sessione di verifica fallita. Prova a scollegarti, tornare indietro e tentare di nuovo.
Stesso problema nel caso in cui cerco di cancellare i commenti.

Ho la versione smf 2.0.3. quindi mod compatibile
I permessi di questa mod sono impostati così:
        Manage Links Directory: non consentire         
   View Links Directory   :consenti   
   Add Links   :consenti   
   Edit Own Links   :consenti   
   Delete Own Links: consenti   
   Auto Approve Links:  non consentire            
   Comment Links:consenti   
   View Comments:consenti   

Non so se sono problemi a livello di codice. Attendo vostre info
Claudio

emanuele

Entrambi sono bug del mod... (ed a giudicare dal topic di supporto (e da altri fattori) dubito verranno mai corretti).

1) apri LinksAdd.php, verso il fondo trovi:
    // Update the category
$dbresult = $smcFunc['db_query']('', '
    UPDATE {db_prefix}links_categories
    SET total_links = total_links - 1
    WHERE id_cat = {int:cat}
    LIMIT 1',
        array(
           'cat' => $row['cat_id'],
        )
    );


cambialo in:
    // Update the category
  if ($row['approved'] != 0)
$dbresult = $smcFunc['db_query']('', '
UPDATE {db_prefix}links_categories
SET total_links = total_links - 1
WHERE id_cat = {int:cat}
LIMIT 1',
array(
'cat' => $row['cat_id'],
)
);


2) In LinksAdmin.template.php cerca:
<a href="'.$scripturl.'?action=links;sa=delete;lid=', $link['id_link'], ';approval" title="'.$txt['delete'].'"><img src="'.$settings['images_url'].'/buttons/delete.gif" alt="'.$txt['delete'].'" valign="middle" /></a>
e rimpiazzalo con:
<a href="'.$scripturl.'?action=links;sa=delete;lid=', $link['id_link'], ';approval;', $context['session_var'], '=', $context['session_id'], '" title="'.$txt['delete'].'"><img src="'.$settings['images_url'].'/buttons/delete.gif" alt="'.$txt['delete'].'" valign="middle" /></a>


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Purtroppo dopo le modifiche, se tento di cancellare/modificare o approvare  un link che mi è stato proposto ho questo errore:

Fatal error: Call to undefined function links_delete_verify() in /home/mionome/public_html/Sources/Links.php on line 92

Scorrendo il file Links.php, ho visto che la linea 92 è vuoto cmq credo che si riferisca a questa porzione di codice che termina con la linea 91  ???:
// Add, Edit, Delete Links and Categories

                'add' => array('LinksAdd.php', 'links_add'),

        'addverify' => array('LinksAdd.php', 'links_add_verify'),

                'edit' => array('LinksAdd.php', 'links_edit'),

                'editverify' => array('LinksAdd.php', 'links_edit_verify'),

                'delete' => array('LinksAdd.php', 'links_delete_verify'),

                'addcat' => array('LinksCat.php', 'links_category_add'),

        'addcatverify' => array('LinksCat.php', 'links_category_add_verify'),

        'editcat' => array('LinksCat.php', 'links_category_edit'),

        'editcatverify' => array('LinksCat.php', 'links_category_edit_verify'),

                'deletecat' => array('LinksCat.php', 'links_category_delete'),

                'deletecatverify' => array('LinksCat.php', 'links_category_delete_verify'),

        'categories' => array('LinksAdmin.php', 'links_categories'),


Cosa ne pensi Emanuele?

emanuele

Che hai qualche problema da qualche parte...
La linea 92 non è vuota nel file che ho io, contiene:
    $subActions[$_REQUEST['sa']][1]();
Sicuro di non aver toccato il file Links.php o aver erroneamente svuotato il file LinksAdd.php?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Non riesco a capire perchè dopo aver modificato il file LinksAdd.php, mi appare tutto il codice disposto su un unica linea, ovvero tutto il codice appare disposto sulla linea 1

emanuele

O_O
...che editor hai usato (o stai usando) per modificare il file?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.


emanuele

Prova a controllare di avere impostato il fine linea "unix" e non windows (potrebbe essere questo).
Ma in ogni caso ti consiglierei di ripristinare il file originale e ripetere le modifiche.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Quote from: emanuele on January 14, 2013, 03:28:03 PM
Prova a controllare di avere impostato il fine linea "unix" e non windows (potrebbe essere questo).

Dove si vede questa impostazione?

Quote from: emanuele on January 14, 2013, 03:28:03 PM
Ma in ogni caso ti consiglierei di ripristinare il file originale e ripetere le modifiche.

Praticamente quando lo modifico e lo salvo sul PC, lo salva bene ma quando lo trasferisci via ftp e poi lo riapro, apre tutto il codice su un'unica linea.

emanuele

Quote from: cluaudiuzz on January 15, 2013, 06:19:31 AM
Quote from: emanuele on January 14, 2013, 03:28:03 PM
Prova a controllare di avere impostato il fine linea "unix" e non windows (potrebbe essere questo).

Dove si vede questa impostazione?
Non saprei...immagino ci sia, ma ho sempre evitato notepad++ perché non mi piace, quindi non lo conosco.

Quote from: cluaudiuzz on January 15, 2013, 06:19:31 AM
Quote from: emanuele on January 14, 2013, 03:28:03 PM
Ma in ogni caso ti consiglierei di ripristinare il file originale e ripetere le modifiche.

Praticamente quando lo modifico e lo salvo sul PC, lo salva bene ma quando lo trasferisci via ftp e poi lo riapro, apre tutto il codice su un'unica linea.

mmm...allora è decisamente un problema di "fine linea".
Potrei immaginare che N++ lo imposta a Win ed il tuo client ftp lo converte in Unix.
Cosa usi come ftp?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Io usa Filezilla , nel caso potresti consigliarmi l'editor che usi tu in modo tale che apro il file con quello ed eventualmente posso controllare il fine linea....

emanuele

Ricordati, se non l'hai già fatto, di togliere la spunta tra le opzioni di filezilla a "tratta file senza estensione come ascii"! (operazione fondamentale se hai un qualunque allegato e vuoi fare un backup)

Beh, io uso Kate, ma non so se ti va di trasferirti a linux (supponendo tu stia usando windows) solo per l'editor di testo... :P


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Allora Emanuele ho trovato la funzione su notepad++ converti fine linea.
Era impostata su MAC ora l'ho cambiato in windows e ho risolto parzialmente il problema.
Infatti mi fa eliminare i link che non voglio approvare, ma  continua a sottrarli dal conteggio totale. Quindi se avevo un link e cancello un altro il risultato è 0

emanuele

Quote from: cluaudiuzz on January 15, 2013, 11:20:40 AM
Era impostata su MAC
Yup! Anche peggio di quel che pensassi allora! :P
Consiglio spassionato se ci lavori solo tu usa quello che vuoi, ma per consistenza io ti suggerirei di usare unix.

mmm...l'avevo provato e sembrava funzionare...
Io ho inserito un link non approvato (il conteggio della categoria non incrementa), quindi l'ho cancellato come admin senza approvarlo ed il conteggio resta sempre quello...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

cluaudiuzz

Si hai ragione Emanuele funziona tutto....
L'unico piccolo inconveniente è che per poter vedere i cambiamenti nel conteggio dei link in una categoria quando vi sono variazioni come cancellazioni e aggiunte, si deve cancellare la cache del browser.
Grazie ancora..

Advertisement: