Uutiset:

Wondering if this will always be free?  See why free is better.

Main Menu
Advertisement:

How to integrate GeSHiSmf with other themes?

Aloittaja e_har, tammikuu 09, 2007, 02:01:46 AP

« edellinen - seuraava »

e_har

Hi does anyone knows how to integrate GeSHiSmf with "orange-lt05" theme?

I've got no problems with the default and classic themes.....
I've always failed on the Post.template.php.

Just that i am not sure what to change...
Any help would be greatly appreciated. Thanks in Advance...


Daniel15

Hello, and welcome to the forums! :D
The easiest way to do this is to upload the package to my package parser (see the link in my signature). Choose the Show theme edits option, and it will tell what you need to edit.
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

e_har

#2
Thanks for the welcome.

But sorry dude, i've got this error when i use ur script...

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/smf/package.php:73 Stack trace:
#0 /var/www/smf/package.php(73): SimpleXMLElement->__construct('')
#1 /var/www/smf/package.php(49): parsePackageInfoXML('/tmp/smf_xml/pa...', 'install', 'all')
#2 /var/www/smf/package.php(631): parseArchive('/tmp/php6krXf1', 'install', 'all')
#3 {main} thrown in /var/www/smf/package.php on line 73

Daniel15

#3
It seems to be a problem with how the mod is archived (it's inside a folder)...
So, I'll post the steps here for you:
In Themes/[theme name]/style.css, find:

/* The main post box - this makes it as wide as possible. */

Add before:

.geshi {
color: #000000;
background-color: #ccceec;
font-family: monospace;
font-size: 1.2em;
border: 1px solid #000000;
margin: 1px auto 1px auto;
padding: 1px;
width: 99%;
overflow: auto;
white-space: pre;
max-height: 24em;
}


Themes/[theme name]/Post.template.php, find:

foreach ($context['bbc_tags'][0] as $image => $tag)
{
// Is there a "before" part for this bbc button? If not, it can't be a button!!
if (isset($tag['before']))
{
// Is this tag disabled?
if (!empty($context['disabled_tags'][$tag['code']]))
continue;

$found_button = true;

// If there's no after, we're just replacing the entire selection in the post box.
if (!isset($tag['after']))
echo '<a href="javascript:void(0);" onclick="replaceText(\'', $tag['before'], '\', document.forms.', $context['post_form'], '.', $context['post_box_name'], '); return false;">';
// On the other hand, if there is one we are surrounding the selection ;).
else
echo '<a href="javascript:void(0);" onclick="surroundText(\'', $tag['before'], '\', \'', $tag['after'], '\', document.forms.', $context['post_form'], '.', $context['post_box_name'], '); return false;">';

// Okay... we have the link. Now for the image and the closing </a>!
echo '<img onmouseover="bbc_highlight(this, true);" onmouseout="if (window.bbc_highlight) bbc_highlight(this, false);" src="', $settings['images_url'], '/bbc/', $image, '.gif" align="bottom" width="23" height="22" alt="', $tag['description'], '" title="', $tag['description'], '" style="background-image: url(', $settings['images_url'], '/bbc/bbc_bg.gif); margin: 1px 2px 1px 1px;" /></a>';
}
// I guess it's a divider...
elseif ($found_button)
{
echo '<img src="', $settings['images_url'], '/bbc/divider.gif" alt="|" style="margin: 0 3px 0 3px;" />';
$found_button = false;
}
}


Add after:

// Print a drop down list for all the GeSHi-languages we "allow"!
if (!isset($context['disabled_tags']['color']))
echo ' <select onchange="surroundText(\'[code=\' + this.options[this.selectedIndex].value.toLowerCase() + \']\', \'[ /code]\', document.forms.', $context['post_form'], '.', $context['post_box_name'], '); this.selectedIndex = 0; document.forms.', $context['post_form'], '.', $context['post_box_name'], '.focus(document.forms.', $context['post_form'], '.', $context['post_box_name'], '.caretPos);" style="margin-bottom: 1ex;">
<option value="" selected="selected">GeSHi</option>
<option value="actionscript-french"> Actionscript-French </option>
<option value="actionscript"> Actionscript </option>
<option value="ada"> Ada </option>
<option value="apache"> Apache Log </option>
<option value="applescript"> AppleScript </option>
<option value="asm"> ASM </option>
<option value="asp"> ASP </option>
<option value="bash"> Bash </option>
<option value="caddcl"> CAD DCL </option>
<option value="cadlisp"> CADLisp </option>
<option value="c_mac"> C for Macs </option>
<option value="c"> C </option>
<option value="cpp"> C++ </option>
<option value="csharp"> C# </option>
<option value="css"> CSS </option>
<option value="delphi"> Delphi </option>
<option value="diff"> Diff </option>
<option value="div"> DIV </option>
<option value="dos"> DOS </option>
<option value="d"> D </option>
<option value="eiffel"> Eiffel </option>
<option value="freebasic"> FreeBasic </option>
<option value="gml"> GML </option>
<option value="html4strict"> HTML4 Strict </option>
<option value="ini"> INI </option>
<option value="inno"> Inno </option>
<option value="java"> Java </option>
<option value="javascript"> Javascript </option>
<option value="lisp"> Lisp </option>
<option value="lua"> Lua </option>
<option value="matlab"> Matlab </option>
<option value="mpasm"> Microprocessor ASM </option>
<option value="nsis"> MSIS </option>
<option value="objc"> Objective C </option>
<option value="ocaml-brief"> OCaml-Brief </option>
<option value="ocaml"> OCaml </option>
<option value="oobas"> OpenOffice Basic </option>
<option value="oracle8"> Oracle 8 SQL </option>
<option value="pascal"> Pascal </option>
<option value="perl"> Perl </option>
<option value="php-brief"> PHP-Brief </option>
<option value="php"> PHP </option>
<option value="python"> Python </option>
<option value="qbasic"> Q(uick)BASIC </option>
<option value="ruby"> Ruby </option>
<option value="scheme"> Scheme </option>
<option value="sdlbasic"> SDLBasic </option>
<option value="smarty"> Smarty </option>
<option value="sql"> SQL </option>
<option value="vbnet"> Visual BASIC .NET </option>
<option value="vb"> Visual BASIC </option>
<option value="vhdl"> VHDL </option>
<option value="visualfoxpro"> Visual Fox Pro </option>
<option value="xml"> XML </option>
</select>';

Note: Replace [ /code] with [/code] in the above code
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

e_har

Thanks dude...but don't i need to add something in the install.xml???
<file name="$boarddir/Themes/[theme name]/style.css">
...

So sorry for asking so much questions... ;D

Daniel15

You don't need to add it to the install.xml. After installing the mod, you edit the files for your theme manually.
Note that if your theme doesn't have a Post.template.php file, you don't need to do anything ;)
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

e_har

Oh silly me...i modified the files then installed the MODs...will there be any problem???

Daniel15

Seeing as it's a custom theme, there shouldn't be any problems (mods don't usually touch any themes).
Check your theme (more specifically, the New Topic or reply page), and see if it works :)
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

e_har

#8
Sorry, after i did exactly what you did...i have this error

Fatal error: Cannot instantiate non-existent class: geshi in <myserver>/community/Sources/Subs.php(1181) : runtime-created function on line 15

Daniel15

LainaaSorry, after i did exactly what you did...i have this error
It seems like some people are having this problem... The solution is to make sure the geshi directory was extracted correctly. In your Sources directory, there should be a geshi directory. In this directory, there should be a 'geshi.php' file, and a geshi directory (ie. Sources/geshi/geshi). If these don't exist, reupload them (from the archive).
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

e_har

Thanks a lot Daniel15. You're absolutely spot on. It's exactly what you said.

Advertisement: