Abilita HTML di base nei post

Aperto da ibernet, Martedì - 02 Aprile 2013 - 10:21

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

ibernet

Buondì a tutti,
ho installato SMF 2.0.4 ed ho abilitato dal pannello admin il tag HTML, vedo però che è possibile utilizzare il tag solo se si è amministratori del forum e non c'è nessuna voce che permette di abilitare il tag a determinati gruppi.

Sapete dove e cosa posso modificare nei sorgenti per permettere l'utilizzo del tag anche a dei determinati gruppi?

Oppure riuscite a consigliarmi una mod affidabile?

Oppure ancora.. l'utilizzo dell'HTML mi serve perchè devo poter dare la possibilità a un gruppo utenti di scrivere questo:
<a href="file://server/cartella/file.estensione">Apri File Locale</a>

Con il bbcode "URL" non c'è verso di farlo funzionare, conoscete eventualmente una mod o un sistema che permetta l'inserimento di link a percorsi in locale senza l'utilizzo dell'HTML?

Thks

Darknico

Io te lo SCONSIGLIO, non è per niente sicuro abilitare altri utenti all'uso di html, vediamo se riusciamo a evitarlo :)

CitazioneOppure ancora.. l'utilizzo dell'HTML mi serve perchè devo poter dare la possibilità a un gruppo utenti di scrivere questo:
<a href="file://server/cartella/file.estensione">Apri File Locale</a>

Perchè non va? Basta scrivere la stessa cosa in bbcode, ovvero così:

