You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2249 lines
76 KiB

<?php
/*********************************************************************************
* The contents of this file are subject to the SugarCRM Public License Version 1.1.2
* ("License"); You may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is: SugarCRM Open Source
* The Initial Developer of the Original Code is SugarCRM, Inc.
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
* All Rights Reserved.
* Contributor(s): ______________________________________.
********************************************************************************/
//include("Serializer.php");
require_once("config.php");
require_once('modules/Contacts/Contact.php');
require_once('modules/Products/Product.php');
require_once('modules/HelpDesk/HelpDesk.php');
require_once('include/logging.php');
require_once('include/database/PearDatabase.php');
//require_once('SOAP/lib/nusoap.php');
require_once('include/nusoap/nusoap.php');
// create object
//$serializer = new XML_Serializer();
$NAMESPACE = 'http://www.vtigercrm.com/vtigercrm';
$server = new soap_server;
$server->configureWSDL('vtigersoap');
$server->wsdl->addComplexType(
'task_detail',
'complexType',
'struct',
'all',
'',
array(
'start_date' => array('name'=>'start_date','type'=>'xsd:datetime'),
'date_modified' => array('name'=>'date_modified','type'=>'xsd:datetime'),
'name' => array('name'=>'name','type'=>'xsd:string'),
'status' => array('name'=>'status','type'=>'xsd:string'),
'date_due' => array('name'=>'date_due','type'=>'xsd:string'),
'time_due' => array('name'=>'time_due','type'=>'xsd:datetime'),
'priority' => array('name'=>'priority','type'=>'xsd:string'),
'description' => array('name'=>'description','type'=>'xsd:string'),
'contact_name' => array('name'=>'contact_name','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string'),
)
);
$server->wsdl->addComplexType(
'task_detail_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:task_detail[]')
),
'tns:task_detail'
);
//calendar
$server->wsdl->addComplexType(
'calendar_detail',
'complexType',
'struct',
'all',
'',
array(
'start_date' => array('name'=>'start_date','type'=>'xsd:string'),
'date_modified' => array('name'=>'date_modified','type'=>'xsd:string'),
'name' => array('name'=>'name','type'=>'xsd:string'),
'location' => array('name'=>'location','type'=>'xsd:string'),
'date_due' => array('name'=>'date_due','type'=>'xsd:string'),
'time_due' => array('name'=>'time_due','type'=>'xsd:string'),
//'priority' => array('name'=>'priority','type'=>'xsd:string'),
'description' => array('name'=>'description','type'=>'xsd:string'),
'contact_name' => array('name'=>'contact_name','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string'),
)
);
$server->wsdl->addComplexType(
'calendar_detail_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:calendar_detail[]')
),
'tns:calendar_detail'
);
//calendar
$server->wsdl->addComplexType(
'contact_detail',
'complexType',
'struct',
'all',
'',
array(
'email_address' => array('name'=>'email_address','type'=>'xsd:string'),
'first_name' => array('name'=>'first_name','type'=>'xsd:string'),
'last_name' => array('name'=>'last_name','type'=>'xsd:string'),
'primary_address_city' => array('name'=>'primary_address_city','type'=>'xsd:string'),
'account_name' => array('name'=>'account_name','type'=>'xsd:string'),
'account_id' => array('name'=>'account_id','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string'),
'salutation' => array('name'=>'salutation','type'=>'xsd:string'),
'title'=> array('name'=>'title','type'=>'xsd:string'),
'phone_mobile'=> array('name'=>'phone_mobile','type'=>'xsd:string'),
'reports_to'=> array('name'=>'reports_to','type'=>'xsd:string'),
'primary_address_city'=> array('name'=>'primary_address_city','type'=>'xsd:string'),
'primary_address_street'=> array('name'=>'primary_address_street','type'=>'xsd:string'),
'primary_address_state'=> array('name'=>'primary_address_state','type'=>'xsd:string'),
'primary_address_postalcode'=> array('name'=>'primary_address_postalcode','type'=>'xsd:string'),
'primary_address_country'=> array('name'=>'primary_address_country','type'=>'xsd:string'),
'alt_address_city'=> array('name'=>'alt_address_city','type'=>'xsd:string'),
'alt_address_street'=> array('name'=>'alt_address_street','type'=>'xsd:string'),
'alt_address_state'=> array('name'=>'alt_address_state','type'=>'xsd:string'),
'alt_address_postalcode'=> array('name'=>'alt_address_postalcode','type'=>'xsd:string'),
'alt_address_country'=> array('name'=>'alt_address_country','type'=>'xsd:string'),
'office_phone'=> array('name'=>'office_phone','type'=>'xsd:string'),
'home_phone'=> array('name'=>'home_phone','type'=>'xsd:string'),
'other_phone'=> array('name'=>'other_phone','type'=>'xsd:string'),
'fax'=> array('name'=>'fax','type'=>'xsd:string'),
'department'=> array('name'=>'fax','type'=>'xsd:string'),
'birthdate'=> array('name'=>'birthdate','type'=>'xsd:string'),
'assistant_name'=> array('name'=>'assistant_name','type'=>'xsd:string'),
'assistant_phone'=> array('name'=>'assistant_phone','type'=>'xsd:string')
)
);
$server->wsdl->addComplexType(
'contact_detail_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:contact_detail[]')
),
'tns:contact_detail'
);
$server->wsdl->addComplexType(
'contact_column_detail',
'complexType',
'array',
'',
array(
'email_address' => array('name'=>'email_address','type'=>'xsd:string'),
'first_name' => array('name'=>'first_name','type'=>'xsd:string'),
'last_name' => array('name'=>'last_name','type'=>'xsd:string'),
'primary_address_city' => array('name'=>'primary_address_city','type'=>'xsd:string'),
'account_name' => array('name'=>'account_name','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string'),
'salutation' => array('name'=>'salutation','type'=>'xsd:string'),
'title'=> array('name'=>'title','type'=>'xsd:string'),
'phone_mobile'=> array('name'=>'phone_mobile','type'=>'xsd:string'),
'reports_to'=> array('name'=>'reports_to','type'=>'xsd:string'),
'primary_address_city'=> array('name'=>'primary_address_city','type'=>'xsd:string'),
'primary_address_street'=> array('name'=>'primary_address_street','type'=>'xsd:string'),
'primary_address_state'=> array('name'=>'primary_address_state','type'=>'xsd:string'),
'primary_address_postalcode'=> array('name'=>'primary_address_postalcode','type'=>'xsd:string'),
'primary_address_country'=> array('name'=>'primary_address_country','type'=>'xsd:string'),
'alt_address_city'=> array('name'=>'alt_address_city','type'=>'xsd:string'),
'alt_address_street'=> array('name'=>'alt_address_street','type'=>'xsd:string'),
'alt_address_state'=> array('name'=>'alt_address_state','type'=>'xsd:string'),
'alt_address_postalcode'=> array('name'=>'alt_address_postalcode','type'=>'xsd:string'),
'alt_address_country'=> array('name'=>'alt_address_country','type'=>'xsd:string'),
)
);
/*$server->wsdl->addComplexType(
'contact_column_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:contact_column_detail[]')
),
'tns:contact_column_detail'
);
$server->wsdl->addComplexType(
'account_column_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:account_column_detail[]')
),
'tns:account_column_detail'
);
$server->wsdl->addComplexType(
'lead_column_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:lead_column_detail[]')
),
'tns:lead_column_detail'
);*/
$server->wsdl->addComplexType(
'account_column_detail',
'complexType',
'array',
'',
array(
'accountid' => array('name'=>'accountid','type'=>'xsd:string'),
'accountname' => array('name'=>'accountname','type'=>'xsd:string'),
'parentid' => array('name'=>'parentid','type'=>'xsd:string'),
'account_type' => array('name'=>'account_type','type'=>'xsd:string'),
'industry' => array('name'=>'industry','type'=>'xsd:string'),
'annualrevenue' => array('name'=>'annualrevenue','type'=>'xsd:string'),
'rating'=> array('name'=>'rating','type'=>'xsd:string'),
'ownership' => array('name'=>'ownership','type'=>'xsd:string'),
'siccode' => array('name'=>'siccode','type'=>'xsd:string'),
'tickersymbol' => array('name'=>'tickersymbol','type'=>'xsd:string'),
'phone' => array('name'=>'phone','type'=>'xsd:string'),
'otherphone' => array('name'=>'otherphone','type'=>'xsd:string'),
'email1' => array('name'=>'email1','type'=>'xsd:string'),
'email2' => array('name'=>'email2','type'=>'xsd:string'),
'website' => array('name'=>'website','type'=>'xsd:string'),
'fax' => array('name'=>'fax','type'=>'xsd:string'),
//'employees' => array('name'=>'employees','type'=>'xsd:string'),
)
);
$server->wsdl->addComplexType(
'lead_column_detail',
'complexType',
'array',
'',
array(
'id' => array('name'=>'id','type'=>'xsd:string'),
'date_entered' => array('name'=>'date_entered','type'=>'xsd:string'),
'date_modified' => array('name'=>'date_modified','type'=>'xsd:string'),
'modified_user_id' => array('name'=>'modified_user_id','type'=>'xsd:string'),
'assigned_user_id' => array('name'=>'assigned_user_id','type'=>'xsd:string'),
'salutation' => array('name'=>'salutation','type'=>'xsd:string'),
'first_name' => array('name'=>'first_name','type'=>'xsd:string'),
'last_name' => array('name'=>'last_name','type'=>'xsd:string'),
'company' => array('name'=>'company','type'=>'xsd:string'),
'designation' => array('name'=>'designation','type'=>'xsd:string'),
'lead_source' => array('name'=>'lead_source','type'=>'xsd:string'),
'industry' => array('name'=>'industry','type'=>'xsd:string'),
'annual_revenue' => array('name'=>'annual_revenue','type'=>'xsd:string'),
'license_key' => array('name'=>'license_key','type'=>'xsd:string'),
'phone' => array('name'=>'phone','type'=>'xsd:string'),
'mobile' => array('name'=>'mobile','type'=>'xsd:string'),
'fax' => array('name'=>'fax','type'=>'xsd:string'),
'email' => array('name'=>'email','type'=>'xsd:string'),
'yahoo_id' => array('name'=>'yahoo_id','type'=>'xsd:string'),
'website' => array('name'=>'website','type'=>'xsd:string'),
'lead_status' => array('name'=>'lead_status','type'=>'xsd:string'),
'rating' => array('name'=>'rating','type'=>'xsd:string'),
'employees' => array('name'=>'employees','type'=>'xsd:string'),
'address_street' => array('name'=>'address_street','type'=>'xsd:string'),
'address_city' => array('name'=>'address_city','type'=>'xsd:string'),
'address_state' => array('name'=>'address_state','type'=>'xsd:string'),
'address_postalcode' => array('name'=>'address_postalcode','type'=>'xsd:string'),
'address_country' => array('name'=>'address_country','type'=>'xsd:string'),
'description' => array('name'=>'description','type'=>'xsd:string'),
'deleted' => array('name'=>'deleted','type'=>'xsd:string'),
'converted' => array('name'=>'converted','type'=>'xsd:string'),
)
);
//end code for mail merge
//Field array for troubletickets
$server->wsdl->addComplexType(
'tickets_list_array',
'complexType',
'array',
'',
array(
'ticketid' => array('name'=>'ticketid','type'=>'xsd:string'),
'title' => array('name'=>'title','type'=>'xsd:string'),
'groupname' => array('name'=>'groupname','type'=>'xsd:string'),
'firstname' => array('name'=>'firstname','type'=>'xsd:string'),
'lastname' => array('name'=>'lastname','type'=>'xsd:string'),
'parent_id' => array('name'=>'parent_id','type'=>'xsd:string'),
'productid' => array('name'=>'productid','type'=>'xsd:string'),
'productname' => array('name'=>'productname','type'=>'xsd:string'),
'priority' => array('name'=>'priority','type'=>'xsd:string'),
'severity' => array('name'=>'severity','type'=>'xsd:string'),
'status' => array('name'=>'status','type'=>'xsd:string'),
'category' => array('name'=>'category','type'=>'xsd:string'),
'description' => array('name'=>'description','type'=>'xsd:string'),
'solution' => array('name'=>'solution','type'=>'xsd:string'),
'createdtime' => array('name'=>'createdtime','type'=>'xsd:string'),
'modifiedtime' => array('name'=>'modifiedtime','type'=>'xsd:string'),
)
);
$server->wsdl->addComplexType(
'ticket_comments_array',
'complexType',
'array',
'',
array(
'comments' => array('name'=>'comments','type'=>'tns:xsd:string'),
)
);
$server->wsdl->addComplexType(
'combo_values_array',
'complexType',
'array',
'',
array(
'productid' => array('name'=>'productid','type'=>'tns:xsd:string'),
'productname' => array('name'=>'productname','type'=>'tns:xsd:string'),
'ticketpriorities' => array('name'=>'ticketpriorities','type'=>'tns:xsd:string'),
'ticketseverities' => array('name'=>'ticketseverities','type'=>'tns:xsd:string'),
'ticketcategories' => array('name'=>'ticketcategories','type'=>'tns:xsd:string'),
)
);
$server->wsdl->addComplexType(
'KBase_array',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:kbase_detail[]')
),
'tns:kbase_detail'
);
$server->wsdl->addComplexType(
'kbase_detail',
'complexType',
'array',
'',
array(
'faqcategory' => array('name'=>'faqcategory','type'=>'tns:xsd:string'),
'faq' => array(
'id' => array('name'=>'id','type'=>'tns:xsd:string'),
'question' => array('name'=>'question','type'=>'tns:xsd:string'),
'answer' => array('name'=>'answer','type'=>'tns:xsd:string'),
'category' => array('name'=>'category','type'=>'tns:xsd:string'),
'faqcreatedtime' => array('name'=>'createdtime','type'=>'tns:xsd:string'),
'faqmodifiedtime' => array('name'=>'createdtime','type'=>'tns:xsd:string'),
'faqcomments' => array('name'=>'faqcomments','type'=>'tns:xsd:string'),
)
)
);
$server->wsdl->addComplexType(
'ticket_update_comment_array',
'complexType',
'array',
'',
array(
'ticketid' => array('name'=>'ticketid','type'=>'tns:xsd:string'),
'parent_id' => array('name'=>'parent_id','type'=>'tns:xsd:string'),
'createdtime' => array('name'=>'createdtime','type'=>'tns:xsd:string'),
'comments' => array('name'=>'comments','type'=>'tns:xsd:string'),
)
);
//Added for User Details
$server->wsdl->addComplexType(
'user_array',
'complexType',
'array',
'',
array(
'id' => array('name'=>'id','type'=>'xsd:string'),
'user_name' => array('name'=>'user_name','type'=>'xsd:string'),
'user_password' => array('name'=>'user_password','type'=>'xsd:string'),
'last_login' => array('name'=>'last_login_time','type'=>'xsd:string'),
'support_start_date' => array('name'=>'support_start_date','type'=>'xsd:string'),
'support_end_date' => array('name'=>'support_end_date','type'=>'xsd:string'),
)
);
$server->register(
'create_session',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'end_session',
array('user_name'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'create_contact',
array('user_name'=>'xsd:string', 'first_name'=>'xsd:string', 'last_name'=>'xsd:string', 'email_address'=>'xsd:string','account_name'=>'xsd:string', 'salutation'=>'xsd:string', 'title'=>'xsd:string', 'phone_mobile'=>'xsd:string' , 'reports_to'=>'xsd:string', 'primary_address_street'=>'xsd:string', 'primary_address_city'=>'xsd:string', 'primary_address_state'=>'xsd:string' , 'primary_address_postalcode'=>'xsd:string', 'primary_address_country'=>'xsd:string', 'alt_address_city'=>'xsd:string', 'alt_address_street'=>'xsd:string','alt_address_state'=>'xsd:string', 'alt_address_postalcode'=>'xsd:string', 'alt_address_country'=>'xsd:string','office_phone'=>'xsd:string','home_phone'=>'xsd:string','fax'=>'xsd:string','department'=>'xsd:string','description'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'get_version',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'contact_by_email',
array('user_name'=>'xsd:string','email_address'=>'xsd:string'),
array('return'=>'tns:contact_detail_array'),
$NAMESPACE);
$server->register(
'authenticate_user',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:user_array'),
$NAMESPACE);
$server->register(
'change_password',
array('id'=>'xsd:string','user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:user_array'),
$NAMESPACE);
$server->register(
'create_ticket',
array('title'=>'xsd:string','description'=>'xsd:string','priority'=>'xsd:string','severity'=>'xsd:string','category'=>'xsd:string','user_name'=>'xsd:string','parent_id'=>'xsd:string','product_id'=>'xsd:string'),
array('return'=>'tns:tickets_list_array'),
$NAMESPACE);
$server->register(
'get_tickets_list',
array('user_name'=>'xsd:string','id'=>'xsd:string'),
array('return'=>'tns:tickets_list_array'),
$NAMESPACE);
$server->register(
'get_ticket_comments',
array('id'=>'xsd:string'),
array('return'=>'tns:ticket_comments_array'),
$NAMESPACE);
$server->register(
'get_combo_values',
array('id'=>'xsd:string'),
array('return'=>'tns:combo_values_array'),
$NAMESPACE);
$server->register(
'get_KBase_details',
array(''=>''),
array('return'=>'tns:KBase_array'),
$NAMESPACE);
$server->register(
'create_lead_from_webform',
array('lastname'=>'xsd:string',
'email'=>'xsd:string',
'phone'=>'xsd:string',
'company'=>'xsd:string',
'country'=>'xsd:string',
'description'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'save_faq_comment',
array('faqid'=>'xsd:string','comments'=>'xsd:string'),
array('return'=>'tns:KBase_array'),
$NAMESPACE);
$server->register(
'update_ticket_comment',
array('ticketid'=>'xsd:string'),
array('ownerid'=>'xsd:string'),
array('createdtime'=>'xsd:string'),
array('comments'=>'xsd:string'),
array('return'=>'tns:ticket_update_comment_array'),
$NAMESPACE);
$server->register(
'close_current_ticket',
array('ticketid'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'update_login_details',
array('id'=>'xsd:string','flag'=>'xsd:string'),
array('return'=>'tns:user_array'),
$NAMESPACE);
$server->register(
'send_mail_for_password',
array('email'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'contact_by_search',
array('name'=>'xsd:string'),
array('return'=>'tns:contact_detail_array'),
$NAMESPACE);
$server->register(
'update_contact',
array('user_name'=>'xsd:string', 'id'=>'xsd:string','first_name'=>'xsd:string', 'last_name'=>'xsd:string', 'email_address'=>'xsd:string' , 'account_name'=>'xsd:string', 'salutation'=>'xsd:string', 'title'=>'xsd:string', 'phone_mobile'=>'xsd:string' , 'reports_to'=>'xsd:string', 'primary_address_street'=>'xsd:string', 'primary_address_city'=>'xsd:string', 'primary_address_state'=>'xsd:string' , 'primary_address_postalcode'=>'xsd:string', 'primary_address_country'=>'xsd:string', 'alt_address_city'=>'xsd:string', 'alt_address_street'=>'xsd:string','alt_address_city'=>'xsd:string', 'alt_address_state'=>'xsd:string', 'alt_address_postalcode'=>'xsd:string', 'alt_address_country'=>'xsd:string','office_phone'=>'xsd:string','home_phone'=>'xsd:string','other_phone'=>'xsd:string','fax'=>'xsd:string','department'=>'xsd:string','birthdate'=>'xsd:datetime','assistant_name'=>'xsd:string','assistant_phone'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'delete_contact',
array('user_name'=>'xsd:string', 'id'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
/*
$server->register(
'sync_contact',
array('user_name'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
*/
$server->register(
'create_task',
array('user_name'=>'xsd:string', 'start_date'=>'xsd:datetime', 'date_modified'=>'xsd:datetime','name'=>'xsd:string','status'=>'xsd:string','priority'=>'xsd:string','description'=>'xsd:string','date_due'=>'xsd:string','contact_name'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
//security
$server->register(
'authorize_module',
array('user_name'=>'xsd:string','module_name'=>'xsd:string', 'action'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
//security
$server->register(
'update_task',
array('user_name'=>'xsd:string', 'id'=>'xsd:string', 'start_date'=>'xsd:datetime','name'=>'xsd:string','status'=>'xsd:string','priority'=>'xsd:string','description'=>'xsd:string','date_due'=>'xsd:date','contact_name'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
//'date_due_flag'=>'xsd:string', 'date_due'=>'xsd:string', 'time_due'=>'xsd:datetime','parent_type'=>xsd:string,'parent_id'=>'xsd:string', 'contact_id'=>'xsd:string', 'priority'=>'xsd:string', 'description'=>'xsd:string','deleted'=>xsd:string),
$server->register(
'retrieve_task',
array('name'=>'xsd:string'),
array('return'=>'tns:task_detail_array'),
$NAMESPACE);
$server->register(
'delete_task',
array('user_name'=>'xsd:string', 'id'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
/*
$server->register(
'sync_task',
array('user_name'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
*/
$server->register(
'track_email',
array('user_name'=>'xsd:string', 'contact_ids'=>'xsd:string', 'date_sent'=>'xsd:date', 'email_subject'=>'xsd:string', 'email_body'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'upload_emailattachment',
array('email_id'=>'xsd:string', 'filename'=>'xsd:string','binFile'=>'xsd:string','fileSize'=>'xsd:long'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'create_contacts',
array('user_name'=>'xsd:string','contacts'=>'tns:contact_detail_array'),
array('return'=>'tns:contact_detail_array'),
$NAMESPACE);
$server->register(
'create_tasks',
array('user_name'=>'xsd:string','tasks'=>'tns:task_detail_array'),
array('return'=>'tns:task_detail_array'),
$NAMESPACE);
$server->register(
'contact_by_range',
array('user_name'=>'xsd:string','from_index'=>'xsd:int','offset'=>'xsd:int'),
array('return'=>'tns:contact_detail_array'),
$NAMESPACE);
$server->register(
'get_contacts_count',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'xsd:int'),
$NAMESPACE);
$server->register(
'task_by_range',
array('user_name'=>'xsd:string','from_index'=>'xsd:int','offset'=>'xsd:int'),
array('return'=>'tns:task_detail_array'),
$NAMESPACE);
$server->register(
'get_tasks_count',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'xsd:int'),
$NAMESPACE);
$server->register(
'get_tickets_columns',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:tickets_list_array'),
$NAMESPACE);
$server->register(
'get_contacts_columns',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:contact_column_detail'),
$NAMESPACE);
$server->register(
'get_accounts_columns',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:account_column_detail'),
$NAMESPACE);
$server->register(
'get_leads_columns',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'tns:lead_column_detail'),
$NAMESPACE);
//calendar
$server->register(
'get_calendar_count',
array('user_name'=>'xsd:string','password'=>'xsd:string'),
array('return'=>'xsd:int'),
$NAMESPACE);
$server->register(
'calendar_by_range',
array('user_name'=>'xsd:string','from_index'=>'xsd:int','offset'=>'xsd:int'),
array('return'=>'tns:calendar_detail_array'),
$NAMESPACE);
$server->register(
'create_calendars',
array('user_name'=>'xsd:string','tasks'=>'tns:calendar_detail_array'),
array('return'=>'tns:calendar_detail_array'),
$NAMESPACE);
$server->register(
'create_calendar',
array('user_name'=>'xsd:string', 'start_date'=>'xsd:string','name'=>'xsd:string','description'=>'xsd:string','date_due'=>'xsd:string','contact_name'=>'xsd:string','location'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'update_calendar',
array('user_name'=>'xsd:string', 'id'=>'xsd:string', 'start_date'=>'xsd:string','name'=>'xsd:string','description'=>'xsd:string','date_due'=>'xsd:string','contact_name'=>'xsd:string','location'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
$server->register(
'retrieve_calendar',
array('name'=>'xsd:string'),
array('return'=>'tns:calendar_detail_array'),
$NAMESPACE);
$server->register(
'delete_calendar',
array('user_name'=>'xsd:string', 'id'=>'xsd:string'),
array('return'=>'xsd:string'),
$NAMESPACE);
//calendar
function get_tickets_columns($user_name, $password)
{
require_once('modules/HelpDesk/HelpDesk.php');
$helpdesk = new HelpDesk();
return $helpdesk->getColumnNames_Hd();
}
function get_contacts_columns($user_name, $password)
{
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
return $contact->getColumnNames();
}
function authorize_module($user_name,$module_name,$action)
{
require_once('modules/Users/UserInfoUtil.php');
if($module_name == "Tasks")
{
$module_name = "Activities";
}
$user_id = getUserId_Ol($user_name);
if($user_id != 0)
{
$auth_val = isAllowed_Outlook($module_name,$action,$user_id,"");
}else
{
$auth_val = "no";
}
return $auth_val;
}
/*require_once('modules/Accounts/Account.php');
$account = new Account();
foreach($account->getColumnNames_Acnt() as $flddetails)
{
echo $flddetails;
}
*/
function get_accounts_columns($user_name, $password)
{
require_once('modules/Accounts/Account.php');
$account = new Account();
return $account->getColumnNames_Acnt();
}
function get_leads_columns($user_name, $password)
{
require_once('modules/Leads/Lead.php');
$lead = new Lead();
return $lead->getColumnNames_Lead();
}
//end code for mail merge
function get_contacts_count($user_name, $password)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
return $contact->getCount($user_name);
}
function create_contacts($user_name,$output_list)
{
$counter=0;
foreach($output_list as $contact)
{
if($contact[birthdate]=="4501-01-01")
{
$contact[birthdate] = "0000-00-00";
}
$id = create_contact1($user_name, $contact[first_name], $contact[last_name], $contact[email_address ],$contact[account_name ], $contact[salutation ], $contact[title], $contact[phone_mobile], $contact[reports_to],$contact[primary_address_street],$contact[primary_address_city],$contact[primary_address_state],$contact[primary_address_postalcode],$contact[primary_address_country],$contact[alt_address_city],$contact[alt_address_street],$contact[alt_address_state],$contact[alt_address_postalcode],$contact[alt_address_country],$contact[office_phone],$contact[home_phone],$contact[other_phone],$contact[fax],$contact[department],$contact[birthdate],$contact[assistant_name],$contact[assistant_phone]);
$output_list[$counter] ['id']=$id;
$counter++;
}
return array_reverse($output_list);
}
function create_tasks($user_name,$output_list)
{
$counter=0;
foreach($output_list as $task)
{
if($task[date_due] == "4501-01-01")
{
$task[date_due] = "";
}
$id= create_task($user_name, $task[start_date], $task[date_modified],$task[name],$task[status],$task[priority],$task[description],$task[date_due],$task[contact_name]);
$output_list[$counter] ['id']=$id;
$counter++;
}
return array_reverse($output_list);
}
function get_version($user_name, $password)
{
return "4.2";
}
function contact_by_email($user_name,$email_address)
{
$seed_contact = new Contact();
$output_list = Array();
{
$response = $seed_contact->get_contacts1($user_name,$email_address);
$contactList = $response['list'];
// create a return array of names and email addresses.
foreach($contactList as $contact)
{
$output_list[] = Array("first_name" => $contact[first_name],
"last_name" => $contact[last_name],
"primary_address_city" => $contact[primary_address_city],
"account_name" => $contact[account_name],
"account_id"=> $contact[account_id],
"id" => $contact[id],
"email_address" => $contact[email1],
"salutation"=>$contact[salutation],
"title"=>$contact[title],
"phone_mobile"=>$contact[phone_mobile],
"reports_to"=>$contact[reports_to_name],
"primary_address_street"=>$contact[primary_address_street],
"primary_address_city"=>$contact[primary_address_city],
"primary_address_state"=>$contact[primary_address_state] ,
"primary_address_postalcode"=>$contact[primary_address_postalcode],
"primary_address_country"=>$contact[primary_address_country],
"alt_address_city"=>$contact[alt_address_city],
"alt_address_street"=>$contact[alt_address_street],
"alt_address_city"=>$contact[alt_address_city],
"alt_address_state"=>$contact[alt_address_state],
"alt_address_postalcode"=>$contact[alt_address_postalcode],
"alt_address_country"=>$contact[alt_address_country],
);
}
}
//to remove an erroneous compiler warning
$seed_contact = $seed_contact;
return $output_list;
}
function get_ticket_comments($ticketid)
{
$seed_ticket = new HelpDesk();
$output_list = Array();
$response = $seed_ticket->get_ticket_comments_list($ticketid);
return $response;
}
function get_combo_values($id)
{
global $adb;
$output = Array();
$sql = "select * from products inner join crmentity on crmentity.crmid=products.productid where crmentity.deleted=0";
$result = $adb->query($sql);
$noofrows = $adb->num_rows($result);
for($i=0;$i<$noofrows;$i++)
{
$output['productid']['productid'][$i] = $adb->query_result($result,$i,"productid");
$output['productname']['productname'][$i] = $adb->query_result($result,$i,"productname");
}
$result1 = $adb->query("select * from ticketpriorities");
for($i=0;$i<$adb->num_rows($result1);$i++)
{
$output['ticketpriorities']['ticketpriorities'][$i] = $adb->query_result($result1,$i,"ticketpriorities");
}
$result2 = $adb->query("select * from ticketseverities");
for($i=0;$i<$adb->num_rows($result2);$i++)
{
$output['ticketseverities']['ticketseverities'][$i] = $adb->query_result($result2,$i,"ticketseverities");
}
$result3 = $adb->query("select * from ticketcategories");
for($i=0;$i<$adb->num_rows($result3);$i++)
{
$output['ticketcategories']['ticketcategories'][$i] = $adb->query_result($result3,$i,"ticketcategories");
}
return $output;
}
function get_KBase_details($id='')
{
global $adb;
$category_query = "select * from faqcategories";
$category_result = $adb->query($category_query);
$category_noofrows = $adb->num_rows($category_result);
for($j=0;$j<$category_noofrows;$j++)
{
$faqcategory = $adb->query_result($category_result,$j,'faqcategories');
$result['faqcategory'][$j] = $faqcategory;
}
$product_query = "select * from products inner join crmentity on crmentity.crmid=products.productid where crmentity.deleted=0";
$product_result = $adb->query($product_query);
$product_noofrows = $adb->num_rows($product_result);
for($i=0;$i<$product_noofrows;$i++)
{
$productid = $adb->query_result($product_result,$i,'productid');
$productname = $adb->query_result($product_result,$i,'productname');
$result['product'][$i]['productid'] = $productid;
$result['product'][$i]['productname'] = $productname;
}
$faq_query = "select faq.*, crmentity.createdtime, crmentity.modifiedtime from faq inner join crmentity on crmentity.crmid=faq.id where crmentity.deleted=0 and faq.status='Published' order by crmentity.modifiedtime DESC";
$faq_result = $adb->query($faq_query);
$faq_noofrows = $adb->num_rows($faq_result);
for($k=0;$k<$faq_noofrows;$k++)
{
$faqid = $adb->query_result($faq_result,$k,'id');
$result['faq'][$k]['id'] = $faqid;
$result['faq'][$k]['product_id'] = $adb->query_result($faq_result,$k,'product_id');
$result['faq'][$k]['question'] = nl2br($adb->query_result($faq_result,$k,'question'));
$result['faq'][$k]['answer'] = nl2br($adb->query_result($faq_result,$k,'answer'));
$result['faq'][$k]['category'] = $adb->query_result($faq_result,$k,'category');
$result['faq'][$k]['faqcreatedtime'] = $adb->query_result($faq_result,$k,'createdtime');
$result['faq'][$k]['faqmodifiedtime'] = $adb->query_result($faq_result,$k,'modifiedtime');
$faq_comment_query = "select * from faqcomments where faqid=".$faqid;
$faq_comment_result = $adb->query($faq_comment_query);
$faq_comment_noofrows = $adb->num_rows($faq_comment_result);
for($l=0;$l<$faq_comment_noofrows;$l++)
{
$faqcomments = nl2br($adb->query_result($faq_comment_result,$l,'comments'));
$faqcreatedtime = $adb->query_result($faq_comment_result,$l,'createdtime');
if($faqcomments != '')
{
$result['faq'][$k]['comments'][$l] = $faqcomments;
$result['faq'][$k]['createdtime'][$l] = $faqcreatedtime;
}
}
}
$adb->println($result);
return $result;
}
function create_lead_from_webform($lastname,$email,$phone,$company,$country,$description)
{
global $adb;
$adb->println("Create New Lead from Web Form - Starts");
require_once("modules/Leads/Lead.php");
$focus = new Lead();
$focus->column_fields['lastname'] = $lastname;
$focus->column_fields['email'] = $email;
$focus->column_fields['phone'] = $phone;
$focus->column_fields['company'] = $company;
$focus->column_fields['country'] = $country;
$focus->column_fields['description'] = $description;
$focus->save("Leads");
$focus->retrieve_entity_info($focus->id,"Leads");
$adb->println("Create New Lead from Web Form - Ends");
if($focus->id != '')
return 'Thank you for your interest. Information has been successfully added as Lead.';
else
return "Lead creation failed. Try again";
}
function save_faq_comment($faqid,$comment)
{
global $adb;
$createdtime = date('Y-m-d H:i:s');
$faq_query = "insert into faqcomments values('',".$faqid.",'".$comment."','".$createdtime."')";
$adb->query($faq_query);
$result = get_KBase_details('');
return $result;
}
function get_tickets_list($user_name,$id)
{
// require_once('modules/Users/User.php');
// $seed_user = new User();
// $user_id = $seed_user->retrieve_user_id($user_name);
$seed_ticket = new HelpDesk();
$output_list = Array();
$response = $seed_ticket->get_user_tickets_list($user_name,$id);
$ticketsList = $response['list'];
// create a return array of ticket details.
foreach($ticketsList as $ticket)
{
$output_list[] = Array(
"ticketid" => $ticket[ticketid],
"title" => $ticket[title],
"firstname" => $ticket[firstname],
"lastname" => $ticket[lastname],
"parent_id"=> $ticket[parent_id],
"productid"=> $ticket[productid],
"productname"=> $ticket[productname],
"priority" => $ticket[priority],
"severity"=>$ticket[severity],
"status"=>$ticket[status],
"category"=>$ticket[category],
"description"=>$ticket[description],
"solution"=>$ticket[solution],
"createdtime"=>$ticket[createdtime],
"modifiedtime"=>$ticket[modifiedtime],
);
}
//to remove an erroneous compiler warning
$seed_ticket = $seed_ticket;
return $output_list;
}
function contact_by_range($user_name,$from_index,$offset)
{
$seed_contact = new Contact();
$output_list = Array();
{
$response = $seed_contact->get_contacts($user_name,$from_index,$offset);
$contactList = $response['list'];
// create a return array of names and email addresses.
foreach($contactList as $contact)
{
$account_name=$contact[account_name];
$birthdate = $contact[birthdate];
/*if($account_name=="Vtiger_Crm")
{
$account_name="";
}*/
if($birthdate == "0000-00-00")
{
$birthdate = "4501-01-01";
}
$output_list[] = Array("first_name" => $contact[first_name],
"last_name" => $contact[last_name],
"primary_address_city" => $contact[primary_address_city],
"account_name" => $account_name,
"account_id"=> $contact[account_id],
"id" => $contact[id],
"email_address" => $contact[email1],
"salutation"=>$contact[salutation],
"title"=>$contact[title],
"phone_mobile"=>$contact[phone_mobile],
"reports_to"=>$contact[reports_to_name],
"primary_address_street"=>$contact[primary_address_street],
"primary_address_city"=>$contact[primary_address_city],
"primary_address_state"=>$contact[primary_address_state] ,
"primary_address_postalcode"=>$contact[primary_address_postalcode],
"primary_address_country"=>$contact[primary_address_country],
"alt_address_city"=>$contact[alt_address_city],
"alt_address_street"=>$contact[alt_address_street],
"alt_address_city"=>$contact[alt_address_city],
"alt_address_state"=>$contact[alt_address_state],
"alt_address_postalcode"=>$contact[alt_address_postalcode],
"alt_address_country"=>$contact[alt_address_country],
"office_phone"=>$contact[office_phone],
"home_phone"=>$contact[home_phone],
"other_phone"=>$contact[other_phone],
"fax"=>$contact[fax],
"department"=>$contact[department],
"birthdate"=>$birthdate,
"assistant_name"=>$contact[assistant_name],
"assistant_phone"=>$contact[assistant_phone],
);
}
}
//to remove an erroneous compiler warning
$seed_contact = $seed_contact;
return $output_list;
}
function get_tasks_count($user_name, $password)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
return $task->getCount($user_name);
}
function task_by_range($user_name,$from_index,$offset)
{
require_once('modules/Activities/Activity.php');
$seed_task = new Activity();
$output_list = Array();
{
$response = $seed_task->get_tasks($user_name,$from_index,$offset);
$taskList = $response['list'];
foreach($taskList as $temptask)
{
if($temptask[date_due]=="0000-00-00")
{
$temptask[date_due]="4501-01-01";
}
if($temptask[time_due]=="")
{
$temptask[time_due]=NULL;
}
$output_list[] = Array(
"name" => $temptask[name],
"date_modified" => $temptask[date_modified],
"start_date" => $temptask[start_date],
"id" => $temptask[id],
"status" => $temptask[status],
"date_due" => $temptask[date_due],
"description" => $temptask[description],
"contact_name" => $temptask[contact_name],
"priority" => $temptask[priority]);
}
}
//to remove an erroneous compiler warning
$seed_task = $seed_task;
return $output_list;
}
function create_session($user_name, $password)
{
return "TempSessionID";
}
function end_session($user_name)
{
return "Success";
}
function add_contacts_matching_email_address(&$output_list, $email_address, &$seed_contact)
{
//global $log;
$safe_email_address = addslashes($email_address);
$where = "email1 like '$safe_email_address' OR email2 like '$safe_email_address'";
$response = $seed_contact->get_list("first_name,last_name,primary_address_city", $where, 0);
$contactList = $response['list'];
//$log->fatal("Retrieved the list");
// create a return array of names and email addresses.
foreach($contactList as $contact)
{
//$log->fatal("Adding another contact to the list: $contact-first_name");
$output_list[] = Array("first_name" => $contact->first_name,
"last_name" => $contact->last_name,
"primary_address_city" => $contact->primary_address_city,
"account_name" => $contact->account_name,
"id" => $contact->id,
"email_address" => $contact->email1,
"salutation"=>$contact->salutation,
"title"=>$contact->title,
"phone_mobile"=>$contact->phone_mobile,
"reports_to_id"=>$contact->reports_to_id,
"primary_address_street"=>$contact->primary_address_street,
"primary_address_city"=>$contact->primary_address_city,
"primary_address_state"=>$contact->primary_address_state ,
"primary_address_postalcode"=>$contact->primary_address_postalcode,
"primary_address_country"=>$contact->primary_address_country,
"alt_address_city"=>$contact->alt_address_city,
"alt_address_street"=>$contact->alt_address_street,
"alt_address_city"=>$contact->alt_address_city,
"alt_address_state"=>$contact->alt_address_state,
"alt_address_postalcode"=>$contact->alt_address_postalcode,
"alt_address_country"=>$contact->alt_address_country,
);
}
}
function delete_contact($user_name,$id)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
$contact->id = $id;
//$contact->delete($contact->id);
$contact->mark_deleted($contact->id);
// $contact->delete();
return "Suceeded in deleting contact";
}
/*
function sync_contact($user_name)
{
return "synchronized contact successfully";
}
*/
/*
function contact_by_email($email_address)
{
//global $log;
//$this->log->debug("Contact by email called with: $email_address" .$email_address);
$seed_contact = new Contact();
$output_list = Array();
$email_address_list = explode("; ", $email_address);
// remove duplicate email addresses
$non_duplicate_email_address_list = Array();
foreach( $email_address_list as $single_address)
{
// Check to see if the current address is a match of an existing address
$found_match = false;
foreach( $non_duplicate_email_address_list as $non_dupe_single)
{
if(strtolower($single_address) == $non_dupe_single)
{
$found_match = true;
break;
}
}
if($found_match == false)
{
$non_duplicate_email_address_list[] = strtolower($single_address);
}
}
// now copy over the non-duplicated list as the original list.
$email_address_list = &$non_duplicate_email_address_list;
foreach( $email_address_list as $single_address)
{
add_contacts_matching_email_address($output_list, $single_address, $seed_contact);
}
//to remove an erroneous compiler warning
$seed_contact = $seed_contact;
//$log->debug("Contact by email returning");
return $output_list;
}
*/
function contact_by_search($name)
{
// global $log;
$seed_contact = new Contact();
$where = "first_name like '$name%' OR last_name like '$name%' OR email1 like '$name%' OR email2 like '$name%'";
$response = $seed_contact->get_list("first_name, last_name", $where, 0);
$contactList = $response['list'];
//$row_count = $response['row_count'];
$output_list = Array();
//$log->fatal("Retrieved the list");
// create a return array of names and email addresses.
foreach($contactList as $contact)
{
//$log->fatal("Adding another contact to the list");
$output_list[] = Array("first_name" => $contact->first_name,
"last_name" => $contact->last_name,
"account_name" => $contact->account_name,
"id" => $contact->id,
"email_address" => $contact->email1);
}
return $output_list;
}
function upload_emailattachment($email_id, $filename,$binFile,$filesize)
{
global $adb;
$filetype= $_FILES['binFile']['type'];
$filedata = "./cache/mails/".$email_id.$filename;
$user_id=1;
$account = new Account();
$account->insertIntoAttachment1($email_id,"Emails",$filedata,$filename,$filesize,$filetype,$user_id);
unlink($filedata);
return "Suceeded in upload_attachment";
}
function track_email($user_name, $contact_ids, $date_sent, $email_subject, $email_body)
{
// $date_sent = ereg_replace("([0-9]*)/([0-9]*)/([0-9]*)( .*$)", "\\3-\\1-\\2\\4", $date_sent);
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
$date_sent = getDisplayDate($date_sent);
require_once('modules/Emails/Email.php');
$email = new Email();
$email_body = str_replace("'", "''", $email_body);
$email_subject = str_replace("'", "''", $email_subject);
//fixed subject issue 9/6/05
$email->column_fields[subject]=$email_subject;
$email->column_fields[assigned_user_id] = $user_id;
$email->column_fields[date_start] = $date_sent;
$email->column_fields[description] = $email_body;
// Save one copy of the email message
//$email->saveentity("Emails");
$email->save("Emails");
// for each contact, add a link between the contact and the email message
$contact_id_list = explode(";", $contact_ids);
foreach( $contact_id_list as $contact_id)
{
$email->set_emails_contact_invitee_relationship($email->id, $contact_id);
$email->set_emails_se_invitee_relationship($email->id,$contact_id);
}
$email->set_emails_user_invitee_relationship($email->id, $user_id);
//return "Suceeded";
return $email->id;
}
/*
function sync_task($user_name)
{
return "synchronized task successfully";
}
*/
/*
array('user_name'=>'xsd:string', 'first_name'=>'xsd:string', 'last_name'=>'xsd:string', 'email_address'=>'xsd:string','account_name'=>'xsd:string', 'salutation'=>'xsd:string', 'title'=>'xsd:string', 'phone_mobile'=>'xsd:string' , 'reports_to_id'=>'xsd:string', 'primary_address_street'=>'xsd:string', 'primary_address_city'=>'xsd:string', 'primary_address_state'=>'xsd:string' , 'primary_address_postalcode'=>'xsd:string', 'primary_address_country'=>'xsd:string', 'alt_address_city'=>'xsd:string', 'alt_address_street'=>'xsd:string','alt_address_city'=>'xsd:string', 'alt_address_state'=>'xsd:string', 'alt_address_postalcode'=>'xsd:string', 'alt_address_country'=>'xsd:string'),
*/
function create_contact($user_name, $first_name, $last_name, $email_address ,$account_name , $salutation , $title, $phone_mobile, $reports_to,$primary_address_street,$primary_address_city,$primary_address_state,$primary_address_postalcode,$primary_address_country,$alt_address_city,$alt_address_street,$alt_address_state,$alt_address_postalcode,$alt_address_country,$office_phone="",$home_phone="",$fax="",$department="",$description="")
{
if($birthdate == "4501-01-01")
{
$birthdate = "0000-00-00";
}
return create_contact1($user_name, $first_name, $last_name, $email_address ,$account_name , $salutation , $title, $phone_mobile, $reports_to,$primary_address_street,$primary_address_city,$primary_address_state,$primary_address_postalcode,$primary_address_country,$alt_address_city,$alt_address_street,$alt_address_state,$alt_address_postalcode,$alt_address_country,$office_phone,$home_phone,"",$fax,$department,"","","",$description);
}
function create_contact1($user_name, $first_name, $last_name, $email_address ,$account_name , $salutation , $title, $phone_mobile, $reports_to,$primary_address_street,$primary_address_city,$primary_address_state,$primary_address_postalcode,$primary_address_country,$alt_address_city,$alt_address_street,$alt_address_state,$alt_address_postalcode,$alt_address_country,$office_phone,$home_phone,$other_phone,$fax,$department,$birthdate,$assistant_name,$assistant_phone,$description)
{
global $adb;
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
$adb->println("OUTLOOK: The user id is ".$current_user->id);
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
$contact->column_fields[firstname]=$first_name;
$contact->column_fields[lastname]=$last_name;
/*if($account_name=='')
{
$account_name="Vtiger_Crm";
}
else if($account_name==null)
{
$account_name="Vtiger_Crm";
}*/
$contact->column_fields[account_id]=retrieve_account_id($account_name,$user_id);// NULL value is not supported NEED TO FIX
$contact->column_fields[salutation]=$salutation;
// EMAIL IS NOT ADDED
$contact->column_fields[title]=$title;
$contact->column_fields[email]=$email_address;
$contact->column_fields[mobile]=$phone_mobile;
$contact->column_fields[reports_to_id] =retrievereportsto($reports_to,$user_id,$account_id);// NOT FIXED IN SAVEENTITY.PHP
$contact->column_fields[mailingstreet]=$primary_address_street;
$contact->column_fields[mailingcity]=$primary_address_city;
$contact->column_fields[mailingcountry]=$primary_address_country;
$contact->column_fields[mailingstate]=$primary_address_state;
$contact->column_fields[mailingzip]=$primary_address_postalcode;
$contact->column_fields[otherstreet]=$alt_address_street;
$contact->column_fields[othercity]=$alt_address_city;
$contact->column_fields[othercountry]=$alt_address_country;
$contact->column_fields[otherstate]=$alt_address_state;
$contact->column_fields[otherzip]=$alt_address_postalcode;
$contact->column_fields[assigned_user_id]=$user_id;
// new Fields
$contact->column_fields[phone]= $office_phone;
$contact->column_fields[homephone]= $home_phone;
$contact->column_fields[otherphone]= $other_phone;
$contact->column_fields[fax]= $fax;
$contact->column_fields[department]=$department;
$contact->column_fields[birthday]= getDisplayDate($birthdate);
$contact->column_fields[assistant]= $assistant_name;
$contact->column_fields[assistantphone]= $assistant_phone;
$contact->column_fields[description]= $description;
//$contact->saveentity("Contacts");
$contact->save("Contacts");
return $contact->id;
}
function create_ticket($title,$description,$priority,$severity,$category,$user_name,$parent_id,$product_id)
{
/* require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
*/
$seed_ticket = new HelpDesk();
$output_list = Array();
//$response = $seed_ticket->create_tickets_list($user_name,$smcreatorid);
require_once('modules/HelpDesk/HelpDesk.php');
$ticket = new HelpDesk();
$ticket->column_fields[ticket_title] = $title;
$ticket->column_fields[description]=$description;
$ticket->column_fields[ticketpriorities]=$priority;
$ticket->column_fields[ticketseverities]=$severity;
$ticket->column_fields[ticketcategories]=$category;
$ticket->column_fields[ticketstatus]='Open';
$ticket->column_fields[parent_id]=$parent_id;
$ticket->column_fields[product_id]=$product_id;
// $ticket->column_fields[assigned_user_id]=$user_id;
//$ticket->saveentity("HelpDesk");
$ticket->save("HelpDesk");
$_REQUEST['name'] = '[ Ticket ID : '.$ticket->id.' ] '.$title;
$body = ' Ticket ID : '.$ticket->id.'<br> Ticket Title : '.$title.'<br><br>';
$_REQUEST['description'] = $body.$description;
$_REQUEST['return_module'] = 'HelpDesk';
$_REQUEST['parent_id'] = $parent_id;
$_REQUEST['assigned_user_id'] = $parnet_id;
require_once('modules/Emails/send_mail.php');
return get_tickets_list($user_name,$parent_id);
//return $ticket->id;
}
function update_ticket_comment($ticketid,$ownerid,$createdtime,$comments)
{
global $adb;
$servercreatedtime = date("Y-m-d H:i:s");
$sql = "insert into ticketcomments values('',".$ticketid.",'".$comments."','".$ownerid."','customer','".$servercreatedtime."')";
$adb->query($sql);
$updatequery = "update crmentity set modifiedtime = '".$servercreatedtime."' where crmid=".$ticketid;
$adb->query($updatequery);
}
function close_current_ticket($ticketid)
{
global $adb;
$sql = "update troubletickets set status='Closed' where ticketid=".$ticketid;
$result = $adb->query($sql);
if($result)
return "<br><b>Ticket status is updated as 'Closed'.</b>";
else
return "<br><b>Ticket could not be closed.</br>";
}
function authenticate_user($username,$password)
{
global $adb;
$current_date = date("Y-m-d");
$sql = "select id, user_name, user_password,last_login_time, support_start_date, support_end_date from PortalInfo inner join CustomerDetails on PortalInfo.id=CustomerDetails.customerid where user_name='".$username."' and user_password = '".$password."' and isactive=1 and CustomerDetails.support_end_date >= ".$current_date;
$result = $adb->query($sql);
$list['id'] = $adb->query_result($result,0,'id');
$list['user_name'] = $adb->query_result($result,0,'user_name');
$list['user_password'] = $adb->query_result($result,0,'user_password');
$list['last_login_time'] = $adb->query_result($result,0,'last_login_time');
$list['support_start_date'] = $adb->query_result($result,0,'support_start_date');
$list['support_end_date'] = $adb->query_result($result,0,'support_end_date');
return $list;
}
function change_password($id,$username,$password)
{
global $adb;
$sql = "update PortalInfo set user_password='".$password."' where id=".$id." and user_name='".$username."'";
$result = $adb->query($sql);
$list = authenticate_user($username,$password);
return $list;
}
function update_login_details($id,$flag)
{
global $adb;
$current_time = date("Y-m-d H:i:s");
if($flag == 'login')
{
$sql = "update PortalInfo set login_time='".$current_time."' where id=".$id;
$result = $adb->query($sql);
}
elseif($flag == 'logout')
{
$sql = "select * from PortalInfo where id=".$id;
$result = $adb->query($sql);
if($adb->num_rows($result) != 0)
$last_login = $adb->query_result($result,0,'login_time');
$sql = "update PortalInfo set logout_time = '".$current_time."', last_login_time='".$last_login."' where id=".$id;
$result = $adb->query($sql);
}
return $list;
}
function send_mail_for_password($mailid)
{
global $adb;
include("modules/Emails/class.phpmailer.php");
$sql = "select * from PortalInfo where user_name='".$mailid."'";
$user_name = $adb->query_result($adb->query($sql),0,'user_name');
$password = $adb->query_result($adb->query($sql),0,'user_password');
$isactive = $adb->query_result($adb->query($sql),0,'isactive');
$fromquery = "select users.user_name, users.email1 from users inner join crmentity on users.id = crmentity.smownerid inner join contactdetails on contactdetails.contactid=crmentity.crmid where contactdetails.email ='".$mailid."'";
$initialfrom = $adb->query_result($adb->query($fromquery),0,'user_name');
$from = $adb->query_result($adb->query($fromquery),0,'email1');
$contents = "<br>Following are your Customer Portal login details :";
$contents .= "<br><br>User Name : ".$user_name;
$contents .= "<br>Password : ".$password;
$mail = new PHPMailer();
$mail->Subject = "Regarding your Customer Portal login details";
$mail->Body = $contents;
$mail->IsSMTP();
$mailserverresult=$adb->query("select * from systems where server_type='email'");
$mail_server=$adb->query_result($mailserverresult,0,'server');
$mail->Host = $mail_server;
$mail->SMTPAuth = true;
$mail->Username = $mail_server_username;
$mail->Password = $mail_server_password;
$mail->From = $from;
$mail->FromName = $initialfrom;
$mail->AddAddress($user_name);
$mail->AddReplyTo($current_user->name);
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if($mailid == '')
{
return "false@@@<b>Please give your email id</b>";
}
elseif($user_name == '' && $password == '')
{
return "false@@@<b>Please check your email id for Customer Portal</b>";
}
elseif($isactive == 0)
{
return "false@@@<b>Your login is revoked. Please contact your admin.</b>";
}
elseif(!$mail->Send())
{
return "false@@@<b>Mail could not be sent</b>";
}
else
return "true@@@<b>Mail has been sent to your mail id with the customer portal login details</b>";
}
function retrievereportsto($reports_to,$user_id,$account_id)
{
if($reports_to=="")
{
return null;
}
if($reports_to==null)
{
return null;
}
$first_name;
$last_name;
$tok = strtok($reports_to," \n\t");
if($tok) {
$first_name=$tok;
$tok = strtok(" \n\t");
}
if($tok) {
$last_name=$tok;
$tok = strtok(" \n\t");
}
if($first_name=="")
{
return null;
}
if($last_name=="")
{
return null;
}
// to do handle smartly handle the manager name
$query = "select contactdetails.contactid as contactid from contactdetails inner join crmentity on crmentity.crmid=contactdetails.contactid where crmentity.deleted=0 and contactdetails.firstname like '".$first_name ."' and contactdetails.lastname like '" .$last_name ."'";
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
$db = new PearDatabase();
$result= $db->query($query) or die ("Not able to execute retyrievereports query");
$rows_count = $db->getRowCount($result);
if($rows_count==0)
{
$contact->column_fields[firstname] = $first_name;
$contact->column_fields[lastname] = $last_name;
$contact->column_fields[assigned_user_id]=$user_id;
$contact->column_fields[account_id]=$account_id;
//$contact->saveentity("Contacts");
$contact->save("Contacts");
//mysql_close();
return $contact->id;
}
else if ($rows_count==1)
{
$row = $db->fetchByAssoc($result, 0);
//mysql_close();
return $row["contactid"];
}
else
{
$row = $db->fetchByAssoc($result, 0);
//mysql_close();
return $row["contactid"];
}
}
function retrieve_account_id($account_name,$user_id)
{
if($account_name=="")
{
return null;
}
$query = "select account.accountname accountname,account.accountid accountid from account inner join crmentity on crmentity.crmid=account.accountid where crmentity.deleted=0 and account.accountname='" .$account_name."'";
$db = new PearDatabase();
$result= $db->query($query) or die ("Not able to execute insert");
$rows_count = $db->getRowCount($result);
if($rows_count==0)
{
require_once('modules/Accounts/Account.php');
$account = new Account();
$account->column_fields[accountname] = $account_name;
$account->column_fields[assigned_user_id]=$user_id;
//$account->saveentity("Accounts");
$account->save("Accounts");
//mysql_close();
return $account->id;
}
else if ($rows_count==1)
{
$row = $db->fetchByAssoc($result, 0);
//mysql_close();
return $row["accountid"];
}
else
{
$row = $db->fetchByAssoc($result, 0);
//mysql_close();
return $row["accountid"];
}
}
function create_task($user_name, $start_date, $date_modified,$name,$status,$priority,$description,$date_due,$contact_name)
{
//global $log;
//todo make the activity body not be html encoded
//$log->fatal("In Create contact: username: $user_name first/last/email ($first_name, $last_name, $email_address)");
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
//$task->date_entered = $date_entered;
//$task->date_modified = $date_modified;
//$task[assigned_user_id] = $assigned_user_id;
$task->column_fields[subject] = $name;
$task->column_fields[taskstatus]=$status;
$task->column_fields[date_start]=getDisplayDate($start_date);
$task->column_fields[taskpriority]=$priority;
$task->column_fields[description]=$description;
$task->column_fields[activitytype]="Task";
// NOT EXIST IN DATA MODEL
$task->column_fields[due_date]=getDisplayDate($date_due);
$task->column_fields[contact_id]= retrievereportsto($contact_name,$user_id,null);
$task->column_fields[assigned_user_id]=$user_id;
//$task->saveentity("Activities");
$task->save("Activities");
return $task->id;
}
function update_contact($user_name,$id, $first_name, $last_name, $email_address ,$account_name , $salutation , $title, $phone_mobile, $reports_to,$primary_address_street,$primary_address_city,$primary_address_state,$primary_address_postalcode,$primary_address_country,$alt_address_city,$alt_address_street,$alt_address_state,$alt_address_postalcode,$alt_address_country,$office_phone,$home_phone,$other_phone,$fax,$department,$birthdate,$assistant_name,$assistant_phone)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Contacts/Contact.php');
$contact = new Contact();
/*
$contact->first_name = $first_name;
$contact->last_name = $last_name;
$contact->email1 = $email_address;
//$contact->account_name = $account_name;
$contact->account_id=retrieve_account_id($account_name,$user_id);
$contact->salutation = $salutation;
$contact->title = $title;
$contact->phone_mobile = $phone_mobile;
$contact->reports_to_id = retrievereportsto($reports_to,$user_id,$contact->account_id);
$contact->primary_address_city = $primary_address_city;
$contact->primary_address_postalcode = $primary_address_postalcode;
$contact->primary_address_state = $primary_address_state;
$contact->primary_address_street = $primary_address_street;
$contact->primary_address_country = $primary_address_country;
$contact->alt_address_country = $alt_address_country;
$contact->alt_address_postalcode = $alt_address_postalcode;
$contact->alt_address_state = $alt_address_state;
$contact->alt_address_street = $alt_address_street;
$contact->alt_address_city = $alt_address_city;
$contact->id=$id;
$contact->save();
*/
$contact->column_fields[firstname]=$first_name;
$contact->column_fields['lastname']=$last_name;
/*if($account_name=='')
{
$account_name="Vtiger_Crm";
}
else if($account_name==null)
{
$account_name="Vtiger_Crm";
}*/
$contact->column_fields[account_id]=retrieve_account_id($account_name,$user_id);// NULL value is not supported NEED TO FIX
$contact->column_fields[salutation]=$salutation;
// EMAIL IS NOT ADDED
$contact->column_fields[title]=$title;
$contact->column_fields[email]=$email_address;
$contact->column_fields[mobile]=$phone_mobile;
$contact->column_fields[reports_to_id] =retrievereportsto($reports_to,$user_id,$account_id);// NOT FIXED IN SAVEENTITY.PHP
$contact->column_fields[mailingstreet]=$primary_address_street;
$contact->column_fields[mailingcity]=$primary_address_city;
$contact->column_fields[mailingcountry]=$primary_address_country;
$contact->column_fields[mailingstate]=$primary_address_state;
$contact->column_fields[mailingzip]=$primary_address_postalcode;
$contact->column_fields[otherstreet]=$alt_address_street;
$contact->column_fields[othercity]=$alt_address_city;
$contact->column_fields[othercountry]=$alt_address_country;
$contact->column_fields[otherstate]=$alt_address_state;
$contact->column_fields[otherzip]=$alt_address_postalcode;
$contact->column_fields[assigned_user_id]=$user_id;
$contact->id=$id;
$contact->column_fields[phone]= $office_phone;
$contact->column_fields[homephone]= $home_phone;
$contact->column_fields[otherphone]= $other_phone;
$contact->column_fields[fax]= $fax;
$contact->column_fields[department]=$department;
if($birthdate == "4501-01-01")
{
$birthdate = "0000-00-00";
}
$contact->column_fields[birthday]= getDisplayDate($birthdate);
$contact->column_fields[assistant]= $assistant_name;
$contact->column_fields[assistantphone]= $assistant_phone;
$contact->mode="edit";
//$contact->saveentity("Contacts");
$contact->save("Contacts");
return "Suceeded";
}
function update_task($user_name, $id,$start_date, $name, $status,$priority,$description,$date_due,$contact_name)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
if($date_due == "4501-01-01")
{
$date_due = "0000-00-00";
}
$task->column_fields[subject] = $name;
$task->column_fields[taskstatus]=$status;
$task->column_fields[taskpriority]=$priority;
$task->column_fields[description]=$description;
$task->column_fields[activitytype]="Task";
$task->column_fields[due_date]= getDisplayDate($date_due);
$task->column_fields[date_start]= getDisplayDate($start_date);
$task->column_fields[contact_id]= retrievereportsto($contact_name,$user_id,null);
$task->column_fields[assigned_user_id]=$user_id;
$task->id = $id;
$task->mode="edit";
//$task->saveentity("Activities");
$task->save("Activities");
return "Suceeded in updating task";
}
function delete_task($user_name,$id)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
$task->id = $id;
$task->mark_deleted($id);
return "Suceeded in deleting task";
}
function retrieve_task($name)
{
// global $log;
$task = new Task();
$where = "name like '$name%'";
$response = $task->get_list("name", $where, 0);
$taskList = $response['list'];
$output_list = Array();
foreach($taskList as $temptask)
{
$output_list[] = Array("name" => $temptask->name,
"date_modified" => $temptask->date_modified,
"start_date" => $temptask->start_date,
"id" => $temptask->id,
"status" => $temptask->status,
"date_due" => $temptask->date_due,
"description" => $temptask->description,
"priority" => $temptask->priority);
}
return $output_list;
}
//calendar
function get_calendar_count($user_name, $password)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$calObj = new Activity();
return $calObj->getCount_Meeting($user_name);
}
function calendar_by_range($user_name,$from_index,$offset)
{
require_once('modules/Activities/Activity.php');
$seed_task = new Activity();
$output_list = Array();
$response = $seed_task->get_calendars($user_name,$from_index,$offset);
$taskList = $response['list'];
foreach($taskList as $temptask)
{
$starthour = explode(":",$temptask[time_start]);
if($temptask[date_due]== "0000-00-00" || $temptask[date_due] == "")
{
$temptask[date_due] = $temptask[start_date];
}
if($temptask[duehours] == "0")
{
$temptask[duehours] = $starthour[0];
if(strlen($temptask[duehours]) == 1)
{
$temptask[duehours] = "0".$temptask[duehours];
}
}else if($temptask[duehours] == "00")
{
$temptask[duehours] = $starthour[0];
if(strlen($temptask[duehours]) == 1)
{
$temptask[duehours] = "0".$temptask[duehours];
}
}else
{
$temptask[duehours] = intval($starthour[0]) + intval($temptask[duehours]);
if(intval($temptask[duehours]) == 24)
{
$temptask[duehours] = "00";
}
if(strlen($temptask[duehours]) == 1)
{
$temptask[duehours] = "0".$temptask[duehours];
}
}
$startdate = $temptask[start_date]." ".$temptask[time_start];
$duedate = $temptask[date_due]." ".$temptask[duehours].":".$temptask[dueminutes];
$output_list[] = Array(
"name" => $temptask[name],
"date_modified" => $temptask[date_modified],
"start_date" => $startdate,
"id" => $temptask[id],
"date_due" => $duedate,
"description" => $temptask[description],
"contact_name" => $temptask[contact_name],
"location" => $temptask[location],);
}
//to remove an erroneous compiler warning
$seed_task = $seed_task;
return $output_list;
}
function create_calendars($user_name,$output_list)
{
$counter=0;
foreach($output_list as $task)
{
$id= create_calendar($user_name, $task[start_date], $task[date_modified],$task[name],$task[description],$task[date_due],$task[contact_name],$task[location]);
$output_list[$counter] ['id']=$id;
$counter++;
}
return array_reverse($output_list);
}
function create_calendar($user_name, $start_date, $date_modified,$name,$description,$date_due,$contact_name,$location)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
$task->column_fields[subject] = $name;
//<<<<<<<<<<<<<<<<<Date Time>>>>>>>>>>>>>>>
$startdate = explode(" ",$start_date);
$task->column_fields[date_start]=getDisplayDate($startdate[0]);
$task->column_fields[time_start]=$startdate[1];
$starthourmin = explode(":",$startdate[1]);
$task->column_fields[activitytype]="Meeting";
$duedate = explode(" ",$date_due);
$task->column_fields[due_date]=getDisplayDate($duedate[0]);
$duetime = explode(":",$duedate[1]);
if(intval($starthourmin[0]) < 23)
{
$due_hour = intval($duetime[0]) - intval($starthourmin[0]);
}else
{
if($duetime[0] == "00")
{
$due_hour = 24 - intval($starthourmin[0]);
}else
{
$due_hour = intval($duetime[0]) - intval($starthourmin[0]);
}
}
$task->column_fields[duration_hours] = $due_hour;
$task->column_fields[duration_minutes] =$duetime[1];
//<<<<<<<<<<<<<<<<<Date Time>>>>>>>>>>>>>>>
$task->column_fields[description] = $description;
$task->column_fields[location] = $location;
// NOT EXIST IN DATA MODEL
$task->column_fields[contact_id]= retrievereportsto($contact_name,$user_id,null);
$task->column_fields[assigned_user_id]=$user_id;
$task->saveentity("Activities");
return $task->id;
}
function update_calendar($user_name, $id,$start_date,$name,$description,$date_due,$contact_name,$location)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
$task->column_fields[subject] = $name;
$task->column_fields[activitytype]="Meeting";
//$task->column_fields[date_due]=$date_due;
//$task->column_fields[date_start]=$start_date;
//<<<<<<<<<<<<<<<<<Date Time>>>>>>>>>>>>>>>
$startdate = explode(" ",$start_date);
$task->column_fields[date_start] = getDisplayDate($startdate[0]);
$task->column_fields[time_start]=$startdate[1];
$starthourmin = explode(":",$startdate[1]);
$task->column_fields[activitytype]="Meeting";
$duedate = explode(" ",$date_due);
$task->column_fields[due_date]= getDisplayDate($duedate[0]);
$duetime = explode(":",$duedate[1]);
if(intval($starthourmin[0]) < 23)
{
$due_hour = intval($duetime[0]) - intval($starthourmin[0]);
}else
{
if($duetime[0] == "00")
{
$due_hour = 24 - intval($starthourmin[0]);
}else
{
$due_hour = intval($duetime[0]) - intval($starthourmin[0]);
}
}
$task->column_fields[duration_hours] = $due_hour;
$task->column_fields[duration_minutes] =$duetime[1];
//<<<<<<<<<<<<<<<<<Date Time>>>>>>>>>>>>>>>
$task->column_fields[description] = $description;
$task->column_fields[location] = $location;
$task->column_fields[contact_id]= retrievereportsto($contact_name,$user_id,null);
$task->column_fields[assigned_user_id]=$user_id;
$task->id = $id;
$task->mode="edit";
$task->saveentity("Activities");
return "Suceeded in updating Calendar";
}
function delete_calendar($user_name,$id)
{
global $current_user;
require_once('modules/Users/User.php');
$seed_user = new User();
$user_id = $seed_user->retrieve_user_id($user_name);
$current_user = $seed_user;
$current_user->retrieve($user_id);
require_once('modules/Activities/Activity.php');
$task = new Activity();
//$task->id = $id;
$task->mark_deleted($id);
return "Suceeded in deleting Calendar";
}
function retrieve_calendar($name)
{
$task = new Task();
$where = "name like '$name%'";
$response = $task->get_list("name", $where, 0);
$taskList = $response['list'];
$output_list = Array();
foreach($taskList as $temptask)
{
$output_list[] = Array("name" => $temptask->name,
"date_modified" => $temptask->date_modified,
"start_date" => $temptask->start_date,
"id" => $temptask->id,
"status" => $temptask->status,
"date_due" => $temptask->date_due,
"description" => $temptask->description,
"priority" => $temptask->priority);
}
return $output_list;
}
//calendar
//$log->fatal("In soap.php");
/* Begin the HTTP listener service and exit. */
$server->service($HTTP_RAW_POST_DATA);
exit();
?>