coppermine-gallery.com/forum

Support => Français (French) => Language Specific Support => cpg1.4.x Français (French) => Topic started by: mirtilb on May 29, 2006, 08:03:54 AM

Title: Lien interne dans "Description" de l'album
Post by: mirtilb on May 29, 2006, 08:03:54 AM
Bonjour !

J'utilise régulièrement la balise [url] pour mettre des liens vers une autre page depuis Coppermine. Mais dans certains cas, je souhaiterais que ce lien cliqué arrive... sur la même page ! Ou la remplace koi, comme vous préférez...

On peut ajouter un truc du genre _self ?

merki beaucoup d'avance  :)
Title: Re: Lien interne dans "Description" de l'album
Post by: mirtilb on June 07, 2006, 03:46:48 AM
SVP... quelqu'un à des idées ? puis-je modfier le ... (//http://)  ?
Title: Re: Lien interne dans "Description" de l'album
Post by: Pascal YAP on June 07, 2006, 07:04:52 AM
Bonjour,

Quoteje souhaiterais que ce lien cliqué arrive... sur la même page ! .. On peut ajouter un truc du genre _self ?
Je n'ai pas essayé ! Et vous avez-vous essayé ?

PYAP
Title: Re: Lien interne dans "Description" de l'album
Post by: Titooy on June 07, 2006, 02:29:00 PM
Il faut modifier la fonction bb_decode($text) dans le fichier <cpg>/include/finctions.inc.php mais je ne sais pas comment, il faudrait regarder plus en détail...
Title: Re: Lien interne dans "Description" de l'album
Post by: mirtilb on June 14, 2006, 01:12:15 AM
Me revoilà !
Je souhaiterais avoir le choix d'un url ouvrant une page ou dans la même...
Faut-il que je créé un nouveau BBcode ? Ou y a t-il une manipulation plus simple ?

voici le code:

// Taken from phpBB code
function bb_decode($text)
{
        $text = nl2br($text);

        static $bbcode_tpl = array();
        static $patterns = array();
        static $replacements = array();

        // First: If there isn't a "[" and a "]" in the message, don't bother.
        if ((strpos($text, "[") === false || strpos($text, "]") === false))
        {
                return $text;
        }

        // [b] and [/b] for bolding text.
        $text = str_replace("[b]", '<b>', $text);
        $text = str_replace("[/b]", '</b>', $text);

        // [u] and [/u] for underlining text.
        $text = str_replace("[u]", '<u>', $text);
        $text = str_replace("[/u]", '</u>', $text);

        // [i] and [/i] for italicizing text.
        $text = str_replace("[i]", '<i>', $text);
        $text = str_replace("[/i]", '</i>', $text);

        // colours
        $text = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+)\]/", '<span style="color:$1">', $text);
        $text = str_replace("[/color]", '</span>', $text);

        // [i] and [/i] for italicizing text.
        //$text = str_replace("[i:$uid]", $bbcode_tpl['i_open'], $text);
        //$text = str_replace("[/i:$uid]", $bbcode_tpl['i_close'], $text);

        if (!count($bbcode_tpl)) {
                // We do URLs in several different ways..
                $bbcode_tpl['url']  = '<span class="bblink"><a href="{URL}" target="_blank">{DESCRIPTION}</a></span>';
                $bbcode_tpl['email']= '<span class="bblink"><a href="mailto:{EMAIL}">{EMAIL}</a></span>';

                $bbcode_tpl['url1'] = str_replace('{URL}', '\\1\\2', $bbcode_tpl['url']);
                $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1\\2', $bbcode_tpl['url1']);

                $bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
                $bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url2']);

                $bbcode_tpl['url3'] = str_replace('{URL}', '\\1\\2', $bbcode_tpl['url']);
                $bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url3']);

                $bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
                $bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['url4']);

                $bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']);

                // [url]xxxx://www.phpbb.com[/url] code..
                $patterns[1] = "#\[url\]([a-z]+?://){1}([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+\(\)]+)\[/url\]#si";
                $replacements[1] = $bbcode_tpl['url1'];

                // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
                $patterns[2] = "#\[url\]([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+\(\)]+)\[/url\]#si";
                $replacements[2] = $bbcode_tpl['url2'];

                // [url=xxxx://www.phpbb.com]phpBB[/url] code..
                $patterns[3] = "#\[url=([a-z]+?://){1}([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+\(\)]+)\](.*?)\[/url\]#si";
                $replacements[3] = $bbcode_tpl['url3'];

                // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
                $patterns[4] = "#\[url=([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+\(\)]+)\](.*?)\[/url\]#si";
                $replacements[4] = $bbcode_tpl['url4'];

                // [email]user@domain.tld[/email] code..
                $patterns[5] = "#\[email\]([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
                $replacements[5] = $bbcode_tpl['email'];

                // [img]xxxx://www.phpbb.com[/img] code..
                $bbcode_tpl['img']  = '<img src="{URL}" >';
                $bbcode_tpl['img']  = str_replace('{URL}', '\\1\\2', $bbcode_tpl['img']);

                $patterns[6] = "#\[img\]([a-z]+?://){1}([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+\(\)]+)\[/img\]#si";
                $replacements[6] = $bbcode_tpl['img'];

        }

        $text = preg_replace($patterns, $replacements, $text);

        return $text;
}


je souhaiterais avoir le choix d'un url ouvrant une page ou dans la même...
Faut-il que je créé un nouveau BBcode ? Ou y a t-il une manipulation plus simple ?
Title: Re: Lien interne dans "Description" de l'album
Post by: mirtilb on June 14, 2006, 07:01:50 PM
je crois qu'il s'agit de cette ligne :

                $bbcode_tpl['url']  = '<span class="bblink"><a href="{URL}" target="_blank">{DESCRIPTION}</a></span>';

avec le "_blank".
Puis je écrire une ligne quasi identique en dessous avec mon "_self" ?
genre :

                $bbcode_tpl['url2']  = '<span class="bblink"><a href="{URL}" target="_self">{DESCRIPTION}</a></span>';