From d4be3f966cd03ceb295f319346c185ccf58da10a Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Fri, 3 Jun 2011 13:56:30 +0200 Subject: [PATCH] Deprecation marker for JavaScript functions This adds a DEPRECATED() JavaScript function. This function will print a warning to the Browser's debug console if available (Chrome and Firefox with Firebug extension) when ever it is called. The DEPRECATED() function was also added to the $() function which should no longer be used and be replaced with JQuery calls. Other deprecated functions need to be identified and marked. --- lib/scripts/script.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index a99735c99..20e475190 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -3,6 +3,32 @@ if ('function' === typeof jQuery && 'function' === typeof jQuery.noConflict) { jQuery.noConflict(); } +/** + * Mark a JavaScript function as deprecated + * + * This will print a warning to the JavaScript console (if available) in + * Firebug and Chrome and a stack trace (if available) to easily locate the + * problematic function call. + * + * @param msg optional message to print + */ +function DEPRECATED(msg){ + if(!console) return; + if(!arguments.callee) return; + + var func = arguments.callee.caller.name; + var line = 'DEPRECATED function call '+func+'(). '+msg; + + if(console.warn){ + console.warn(line); + }else{ + console.log(line); + } + + if(console.trace) console.trace(); +} + + /** * Some of these scripts were taken from wikipedia.org and were modified for DokuWiki */ @@ -30,6 +56,8 @@ if (clientPC.indexOf('opera')!=-1) { * @link http://prototype.conio.net/ */ function $() { + DEPRECATED('Please use the JQuery() function instead.'); + var elements = new Array(); for (var i = 0; i < arguments.length; i++) { -- GitLab