Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)

Reply
 
Thread Tools Display Modes
  #1  
Old 02-24-2009, 10:02 AM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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
Reply With Quote
  #2  
Old 02-24-2009, 05:36 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #3  
Old 02-24-2009, 08:35 PM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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!
Reply With Quote
  #4  
Old 02-24-2009, 09:18 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The first one looks like it indents, and has no file changes... Plus there's Visual Basic like you want...
Reply With Quote
  #5  
Old 02-24-2009, 11:05 PM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TigerC10 View Post
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.
Reply With Quote
  #6  
Old 02-25-2009, 01:48 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

At the very least, they keep the indents in there instead. May not automagically do it, but it should preserve them.
Reply With Quote
  #7  
Old 02-25-2009, 03:09 AM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TigerC10 View Post
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.
Reply With Quote
  #8  
Old 02-25-2009, 04:34 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #9  
Old 02-25-2009, 05:55 AM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TigerC10 View Post
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!
Reply With Quote
  #10  
Old 02-27-2009, 08:25 AM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:34 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04426 seconds
  • Memory Usage 2,264KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete