Advertisement
Guest User

Untitled

a guest
Jan 8th, 2011
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 8.79 KB | None | 0 0
  1. <?php
  2. include('openinviter.php');
  3. $inviter=new OpenInviter();
  4. $oi_services=$inviter->getPlugins();
  5. if (isset($_POST['provider_box']))
  6. {
  7.     if (isset($oi_services['email'][$_POST['provider_box']])) $plugType='email';
  8.     elseif (isset($oi_services['social'][$_POST['provider_box']])) $plugType='social';
  9.     else $plugType='';
  10. }
  11. else $plugType = '';
  12. function ers($ers)
  13.     {
  14.     if (!empty($ers))
  15.         {
  16.         $contents="<table cellspacing='0' cellpadding='0' style='border:1px solid red;' align='center'><tr><td valign='middle' style='padding:3px' valign='middle'><img src='images/ers.gif'></td><td valign='middle' style='color:red;padding:5px;'>";
  17.         foreach ($ers as $key=>$error)
  18.             $contents.="{$error}<br >";
  19.         $contents.="</td></tr></table><br >";
  20.         return $contents;
  21.         }
  22.     }
  23.    
  24. function oks($oks)
  25.     {
  26.     if (!empty($oks))
  27.         {
  28.         $contents="<table border='0' cellspacing='0' cellpadding='10' style='border:1px solid #5897FE;' align='center'><tr><td valign='middle' valign='middle'><img src='images/oks.gif' ></td><td valign='middle' style='color:#5897FE;padding:5px;'>  ";
  29.         foreach ($oks as $key=>$msg)
  30.             $contents.="{$msg}<br >";
  31.         $contents.="</td></tr></table><br >";
  32.         return $contents;
  33.         }
  34.     }
  35.  
  36. if (!empty($_POST['step'])) $step=$_POST['step'];
  37. else $step='get_contacts';
  38.  
  39. $ers=array();$oks=array();$import_ok=false;$done=false;
  40. if ($_SERVER['REQUEST_METHOD']=='POST')
  41.     {
  42.     if ($step=='get_contacts')
  43.         {
  44.         if (empty($_POST['email_box']))
  45.             $ers['email']="Email missing !";
  46.         if (empty($_POST['password_box']))
  47.             $ers['password']="Password missing !";
  48.         if (empty($_POST['provider_box']))
  49.             $ers['provider']="Provider missing !";
  50.         if (count($ers)==0)
  51.             {
  52.             $inviter->startPlugin($_POST['provider_box']);
  53.             $internal=$inviter->getInternalError();
  54.             if ($internal)
  55.                 $ers['inviter']=$internal;
  56.             elseif (!$inviter->login($_POST['email_box'],$_POST['password_box']))
  57.                 {
  58.                 $internal=$inviter->getInternalError();
  59.                 $ers['login']=($internal?$internal:"Login failed. Please check the email and password you have provided and try again later !");
  60.                 }
  61.             elseif (false===$contacts=$inviter->getMyContacts())
  62.                 $ers['contacts']="Unable to get contacts !";
  63.             else
  64.                 {
  65.                 $import_ok=true;
  66.                 $step='send_invites';
  67.                 $_POST['oi_session_id']=$inviter->plugin->getSessionID();
  68.                 $_POST['message_box']='';
  69.                 }
  70.             }
  71.         }
  72.     elseif ($step=='send_invites')
  73.         {
  74.         if (empty($_POST['provider_box'])) $ers['provider']='Provider missing !';
  75.         else
  76.             {
  77.             $inviter->startPlugin($_POST['provider_box']);
  78.             $internal=$inviter->getInternalError();
  79.             if ($internal) $ers['internal']=$internal;
  80.             else
  81.                 {
  82.                 if (empty($_POST['email_box'])) $ers['inviter']='Inviter information missing !';
  83.                 if (empty($_POST['oi_session_id'])) $ers['session_id']='No active session !';
  84.                 if (empty($_POST['message_box'])) $ers['message_body']='Message missing !';
  85.                 else $_POST['message_box']=strip_tags($_POST['message_box']);
  86.                 $selected_contacts=array();$contacts=array();
  87.                 $message=array('subject'=>$inviter->settings['message_subject'],'body'=>$inviter->settings['message_body'],'attachment'=>"\n\rAttached message: \n\r".$_POST['message_box']);
  88.                 if ($inviter->showContacts())
  89.                     {
  90.                     foreach ($_POST as $key=>$val)
  91.                         if (strpos($key,'check_')!==false)
  92.                             $selected_contacts[$_POST['email_'.$val]]=$_POST['name_'.$val];
  93.                         elseif (strpos($key,'email_')!==false)
  94.                             {
  95.                             $temp=explode('_',$key);$counter=$temp[1];
  96.                             if (is_numeric($temp[1])) $contacts[$val]=$_POST['name_'.$temp[1]];
  97.                             }
  98.                     if (count($selected_contacts)==0) $ers['contacts']="You haven't selected any contacts to invite !";
  99.                     }
  100.                 }
  101.             }
  102.         if (count($ers)==0)
  103.             {
  104.             $sendMessage=$inviter->sendMessage($_POST['oi_session_id'],$message,$selected_contacts);
  105.             $inviter->logout();
  106.             if ($sendMessage===-1)
  107.                 {
  108.                 $message_footer="\r\n\r\nThis invite was sent using OpenInviter technology.";
  109.                 $message_subject=$_POST['email_box'].$message['subject'];
  110.                 $message_body=$message['body'].$message['attachment'].$message_footer;
  111.                 $headers="From: {$_POST['email_box']}";
  112.                 foreach ($selected_contacts as $email=>$name)
  113.                     mail($email,$message_subject,$message_body,$headers);
  114.                 $oks['mails']="Mails sent successfully";
  115.                 }
  116.             elseif ($sendMessage===false)
  117.                 {
  118.                 $internal=$inviter->getInternalError();
  119.                 $ers['internal']=($internal?$internal:"There were errors while sending your invites.<br>Please try again later!");
  120.                 }
  121.             else $oks['internal']="Invites sent successfully!";
  122.             $done=true;
  123.             }
  124.         }
  125.     }
  126. else
  127.     {
  128.     $_POST['email_box']='';
  129.     $_POST['password_box']='';
  130.     $_POST['provider_box']='';
  131.     }
  132.  
  133. $contents="<script type='text/javascript'>
  134.     function toggleAll(element)
  135.     {
  136.     var form = document.forms.openinviter, z = 0;
  137.     for(z=0; z<form.length;z++)
  138.         {
  139.         if(form[z].type == 'checkbox')
  140.             form[z].checked = element.checked;
  141.         }
  142.     }
  143. </script>";
  144. $contents.="<form action='' method='POST' name='openinviter'>".ers($ers).oks($oks);
  145. if (!$done)
  146.     {
  147.     if ($step=='get_contacts')
  148.         {
  149.         $contents.="<table align='center' class='thTable' cellspacing='2' cellpadding='0' style='border:none;'>
  150.             <tr class='thTableRow'><td align='right'><label for='email_box'>Email</label></td><td><input class='thTextbox' type='text' name='email_box' value='{$_POST['email_box']}'></td></tr>
  151.             <tr class='thTableRow'><td align='right'><label for='password_box'>Password</label></td><td><input class='thTextbox' type='password' name='password_box' value='{$_POST['password_box']}'></td></tr>
  152.             <tr class='thTableRow'><td align='right'><label for='provider_box'>Email provider</label></td><td><select class='thSelect' name='provider_box'><option value=''></option>";
  153.         foreach ($oi_services as $type=>$providers)
  154.             {
  155.             $contents.="<optgroup label='{$inviter->pluginTypes[$type]}'>";
  156.             foreach ($providers as $provider=>$details)
  157.                 $contents.="<option value='{$provider}'".($_POST['provider_box']==$provider?' selected':'').">{$details['name']}</option>";
  158.             $contents.="</optgroup>";
  159.             }
  160.         $contents.="</select></td></tr>
  161.             <tr class='thTableImportantRow'><td colspan='2' align='center'><input class='thButton' type='submit' name='import' value='Import Contacts'></td></tr>
  162.         </table><input type='hidden' name='step' value='get_contacts'>";
  163.         }
  164.     else
  165.         $contents.="<table class='thTable' cellspacing='0' cellpadding='0' style='border:none;'>
  166.                 <tr class='thTableRow'><td align='right' valign='top'><label for='message_box'>Message</label></td><td><textarea rows='5' cols='50' name='message_box' class='thTextArea' style='width:300px;'>{$_POST['message_box']}</textarea></td></tr>
  167.                 <tr class='thTableRow'><td align='center' colspan='2'><input type='submit' name='send' value='Send Invites' class='thButton' ></td></tr>
  168.             </table>";
  169.     }
  170. $contents.="<center><a href='http://openinviter.com/'><img src='http://openinviter.com/images/banners/banner_blue_1.gif?nr=4094' border='0' alt='Powered by OpenInviter.com' title='Powered by OpenInviter.com'></a></center>";
  171. if (!$done)
  172.     {
  173.     if ($step=='send_invites')
  174.         {
  175.         if ($inviter->showContacts())
  176.             {
  177.             $contents.="<table class='thTable' align='center' cellspacing='0' cellpadding='0'><tr class='thTableHeader'><td colspan='".($plugType=='email'? "3":"2")."'>Your contacts</td></tr>";
  178.             if (count($contacts)==0)
  179.                 $contents.="<tr class='thTableOddRow'><td align='center' style='padding:20px;' colspan='".($plugType=='email'? "3":"2")."'>You do not have any contacts in your address book.</td></tr>";
  180.             else
  181.                 {
  182.                 $contents.="<tr class='thTableDesc'><td><input type='checkbox' onChange='toggleAll(this)' name='toggle_all' title='Select/Deselect all' checked>Invite?</td><td>Name</td>".($plugType == 'email' ?"<td>E-mail</td>":"")."</tr>";
  183.                 $odd=true;$counter=0;
  184.                 foreach ($contacts as $email=>$name)
  185.                     {
  186.                     $counter++;
  187.                     if ($odd) $class='thTableOddRow'; else $class='thTableEvenRow';
  188.                     $contents.="<tr class='{$class}'><td><input name='check_{$counter}' value='{$counter}' type='checkbox' class='thCheckbox' checked><input type='hidden' name='email_{$counter}' value='{$email}'><input type='hidden' name='name_{$counter}' value='{$name}'></td><td>{$name}</td>".($plugType == 'email' ?"<td>{$email}</td>":"")."</tr>";
  189.                     $odd=!$odd;
  190.                     }
  191.                 $contents.="<tr class='thTableFooter'><td colspan='".($plugType=='email'? "3":"2")."' style='padding:3px;'><input type='submit' name='send' value='Send invites' class='thButton'></td></tr>";
  192.                 }
  193.             $contents.="</table>";
  194.             }
  195.         $contents.="<input type='hidden' name='step' value='send_invites'>
  196.             <input type='hidden' name='provider_box' value='{$_POST['provider_box']}'>
  197.             <input type='hidden' name='email_box' value='{$_POST['email_box']}'>
  198.             <input type='hidden' name='oi_session_id' value='{$_POST['oi_session_id']}'>";
  199.         }
  200.     }
  201. $contents.="</form>";
  202. echo $contents;
  203. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement