Wierd error I was just getting (sorry if in wrong place)

Discussion in 'Site and Forum Feedback' started by Apple-NoEscape, Jun 29, 2010.

  1. Apple-NoEscape macrumors 6502

    Joined:
    Mar 25, 2010
    Location:
    United Kingdom
    #1
    Was just in the iPhone forum and with any thread I opened it would seem to load fine, however at the bottom; below the copyright bit, I got this:
    btw this is long.
    Code:
    otherwise strip [x] * @param	boolean	If true, strip all [quote]...contents...[/quote] * * @return	string */ function stripcode(str, ishtml, stripquotes) { if (!is_regexp) { return str; } if (stripquotes) { var start_time = new Date().getTime(); while ((startindex = PHP.stripos(str, '[quote')) !== false) { if (new Date().getTime() - start_time > 2000) { // while loop has been running for over 2 seconds and has probably gone infinite break; } if ((stopindex = PHP.stripos(str, '[/quote]')) !== false) { fragment = str.substr(startindex, stopindex - startindex + 8); str = str.replace(fragment, ''); } else { break; } str = PHP.trim(str); } } if (ishtml) { // exempt image tags -- they need to count as characters in the string // as the do as BB codes str = str.replace(/]+src="([^"]+)"[^>]*>/gi, '$1'); var html1 = new RegExp("<(\\w+)[^>]*>", 'gi'); var html2 = new RegExp("<\\/\\w+>", 'gi'); str = str.replace(html1, ''); str = str.replace(html2, ''); var html3 = new RegExp('( )', 'gi'); str = str.replace(html3, ' '); } else { var bbcode1 = new RegExp("\\[(\\w+)(=[^\\]]*)?\\]", 'gi'); var bbcode2 = new RegExp("\\[\\/(\\w+)\\]", 'gi'); str = str.replace(bbcode1, ''); str = str.replace(bbcode2, ''); } return str; } // ############################################################################# // vB_PHP_Emulator class // ############################################################################# /** * PHP Function Emulator Class */ function vB_PHP_Emulator() { } // ============================================================================= // vB_PHP_Emulator Methods /** * Find a string within a string (case insensitive) * * @param	string	Haystack * @param	string	Needle * @param	integer	Offset * * @return mixed	Not found: false / Found: integer position */ vB_PHP_Emulator.prototype.stripos = function(haystack, needle, offset) { if (typeof offset == 'undefined') { offset = 0; } index = haystack.toLowerCase().indexOf(needle.toLowerCase(), offset); return (index == -1 ? false : index); } /** * Trims leading whitespace * * @param	string	String to trim * * @return string */ vB_PHP_Emulator.prototype.ltrim = function(str) { return str.replace(/^\s+/g, ''); } /** * Trims trailing whitespace * * @param	string	String to trim * * @return	string */ vB_PHP_Emulator.prototype.rtrim = function(str) { return str.replace(/(\s+)$/g, ''); } /** * Trims leading and trailing whitespace * * @param	string	String to trim * * @return	string */ vB_PHP_Emulator.prototype.trim = function(str) { return this.ltrim(this.rtrim(str)); } /** * Emulation of PHP's preg_quote() * * @param	string	String to process * * @return string */ vB_PHP_Emulator.prototype.preg_quote = function(str) { // replace + { } ( ) [ ] | / ? ^ $ \ . = ! < > : * with backslash+character return str.replace(/(\+|\{|\}|\(|\)|\[|\]|\||\/|\?|\^|\$|\\|\.|\=|\!|\<|\>|\:|\*)/g, "\\$1"); } /** * Emulates PHP's preg_match_all()... sort of * * @param	string	Haystack * @param	string Regular expression - to be inserted into RegExp(x) * * @return	mixed	Array on match, false on no match */ vB_PHP_Emulator.prototype.match_all = function(string, regex) { var gmatch = string.match(RegExp(regex, "gim")); if (gmatch) { var matches = new Array(); var iregex = new RegExp(regex, "im"); for (var i = 0; i < gmatch.length; i++) { matches[matches.length] = gmatch[i].match(iregex); } return matches; } else { return false; } } /** * Emulates unhtmlspecialchars in vBulletin * * @param	string	String to process * * @return	string */ vB_PHP_Emulator.prototype.unhtmlspecialchars = function(str) { f = new Array(/</g, />/g, /"/g, /&/g); r = new Array('<', '>', '"', '&'); for (var i in f) { str = str.replace(f[i], r[i]); } return str; } /** * Unescape CDATA from vB_AJAX_XML_Builder PHP class * * @param	string	Escaped CDATA * * @return	string */ vB_PHP_Emulator.prototype.unescape_cdata = function(str) { var r1 = /<\=\!\=\[\=C\=D\=A\=T\=A\=\[/g; var r2 = /\]\=\]\=>/g; return str.replace(r1, ''); } /** * Emulates PHP's htmlspecialchars() * * @param	string	String to process * * @return string */ vB_PHP_Emulator.prototype.htmlspecialchars = function(str) { //var f = new Array(/&(?!#[0-9]+;)/g, //g, /"/g); var f = new Array( (is_mac && is_ie ? new RegExp('&', 'g') : new RegExp('&(?!#[0-9]+;)', 'g')), new RegExp('<', 'g'), new RegExp('>', 'g'), new RegExp('"', 'g') ); var r = new Array( '&', '<', '>', '"' ); for (var i = 0; i < f.length; i++) { str = str.replace(f[i], r[i]); } return str; } /** * Searches an array for a value * * @param string	Needle * @param	array	Haystack * @param	boolean	Case insensitive * * @return integer	Not found: -1 / Found: integer index */ vB_PHP_Emulator.prototype.in_array = function(ineedle, haystack, caseinsensitive) { var needle = new String(ineedle); if (caseinsensitive) { needle = needle.toLowerCase(); for (var i in haystack) { if (haystack[i].toLowerCase() == needle) { return i; } } } else { for (var i in haystack) { if (haystack[i] == needle) { return i; } } } return -1; } /** * Emulates PHP's strpad() * * @param	string	Text to pad * @param	integer	Length to pad * @param	string	String with which to pad * * @return	string */ vB_PHP_Emulator.prototype.str_pad = function(text, length, padstring) { text = new String(text); padstring = new String(padstring); if (text.length < length) { padtext = new String(padstring); while (padtext.length < (length - text.length)) { padtext += padstring; } text = padtext.substr(0, (length - text.length)) + text; } return text; } /** * A sort of emulation of PHP's urlencode - not 100% the same, but accomplishes the same thing * * @param	string	String to encode * * @return	string */ vB_PHP_Emulator.prototype.urlencode = function(text) { text = escape(text.toString()).replace(/\+/g, "%2B"); // this escapes 128 - 255, as JS uses the unicode code points for them. // This causes problems with submitting text via AJAX with the UTF-8 charset. var matches = text.match(/(%([0-9A-F]{2}))/gi); if (matches) { for (var matchid = 0; matchid < matches.length; matchid++) { var code = matches[matchid].substring(1,3); if (parseInt(code, 16) >= 128) { text = text.replace(matches[matchid], '' + code); } } } // %25 gets translated to % by PHP, so if you have %25u1234, // we see it as ሴ and it gets translated. So make it ሴ, // which will print as ሴ! text = text.replace('%25', '%'); return text; } /** * Works a bit like ucfirst, but with some extra options * * @param	string	String with which to work * @param	string	Cut off string before first occurence of this string * * @return	string */ vB_PHP_Emulator.prototype.ucfirst = function(str, cutoff) { if (typeof cutoff != 'undefined') { var cutpos = str.indexOf(cutoff); if (cutpos > 0) { str = str.substr(0, cutpos); } } str = str.split(' '); for (var i = 0; i < str.length; i++) { str[i] = str[i].substr(0, 1).toUpperCase() + str[i].substr(1); } return str.join(' '); } //*
     
  2. Apple-NoEscape thread starter macrumors 6502

    Joined:
    Mar 25, 2010
    Location:
    United Kingdom
    #2
    Code:
    ############################################################################# // vB_AJAX_Handler // ############################################################################# /** * XML Sender Class * * @param	boolean	Should connections be asyncronous? */ function vB_AJAX_Handler(async) { /** * Should connections be asynchronous? * * @var boolean */ this.async = async ? true : false; } // ============================================================================= // vB_AJAX_Handler methods /** * Initializes the XML handler * * @return	boolean	True if handler created OK */ vB_AJAX_Handler.prototype.init = function() { if (typeof vb_disable_ajax != 'undefined' && vb_disable_ajax == 2) { // disable all ajax features return false; } if (typeof XMLHttpRequest != "undefined") { this.handler = new XMLHttpRequest(); return (this.handler.setRequestHeader ? true : false); } else if (is_ie && !is_ie7) { this.handler = eval("new A" + "ctiv" + "eX" + "Ob" + "ject('Micr" + "osoft.XM" + "LHTTP');"); return true; } else { return false; } } /** * Detects if the browser is fully compatible * * @return	boolean */ vB_AJAX_Handler.prototype.is_compatible = function() { if (typeof vb_disable_ajax != 'undefined' && vb_disable_ajax == 2) { // disable all ajax features return false; } if (is_ie && !is_ie4) { return true; } else if (typeof XMLHttpRequest != 'undefined') { try { return XMLHttpRequest.prototype.setRequestHeader ? true : false; } catch(e) { try { var tester = new XMLHttpRequest(); return tester.setRequestHeader ? true : false; } catch(e) { return false; } } } else { return false; } } /** * Checks if the system is ready * * @return	boolean	False if ready */ vB_AJAX_Handler.prototype.not_ready = function() { return (this.handler.readyState && (this.handler.readyState < 4)); } /** * OnReadyStateChange event handler * * @param	function */ vB_AJAX_Handler.prototype.onreadystatechange = function(event) { if (!this.handler) { if (!this.init()) { return false; } } if (typeof event == 'function') { this.handler.onreadystatechange = event; } else { alert('XML Sender OnReadyState event is not a function'); } return false; } /** * Sends data * * @param	string	Destination URL * @param	string	Request Data * * @return	mixed	Return message */ vB_AJAX_Handler.prototype.send = function(desturl, datastream) { if (!this.handler) { if (!this.init()) { return false; } } if (!this.not_ready()) { this.handler.open('POST', desturl, this.async); this.handler.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); this.handler.send(datastream + '&securitytoken=' + SECURITYTOKEN + '&s=' + fetch_sessionhash()); if (!this.async && this.handler.readyState == 4 && this.handler.status == 200) { return true; } } return false; } /** * Fetches the contents of an XML node * * @param	object	XML node * * @return	string	XML node contents */ vB_AJAX_Handler.prototype.fetch_data = function(xml_node) { if (xml_node && xml_node.firstChild && xml_node.firstChild.nodeValue) { return PHP.unescape_cdata(xml_node.firstChild.nodeValue); } else { return ''; } } // we can check this variable to see if browser is AJAX compatible AJAX_Compatible = vB_AJAX_Handler.prototype.is_compatible(); console.info("Browser is%s AJAX compatible", AJAX_Compatible ? "" : " NOT"); // ############################################################################# // vB_Hidden_Form // ############################################################################# /** * Form Generator Class * * Builds a form filled with hidden fields for invisible submit via POST * * @param	string	Script (my_target_script.php) */ function vB_Hidden_Form(script) { this.action = script; this.variables = new Array(); } // ============================================================================= // vB_Hidden_Form methods /** * Adds a hidden input field to the form object * * @param	string	Name attribute * @param	string	Value attribute */ vB_Hidden_Form.prototype.add_variable = function(name, value) { this.variables[this.variables.length] = new Array(name, value); console.log("vB_Hidden_Form :: add_variable(%s)", name); }; /** * Fetches all form elements inside an HTML element and performs 'add_input()' on them * * @param	object HTML element to search */ vB_Hidden_Form.prototype.add_variables_from_object = function(obj) { if (!obj) { return; } console.info("vB_Hidden_Form :: add_variables_from_object(%s)", obj.id); var inputs = fetch_tags(obj, 'input'); for (var i = 0; i < inputs.length; i++) { switch (inputs[i].type) { case 'checkbox': case 'radio': if (inputs[i].checked) { this.add_variable(inputs[i].name, inputs[i].value); } break; case 'text': case 'hidden': case 'password': this.add_variable(inputs[i].name, inputs[i].value); break; default: continue; } } var textareas = fetch_tags(obj, 'textarea'); for (var i = 0; i < textareas.length; i++) { this.add_variable(textareas[i].name, textareas[i].value); } var selects = fetch_tags(obj, 'select'); for (var i = 0; i < selects.length; i++) { if (selects[i].multiple) { for (var j = 0; j < selects[i].options.length; j++) { if (selects[i].options[j].selected) { this.add_variable(selects[i].name, selects[i].options[j].value); } } } else { this.add_variable(selects[i].name, selects[i].options[selects[i].selectedIndex].value); } } }; /** * Fetches a variable value * * @param	string	Variable name * * @return	mixed	Variable value */ vB_Hidden_Form.prototype.fetch_variable = function(varname) { for (var i = 0; i < this.variables.length; i++) { if (this.variables[i][0] == varname) { return this.variables[i][1]; } } return null; }; /** * Submits the hidden form object */ vB_Hidden_Form.prototype.submit_form = function() { this.form = document.createElement('form'); this.form.method = 'post'; this.form.action = this.action; for (var i = 0; i < this.variables.length; i++) { var inputobj = document.createElement('input'); inputobj.type = 'hidden'; inputobj.name = this.variables[i][0]; inputobj.value = this.variables[i][1]; this.form.appendChild(inputobj); } console.info("vB_Hidden_Form :: submit_form() -> %s", this.action); document.body.appendChild(this.form).submit(); }; /** * Builds a URI query string from the given variables */ vB_Hidden_Form.prototype.build_query_string = function() { var query_string = ''; for (var i = 0; i < this.variables.length; i++) { query_string += this.variables[i][0] + '=' + PHP.urlencode(this.variables[i][1]) + '&'; } console.info("vB_Hidden_Form :: Query String = %s", query_string); return query_string; } /** * Legacy functions for backward compatability */ vB_Hidden_Form.prototype.add_input = vB_Hidden_Form.prototype.add_variable; vB_Hidden_Form.prototype.add_inputs_from_object = vB_Hidden_Form.prototype.add_variables_from_object; // ############################################################################# // Window openers and instant messenger wrappers /** * Opens a generic browser window * * @param	string	URL * @param	integer	Width * @param	integer	Height * @param	string Optional Window ID */ function openWindow(url, width, height, windowid) { return window.open( url, (typeof windowid == 'undefined' ? 'vBPopup' : windowid), 'statusbar=no,menubar=no,toolbar=no,scrollbars=yes,resizable=yes' + (typeof width != 'undefined' ? (',width=' + width) : '') + (typeof height != 'undefined' ? (',height=' + height) : '') ); } /** * Opens control panel help window * * @param	string	Script name * @param string	Action type * @param	string	Option value * * @return	window */ function js_open_help(scriptname, actiontype, optionval) { return openWindow( 'help.php?s=' + SESSIONHASH + '&do=answer&page=' + scriptname + '&pageaction=' + actiontype + '&option=' + optionval, 600, 450, 'helpwindow' ); } /** * Opens a window to show a list of attachments in a thread (misc.php?do=showattachments) * * @param	integer	Thread ID * * @return	window */ function attachments(threadid) { return openWindow( 'misc.php?' + SESSIONURL + 'do=showattachments&t=' + threadid, 480, 300 ); } /** * Opens a window to show a list of posters in a thread (misc.php?do=whoposted) * * @param	integer	Thread ID * * @return	window */ function who(threadid) { return openWindow( 'misc.php?' + SESSIONURL + 'do=whoposted&t=' + threadid, 230, 300 ); } /** * Opens an IM Window * * @param	string	IM type * @param	integer	User ID * @param	integer	Width of window * @param	integer	Height of window * * @return	window */ function imwindow(imtype, userid, width, height) { return openWindow( 'sendmessage.php?' + SESSIONURL + 'do=im&type=' + imtype + '&u=' + userid, width, height ); } /** * Sends an MSN message * * @param	string	Target MSN handle * * @return	boolean	false */ function SendMSNMessage(name) { if (!is_ie) { alert(vbphrase['msn_functions_only_work_in_ie']); return false; } else { MsgrObj.InstantMessage(name); return false; } } /** * Adds an MSN Contact (requires MSN) * * @param	string	MSN handle * * @return	boolean	false */ function AddMSNContact(name) { if (!is_ie) { alert(vbphrase['msn_functions_only_work_in_ie']); return false; } else { MsgrObj.AddContact(0, name); return false; } } /** * Detects Caps-Lock when a key is pressed * * @param	event * * @return	boolean	True if Caps-Lock is on */ function detect_caps_lock(e) { e = (e ? e : window.event); var keycode = (e.which ? e.which : (e.keyCode ? e.keyCode : (e.charCode ? e.charCode : 0))); var shifted = (e.shiftKey || (e.modifiers && (e.modifiers & 4))); var ctrled = (e.ctrlKey || (e.modifiers && (e.modifiers & 2))); // if characters are uppercase without shift, or lowercase with shift, caps-lock is on. return (keycode >= 65 && keycode <= 90 && !shifted && !ctrled) || (keycode >= 97 && keycode <= 122 && shifted); } /** * Confirms log-out request * * @param	string	Log-out confirmation message * * @return	boolean */ function log_out(confirmation_message) { var ht = document.getElementsByTagName("html")[0]; ht.style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)"; if (confirm(confirmation_message)) { return true; } else { ht.style.filter = ""; return false; } } // ############################################################################# // Cookie handlers /** * Sets a cookie * * @param	string	Cookie name * @param	string Cookie value * @param	date	Cookie expiry date */ function set_cookie(name, value, expires) { console.log("Set Cookie :: %s = '%s'", name, value); document.cookie = name + '=' + escape(value) + '; path=/' + (typeof expires != 'undefined' ? '; expires=' + expires.toGMTString() : ''); } /** * Deletes a cookie * * @param	string	Cookie name */ function delete_cookie(name) { console.log("Delete Cookie :: %s", name); document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT' + '; path=/'; } /** * Fetches the value of a cookie * * @param	string	Cookie name * * @return	string */ function fetch_cookie(name) { cookie_name = name + '='; cookie_length = document.cookie.length; cookie_begin = 0; while (cookie_begin < cookie_length) { value_begin = cookie_begin + cookie_name.length; if (document.cookie.substring(cookie_begin, value_begin) == cookie_name) { var value_end = document.cookie.indexOf (';', value_begin); if (value_end == -1) { value_end = cookie_length; } var cookie_value = unescape(document.cookie.substring(value_begin, value_end)); console.log("Fetch Cookie :: %s = '%s'", name, cookie_value); return cookie_value; } cookie_begin = document.cookie.indexOf(' ', cookie_begin) + 1; if (cookie_begin == 0) { break; } } console.log("Fetch Cookie :: %s (null)", name); return null; } // ############################################################################# // Form element managers (used for 'check all' type systems) /** * Sets all checkboxes, radio buttons or selects in a given form to a given state, with exceptions * * @param object	Form object * @param	string	Target element type (one of 'radio', 'select-one', 'checkbox') * @param	string	Selected option in case of 'radio' * @param	array	Array of element names to be excluded * @param	mixed	Value to give to found elements */ function js_toggle_all(formobj, formtype, option, exclude, setto) { for (var i =0; i < formobj.elements.length; i++) { var elm = formobj.elements[i]; if (elm.type == formtype && PHP.in_array(elm.name, exclude, false) == -1) { switch (formtype) { case 'radio': if (elm.value == option) // option == '' evaluates true when option = 0 { elm.checked = setto; } break; case 'select-one': elm.selectedIndex = setto; break; default: elm.checked = setto; break; } } } } /** * Sets all *elements to have the same checked status as 'allbox' * * @param	object	Form object */ function js_check_all(formobj) { exclude = new Array(); exclude[0] = 'keepattachments'; exclude[1] = 'allbox'; exclude[2] = 'removeall'; js_toggle_all(formobj, 'checkbox', '', exclude, formobj.allbox.checked); } /** * Sets all groups to have a particular option checked * * @param	object	Form object * @param mixed	Selected option */ function js_check_all_option(formobj, option) { exclude = new Array(); exclude[0] = 'useusergroup'; js_toggle_all(formobj, 'radio', option, exclude, true); } /** * Alias to js_check_all */ function checkall(formobj) { js_check_all(formobj); } /** * Alias to js_check_all_option */ function checkall_option(formobj, option) { js_check_all_option(formobj, option); } /** * Resize function for CP textareas * * @param integer	If positive, size up, otherwise size down * @param	string	ID of the textarea * * @return	boolean	false */ function resize_textarea(to, id) { var textarea = fetch_object(id); textarea.style.width = parseInt(textarea.offsetWidth) + (to < 0 ? -100 : 100) + "px"; textarea.style.height = parseInt(textarea.offsetHeight) + (to < 0 ? -100 : 100) + "px"; return false; } //*
     
  3. Apple-NoEscape thread starter macrumors 6502

    Joined:
    Mar 25, 2010
    Location:
    United Kingdom
    #3
    Code:
    ############################################################################# // Collapsible element handlers /** * Toggles the collapse state of an object, and saves state to 'vbulletin_collapse' cookie * * @param	string	Unique ID for the collapse group * * @return	boolean	false */ function toggle_collapse(objid) { if (!is_regexp) { return false; } obj = fetch_object('collapseobj_' + objid); img = fetch_object('collapseimg_' + objid); cel = fetch_object('collapsecel_' + objid); if (!obj) { // nothing to collapse! if (img) { // hide the clicky image if there is one img.style.display = 'none'; } return false; } if (obj.style.display == 'none') { obj.style.display = ''; save_collapsed(objid, false); if (img) { img_re = new RegExp("_collapsed\\.gif$"); img.src = img.src.replace(img_re, '.gif'); } if (cel) { cel_re = new RegExp("^(thead|tcat)(_collapsed)$"); cel.className = cel.className.replace(cel_re, '$1'); } } else { obj.style.display = 'none'; save_collapsed(objid, true); if (img) { img_re = new RegExp("\\.gif$"); img.src = img.src.replace(img_re, '_collapsed.gif'); } if (cel) { cel_re = new RegExp("^(thead|tcat)$"); cel.className = cel.className.replace(cel_re, '$1_collapsed'); } } return false; } /** * Updates vbulletin_collapse cookie with collapse preferences * * @param	string	Unique ID for the collapse group * @param	boolean	Add a cookie */ function save_collapsed(objid, addcollapsed) { var collapsed = fetch_cookie('vbulletin_collapse'); var tmp = new Array(); if (collapsed != null) { collapsed = collapsed.split('\n'); for (var i in collapsed) { if (collapsed[i] != objid && collapsed[i] != '') { tmp[tmp.length] = collapsed[i]; } } } if (addcollapsed) { tmp[tmp.length] = objid; } expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie('vbulletin_collapse', tmp.join('\n'), expires); } // ############################################################################# // Event Handlers for PageNav menus /** * Class to handle pagenav events */ function vBpagenav() { } /** * Handles clicks on pagenav menu control objects */ vBpagenav.prototype.controlobj_onclick = function(e) { this._onclick(e); var inputs = fetch_tags(this.menu.menuobj, 'input'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].type == 'text') { inputs[i].focus(); break; } } }; /** * Submits the pagenav form... sort of */ vBpagenav.prototype.form_gotopage = function(e) { if ((pagenum = parseInt(fetch_object('pagenav_itxt').value, 10)) > 0) { window.location = this.addr + '&page=' + pagenum; } return false; }; /** * Handles clicks on the 'Go' button in pagenav popups */ vBpagenav.prototype.ibtn_onclick = function(e) { return this.form.gotopage(); }; /** * Handles keypresses in the text input of pagenav popups */ vBpagenav.prototype.itxt_onkeypress = function(e) { return ((e ? e : window.event).keyCode == 13 ? this.form.gotopage() : true); }; // ############################################################################# // DHTML Popup Menu Handling (complements vbulletin_menu.js) /** * Wrapper for vBmenu.register * * @param	string	Control ID * @param	boolean	No image (true) * @param	boolean	Does nothing any more */ function vbmenu_register(controlid, noimage, datefield) { if (typeof(vBmenu) == "object") { return vBmenu.register(controlid, noimage); } else { return false; } } // ############################################################################# // Stuff that really doesn't fit anywhere else /** * Sets an element and all its children to be 'unselectable' * * @param	object	Object to be made unselectable */ function set_unselectable(obj) { if (!is_ie4 && typeof obj.tagName != 'undefined') { if (obj.hasChildNodes()) { for (var i = 0; i < obj.childNodes.length; i++) { set_unselectable(obj.childNodes[i]); } } obj.unselectable = 'on'; } } /** * Fetches the sessionhash from the SESSIONURL variable * * @return	string */ function fetch_sessionhash() { return (SESSIONURL == '' ? '' : SESSIONURL.substr(2, 32)); } /** * Emulates the PHP version of vBulletin's construct_phrase() sprintf wrapper * * @param string	String containing %1$s type replacement markers * @param	string	First replacement * @param	string	Nth replacement * * @return	string */ function construct_phrase() { if (!arguments || arguments.length < 1 || !is_regexp) { return false; } var args = arguments; var str = args[0]; var re; for (var i = 1; i < args.length; i++) { re = new RegExp("%" + i + "\\$s", 'gi'); str = str.replace(re, args[i]); } return str; } /** * Handles the quick style/language options in the footer * * @param	object	Select object * @param string	Type (style or language) */ function switch_id(selectobj, type) { var id = selectobj.options[selectobj.selectedIndex].value; if (id == '') { return; } var url = new String(window.location); var fragment = new String(''); // get rid of fragment url = url.split('#'); // deal with the fragment first if (url[1]) { fragment = '#' + url[1]; } // deal with the main url url = url[0]; // remove id=x& from main bit if (url.indexOf(type + 'id=') != -1 && is_regexp) { re = new RegExp(type + "id=\\d+&?"); url = url.replace(re, ''); } // add the ? to the url if needed if (url.indexOf('?') == -1) { url += '?'; } else { // make sure that we have a valid character to join our id bit lastchar = url.substr(url.length - 1); if (lastchar != '&' && lastchar != '?') { url += '&'; } } window.location = url + type + 'id=' + id + fragment; } /** * Takes the 'alt' attribute for an image and attaches it to the 'title' attribute * * @param	object	Image object */ function img_alt_2_title(img) { if (!img.title && img.alt != '') { img.title = img.alt; } } // ############################################################################# // Initialize a PostBit /** * This function runs all the necessary Javascript code on a PostBit * after it has been loaded via AJAX. Don't use this method before a * complete page load or you'll have problems. * * @param	object	Object containing postbits */ function PostBit_Init(obj, postid) { console.log("PostBit Init: %d", postid); if (typeof vBmenu != 'undefined') { // init profile menu(s) var divs = fetch_tags(obj, 'div'); for (var i = 0; i < divs.length; i++) { if (divs[i].id && divs[i].id.substr(0, 9) == 'postmenu_') { vBmenu.register(divs[i].id, true); } } } if (typeof vB_QuickEditor != 'undefined') { // init quick edit controls vB_AJAX_QuickEdit_Init(obj); } if (typeof vB_QuickReply != 'undefined') { // init quick reply button qr_init_buttons(obj); } if (typeof mq_init != 'undefined') { // init quick reply button mq_init(obj); } if (typeof vBrep != 'undefined') { if (typeof postid != 'undefined' && typeof postid != 'null') { vbrep_register(postid); } } if (typeof inlineMod != 'undefined') { im_init(obj); } } //*
    ############################################################################# // Main vBulletin Javascript Initialization /** * This function runs (almost) at the end of script loading on most vBulletin pages * * It sets up things like image alt->title tags, turns on the popup menu system etc. * * @return	boolean */ function vBulletin_init() { // don't bother doing any exciting stuff for WebTV if (is_webtv) { return false; } // set 'title' tags for image elements var imgs = fetch_tags(document, 'img'); for (var i = 0; i < imgs.length; i++) { img_alt_2_title(imgs[i]); } // finalize popup menus if (typeof vBmenu == 'object') { // close all menus on document click or resize if (typeof(YAHOO) != "undefined") { YAHOO.util.Event.on(document, "click", vbmenu_hide); YAHOO.util.Event.on(window, "resize", vbmenu_hide); } else if (window.attachEvent && !is_saf) { document.attachEvent('onclick', vbmenu_hide); window.attachEvent('onresize', vbmenu_hide); } else if (document.addEventListener && !is_saf) { document.addEventListener('click', vbmenu_hide, false); window.addEventListener('resize', vbmenu_hide, false); } else { window.onclick = vbmenu_hide; window.onresize = vbmenu_hide; } // add popups to pagenav elements var pagenavs = fetch_tags(document, 'td'); for (var n = 0; n < pagenavs.length; n++) { if (pagenavs[n].hasChildNodes() && pagenavs[n].firstChild.name && pagenavs[n].firstChild.name.indexOf('PageNav') != -1) { var addr = pagenavs[n].title; pagenavs[n].title = ''; pagenavs[n].innerHTML = ''; pagenavs[n].id = 'pagenav.' + n; var pn = vBmenu.register(pagenavs[n].id); if (is_saf) { pn.controlobj._onclick = pn.controlobj.onclick; pn.controlobj.onclick = vBpagenav.prototype.controlobj_onclick; } } } // process the pagenavs popup form if (typeof addr != 'undefined') { fetch_object('pagenav_form').addr = addr; fetch_object('pagenav_form').gotopage = vBpagenav.prototype.form_gotopage; fetch_object('pagenav_ibtn').onclick = vBpagenav.prototype.ibtn_onclick; fetch_object('pagenav_itxt').onkeypress = vBpagenav.prototype.itxt_onkeypress; } // activate the menu system vBmenu.activate(true); } // the new init system vBulletin.init(); return true; } // ############################################################################# // vBulletin Javascript Framework /** * General class for handling custom events and custom controls */ function vBulletin_Framework() { /** * @var	array	Array of elements to be passed to control init functions * @var	array	Array of AJAX load/save URLs * @var	array Array of YUI custom events * @var


    And that's it, told you it was wrong.
    Sorry if I should of put this somewhere else.
     
  4. celticpride678

    Joined:
    Feb 15, 2009
    Location:
    Boston, MA
    #4
    Seems like a vBulletin JavaScript error. Maybe the admins were making changes to the files?
     
  5. Apple-NoEscape thread starter macrumors 6502

    Joined:
    Mar 25, 2010
    Location:
    United Kingdom
    #5
    Yeah that's what I thought. Just figured I would bring it too the attention of the mods just incase.
     
  6. Belly-laughs macrumors 6502a

    Belly-laughs

    Joined:
    Jun 8, 2003
    Location:
    you wish
    #6
    While speaking of weird errors and have the mods' attention; my cursor keeps disappearing when browsing macrumors. A visit to the dock rectifies the issue, but it happens again after a few seconds. I can move around, trigger links etc. but I can not see the cursor itself. It actually disappeared again just now when I was to hit the "submit" button :)
     
  7. Apple-NoEscape thread starter macrumors 6502

    Joined:
    Mar 25, 2010
    Location:
    United Kingdom
    #7
    Sorry ergdegdeg I didn't realise there were code tags. My bad. :eek:
     

Share This Page