Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 08-30-2009, 12:01 PM
Ldoppea Ldoppea is offline
 
Join Date: Apr 2009
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The use of the $HTML variable is very constraining.

I had to convert an old php script which write HTML code.

In the old version, I used many ?> html code <?php and echo to insert HTML code.

PHP Code:
<?php
// some code

// write HTML :
?>
<script type="text/javascript">
    //<![CDATA[
    var myVar1 = <?php if (isset($myPhpVar1)) { echo $myPhpVar1; } else { echo $myPhpVar1Default; } ?>;
    var myVar2 = <?php if (isset($myPhpVar2)) { echo $myPhpVar2; } else { echo $myPhpVar2Default; } ?>;
    var lenght = 25;
    
    function func(){
        if (lenght><?php echo $lenghtPHP?>)
        {
            document.getElementById('myID').value = document.getElementById('myID').value.substring(0,<?php echo $lenghtPHP?>);
        }
    }
    //]]>
</script>
<?php

Now I had to write this :
PHP Code:
<?php
    $HTML 
.= "
                <script type=\"text/javascript\">
                    //<![CDATA[
            "
;
    if (isset(
$myPhpVar1)) {
        
$HTML .= "var myVar1 = ".$myPhpVar1.";";
    else
        
$HTML .= "var myVar1 = ".$myPhpVar1Default.";";
        
    if (isset(
$myPhpVar2)) {
        
$HTML .= "var myVar2 = ".$myPhpVar2.";";
    else
        
$HTML .= "var myVar2 = ".$myPhpVar2Default.";";

    
$HTML .= "
                    var lenght = 25;
                    
                    function func(){
                        if (lenght>"
.$lenghtPHP.")
                        {
                            document.getElementById('myID').value = document.getElementById('myID').value.substring(0,"
.$lenghtPHP.");
                        }
                    }
                    //]]>
                </script>
            "
;
?>
The new version is very hard to read :erm:

Do you know an easier way to convert this script?


For example, is it possible to insert PHP condition into concatenation?
PHP Code:
<?php
$HTML 
.= "
            <script type=\"text/javascript\">
                //<![CDATA[
                var myVar1 = "
/* PHP condition before concatenation */ ."
                var myVar2 = "
/* PHP condition before concatenation */ ."
                var lenght = 25;
                
                function func(){
                    if (lenght>"
.$lenghtPHP;")
                    {
                        document.getElementById('myID').value = document.getElementById('myID').value.substring(0,"
.$lenghtPHP.");
                    }
                }
                //]]>
            </script>
        "
;
?>
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 05:16 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.04100 seconds
  • Memory Usage 2,215KB
  • Queries Executed 12 (?)
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
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • 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_threaded
  • showthread_threaded_construct_link
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete