function testProcessMultiple() { $_SERVER['REQUEST_METHOD'] = 'POST'; $input = array('cow' => array('contact', 'create', array('contact_type' => 'Individual', 'first_name' => 'Cow')), 'sheep' => array('contact', 'create', array('contact_type' => 'Individual', 'first_name' => 'Sheep'))); $_REQUEST['json'] = json_encode($input); $output = CRM_Utils_REST::processMultiple(); $this->assertGreaterThan(0, $output['cow']['id']); $this->assertGreaterThan($output['cow']['id'], $output['sheep']['id']); }
| | | CiviCRM is free software; you can copy, modify, and distribute it | | under the terms of the GNU Affero General Public License | | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | | | CiviCRM is distributed in the hope that it will be useful, but | | WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | See the GNU Affero General Public License for more details. | | | | You should have received a copy of the GNU Affero General Public | | License and the CiviCRM Licensing Exception along | | with this program; if not, contact CiviCRM LLC | | at info[AT]civicrm[DOT]org. If you have questions about the | | GNU Affero General Public License or the licensing of CiviCRM, | | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ */ // session_start( ); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config = CRM_Core_Config::singleton(); require_once 'CRM/Utils/REST.php'; $rest = new CRM_Utils_REST(); $rest->loadCMSBootstrap(); if (isset($_GET['json']) && $_GET['json']) { header('Content-Type: text/javascript'); } else { header('Content-Type: text/xml'); } echo $rest->run();
/** * Implementation of command 'rest' */ private function rest() { civicrm_initialize(); if (!($query = $this->getOption('query', false))) { return WP_CLI::error('query not specified.'); } $query = explode('&', $query); $_GET['q'] = array_shift($query); foreach ($query as $keyVal) { list($key, $val) = explode('=', $keyVal); $_REQUEST[$key] = $val; $_GET[$key] = $val; } require_once 'CRM/Utils/REST.php'; $rest = new CRM_Utils_REST(); require_once 'CRM/Core/Config.php'; $config = CRM_Core_Config::singleton(); global $civicrm_root; // adding dummy script, since based on this api file path is computed. $_SERVER['SCRIPT_FILENAME'] = "{$civicrm_root}/extern/rest.php"; if (isset($_GET['json']) && $_GET['json']) { header('Content-Type: text/javascript'); } else { header('Content-Type: text/xml'); } echo $rest->run($config); }
| | | CiviCRM is free software; you can copy, modify, and distribute it | | under the terms of the GNU Affero General Public License | | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | | | CiviCRM is distributed in the hope that it will be useful, but | | WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | See the GNU Affero General Public License for more details. | | | | You should have received a copy of the GNU Affero General Public | | License and the CiviCRM Licensing Exception along | | with this program; if not, contact CiviCRM LLC | | at info[AT]civicrm[DOT]org. If you have questions about the | | GNU Affero General Public License or the licensing of CiviCRM, | | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ */ require_once '../civicrm.config.php'; $config = CRM_Core_Config::singleton(); if (defined('PANTHEON_ENVIRONMENT')) { ini_set('session.save_handler', 'files'); } session_start(); $rest = new CRM_Utils_REST(); // Json-appropriate header will be set by CRM_Utils_Rest // But we need to set header here for non-json if (empty($_GET['json'])) { header('Content-Type: text/xml'); } echo $rest->bootAndRun();
| | | CiviCRM is free software; you can copy, modify, and distribute it | | under the terms of the GNU Affero General Public License | | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | | | CiviCRM is distributed in the hope that it will be useful, but | | WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | See the GNU Affero General Public License for more details. | | | | You should have received a copy of the GNU Affero General Public | | License and the CiviCRM Licensing Exception along | | with this program; if not, contact CiviCRM LLC | | at info[AT]civicrm[DOT]org. If you have questions about the | | GNU Affero General Public License or the licensing of CiviCRM, | | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ */ session_start(); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; require_once 'CRM/Utils/REST.php'; $rest = new CRM_Utils_REST(); $config = CRM_Core_Config::singleton(); $rest->loadCMSBootstrap(); if (isset($_GET['json']) && $_GET['json']) { header('Content-Type: text/javascript'); } else { header('Content-Type: text/xml'); } echo $rest->run($config);