diff options
| author | rpa (Open ERP) <rpa@tinyerp.com> | 2010-05-12 17:29:28 +0530 |
|---|---|---|
| committer | rpa (Open ERP) <rpa@tinyerp.com> | 2010-05-12 17:29:28 +0530 |
| commit | b5a61d1504ff9ec7ce4f609128f13a96e1e680ff (patch) | |
| tree | 39ba713433b233d21bfae770a4d2cee1fd754fa0 /addons/crm/scripts/php/crmlead.php | |
| parent | c13941c346dec7c2574f40e99fce72a7e0ed1b37 (diff) | |
[ADD]: crm: Added php scripts to create lead from site
bzr revid: rpa@tinyerp.com-20100512115928-5p6zcixwvvcd8c0e
Diffstat (limited to 'addons/crm/scripts/php/crmlead.php')
| -rw-r--r-- | addons/crm/scripts/php/crmlead.php | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/addons/crm/scripts/php/crmlead.php b/addons/crm/scripts/php/crmlead.php new file mode 100644 index 00000000000..aa23e5c78ba --- /dev/null +++ b/addons/crm/scripts/php/crmlead.php @@ -0,0 +1,201 @@ +<?php + + include("xmlrpc.inc"); + +class Contact +{ + private $subject = '', $to = ''; + + function __construct($to, $sub) + { + $this->to = $to; + $this->subject = $sub; + } + + function mailTo($post) + { + if (!empty($post)) + { + + if (empty($this->to)) + { + $this->to = 'sales@tinyerp.com'; + } + + if (empty($this->subject)) + { + $this->subject = 'Contact form information'; + } + + $body = '<table width="90%" border="0" cellspacing="2" cellpadding="2"> + <tr> + <td width="25%"></td> + <td width="2%"></td> + <td></td> + </tr>'; + + foreach ($post as $key => $value) + { + $body .= "<tr> + <td align='right'>$key</td> + <td align='center'><b>:</b></td> + <td align='left'>$value</td> + </tr>"; + } + + $body .= '</table>'; + + $header = 'MEME-version : 1.0'."\r\n"; + $header .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; + $header .= 'From: '.$post['name'].' <'.$post['email'].'>'."\r\n"; + $header .= 'Reply-To: '.$post['name'].' <'.$post['email'].'>'."\r\n"; + $header .= 'Return-Path: '.$post['name'].' <'.$post['email'].'>'."\r\n"; + + if (mail($this->to, $this->subject, $body, $header)) + { + echo "<br /><h3>Thank You, Your information has been successfully submitted.</h3><br /><p><b>We will be in touch very soon.</b></p>"; + + } + else + { + echo "<br /><h4>Sorry, Due to some problem Your information has not been submitted.</h4>"; + } + + } + } + + function xmlCallTo($usr, $password, $database, $server, $post) + { + $user = $usr; + $pass = $password; + $db = $database; + $server_url = $server; //'http://localhost:8069/xmlrpc/' + + $client = new xmlrpc_client($server_url.'common'); + + $msg = new xmlrpcmsg('login'); + $msg->addParam(new xmlrpcval($db, "string")); + $msg->addParam(new xmlrpcval($user, "string")); + $msg->addParam(new xmlrpcval($pass, "string")); + + + $res = &$client->send($msg); + + if(!$res->faultCode()){ + + $val = $res->value(); + $id = $val->scalarval(); + + if (empty($id)){ + + echo "Connection error = "; + exit; + } + else + { + $client2 = new xmlrpc_client($server_url.'object'); + + $key = array(new xmlrpcval(array(new xmlrpcval("code", "string"), new xmlrpcval("=", "string"), new xmlrpcval($post['country'], "string")),"array"),); + $msg = new xmlrpcmsg('execute'); + $msg->addParam(new xmlrpcval($db, "string")); + $msg->addParam(new xmlrpcval($id, "int")); + $msg->addParam(new xmlrpcval($pass, "string")); + $msg->addParam(new xmlrpcval("res.country","string")); + $msg->addParam(new xmlrpcval("search", "string")); + $msg->addParam(new xmlrpcval($key, "array")); + $msg->addParam(new xmlrpcval(0, "int")); + $msg->addParam(new xmlrpcval(1, "int")); + + $res = &$client2->send($msg); + + $val = $res->value()->scalarval(); + + $countryId = $val[0]->scalarval(); + + $val = array ("name" => new xmlrpcval($post['company'],"string"), + "title" => new xmlrpcval($post['salutation'], "string"), + "email_from" => new xmlrpcval($post['email'], "string"), + "phone" => new xmlrpcval($post['phone'], "string"), + "partner_name" => new xmlrpcval($post['name'], "string"), + "function_name" => new xmlrpcval($post["jobtitle"], "string"), + "zip" => new xmlrpcval($post['zip'], "string"), + "stage_id" => new xmlrpcval(6, "int"), + "city" => new xmlrpcval($post['city'], "string"), + "country_id" => new xmlrpcval($countryId, "int"), + "state" => new xmlrpcval("draft", "string"), + "user_id" => new xmlrpcval(false, "boolean"), + "description" => new xmlrpcval("No.of Employees: ".$post['employees']."\nState: ".$post['state']."\nIndustry: ".$post['industry']."\nReasons: ".$post['reasons']."\nAbout: ".$post['about']."\nQuestions: ".stripslashes($post['questions'])."\nUpdate: ".$post['update'], "string") + ); + + $msg = new xmlrpcmsg('execute'); + $msg->addParam(new xmlrpcval($db, "string")); + $msg->addParam(new xmlrpcval($id, "int")); + $msg->addParam(new xmlrpcval($pass, "string")); + $msg->addParam(new xmlrpcval("crm.lead", "string")); + $msg->addParam(new xmlrpcval("create", "string")); + $msg->addParam(new xmlrpcval($val, "struct")); + + + $res2 = &$client2->send($msg); + + if(!$res2->faultCode()) + { + $readVal = $res2->value()->scalarval(); + + if (!empty($readVal)) + { + $val = array ( "description" => new xmlrpcval("About: ".$post['about']."\nQuestions: ".$post['questions']), + "model_id" => new xmlrpcval(276, "int"), + "res_id" => new xmlrpcval($readVal,"int"), + "email_from" => new xmlrpcval($post['email'], "string"), + "email_to" => new xmlrpcval("sales@openerp.com", "string") + ); + + + $msg = new xmlrpcmsg('execute'); + $msg->addParam(new xmlrpcval($db, "string")); + $msg->addParam(new xmlrpcval($id, "int")); + $msg->addParam(new xmlrpcval($pass, "string")); + $msg->addParam(new xmlrpcval("crm.case.history", "string")); + $msg->addParam(new xmlrpcval("create", "string")); + $msg->addParam(new xmlrpcval($val, "struct")); + + $res2 = &$client2->send($msg); + + //echo "<br />Successfully created lead"; + echo "<br /><h3>Thank You for your interest in openerp, we'll respond to your request shortly.</h3><br />"; + if(strstr($post["about"],"Book")) { + echo '<script>window.location="http://www.openerp.com/index.php?option=com_content&id=54"</script>'; + } + } + else + { + echo "<br />Lead is not created"; + } + } + else + { + echo "<br />Problem in message sending for create lead"; + } + } + } + else + { + echo "<br />Connection not established"; + } + } +} + + $arrData = array(); + $arrData = array_merge($arrData, (array)$_POST); + + $cnt = new Contact('sales5@openerp.com', 'Country: '.$arrData['country']. ' About: ' .$arrData['about']); + + /* This function use for sending mail on perticular mail account */ + /*$cnt->mailTo($arrData); */ + + /* This function use ceating lead in crm of opener erp database */ + $cnt->xmlCallTo('<username>', '<password>', '<db>', '<server>', $arrData); + + exit; +?> |
