コード例 #1
0
ファイル: AJAX.php プロジェクト: konadave/civicrm-core
 /**
  * This function uses the deprecated v1 datatable api and needs updating. See CRM-16353.
  * @deprecated
  */
 public function petitionList()
 {
     //get the search criteria params.
     $searchCriteria = CRM_Utils_Request::retrieve('searchCriteria', 'String', CRM_Core_DAO::$_nullObject, FALSE, NULL, 'POST');
     $searchParams = explode(',', $searchCriteria);
     $params = $searchRows = array();
     foreach ($searchParams as $param) {
         if (!empty($_POST[$param])) {
             $params[$param] = $_POST[$param];
         }
     }
     //this is sequence columns on datatable.
     $selectorCols = array('id', 'title', 'campaign_id', 'campaign', 'activity_type_id', 'activity_type', 'is_default', 'is_active', 'isActive', 'action');
     // get the data table params.
     $dataTableParams = array('sEcho' => array('name' => 'sEcho', 'type' => 'Integer', 'default' => 0), 'offset' => array('name' => 'iDisplayStart', 'type' => 'Integer', 'default' => 0), 'rowCount' => array('name' => 'iDisplayLength', 'type' => 'Integer', 'default' => 25), 'sort' => array('name' => 'iSortCol_0', 'type' => 'Integer', 'default' => 'created_date'), 'sortOrder' => array('name' => 'sSortDir_0', 'type' => 'String', 'default' => 'desc'));
     foreach ($dataTableParams as $pName => $pValues) {
         ${$pName} = $pValues['default'];
         if (!empty($_POST[$pValues['name']])) {
             ${$pName} = CRM_Utils_Type::escape($_POST[$pValues['name']], $pValues['type']);
             if ($pName == 'sort') {
                 ${$pName} = $selectorCols[${$pName}];
             }
         }
     }
     foreach (array('sort', 'offset', 'rowCount', 'sortOrder') as $sortParam) {
         $params[$sortParam] = ${$sortParam};
     }
     $petitions = CRM_Campaign_Page_DashBoard::getPetitionSummary($params);
     $searchCount = CRM_Campaign_BAO_Petition::getPetitionSummary($params, TRUE);
     $iTotal = $searchCount;
     if ($searchCount > 0) {
         if ($searchCount < $offset) {
             $offset = 0;
         }
         foreach ($petitions as $petitionID => $values) {
             foreach ($selectorCols as $col) {
                 $searchRows[$petitionID][$col] = CRM_Utils_Array::value($col, $values);
             }
         }
     }
     $selectorElements = $selectorCols;
     $iFilteredTotal = $iTotal;
     CRM_Utils_System::setHttpHeader('Content-Type', 'application/json');
     echo CRM_Utils_JSON::encodeDataTableSelector($searchRows, $sEcho, $iTotal, $iFilteredTotal, $selectorElements);
     CRM_Utils_System::civiExit();
 }