vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   Change how Code Tags work? (https://vborg.vbsupport.ru/showthread.php?t=206446)

Simon Lloyd 02-24-2009 10:02 AM

Change how Code Tags work?
 
Hi all,
I'm new here, i have very little php or html experience (i have owned a vbulletin forum since August) but i am learning fast and can perform whatever i am instructed to.

What i would like to do is change keywords found in the # code tags box, so instead of this:

Code:

Sub change()
for each r in range
if r = 0 then
msgbox "hello"
if r = 1 then
msgbox "goodbye"
end if
end if
next
end sub

i would like it to look like this:

Code:

Sub change()
For Each r In Range
>>>If r = 0 Then
>>>>>Msgbox "hello"
>>>>>>If r = 1 Then
'Show a message to the user
>>>>>>>>Msgbox "goodbye"
>>>>>>End If
>>>End If
Next
End Sub

Of course the above would be without the white chevrons, i had to use them to indent the code.

Here are my lists:
$bodykeywords=array("Application","AddressOf","Alias","And","An y","As","Binary","Boolean","ByRef",
"Byte","ByVal","Call","Case","CBool","CByte","CCur ","CDate","CDbl","CInt","CLng","Close","Const" ,
"CSng","CStr","Currency","CVar","CVErr","Date","De bug","Declare","DefBool","DefByte","DefCur",
"DefDate","DefDbl","DefInt","DefLng","DefObj","Def Sng","DefStr","DefVar","Dim","Do","Double"
,"Each","Else","End","Enum","Eqv","Erase","Error", "Event","Exit","For","Friend","Function","Get" ,
"Global","GoSub","GoTo","If","Imp","Implements","I n","Input","Integer","Is","LBound","Len","Let",
"Lib","Like","Line","Lock","Long","Loop","LSet","M od","Msgbox","Name","New","Next","Not","Nothing" ,
"Null","Object","On","On Error Resume Next","Open","Option Base 1","Option Compare Binary",
"Option Compare Database","Option Compare Text","Option Explicit","Option Private Module","Optional","Or","Output","ParamArray","Pre serve","Print","Private","Property","Public","Put" ,
"RaiseEvent","Random","Read","ReDim","Resume","Ret urn","RSet","Seek","Select","Set","Single","Spc",
"Static","Step","Stop","String","Sub","Tab","Then" ,"To","Type","UBound","Unlock","Variant","Wend","W hile"
"With","WithEvents","Write","Xor");

$indentkeywords = array("Then","Do","For Each","For","Else" "ElseIf","Do","Select Case","Case");

$unindentkeywords=array("End","Next","Else","ElseIf","End If","End Select","End Sub","Wend","Loop","Case Else","Case");

All the above keywords when found inside the code tags should be blue, any text found on the same line after ' should be green.

The indent keywords should indent like my second example only returning to the begining of a line if an unindent keyword is found or only indenting another line when another indent keyword is found.

If any keywords are found between quotes " then that text should remain black.

I have installed GeSHi which highlights the code if i use a custom tag but it doesn't indent or replace the words for the words in the list (proper case).

Is this possible with php, javascript and or CSS?

Kind regards,
Simon

TigerC10 02-24-2009 05:36 PM

Have you looked at any of these mods? The first one there says it works with visual basic, which is the code you want highlighted, right?

https://vborg.vbsupport.ru/showthread.php?t=199819

https://vborg.vbsupport.ru/showthread.php?t=182422

https://vborg.vbsupport.ru/showthread.php?t=93071

https://vborg.vbsupport.ru/showthread.php?t=67329

Simon Lloyd 02-24-2009 08:35 PM

Tiger, thanks for that i am subscribed to the 3rd one, i installed it but it doesn't indent ot change the keywords to the propercase like the ACTUAL keyword, i'll take a look at the others but there is a lot of coding to change with them, it would be a minefield to uninstall!

TigerC10 02-24-2009 09:18 PM

The first one looks like it indents, and has no file changes... Plus there's Visual Basic like you want...

Simon Lloyd 02-24-2009 11:05 PM

Quote:

Originally Posted by TigerC10 (Post 1753697)
The first one looks like it indents, and has no file changes... Plus there's Visual Basic like you want...

Yep i'll take a look at it but it may only indent for php (they all seem to cater for that), i really appreciate you taking the time to find those for me. :)

TigerC10 02-25-2009 01:48 AM

At the very least, they keep the indents in there instead. May not automagically do it, but it should preserve them.

Simon Lloyd 02-25-2009 03:09 AM

Quote:

Originally Posted by TigerC10 (Post 1753824)
At the very least, they keep the indents in there instead. May not automagically do it, but it should preserve them.

Thats the problem, most people who post code have no idea about indenting or why, i have see what i want done at vbaexpress.com, if you enter code then wrap it in tags it colours the keywords, replaces them for the proper case and indents/unindents.

TigerC10 02-25-2009 04:34 AM

They use the the <PRE> tags to preserve the spaces, which means that it's being stored in the post with the spaces in there. That means that on submit, the code tag is being parsed and using some regex thing they're auto-formatting it.

When you have code that doesn't have appropriate space formatting, it's called "obfuscated" code. You should look into some de-obfuscating algorithms. If you can find something like that, it shouldn't be too hard to work into a hook.

Simon Lloyd 02-25-2009 05:55 AM

Quote:

Originally Posted by TigerC10 (Post 1753931)
They use the the <PRE> tags to preserve the spaces, which means that it's being stored in the post with the spaces in there. That means that on submit, the code tag is being parsed and using some regex thing they're auto-formatting it.

When you have code that doesn't have appropriate space formatting, it's called "obfuscated" code. You should look into some de-obfuscating algorithms. If you can find something like that, it shouldn't be too hard to work into a hook.

Lol, thanks, however i know very little about php or html so i have no idea what to do, where to start or even what to use!

Thanks for all the information, it does give me other avenues to search.

--------------- Added [DATE]1235549675[/DATE] at [TIME]1235549675[/TIME] ---------------

I installed the first one in your list and it doesn't work at all!

Simon Lloyd 02-27-2009 08:25 AM

Any further help with this?, i have a list of delimiters too!

Simon Lloyd 03-02-2009 02:09 PM

**Bump**


All times are GMT. The time now is 04:59 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01156 seconds
  • Memory Usage 1,749KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (11)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete