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