use JSON::output instead of encodeDataTableSelector
authordeepak-srivastava <deepak.srivastava.0303@gmail.com>
Sat, 8 Aug 2015 00:14:00 +0000 (01:14 +0100)
committerdeepak-srivastava <deepak.srivastava.0303@gmail.com>
Sat, 8 Aug 2015 20:53:02 +0000 (21:53 +0100)
CRM/Contact/Page/AJAX.php
CRM/Utils/JSON.php

index f03bc0d640d5361231e4b4f190e4a62acdb10e80..5d248649ab2f2ff007219becdacf67518db36b9f 100644 (file)
@@ -864,10 +864,12 @@ LIMIT {$offset}, {$rowCount}
       $count++;
     }
 
-    header('Content-Type: application/json');
-    echo CRM_Utils_JSON::encodeDataTable($searchRows, $iTotal, $iFilteredTotal, $selectorElements);
-
-    CRM_Utils_System::civiExit();
+    $dupePairs = array(
+      'data'            => $searchRows,
+      'recordsTotal'    => $iTotal,
+      'recordsFiltered' => $iFilteredTotal,
+    );
+    CRM_Utils_JSON::output($dupePairs);
   }
 
   /**
index 6df05ada6eec1d16bb7b430ce701dfc074c8ea14..01e0b60bbf32f4fd108d0ad2a2611aad7c50c037 100644 (file)
@@ -94,38 +94,4 @@ class CRM_Utils_JSON {
     return $sOutput;
   }
 
-  /**
-   * This function is used to encode data for new dataTable plugin v1.10 and greater
-   * @return string
-   *
-   */
-  public static function encodeDataTable($params, $iTotal, $iFilteredTotal, $selectorElements) {
-    $sOutput = '{';
-    $sOutput .= '"recordsTotal": ' . $iTotal . ', ';
-    $sOutput .= '"recordsFiltered": ' . $iFilteredTotal . ', ';
-    $sOutput .= '"data": [ ';
-    foreach ($params as $key => $value) {
-      $addcomma = FALSE;
-      $sOutput .= "{";
-      foreach ($selectorElements as $element) {
-        if ($addcomma) {
-          $sOutput .= ",";
-        }
-        //CRM-7130 --lets addslashes to only double quotes,
-        //since we are using it to quote the field value.
-        //str_replace helps to provide a break for new-line
-        $sOutput .= '"' . $element . '":' . '"' . addcslashes(str_replace(array("\r\n", "\n", "\r"), '<br />', $value[$element]), '"\\') . '"';
-
-        //remove extra spaces and tab character that breaks dataTable CRM-12551
-        $sOutput  = preg_replace("/\s+/", " ", $sOutput);
-        $addcomma = TRUE;
-      }
-      $sOutput .= "},";
-    }
-    $sOutput = substr_replace($sOutput, "", -1);
-    $sOutput .= '] }';
-
-    return $sOutput;
-  }
-
 }