Problems with Javascript after upgrade
Posted:
06. November 2014 13:58
by stevenrec
Hi everyone.
Just recently performed a clean install to 1.8.3-5, then rebuilt my MySQL, copied over my HTDOCS.
Everything seemed to work, out of 20 Sites/Databases all worked but one.
It is the only one using a Javascript menu.
The page looks like:
'tri.gif', 1 => 5, 2 => 10, 3 => 'tridown.gif', 4 => 10, 5 => 5, 6 => 'trileft.gif', 7 => 5, 8 => 10 ); // Arrow source, width
and that is it. The whole page just keeps going with the code.
The error log shows:
[core:error] [pid 5160:tid 1608] (20024)The given path is misformatted or contained invalid characters: [client xx.xxx.xx.x:53729] AH00127: Cannot map GET /s5/php/%22.$this-%3Eget_JsSrc().%22menu_com.js HTTP/1.1 to file, referer: http://xxxxxx01/s5/php/content.php
I can open the help file and .js files through the browser, so permissions should not be the problem.
Firefox Consule is showing the error as :
GET http://xxxx01/s5/php/%22.$this-%3Eget_JsSrc().%22menu_com.js [HTTP/1.1 403 Forbidden 8ms]
I am sure it is just a .conf problem because I had it when I upgraded 2 years ago, but cannot find what I did last time.
It was working before the upgrade and nothing else was changed in the PHP code.
Anyone have an idea?
Re: Problems with Javascript after upgrade
Posted:
06. November 2014 14:04
by Altrea
show us the php code.
very common this is a short open tag issue
Re: Problems with Javascript after upgrade
Posted:
07. November 2014 14:19
by stevenrec
Not sure which file (or where the error starts)
The text that appears on the screen comes from the menu.class.php file.
- Code: Select all
<?
class menu
{
var $NoOffFirstLineMenus =0; // Number of first level items
var $HighBgColor ='#0033FF'; // Background color when mouse is over
var $FontHighColor ='yellow'; // Font color when mouse is over
var $LowBgColor ='#0080FF'; // Background color when mouse is not over
var $FontLowColor ='white'; // Font color when mouse is not over
var $FontSubHighColor ='yellow'; // Font color subs when mouse is over
var $HighSubBgColor ='#0033FF'; // Background color when mouse is over on subs
var $LowSubBgColor ='#0080FF'; // Background color when mouse is not over on subs
var $FontSubLowColor ='white'; // Font color subs when mouse is not over
var $BorderColor ='#676767'; // Border color
var $BorderSubColor ='black'; // Border color for subs
var $BorderWidth =1; // Border width
var $BorderBtwnElmnts =1; // Border between elements 1 or 0
var $FontFamily ="verdana"; // Font family menu items
var $FontSize =9; // Font size menu items
var $FontBold =1; // Bold menu items 1 or 0
var $FontItalic =0; // Italic menu items 1 or 0
var $MenuTextCentered ='left'; // Item text position 'left', 'center' or 'right'
var $MenuCentered ='left'; // Menu horizontal position 'left', 'center' or 'right'
var $MenuVerticalCentered ='top'; // Menu vertical position 'top', 'middle','bottom' or static
var $ChildOverlap ='0.20'; // horizontal overlap child/ parent
var $ChildVerticalOverlap ='0.25'; // vertical overlap child/ parent
var $StartTop =2; // Menu offset x coordinate
var $StartLeft =12; // Menu offset y coordinate
var $VerCorrect =0; // Multiple frames y correction
var $HorCorrect =0; // Multiple frames x correction
var $LeftPaddng =3; // Left padding
var $TopPaddng =2; // Top padding
var $FirstLineHorizontal =1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR VERTICAL
var $MenuFramesVertical =1; // Frames in cols or rows 1 or 0
var $DissapearDelay =500; // delay before menu folds in
var $TakeOverBgColor =1; // Menu frame takes over background color subitem frame
var $FirstLineFrame ='navig'; // Frame where first level appears
var $SecLineFrame ='space'; // Frame where sub levels appear
var $DocTargetFrame ='space'; // Frame where target documents appear
var $TargetLoc =''; // span id for relative positioning
var $HideTop =0; // Hide first level when loading new document 1 or 0
var $MenuWrap =1; // enables/ disables menu wrap 1 or 0
var $RightToLeft =0; // enables/ disables right to left unfold 1 or 0
var $UnfoldsOnClick =0; // Level 1 unfolds onclick/ onmouseover
var $WebMasterCheck =0; // menu tree checking on or off 1 or 0
var $ShowArrow =1; // Uses arrow gifs when 1
var $KeepHilite =1; // Keep selected path highligthed
var $Arrws = array (
0 => 'tri.gif',
1 => 5,
2 => 10,
3 => 'tridown.gif',
4 => 10,
5 => 5,
6 => 'trileft.gif',
7 => 5,
8 => 10
); // Arrow source, width and height
var $ImgSrc = '../images/';
var $JsSrc = '../menu/';
var $MenuItems = array();
function menu()
{
//Menu1=new Array("TextToShow", "Link", "BgImage", NoOfSubs, Height, Width, BgColor, BgHiColor, FontColor, FontHiColor, BorderColor);
}
function add($Item,$TextToShow,$Link,$BgImage,$NoOfSubs,$Height,$Width)
{
$this->MenuItems[$Item]['TextToShow']=$TextToShow;
$this->MenuItems[$Item]['Link']=$Link;
$this->MenuItems[$Item]['BgImage']=$BgImage;
$this->MenuItems[$Item]['NoOfSubs']=$NoOfSubs;
$this->MenuItems[$Item]['Height']=$Height;
$this->MenuItems[$Item]['Width']=$Width;
}
function GetHtml()
{
$this->Init_NoOffFirstLineMenus();;
$html= "<script type='text/javascript'>\n";
$html.= "function Go(){return}\n";
$html.= "</script>\n";
$html.= "<script type='text/javascript'>\n ".$this->menuvars()."</script>\n";
$html.= "<script type='text/javascript' src='".$this->get_JsSrc()."menu_com.js'></script>\n";
$html.= "<noscript>Your browser does not support script</noscript>\n";
return $html;
}
function set_LowBgColor($vari)
{
$this->LowBgColor=$vari;
}
function get_LowBgColor()
{
return $this->LowBgColor;
}
function set_LowSubBgColor($vari)
{
$this->LowSubBgColor=$vari;
}
function get_LowSubBgColor()
{
return $this->LowSubBgColor;
}
function set_HighBgColor($vari)
{
$this->HighBgColor=$vari;
}
function get_HighBgColor()
{
return $this->HighBgColor;
}
function set_HighSubBgColor($vari)
{
$this->HighSubBgColor=$vari;
}
function get_HighSubBgColor()
{
return $this->HighSubBgColor;
}
function set_FontLowColor($vari)
{
$this->FontLowColor=$vari;
}
function get_FontLowColor()
{
return $this->FontLowColor;
}
function set_FontSubLowColor($vari)
{
$this->FontSubLowColor=$vari;
}
function get_FontSubLowColor()
{
return $this->FontSubLowColor;
}
function set_FontHighColor($vari)
{
$this->FontHighColor=$vari;
}
function get_FontHighColor()
{
return $this->FontHighColor;
}
function set_FontSubHighColor($vari)
{
$this->FontSubHighColor=$vari;
}
function get_FontSubHighColor()
{
return $this->FontSubHighColor;
}
function set_BorderColor($vari)
{
$this->BorderColor=$vari;
}
function get_BorderColor()
{
return $this->BorderColor;
}
function set_BorderSubColor($vari)
{
$this->BorderSubColor=$vari;
}
function get_BorderSubColor()
{
return $this->BorderSubColor;
}
function set_BorderWidth($vari)
{
$this->BorderWidth=$vari;
}
function get_BorderWidth()
{
return $this->BorderWidth;
}
function set_BorderBtwnElmnts($vari)
{
$this->BorderBtwnElmnts=$vari;
}
function get_BorderBtwnElmnts()
{
return $this->BorderBtwnElmnts;
}
function set_FontFamily($vari)
{
$this->FontFamily=$vari;
}
function get_FontFamily()
{
return $this->FontFamily;
}
function set_FontSize($vari)
{
$this->FontSize=$vari;
}
function get_FontSize()
{
return $this->FontSize;
}
function set_FontBold($vari)
{
$this->FontBold=$vari;
}
function get_FontBold()
{
return $this->FontBold;
}
function set_FontItalic($vari)
{
$this->FontItalic=$vari;
}
function get_FontItalic()
{
return $this->FontItalic;
}
function set_MenuTextCentered($vari)
{
$this->MenuTextCentered=$vari;
}
function get_MenuTextCentered()
{
return $this->MenuTextCentered;
}
function set_MenuCentered($vari)
{
$this->MenuCentered=$vari;
}
function get_MenuCentered()
{
return $this->MenuCentered;
}
function set_MenuVerticalCentered($vari)
{
$this->MenuVerticalCentered=$vari;
}
function get_MenuVerticalCentered()
{
return $this->MenuVerticalCentered;
}
function set_ChildOverlap($vari)
{
$this->ChildOverlap=$vari;
}
function get_ChildOverlap()
{
return $this->ChildOverlap;
}
function set_ChildVerticalOverlap($vari)
{
$this->ChildVerticalOverlap=$vari;
}
function get_ChildVerticalOverlap()
{
return $this->ChildVerticalOverlap;
}
function set_StartTop($vari)
{
$this->StartTop=$vari;
}
function get_StartTop()
{
return $this->StartTop;
}
function set_StartLeft($vari)
{
$this->StartLeft=$vari;
}
function get_StartLeft()
{
return $this->StartLeft;
}
function set_VerCorrect($vari)
{
$this->VerCorrect=$vari;
}
function get_VerCorrect()
{
return $this->VerCorrect;
}
function set_HorCorrect($vari)
{
$this->HorCorrect=$vari;
}
function get_HorCorrect()
{
return $this->HorCorrect;
}
function set_LeftPaddng($vari)
{
$this->LeftPaddng=$vari;
}
function get_LeftPaddng()
{
return $this->LeftPaddng;
}
function set_TopPaddng($vari)
{
$this->TopPaddng=$vari;
}
function get_TopPaddng()
{
return $this->TopPaddng;
}
function set_FirstLineHorizontal($vari)
{
$this->FirstLineHorizontal=$vari;
}
function get_FirstLineHorizontal()
{
return $this->FirstLineHorizontal;
}
function set_MenuFramesVertical($vari)
{
$this->MenuFramesVertical=$vari;
}
function get_MenuFramesVertical()
{
return $this->MenuFramesVertical;
}
function set_DissapearDelay($vari)
{
$this->DissapearDelay=$vari;
}
function get_DissapearDelay()
{
return $this->DissapearDelay;
}
function set_TakeOverBgColor($vari)
{
$this->TakeOverBgColor=$vari;
}
function get_TakeOverBgColor()
{
return $this->TakeOverBgColor;
}
function set_FirstLineFrame($vari)
{
$this->FirstLineFrame=$vari;
}
function get_FirstLineFrame()
{
return $this->FirstLineFrame;
}
function set_SecLineFrame($vari)
{
$this->SecLineFrame=$vari;
}
function get_SecLineFrame()
{
return $this->SecLineFrame;
}
function set_DocTargetFrame($vari)
{
$this->DocTargetFrame=$vari;
}
function get_DocTargetFrame()
{
return $this->DocTargetFrame;
}
function set_TargetLoc($vari)
{
$this->TargetLoc=$vari;
}
function get_TargetLoc()
{
return $this->TargetLoc;
}
function set_HideTop($vari)
{
$this->HideTop=$vari;
}
function get_HideTop()
{
return $this->HideTop;
}
function set_MenuWrap($vari)
{
$this->MenuWrap=$vari;
}
function get_MenuWrap()
{
return $this->MenuWrap;
}
function set_RightToLeft($vari)
{
$this->RightToLeft=$vari;
}
function get_RightToLeft()
{
return $this->RightToLeft;
}
function set_UnfoldsOnClick($vari)
{
$this->UnfoldsOnClick=$vari;
}
function get_UnfoldsOnClick()
{
return $this->UnfoldsOnClick;
}
function set_WebMasterCheck($vari)
{
$this->WebMasterCheck=$vari;
}
function get_WebMasterCheck()
{
return $this->WebMasterCheck;
}
function set_ShowArrow($vari)
{
$this->ShowArrow=$vari;
}
function get_ShowArrow()
{
return $this->ShowArrow;
}
function set_KeepHilite($vari)
{
$this->KeepHilite=$vari;
}
function get_KeepHilite()
{
return $this->KeepHilite;
}
function set_Arrws($key,$val)
{
$this->Arrws[$key]=$val;
}
function get_Arrws($i)
{
return $this->Arrws[$i];
}
function set_ImgSrc($vari)
{
$this->ImgSrc=$vari;
}
function get_ImgSrc()
{
return $this->ImgSrc;
}
function set_JsSrc($vari)
{
$this->JsSrc=$vari;
}
function get_JsSrc()
{
return $this->JsSrc;
}
function Set_NoOffFirstLineMenus($vari)
{
return $this->NoOffFirstLineMenus=$vari;
}
function Get_NoOffFirstLineMenus()
{
return $this->NoOffFirstLineMenus;
}
//calculates automaticly NoOffFirstLineMenus
function Init_NoOffFirstLineMenus()
{
if (count($this->MenuItems)==0) echo "MENU.CLASS.PHP WARNING: Empty MenuItems";
$i=0;
foreach ($this->MenuItems as $key => $value)
{
if (strlen($key)==1) $i++;
}
$this->NoOffFirstLineMenus=$i;
}
//Private
function menuvars()
{
$ret= "var NoOffFirstLineMenus=".$this->get_NoOffFirstLineMenus().";\n";
$ret.= "var LowBgColor='".$this->get_LowBgColor()."';\n";
$ret.= "var LowSubBgColor='".$this->get_LowSubBgColor()."';\n";
$ret.= "var HighBgColor='".$this->get_HighBgColor()."';\n";
$ret.= "var HighSubBgColor='".$this->get_HighSubBgColor()."';\n"; // Background color when mouse is over on subs
$ret.= "var FontLowColor='".$this->get_FontLowColor()."';\n"; // Font color when mouse is not over
$ret.= "var FontSubLowColor='".$this->get_FontSubLowColor()."';\n"; // Font color subs when mouse is not over
$ret.= "var FontHighColor='".$this->get_FontHighColor()."';\n"; // Font color when mouse is over
$ret.= "var FontSubHighColor='".$this->get_FontSubHighColor()."';\n";
$ret.= "var BorderColor='".$this->get_BorderColor()."';\n";
$ret.= "var BorderSubColor='".$this->get_BorderSubColor()."';\n";
$ret.= "var BorderWidth=".$this->get_BorderWidth().";\n";
$ret.= "var BorderBtwnElmnts=".$this->get_BorderBtwnElmnts().";\n";
$ret.= "var FontFamily=\"".$this->get_FontFamily()."\";\n";
$ret.= "var FontSize=".$this->get_FontSize().";\n";
$ret.= "var FontBold=".$this->get_FontBold().";\n";
$ret.= "var FontItalic=".$this->get_FontItalic().";\n";
$ret.= "var MenuTextCentered='".$this->get_MenuTextCentered()."';\n";
$ret.= "var MenuCentered='".$this->get_MenuCentered()."';\n";
$ret.= "var MenuVerticalCentered='".$this->get_MenuVerticalCentered()."';\n";
$ret.= "var ChildOverlap=".$this->get_ChildOverlap().";\n";
$ret.= "var ChildVerticalOverlap=".$this->get_ChildVerticalOverlap().";\n";
$ret.= "var StartTop=".$this->get_StartTop().";\n";
$ret.= "var StartLeft=".$this->get_StartLeft().";\n";
$ret.= "var VerCorrect=".$this->get_VerCorrect().";\n";
$ret.= "var HorCorrect=".$this->get_HorCorrect().";\n";
$ret.= "var LeftPaddng=".$this->get_LeftPaddng().";\n";
$ret.= "var TopPaddng=".$this->get_TopPaddng().";\n";
$ret.= "var FirstLineHorizontal=".$this->get_FirstLineHorizontal().";\n";
$ret.= "var MenuFramesVertical=".$this->get_MenuFramesVertical().";\n";
$ret.= "var DissapearDelay=".$this->get_DissapearDelay().";\n";
$ret.= "var TakeOverBgColor=".$this->get_TakeOverBgColor().";\n";
$ret.= "var FirstLineFrame='".$this->get_FirstLineFrame()."';\n";
$ret.= "var SecLineFrame='".$this->get_SecLineFrame()."';\n";
$ret.= "var DocTargetFrame='".$this->get_DocTargetFrame()."';\n";
$ret.= "var TargetLoc='".$this->get_TargetLoc()."';\n";
$ret.= "var HideTop=".$this->get_HideTop().";\n";
$ret.= "var MenuWrap=".$this->get_MenuWrap().";\n";
$ret.= "var RightToLeft=".$this->get_RightToLeft().";\n";
$ret.= "var UnfoldsOnClick=".$this->get_UnfoldsOnClick().";\n";
$ret.= "var WebMasterCheck=".$this->get_WebMasterCheck().";\n";
$ret.= "var ShowArrow=".$this->get_ShowArrow().";\n";
$ret.= "var KeepHilite=".$this->get_KeepHilite().";\n";
$ret.= "var Arrws=['".$this->get_ImgSrc().$this->get_Arrws(0)."',".$this->get_Arrws(1).",".$this->get_Arrws(2).",'".$this->get_ImgSrc().$this->get_Arrws(3)."',".$this->get_Arrws(4).",".$this->get_Arrws(5).",'".$this->get_ImgSrc().$this->get_Arrws(6)."',".$this->get_Arrws(7).",".$this->get_Arrws(8)."];\n";
$ret.= "function BeforeStart(){return}\n";
$ret.= "function AfterBuild(){return}\n";
$ret.= "function BeforeFirstOpen(){return}\n";
$ret.= "function AfterCloseAll(){return}\n";
$ret.=$this->MenuItems();
return $ret;
}
function MenuItems()
{
$ret= '';
foreach ($this->MenuItems as $key => $value)
{
$ret.= "Menu".$key."=new Array(\"".$this->MenuItems[$key]['TextToShow']."\",\"".$this->MenuItems[$key]['Link']."\",\"".$this->MenuItems[$key]['BgImage']."\",".$this->MenuItems[$key]['NoOfSubs'].",".$this->MenuItems[$key]['Height'].",".$this->MenuItems[$key]['Width'].");\n";
}
return $ret;
}
The output on the screen starts at the text
- Code: Select all
'tri.gif',
1 => 5,
2 => 10,
3 => 'tridown.gif',
4 => 10,
5 => 5,
6 => 'trileft.gif',
7 => 5,
8 => 10
); // Arrow source, width and height
But without formating.
Since the files never changed, and have tried using backup copies, and the only change was moving to a new server, am sure it is a configuration issue.
Re: Problems with Javascript after upgrade
Posted:
07. November 2014 14:40
by Nobbie
That's it already, "<?" is insufficient, you have to use normal tags (instead of short_tags):
- Code: Select all
<?php
Re: Problems with Javascript after upgrade
Posted:
07. November 2014 14:46
by stevenrec
Wow it works again.
Was it something that changed in the latest version?
None of the files have been changed, I even wen back to 2004 backups, they are all the same.
It works again though. Thank you very much.
Re: Problems with Javascript after upgrade
Posted:
07. November 2014 14:48
by Altrea
stevenrec wrote:Was it something that changed in the latest version?
Yes, but it is no new topic.
Setting short_open_tag is set to off by default since PHP 5.3.0 which was released 2009