vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   can anyone see the problem with this code? (https://vborg.vbsupport.ru/showthread.php?t=117831)

Antivirus 06-06-2006 07:44 PM

can anyone see the problem with this code?
 
Hmm... getting the following error:
Quote:

Parse error: parse error, expecting `']'' in dirpath\script.php on line 133
on this line of code:
PHP Code:

$title "\n\t\t<a style=\"float:$stylevar[right]\" href=\"#top\" onclick=\"return toggle_collapse('$collapseid')\"><img id=\"collapseimg_$collapseid\" src=\"$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_$collapseid].gif\" alt=\"\" border=\"0\" /></a>\n\t\t$title\n\t"

I'm trying to create a set of new functions for printing collapsable tables within the AdminCP. I know i'm just not escaping somethign properly here, but i'm stumped... :confused:

Alan @ CIT 06-13-2006 09:33 AM

Looks fine to me - what's the line before that one?

Thanks,
Alan.

Antivirus 06-14-2006 06:31 PM

What I am trying to do is create 3 new functions (based upon the existing ones in adminfunctions.php) to allow for collapsible tables within the AdminCP...

Naturally i'll also have to modify functions "print_submit_row", and "print_table_footer" to contain the necessary other bluff for the collapsible thingies, but for the "print_table_header" function, so far i have:

PHP Code:

// #############################################################################
/**
* Makes a COLLAPSABLE column-spanning bar with a named <A> and a title, then  reinitialises the background class counter.
*
* @param    string    Title for the row
* @param    string    Name for collapse table tag id
* @param    integer    Number of columns to span
* @param    boolean    Whether or not to htmlspecialchars the title
* @param    string    Alignment for the title (center / left / right)
*/
function print_claps_table_header($title$collapseid ''$colspan 2$htmlise false$align 'center')
{
    global 
$bgcounter$stylevar;

    if (
$htmlise)
    {
        
$title htmlspecialchars_uni($title);
    }
    
$title "<b>$title</b>";
    if (
$collapseid != '')
    {
        
$title "\n\t\t<a style=\"float:$stylevar[right]\" href=\"#top\" onclick=\"return toggle_collapse(\'$collapseid\')\"><img id=\"collapseimg_$collapseid\" src=\"$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_$collapseid].gif\" alt=\"\" border=\"0\" /></a>\n\t\t$title\n\t";

    }

    echo 
"<thead>\n";
    echo 
"<tr>\n\t<td class=\"tcat\" align=\"$align\"" iif($colspan != 1" colspan=\"$colspan\"") . ">$title</td>\n</tr>\n";
    echo 
"</thead>\n";
    echo 
"<tbody id=\"collapseobj_$collapseid\" style=\"" $vbcollapse[collapseobj_$collapseid] . "\">\n";

    
$bgcounter 0;


so basically trying to create some new functions for various existing functions to use with collapsible tables within the AdminCP pages.

Any ideas where i am going wrong?

Alan @ CIT 06-14-2006 06:39 PM

The problem is with

PHP Code:

collapse_tcat$vbcollapse[collapseimg_$collapseid].gif 

That's the line it doesn't like (Thank god for Zend IDE and it's error checking :D)

Try changing it to

PHP Code:

collapse_tcat " . $vbcollapse['collapseimg_' . $collapseid] . ".gif 

You'll need to do a simaler thing a few lines down as well:

PHP Code:

$vbcollapse[collapseobj_$collapseid]

// to...

$vbcollapse['collapseobj_' $collapseid

Disclaimer: This is untested code, so it may or may not work, but it fixes the error about the ] :)

Thanks,
Alan.

bashy 06-14-2006 08:01 PM

I just checked the code with Zend Studio 5.2 and it said there was no errors?
Thats weird lol

Am i using the wrong program?

Paul M 06-14-2006 09:00 PM

I can't try this from where I am, but enclosing the $collapseid in {} may also work ;

i.e. $vbcollapse[collapseimg_{$collapseid}]

Adrian Schneider 06-14-2006 09:24 PM

Probably {$vbcollapse['collapseimg' . $collapseid]} rather than that way. Not 100% sure though.

P.S. Templates are your friend. ;)

Antivirus 06-15-2006 03:54 PM

Quote:

Originally Posted by SirAdrian
Probably {$vbcollapse['collapseimg' . $collapseid]}

That worked nicely :). Now I have a function which allows collapsible tables within AdminCP however since the AdminCP stype uses a different style than the forums, pulling $stylevar[imgdir_button] don't work for the collapse image, so i figured to try $vboptions[cpstylefolder]however it returns the homepage url (same as $vboptions[homeurl]) instead!? I could easily type in the path to /images/buttons/ but would be nice if $vboptions[cpstylefolder] worked here...


PHP Code:

function print_claps_table_header($title$collapseid ''$colspan 2$htmlise false$align 'center')
{
global 
$bgcounter$stylevar;
 
if (
$htmlise)
{
$title htmlspecialchars_uni($title);
}
$title "<b>$title</b>";
if (
$collapseid != '')
{
$title "\n\t\t<a style=\"float:$stylevar[right]\" href=\"#top\" onclick=\"return toggle_collapse('$collapseid')\"><img id=\"collapseimg_$collapseid\" src=\"$vboptions[cpstylefolder]/cp_collapse{$vbcollapse['collapseimg_'.$collapseid]}.gif\" alt=\"\" border=\"0\" /></a>\n\t\t$title\n\t";
 
}
 
echo 
"<thead>\n";
echo 
"<tr>\n\t<td class=\"tcat\" align=\"$align\"" iif($colspan != 1" colspan=\"$colspan\"") . ">$title</td>\n</tr>\n";
echo 
"</thead>\n";
echo 
"<tbody id=\"collapseobj_$collapseid\" style=\"{$vbcollapse['collapseobj_'.$collapseid]}\">\n";
 
$bgcounter 0;


OK, figured it out, had to globalize $vbulletin within the function and call the collapse image as such ( ../cpstyles/" . $vbulletin->options['cpstylefolder'] . "/cp_collapse.gif ) :

PHP Code:

function print_claps_table_header($title$collapseid ''$colspan 2$htmlise false$align 'center')
{
    global 
$bgcounter$stylevar$vbulletin;

    if (
$htmlise)
    {
        
$title htmlspecialchars_uni($title);
    }
    
$title "<b>$title</b>";
    if (
$collapseid != '')
    {
        
$title "\n\t\t<a style=\"float:$stylevar[right]\" href=\"#top\" onclick=\"return toggle_collapse('$collapseid')\"><img id=\"collapseimg_$collapseid\" src=\"../cpstyles/" $vbulletin->options['cpstylefolder'] . "/cp_collapse{$vbcollapse['collapseimg_'.$collapseid]}.gif\" alt=\"\" border=\"0\" /></a>\n\t\t$title\n\t";

    }

    echo 
"<thead>\n";
    echo 
"<tr>\n\t<td class=\"tcat\" align=\"$align\"" iif($colspan != 1" colspan=\"$colspan\"") . ">$title</td>\n</tr>\n";
    echo 
"</thead>\n";
    echo 
"<tbody id=\"collapseobj_$collapseid\" style=\"{$vbcollapse['collapseobj_'.$collapseid]}\">\n";

    
$bgcounter 0;



:banana: happy happy joy joy :banana:


All times are GMT. The time now is 01:47 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.02576 seconds
  • Memory Usage 1,775KB
  • 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
  • (7)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)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