[url=file://server/cartella/file.estensione]Apri File Locale[/url]

ecco il risultato:
Apri File Locale
Non supporto privatamente, non risponderei e ci rimarreste male....

ibernet

esatto avevo provato con questa soluzione solo che la stringa che viene restituita dall'URL è questa:

http://file//server/cartella/file.estensione

dopo "file" mancano i due punti e prima di file scrive HTTP:// di conseguenza avendo http davanti devo avere 5 slash per far funzionare il link

La cosa sarebbe risolvibile così:

[url=file://///server/cartella/file.estensione]Apri File Locale[/url]


Mettendo i 5 slash viene restituito questo link:
http://file/////server/cartella/file.estensione

Resta comunque il problema dei due punti.. ho provato di tutto ma non riesco a farli riconoscere..

ibernet

Ho applicato al forum questa guida:
http://custom.simplemachines.org/mods/index.php?action=parse

che permette di abilitare la scrittura in HTML ai gruppi prescelti tramite i permessi..

Se avete SMF 2.x l'ultima parte:

'report_any' => false,
'post_html' => false,


bisogna scriverla così:

'report_any' => array(false, 'post', 'participate'),
'post_html' => array(false, 'post', 'participate'),


Se qualcuno trova un modo per inserire dei link a percorsi locali senza usare l'html ben venga..
Thks

Darknico

Non supporto privatamente, non risponderei e ci rimarreste male....

ibernet

mm interessante.. sto facendo qualche prova ma ho qualche difficoltà

Su SMF 2.x nel file Subs-Post.php la stringa da modificare dovrebbe essere questa:
$found = strncasecmp($replace, $protocol . '://', strlen($protocol) + 3) === 0;
if ($found)
    break;


io ho modificato così, ma non funziona:
$found = strncasecmp($replace, $protocol . '://', strlen($protocol) + 3) === 0;
$foundFile = strncasecmp($replace, $protocol . 'file://', strlen($protocol) + 3) === 0;
if ($foundFile)
strncasecmp($replace = stristr($replace, 'file://'));
elseif ($found)
break;


Ho fatto anche qualche altra prova ma mi va sempre in errore, qualcuno di più esperto di me riesce a darmi una dritta?

emanuele

Perché non semplicemente provare ad aggiungere il protocollo nella funzione "fixTags"?

Da:
array(
'tag' => 'url',
'protocols' => array('http', 'https'),
'embeddedUrl' => true,
'hasEqualSign' => false,
),
// [url=http://...]name[/url]
array(
'tag' => 'url',
'protocols' => array('http', 'https'),
'embeddedUrl' => true,
'hasEqualSign' => true,
),
// [iurl]http://...[/iurl]
array(
'tag' => 'iurl',
'protocols' => array('http', 'https'),
'embeddedUrl' => true,
'hasEqualSign' => false,
),
// [iurl=http://...]name[/iurl]
array(
'tag' => 'iurl',
'protocols' => array('http', 'https'),
'embeddedUrl' => true,
'hasEqualSign' => true,
),


a:
array(
'tag' => 'url',
'protocols' => array('http', 'https', 'file'),
'embeddedUrl' => true,
'hasEqualSign' => false,
),
// [url=http://...]name[/url]
array(
'tag' => 'url',
'protocols' => array('http', 'https', 'file'),
'embeddedUrl' => true,
'hasEqualSign' => true,
),
// [iurl]http://...[/iurl]
array(
'tag' => 'iurl',
'protocols' => array('http', 'https', 'file'),
'embeddedUrl' => true,
'hasEqualSign' => false,
),
// [iurl=http://...]name[/iurl]
array(
'tag' => 'iurl',
'protocols' => array('http', 'https', 'file'),
'embeddedUrl' => true,
'hasEqualSign' => true,
),


Non credo sia l'unica cosa da cambiare, ma magari potrebbe anche essere...

ibernet

Purtroppo non basta..
Per l'utilizzo che ne dovrò fare io mi va bene anche attivare anche l'html di conseguenza non approfondisco..

Se qualcuno trova la soluzione ben venga..

Thks

ibernet

#8
Up, riuscite a darmi qualche altra dritta per poter gestire il tag HTML tramite permesso?
La modifica che avevo applicato sopra per gestire il tag via permesso non mi funziona più..
non ricordo se ai tempi funzionava :) ma il topic che spiegava come intervenire non esiste più..
ho come l'impressione che l'update a smf 2.07 abbia bloccato qualcosa

emanuele

In aggiunta a quanto ho suggerito sopra, c'è da fare qualche altra modifica.
Subs-Post.php:
Codice (cerca) Seleziona
if (!$found && $protocols[0] == 'http')
Codice (rimpiazza con) Seleziona
if (!$found && ($protocols[0] == 'http' || $protocols[0] == 'file'))

Subs.php:
Codice (cerca) Seleziona
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
Codice (rimpiazza con) Seleziona
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0 && strpos($data, \'file://\') !== 0)
Attenzione: questa modifica la dovrai fare 4 (quattro) volte: due volte per due varianti del tag url, una per il tag iurl ed un'ultima volta per iurl, ma in una forma leggermente diversa, al post del "if" iniziale troverai un "elseif", ovviamente usa il "elseif" anche nella nuova versione. ;)

ibernet

#10
Ciao Emanuele,
ho tentato le modifiche da te descritte e il risultato quando clicco è questo:
http://file//percorso di rete (es. server\cartella\cartella...)

tag inserito in questo modo:
[co de][u rl=http://file://server/cartella]testo visualizzato[/u rl][/cod e]

ho provato anche con gli / al contrario ma il risultato è il medesimo


Mi correggo! Ci sono riuscito... l'ultimo pezzo di codice è presente in 6-7 punti ed effettivamente va cambiato solo in 4 punti (ma in quelli giusti..)
il codice poi va inserito in questo modo:
[url=file://luxnt/extra/Manufacturing/Report_Istituzionali]test2[/url]

creo un file di installazione e lo condivido... (ci metterò un po' a farlo ma arriverà..)

Grazie mille!!!!

ibernet

Come non detto mi ci sono messo subito!
Emanuele di seguito il pacchetto di installazione..
All'interno è marchiato col nome del vostro sito (dato che la soluzione me l'hai data tu...)

Vedi tu se renderlo pubblico qui o direttamente su smf..

emanuele

Grande! :D
Sentiti libero di pubblicarlo tu stesso, nessun problema da parte mia. ;D
Anzi, mi faresti un piacere! (No tempo, no tempo! :( :'()

Discussioni simili (3)