1 | <?php
|
---|
2 | if(!defined('sugarEntry'))define('sugarEntry', true);
|
---|
3 | /*********************************************************************************
|
---|
4 | * SugarCRM is a customer relationship management program developed by
|
---|
5 | * SugarCRM, Inc. Copyright (C) 2004 - 2009 SugarCRM Inc.
|
---|
6 | *
|
---|
7 | * This program is free software; you can redistribute it and/or modify it under
|
---|
8 | * the terms of the GNU General Public License version 3 as published by the
|
---|
9 | * Free Software Foundation with the addition of the following permission added
|
---|
10 | * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
---|
11 | * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
---|
12 | * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
---|
13 | *
|
---|
14 | * This program is distributed in the hope that it will be useful, but WITHOUT
|
---|
15 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
---|
16 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
---|
17 | * details.
|
---|
18 | *
|
---|
19 | * You should have received a copy of the GNU General Public License along with
|
---|
20 | * this program; if not, see http://www.gnu.org/licenses or write to the Free
|
---|
21 | * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
---|
22 | * 02110-1301 USA.
|
---|
23 | *
|
---|
24 | * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
---|
25 | * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
---|
26 | *
|
---|
27 | * The interactive user interfaces in modified source and object code versions
|
---|
28 | * of this program must display Appropriate Legal Notices, as required under
|
---|
29 | * Section 5 of the GNU General Public License version 3.
|
---|
30 | *
|
---|
31 | * In accordance with Section 7(b) of the GNU General Public License version 3,
|
---|
32 | * these Appropriate Legal Notices must retain the display of the "Powered by
|
---|
33 | * SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
---|
34 | * technical reasons, the Appropriate Legal Notices must display the words
|
---|
35 | * "Powered by SugarCRM".
|
---|
36 | ********************************************************************************/
|
---|
37 |
|
---|
38 | require_once('include/entryPoint.php');
|
---|
39 | require_once('include/utils/file_utils.php');
|
---|
40 | ob_start();
|
---|
41 |
|
---|
42 | require_once('soap/SoapError.php');
|
---|
43 | require_once('include/nusoap/nusoap.php');
|
---|
44 | require_once('modules/Contacts/Contact.php');
|
---|
45 | require_once('modules/Accounts/Account.php');
|
---|
46 | require_once('modules/Opportunities/Opportunity.php');
|
---|
47 | require_once('modules/Cases/Case.php');
|
---|
48 |
|
---|
49 | //ignore notices
|
---|
50 | error_reporting(E_ALL ^ E_NOTICE);
|
---|
51 |
|
---|
52 |
|
---|
53 |
|
---|
54 |
|
---|
55 |
|
---|
56 |
|
---|
57 | global $HTTP_RAW_POST_DATA;
|
---|
58 |
|
---|
59 | $administrator = new Administration();
|
---|
60 | $administrator->retrieveSettings();
|
---|
61 |
|
---|
62 | $NAMESPACE = 'http://www.sugarcrm.com/sugarcrm';
|
---|
63 | $server = new soap_server;
|
---|
64 | $server->configureWSDL('sugarsoap', $NAMESPACE, $sugar_config['site_url'].'/soap.php');
|
---|
65 |
|
---|
66 | //New API is in these files
|
---|
67 | if(!empty($administrator->settings['portal_on'])) {
|
---|
68 | require_once('soap/SoapPortalUsers.php');
|
---|
69 | }
|
---|
70 |
|
---|
71 | require_once('soap/SoapSugarUsers.php');
|
---|
72 | require_once('soap/SoapData.php');
|
---|
73 | require_once('soap/SoapDeprecated.php');
|
---|
74 |
|
---|
75 |
|
---|
76 |
|
---|
77 |
|
---|
78 |
|
---|
79 |
|
---|
80 |
|
---|
81 |
|
---|
82 |
|
---|
83 |
|
---|
84 | /* Begin the HTTP listener service and exit. */
|
---|
85 | ob_clean();
|
---|
86 |
|
---|
87 | if (!isset($HTTP_RAW_POST_DATA)){
|
---|
88 | $HTTP_RAW_POST_DATA = file_get_contents('php://input');
|
---|
89 | }
|
---|
90 |
|
---|
91 | require_once('include/resource/ResourceManager.php');
|
---|
92 | $resourceManager = ResourceManager::getInstance();
|
---|
93 | $resourceManager->setup('Soap');
|
---|
94 | $observers = $resourceManager->getObservers();
|
---|
95 | //Call set_soap_server for SoapResourceObserver instance(s)
|
---|
96 | foreach($observers as $observer) {
|
---|
97 | if(method_exists($observer, 'set_soap_server')) {
|
---|
98 | $observer->set_soap_server($server);
|
---|
99 | }
|
---|
100 | }
|
---|
101 |
|
---|
102 | $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
|
---|
103 | $server->service($HTTP_RAW_POST_DATA);
|
---|
104 | ob_end_flush();
|
---|
105 | flush();
|
---|
106 | sugar_cleanup();
|
---|
107 | exit();
|
---|
108 | ?>
|
---|