<?php
/* Copyright (C) 2006-2010 Laurent Destailleur  <eldy@users.sourceforge.net>
 * Copyright (C) 2012 Florian Henry  <florian.henry@open-concept.pro>
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

/**
 *       \file       htdocs/webservices/demo_wsclient_actioncomm.php
 *       \brief      Demo page to make a client call to Dolibarr WebServices "server_other"
 */

// This is to make Dolibarr working with Plesk
set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs');

require_once '../master.inc.php';
require_once NUSOAP_PATH.'/nusoap.php';		// Include SOAP

$WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_actioncomm.php';
//$WS_DOL_URL = 'http://localhost:8080/';	// If not a page, should end with /
$WS_METHOD_GET  = 'getActionComm';
$WS_METHOD_CREATE = 'createActionComm';
$WS_METHOD_GET_C_LIST = 'getListActionCommType';
$ns='http://www.dolibarr.org/ns/';

//Chosse action to do
//$action='get';
//$action='getlist';
$action='create';


// Set the WebService URL
dol_syslog("Create nusoap_actioncomm for URL=".$WS_DOL_URL);
$soapclient = new nusoap_client($WS_DOL_URL);
if ($soapclient)
{
	$soapclient->soap_defencoding='UTF-8';
	$soapclient->decodeUTF8(false);
}

// Call the WebService method and store its result in $result.
$authentication=array(
    'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
    'sourceapplication'=>'DEMO',
    'login'=>'admin_dolibarDev',
    'password'=>'homedread',
    'entity'=>'1');


// Test URL
if ($action=='get')
{
	$WS_METHOD=$WS_METHOD_GET;
    $parameters = array('authentication'=>$authentication,'id'=>1);
    dol_syslog("Call method ".$WS_METHOD_GET);
    $result = $soapclient->call($WS_METHOD_GET,$parameters,$ns,'');
    if (! $result)
    {
    	print $soapclient->error_str;
    	print "<br>\n\n";
    	print $soapclient->request;
    	print "<br>\n\n";
    	print $soapclient->response;
    	exit;
    }
}


// Test URL
if ($action=='getlist')
{
	$WS_METHOD=$WS_METHOD_GET_C_LIST;
	$parameters = array('authentication'=>$authentication);
	dol_syslog("Call method ".$WS_METHOD_GET_C_LIST);
	$result = $soapclient->call($WS_METHOD_GET_C_LIST,$parameters,$ns,'');
	if (! $result)
	{
		print $soapclient->error_str;
		print "<br>\n\n";
		print $soapclient->request;
		print "<br>\n\n";
		print $soapclient->response;
		exit;
	}
}

// Test URL
if ($action=='create')
{
	$WS_METHOD=$WS_METHOD_CREATE;
	$new=array(
	'datep'=>dol_mktime(13, 30, 00, 12, 16, 2012),
	'datef'=>dol_mktime(15, 30, 00, 12, 16, 2012),
	'type_code'=>'AC_RDV',
	'socid'=>'1',
	'projectid'=>'',
	'note'=>'This is note',
	'contactid'=>'',
	'usertodo'=>'1',
	'userdone'=>'1',
	'label'=>'Ceci est les titre de l\'envenement',
	'percentage'=>'100',
	'location'=>'Location1'
	);
	
	
	$parameters = array('authentication'=>$authentication,'actioncomm'=>$new);
	dol_syslog("Call method ".$WS_METHOD_CREATE);
	$result = $soapclient->call($WS_METHOD_CREATE,$parameters,$ns,'');
	if (! $result)
	{
		print $soapclient->error_str;
		print "<br>\n\n";
		print $soapclient->request;
		print "<br>\n\n";
		print $soapclient->response;
		exit;
	}
}


/*
 * View
 */

header("Content-type: text/html; charset=utf8");
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'."\n";
echo '<html>'."\n";
echo '<head>';
echo '<title>WebService Test: '.$WS_METHOD.'</title>';
echo '</head>'."\n";

echo '<body>'."\n";
echo 'NUSOAP_PATH='.NUSOAP_PATH.'<br>';

echo "<h2>Request:</h2>";
echo '<h4>Function</h4>';
echo $WS_METHOD;
echo '<h4>SOAP Message</h4>';
echo '<pre>' . htmlspecialchars($soapclient->request, ENT_QUOTES) . '</pre>';

echo '<hr>';

echo "<h2>Response:</h2>";
echo '<h4>Result</h4>';
echo '<pre>';
print_r($result);
echo '</pre>';
echo '<h4>SOAP Message</h4>';
echo '<pre>' . htmlspecialchars($soapclient->response, ENT_QUOTES) . '</pre>';

echo '</body>'."\n";;
echo '</html>'."\n";;
?>
