More consistent results with jquery.noconflict
authorColeman Watts <coleman@civicrm.org>
Sat, 9 Mar 2013 05:42:39 +0000 (21:42 -0800)
committerColeman Watts <coleman@civicrm.org>
Sat, 9 Mar 2013 05:42:39 +0000 (21:42 -0800)
CRM/Core/Resources.php
CRM/Utils/System/Drupal6.php
js/noconflict.js [new file with mode: 0644]

index 5118d9278b0e70030b829d30a4f40d35a4547cfd..c008438b0156aebd5f0bd352746ccc8798023ab6 100644 (file)
@@ -440,7 +440,7 @@ class CRM_Core_Resources {
       }
 
       // Give control of jQuery back to the CMS - this loads last
-      $this->addScript('cj = jQuery.noConflict(true);', 9999, $region);
+      $this->addScriptFile('civicrm', 'js/noconflict.js', 9999, $region);
 
       $this->addCoreStyles($region);
     }
index bdcd7eca7ad92ba86ce707d417cce879e64382c5..2181567417c4c786badf605c8783864f366d13ee 100644 (file)
@@ -327,10 +327,6 @@ SELECT name, mail
    * @access public
    */
   public function addScriptUrl($url, $region) {
-    return FALSE;
-    // The below code does not prevent drupal's and civi's jquery from getting mixed up
-    // Dropping D6 support for drupal_add_js seems reasonable since we no longer officially support D6
-    // But leaving the code in place in case anyone really wants to tackle it.
     switch ($region) {
       case 'html-header':
       case 'page-footer':
@@ -342,12 +338,9 @@ SELECT name, mail
     // If the path is within the drupal directory we can add in the normal way
     if (CRM_Utils_System_Drupal::formatResourceUrl($url)) {
       drupal_add_js($url, 'module', $scope);
+      return TRUE;
     }
-    // D6 hack for external js files
-    else {
-      drupal_add_js('document.write(unescape("%3Cscript src=\'' . $url . '\' type=\'text/javascript\'%3E%3C/script%3E"));', 'inline', $scope);
-    }
-    return TRUE;
+    return FALSE;
   }
 
   /**
@@ -363,10 +356,6 @@ SELECT name, mail
    * @access public
    */
   public function addScript($code, $region) {
-    return FALSE;
-    // The below code does not prevent drupal's and civi's jquery from getting mixed up
-    // Dropping D6 support for drupal_add_js seems reasonable since we no longer officially support D6
-    // But leaving the code in place in case anyone really wants to tackle it.
     switch ($region) {
       case 'html-header':
       case 'page-footer':
diff --git a/js/noconflict.js b/js/noconflict.js
new file mode 100644 (file)
index 0000000..7284269
--- /dev/null
@@ -0,0 +1 @@
+var cj = jQuery.noConflict(true);