View Full Version : can anyone see the problem with this code?
Antivirus
06-06-2006, 08:44 PM
Hmm... getting the following error:
Parse error: parse error, expecting `']'' in dirpath\script.php on line 133
on this line of 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, 10:33 AM
Looks fine to me - what's the line before that one?
Thanks,
Alan.
Antivirus
06-14-2006, 07: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:
// ################################################## ###########################
/**
* 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, 07:39 PM
The problem is with
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
collapse_tcat " . $vbcollapse['collapseimg_' . $collapseid] . ".gif
You'll need to do a simaler thing a few lines down as well:
$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, 09: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, 10: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, 10:24 PM
Probably {$vbcollapse['collapseimg' . $collapseid]} rather than that way. Not 100% sure though.
P.S. Templates are your friend. ;)
Antivirus
06-15-2006, 04:54 PM
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...
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 ) :
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:
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.