php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #31879 [PATCH] function list suggestion does not work
Submitted: 2005-02-08 01:59 UTC Modified: 2009-05-22 08:40 UTC
Votes:3
Avg. Score:4.3 ± 0.5
Reproduced:3 of 3 (100.0%)
Same Version:1 (33.3%)
Same OS:1 (33.3%)
From: eddie at omegaware dot com Assigned:
Status: Wont fix Package: Website problem
PHP Version: Irrelevant OS: All
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2005-02-08 01:59 UTC] eddie at omegaware dot com
Description:
------------
The function list suggestion feature does not work at all.
I've tested IE 6 SP1, mozilla 6, and Firefox 1.0, and all show the same results, errors in the javascript in functions.js

From the Mozilla/Firefox JS Console

Error: FT has no properties
Source File: http://{mirror}.php.net/functions.js Line: 2

IE shows
Line: 3
Char 1992
Error: Object Required
Code: 0
url: http://{mirror}.php.net/search.php

I would have debugged the JAvascript and sent a patch, but that code is so obfuscated it's unrecognizable as Javascript.


Reproduce code:
---------------
goto http://php.net/search.php

Type in a array in the search text input.



Expected result:
----------------
A popup list of array* functions

Actual result:
--------------
nothing except for errors logged to javascript console.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-02-26 21:06 UTC] eddie at omegaware dot com
The function search on http://php.net/search.php now works again, however it is disabled on all other php.net pages.
 [2005-02-26 21:35 UTC] nlopess@php.net
It doesn't work on MSIE 6 now :)
 [2005-02-26 21:44 UTC] eddie at omegaware dot com
Is the *original* source to this code available somewhere? (not the obfuscated version on the web). As I would be glad to take a look over it and make it work in a wider set of browsers.
 [2005-02-27 02:39 UTC] dave@php.net
You can find all the source code here: http://cvs.php.net/phpdoc/scripts/quickref/
 [2005-02-27 03:52 UTC] eddie at omegaware dot com
OK I've solved the problem with IE not working correctly.

I actually ran across the same problem while doing my own JS code dynamically adding elements using the DOM.

IE does not correctly set the 'style' attribute when using the setAttribute dom function, so you have to explicitly specify any styles via the 

object.style.cssstylename

gotta love firefox's view selected source as it'll show the "current" source with all DHTML changes, as I disabled the onblur handler selected the entire page view source and then copied it out to a temp file and loaded that in IE, where I found that the HTML is not being generated the same.

This is the lovely comment in my JS code

    nodebox.setAttribute('id',this.name+'_box');
    nodebox.appendChild(nodesrch);
    /* Setting attribute style doesn't work on IE, so manually set the styles */
    nodebox.style.position = 'absolute';

I believe that was committed with a SVN comment of "YASIEH" (yet another stupid IE hack)
 [2005-02-27 04:02 UTC] eddie at omegaware dot com
Here is the required Javascript to get it working (instead of the if/else statement and the setAttribute call).
this will work in IE, Firefox and Opera 7.54

funchelper.style.backgrounColor='white';
funchelper.style.border='1px solid black';
funchelper.style.top='90px';
if (_d.all && (isnotopera=(navigator.userAgent.toLowerCase().indexOf("opera")==-1))) {
funchelper.style.width='165px';
} else {
  isnotopera=true;
  funchelper.style.minWidth='155px';
}
funchelper.style.padding='4px';
funchelper.style.fontSize='9px';
funchelper.style.display='none';
funchelper.style.position='absolute';
 [2005-07-07 00:45 UTC] eddie at omegaware dot com
What is the status on this? Has anyone had a change to incorporate my changes into CVS so that this useful feature can be added and enabled on php.net?
 [2005-07-07 13:03 UTC] goba@php.net
Hi Eddie! Unless you provide us with a diff, it is not likely that we are going to incorporate your changes. Note that the current function suggestion works perfectly in quite a few browsers (I have just tested in Firefox).
 [2005-07-08 03:36 UTC] eddie at omegaware dot com
Index: originalafter.js
===================================================================
RCS file: /repository/phpdoc/scripts/quickref/originalafter.js,v
retrieving revision 1.16
diff -u -3 -p -r1.16 originalafter.js
--- originalafter.js	11 Feb 2005 12:47:12 -0000	1.16
+++ originalafter.js	8 Jul 2005 01:35:16 -0000
@@ -20,14 +20,21 @@ fh_EDropDownChange();
 
 // Layer setup ----------------------------------------------------------------
-
 
+var funchelper = _d.createElement('div');
+funchelper.style.backgroundColor='white';
+funchelper.style.border='1px solid black';
+funchelper.style.top='90px';
 if (_d.all && (isnotopera=(navigator.userAgent.toLowerCase().indexOf("opera")==
-1))) {
-    width="width:165px";
+    funchelper.style.width='165px';
 } else {
     isnotopera=true;
-    width="min-width:155px";
+    funchelper.style.width='155px';
 }
-var funchelper = _d.createElement('div');
-funchelper.setAttribute('style', 'background-color: white; border: 1px solid bl
ack; top: 90px;'+width+'; padding: 4px; font-size: 9px; display:none; position:a
bsolute;');
+funchelper.style.padding='4px';
+funchelper.style.fontSize='9px';
+funchelper.style.display='none';
+funchelper.style.position='absolute';
+
 var elems = _d.getElementsByTagName("*");
 for (var i = 0; i < elems.length; i++) {
     if (elems[i].tagName.toLowerCase() == 'body') {
 [2005-07-08 03:45 UTC] eddie at omegaware dot com
Here is a weblink to the patch
http://www.outoforder.cc/downloads/patches/quickref.diff

As one of the previous comments stated, the current function suggestion code doesn't work correctly in IE.  This patch provides that fix.  This has been tested on IE 5.5, IE 6, Opera, Firefox, Mozilla 1.6, Konqueror, and Opera.
 [2006-09-28 13:38 UTC] bjori@php.net
Could you have a look Gabor?
 [2009-05-22 08:40 UTC] bjori@php.net
This is extremely outdated stuff which isn't really in use anymore.
Marking as 'wont fix'
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Thu Aug 11 18:03:36 2022 UTC