coppermine-gallery.com/forum

Support => cpg1.4.x Support => Older/other versions => cpg1.4 themes/skins/templates => Topic started by: Hanna. on December 15, 2007, 02:40:44 AM

Title: add bbcodes
Post by: Hanna. on December 15, 2007, 02:40:44 AM
i know i can choose a category album from a album in the category in the settings there..when i click on the help file a window showes up and this is what it says:

bbcode help
# You can add clickable links and some formating to this field by using bbcode tags: [b]Bold[/b] => Bold
# [i]Italic[/i] => Italic
# [url=http://yoursite.com/]Url Text[/url] => Url Text
# [email]user@domain.com[/email] => user@domain.com
# [color=red]some text[/color] => some text
# [img]http://coppermine.sf.net/demo/images/red.gif[/img] =>


how can i add codes like left/right/center stuff in this? thanks in advance
Title: Re: add bbcodes
Post by: Joachim Müller on December 15, 2007, 12:24:48 PM
Only if you code them in. The place to add them is include/functions.inc.php
However, you may want to take a look at the MiniCMS plugin instead.
Title: Re: add bbcodes
Post by: Hanna. on December 15, 2007, 04:16:48 PM
Quote from: GauGau on December 15, 2007, 12:24:48 PM
However, you may want to take a look at the MiniCMS plugin instead.

& where can I find that?
Title: Re: add bbcodes
Post by: Hanna. on December 15, 2007, 04:46:27 PM
Ok. Installed, but it seems like I can't put all the created cats into one cat. :S
Title: Re: add bbcodes
Post by: Hanna. on January 08, 2008, 09:06:30 PM
Quote from: Joachim Müller on December 15, 2007, 12:24:48 PM
Only if you code them in. The place to add them is include/functions.inc.php

This must be the thing in functions.inc.php - right?

/**
* bb_decode()
*
* @param $text
* @return
**/

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}" rel="external">{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}" alt="" />';
                $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;
}


What do I need to create a left div thing. So the [ img ] will float on to the left. Like this:
[Edit GauGau] Replaced hotlinked image with attachment [/Edit]
Title: Re: add bbcodes
Post by: Hanna. on January 09, 2008, 09:44:06 PM
Anyone? :(
Title: Re: add bbcodes
Post by: Joachim Müller on January 10, 2008, 08:15:52 AM
What you ask is beyond of what you can expect from free support. This can not be done easily: it needs thinking, coding, testing, bug hunting, some more testing and finally coming up with a custom hack. If you need it: code it or hire someone to code it for you. If you can't do that, run with what you have already.

Usually (if nobody answers your question), nobody knows the answer or nobody wants to answer...
Title: Re: add bbcodes
Post by: Hanna. on January 11, 2008, 07:38:01 PM
I tried adding "left" as the "b" was added for the bold text but I can't get it to work :(
Title: Re: add bbcodes
Post by: Joachim Müller on January 12, 2008, 10:37:23 AM
So what? Did you read my previous reply? Did you understand what I was saying? What's the point of your last posting?