Guest

adamnoffie

By: a guest on Aug 31st, 2009  |  syntax: PHP  |  size: 6.06 KB  |  hits: 268  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. <html>
  2. <head>
  3.         <title>ProspectToLead - Campaign</title>
  4.         <style type="text/css">
  5.          body { font-family: Consolas, Monaco, Courier New, Courier }
  6.         .error { color: red; font-weight: bold }
  7.         .finished { color: green; font-size: larger }
  8.         </style>
  9. </head>
  10. <body style="width: 1000em">
  11. <?php
  12.                
  13.         if(!defined('sugarentry'))define('sugarentry', true);
  14.         require_once('create_guid.php');       
  15.  
  16.         // database
  17.         mysql_connect("localhost", "sugar_user_username", "sugar_password") or die(sterr(mysql_error()));
  18.         echo "connection to the server was successful!<br/>";
  19.         mysql_select_db("sugar_database") or die(sterr(mysql_error()));
  20.         echo "database was selected!<br/><br/>";
  21.        
  22.       // you need to change these to match an existing campaign, and a user (probably yours)
  23.         $campaign_id = "314fe2d3-3004-e1d2-9b13-4a8ee361578e";
  24.         $user_id = "43188444-f11d-9b8f-46a5-460bd7368e24";
  25.        
  26.         // Select Prospects from the campaign that have click-thrus and are not yet converted to leads, including number of hits
  27.         $qry = mysql_query("SELECT p.*,prospects_cstm.*, c.hits FROM campaign_log c
  28.                                                   LEFT JOIN prospects p ON c.target_id = p.id
  29.                                                   LEFT JOIN prospects_cstm ON p.id = prospects_cstm.id_c
  30.                                                   WHERE c.campaign_id = '{$campaign_id}' AND c.target_type = 'Prospects'
  31.                                                                 AND c.activity_type = 'link' AND c.deleted=0
  32.                                                                 AND p.deleted=0 AND p.lead_id IS NULL") or die(sterr(mysql_error()));
  33.        
  34.         echo "Prospects to Convert: " . mysql_num_rows($qry) . "<br /><br />";
  35.        
  36.         // Process each Prospect
  37.         while($prospect = mysql_fetch_assoc($qry))
  38.         {              
  39.                 // pull email addresses for prospect
  40.                 $qry_email = mysql_query("SELECT ea.*, ear.* FROM email_addresses ea
  41.                                                                         LEFT JOIN email_addr_bean_rel ear ON ea.id = ear.email_address_id
  42.                                                                         WHERE ear.bean_module = 'Prospects'
  43.                                                                         AND ear.bean_id = '{$prospect['id']}'
  44.                                                                         AND ear.deleted = 0
  45.                                                                         ORDER BY ear.reply_to_address, ear.primary_address DESC") or die(sterr(mysql_error()));
  46.                
  47.                 $lead_id = create_guid();
  48.                 $now_str = date("Y-m-d H:i:s");
  49.                
  50.                 // Create LEAD from PROSPECT
  51.                 $qry_lead_insert = mysql_query("INSERT INTO leads set id='{$lead_id}', date_entered='{$now_str}', date_modified='{$now_str}',
  52.                         modified_user_id='{$user_id}', created_by='{$user_id}', deleted='0',
  53.                         description=" . nov($prospect['description']) . ", assigned_user_id=null,
  54.                         salutation=" . nov($prospect['salutation']) . ",
  55.                         first_name=" . nov($prospect['first_name']) . ", last_name=" . nov($prospect['last_name']) . ",
  56.                         title=" . nov($prospect['title']) . ",
  57.                         department=" . nov($prospect['department']) . ", do_not_call='0',
  58.                         phone_home=" . nov($prospect['phone_home']) . ",
  59.                         phone_mobile=" . nov($prospect['phone_mobile']) . ",
  60.                         phone_work=" . nov($prospect['phone_work']) . ",
  61.                         phone_other=" . nov($prospect['phone_other']) . ",
  62.                         phone_fax=" . nov($prospect['phone_fax']) . ",
  63.                         primary_address_street=" . nov($prospect['primary_address_street']) . ",
  64.                         primary_address_city=" . nov($prospect['primary_address_city']) . ",
  65.                         primary_address_state=" . nov($prospect['primary_address_state']) . ",
  66.                         primary_address_postalcode=" . nov($prospect['primary_address_postalcode']) . ",
  67.                         primary_address_country=" . nov($prospect['primary_address_country']) . ",
  68.                         alt_address_street=null, alt_address_city=null, alt_address_state=null, alt_address_postalcode=null, alt_address_country=null,
  69.                         converted='0', refered_by=null, lead_source='Campaign', lead_source_description='{$prospect['hits']} ClickThru',
  70.                         status='New', status_description=null,
  71.                         account_name=" . nov($prospect['account_name']) . ",
  72.                         contact_id=null, account_id=null, opportunity_id=null, campaign_id='{$campaign_id}';") or die(sterr(mysql_error()));
  73.                        
  74.                 $website_c = nov($prospect['website_c']);
  75.                 if ($website_c != "null") {
  76.                         $qry_lead_cstm_insert = mysql_query("INSERT INTO leads_cstm set id_c='{$lead_id}', website_c={$website_c};") or die(sterr(mysql_error()));
  77.                 }
  78.                
  79.                 while($email_address = mysql_fetch_assoc($qry_email))
  80.                 {
  81.                         // process each email address
  82.                         $email_addr_bean_rel_id = create_guid();
  83.                         $qry_email_addr_bean_rel_insert = mysql_query("INSERT INTO email_addr_bean_rel set id='{$email_addr_bean_rel_id}',
  84.                                 email_address_id='{$email_address['email_address_id']}', bean_id='{$lead_id}',
  85.                                 bean_module='Leads', primary_address='{$email_address['primary_address']}',
  86.                                 reply_to_address='{$email_address['reply_to_address']}',
  87.                                 date_created='{$now_str}', date_modified='{$now_str}', deleted='0'") or die(sterr(mysql_error()));
  88.                 }
  89.                
  90.                 // Set the Lead_ID for the Prospect, so Prospect says it is "Converted to Lead" in the details
  91.                 $qry_prospect_update = mysql_query("UPDATE prospects SET date_modified='{$now_str}', modified_user_id='{$user_id}', lead_id='{$lead_id}'
  92.                         WHERE ID = '{$prospect['id']}'") or die(sterr(mysql_error()));
  93.  
  94.                 // get the target_tracker_key for this prospect
  95.                 $qry_tracker_key = mysql_query("SELECT target_tracker_key FROM campaign_log
  96.                         WHERE campaign_id='{$campaign_id}' AND target_type='Prospects' AND target_id='{$prospect['id']}' LIMIT 1") or die(sterr(mysql_error()));
  97.                 $campaign_log_ttk = mysql_fetch_assoc($qry_tracker_key);
  98.                        
  99.                 // Campaign Log Entry
  100.                 $campaign_log_id = create_guid();
  101.                 $qry_campaign_log_insert = mysql_query("INSERT INTO campaign_log SET id='{$campaign_log_id}', campaign_id='{$campaign_id}',
  102.                         target_tracker_key='{$campaign_log_ttk['target_tracker_key']}', target_id='{$lead_id}', target_type='Leads', activity_type='lead',
  103.                         activity_date='{$now_str}', related_id='{$prospect['id']}', related_type='Prospects', archived='0', hits=0, deleted='0', date_modified='{$now_str}'")
  104.                         or die(sterr(mysql_error()));
  105.                
  106.                 echo "Converted {$prospect['last_name']},{$prospect['first_name']}...<br/>"; // next Prospect
  107.         }
  108.         echo "<br/><br/> <span class='finished'>Finished!</span>";
  109.        
  110.  
  111.         // utility functions
  112.         function nov($strval) {
  113.                 if ($strval == "") return "null";
  114.                 else return "'" . mysql_real_escape_string($strval) . "'";
  115.         }
  116.        
  117.         function sterr($strval) {
  118.                 return "<span class='error'>{$strval}</span>";
  119.         }
  120.        
  121. ?>
  122. </body>
  123. </html>