PageRenderTime 50ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/examples/SoapTest.php

https://bitbucket.org/cviolette/sugarcrm
PHP | 122 lines | 68 code | 20 blank | 34 comment | 4 complexity | fa782c475fc7f677f4f71dc058e7fcac MD5 | raw file
Possible License(s): LGPL-2.1, MPL-2.0-no-copyleft-exception, BSD-3-Clause
  1. <?php
  2. if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
  3. /*********************************************************************************
  4. * SugarCRM Community Edition is a customer relationship management program developed by
  5. * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
  6. *
  7. * This program is free software; you can redistribute it and/or modify it under
  8. * the terms of the GNU Affero 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 Affero General Public License for more
  17. * details.
  18. *
  19. * You should have received a copy of the GNU Affero 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 Affero General Public License version 3.
  30. *
  31. * In accordance with Section 7(b) of the GNU Affero 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. $user_name ='';
  38. $user_password = '';
  39. foreach($_POST as $name=>$value){
  40. $$name = $value;
  41. }
  42. echo <<<EOQ
  43. <form name='test' method='POST'>
  44. <table width ='800'><tr>
  45. <tr><th colspan='6'>Enter SugarCRM User Information - this is the same info entered when logging into sugarcrm</th></tr>
  46. <td >USER NAME:</td><td><input type='text' name='user_name' value='$user_name'></td><td>USER PASSWORD:</td><td><input type='password' name='user_password' value='$user_password'></td>
  47. </tr>
  48. <tr><td><input type='submit' value='Submit'></td></tr>
  49. </table>
  50. </form>
  51. EOQ;
  52. if(!empty($user_name)){
  53. $offset = 0;
  54. if(isset($_REQUEST['offset'])){
  55. $offset = $_REQUEST['offset'] + 20;
  56. echo $offset;
  57. }
  58. require_once('include/nusoap/nusoap.php'); //must also have the nusoap code on the ClientSide.
  59. $soapclient = new nusoapclient($GLOBALS['sugar_config']['site_url'].'/soap.php'); //define the SOAP Client an
  60. echo '<b>LOGIN:</b><BR>';
  61. $result = $soapclient->call('login',array('user_auth'=>array('user_name'=>$user_name,'password'=>md5($user_password), 'version'=>'.01'), 'application_name'=>'SoapTest'));
  62. echo '<b>HERE IS ERRORS:</b><BR>';
  63. echo $soapclient->error_str;
  64. echo '<BR><BR><b>HERE IS RESPONSE:</b><BR>';
  65. echo $soapclient->response;
  66. echo '<BR><BR><b>HERE IS RESULT:</b><BR>';
  67. echo print_r($result);
  68. $session = $result['id'];
  69. echo '<br><br><b>GET Case fields:</b><BR>';
  70. $result = $soapclient->call('get_module_fields',array('session'=>$session , 'module_name'=>'Cases'));
  71. echo '<b>HERE IS ERRORS:</b><BR>';
  72. echo $soapclient->error_str;
  73. echo '<BR><BR><b>HERE IS RESPONSE:</b><BR>';
  74. echo $soapclient->response;
  75. echo '<BR><BR><b>HERE IS RESULT:</b><BR>';
  76. echo print_r($result);
  77. echo '<br><br><b>Update a portal user fields:</b><BR>';
  78. $result = $soapclient->call('update_portal_user',array('session'=>$session,'portal_name'=>'dan','name_value_list'=>array(array('name'=>'email1', 'value'=>'Dan_Aarons@example.com'))));
  79. echo '<b>HERE IS ERRORS:</b><BR>';
  80. echo $soapclient->error_str;
  81. echo '<BR><BR><b>HERE IS RESPONSE:</b><BR>';
  82. echo $soapclient->response;
  83. echo '<BR><BR><b>HERE IS RESULT:</b><BR>';
  84. echo print_r($result);
  85. echo '<br><br><b>Get list of contacts:</b><BR>';
  86. $result = $soapclient->call('get_entry_list',array('session'=>$session,'module_name'=>'Contacts','query'=>'','order_by'=>'contacts.last_name asc','offset'=>$offset, 'select_fields'=>array(), 'max_results'=>'5'));
  87. echo '<b>HERE IS ERRORS:</b><BR>';
  88. echo $soapclient->error_str;
  89. echo '<BR><BR><b>HERE IS RESPONSE:</b><BR>';
  90. echo $soapclient->response;
  91. echo '<BR><BR><b>HERE IS RESULT:</b><BR>';
  92. echo print_r($result);
  93. echo '<br><br><b>LOGOUT:</b><BR>';
  94. $result = $soapclient->call('logout',array('session'=>$session));
  95. echo '<b>HERE IS ERRORS:</b><BR>';
  96. echo $soapclient->error_str;
  97. echo '<BR><BR><b>HERE IS RESPONSE:</b><BR>';
  98. echo $soapclient->response;
  99. echo '<BR><BR><b>HERE IS RESULT:</b><BR>';
  100. echo print_r($result);
  101. }
  102. ?>