| 
<?php
include('openinviter.php');
 $inviter=new OpenInviter();
 $oi_services=$inviter->getPlugins();
 
 function ers($ers)
 {
 if (!empty($ers))
 {
 $contents="<table cellspacing='0' cellpadding='0' style='border:1px solid red;' align='center' class='tbErrorMsgGrad'><tr><td valign='middle' style='padding:3px' valign='middle' class='tbErrorMsg'><img src='/images/ers.gif'></td><td valign='middle' style='color:red;padding:5px;'>";
 foreach ($ers as $key=>$error)
 $contents.="{$error}<br >";
 $contents.="</td></tr></table><br >";
 return $contents;
 }
 }
 
 function oks($oks)
 {
 if (!empty($oks))
 {
 $contents="<table border='0' cellspacing='0' cellpadding='10' style='border:1px solid #5897FE;' align='center' class='tbInfoMsgGrad'><tr><td valign='middle' valign='middle' class='tbInfoMsg'><img src='/images/oks.gif' ></td><td valign='middle' style='color:#5897FE;padding:5px;'>    ";
 foreach ($oks as $key=>$msg)
 $contents.="{$msg}<br >";
 $contents.="</td></tr></table><br >";
 return $contents;
 }
 }
 
 if (!empty($_POST['step'])) $step=$_POST['step'];
 else $step='get_contacts';
 
 $ers=array();$oks=array();$import_ok=false;$done=false;
 if ($_SERVER['REQUEST_METHOD']=='POST')
 {
 if ($step=='get_contacts')
 {
 if (empty($_POST['email_box']))
 $ers['email']="Email missing";
 if (empty($_POST['password_box']))
 $ers['password']="Password missing";
 if (empty($_POST['provider_box']))
 $ers['provider']="Provider missing";
 if (count($ers)==0)
 {
 $inviter->startPlugin($_POST['provider_box']);
 $internal=$inviter->getInternalError();
 if ($internal)
 $ers['inviter']=$internal;
 elseif (!$inviter->login($_POST['email_box'],$_POST['password_box']))
 {
 $internal=$inviter->getInternalError();
 $ers['login']=($internal?$internal:"Login failed. Please check the email and password you have provided and try again later");
 }
 elseif (false===$contacts=$inviter->getMyContacts())
 $ers['contacts']="Unable to get contacts.";
 else
 {
 $import_ok=true;
 $step='send_invites';
 $inviter->stopPlugin(true);
 $_POST['cookie_file']=$inviter->plugin->cookie;
 $_POST['message_box']='';
 }
 }
 }
 elseif ($step=='send_invites')
 {
 if (empty($_POST['provider_box'])) $ers['provider']='Provider missing';
 else
 {
 $inviter->startPlugin($_POST['provider_box']);
 if (empty($_POST['email_box'])) $ers['inviter']='Inviter information missing';
 if (empty($_POST['cookie_file'])) $ers['cookie']='Could not find cookie file';
 if (empty($_POST['message_box'])) $ers['message_body']='Message missing';
 else $_POST['message_box']=strip_tags($_POST['message_box']);
 $selected_contacts=array();$contacts=array();
 $message=array('subject'=>$inviter->settings['message_subject'],'body'=>$inviter->settings['message_body'],'attachment'=>"\n\rAttached message: \n\nr".$_POST['message_box']);
 if ($inviter->showContacts())
 {
 foreach ($_POST as $key=>$val)
 if (strpos($key,'check_')!==false)
 $selected_contacts[$_POST['email_'.$val]]=$_POST['name_'.$val];
 elseif (strpos($key,'email_')!==false)
 {
 $temp=explode('_',$key);$counter=$temp[1];
 if (is_numeric($temp[1])) $contacts[$val]=$_POST['name_'.$temp[1]];
 }
 if (count($selected_contacts)==0) $ers['contacts']="You haven't selected any contacts to invite";
 }
 }
 if (count($ers)==0)
 {
 $sendMessage=$inviter->sendMessage($_POST['cookie_file'],$message,$selected_contacts);
 $inviter->logout();
 if ($sendMessage===-1)
 {
 $message_footer="\r\n\r\nThis invite was sent using OpenInviter technology.";
 $message_subject=$_POST['email_box'].$message['subject'];
 $message_body=$message['body'].$message['attachment'].$message_footer;
 $headers="From: {$_POST['email_box']}";
 foreach ($selected_contacts as $email=>$name)
 mail($email,$message_subject,$message_body,$headers);
 $oks['mails']="Mails sent successfully";
 }
 elseif ($sendMessage===false)
 $ers['internal']="There were errors while sending your invites.<br>Please try again later!";
 else $oks['internal']="Invites sent successfully!";
 $done=true;
 }
 }
 }
 else
 {
 $_POST['email_box']='';
 $_POST['password_box']='';
 $_POST['provider_box']='';
 $_POST['code_box']='';
 }
 
 $contents="<script type='text/javascript'>
 function toggleAll(element)
 {
 var form = document.forms.openinviter, z = 0;
 for(z=0; z<form.length;z++)
 {
 if(form[z].type == 'checkbox')
 form[z].checked = element.checked;
 }
 }
 </script>";
 $contents.="<form action='' method='POST' name='openinviter'>".ers($ers).oks($oks);
 if (!$done)
 {
 if ($step=='get_contacts')
 {
 $contents.="<table align='center' class='thTable' cellspacing='0' cellpadding='0' style='border:none;'>
 <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>
 <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>
 <tr class='thTableRow'><td align='right'><label for='provider_box'>Email provider</label></td><td><select class='thSelect' name='provider_box'><option value=''></option>";
 foreach ($oi_services as $type=>$providers)
 {
 $contents.="<option disabled>".$inviter->pluginTypes[$type]."</option>";
 foreach ($providers as $provider=>$details)
 $contents.="<option value='{$provider}'".($_POST['provider_box']==$provider?' selected':'').">{$details['name']}</option>";
 }
 $contents.="</select></td></tr>
 <tr class='thTableImportantRow'><td colspan='2' align='center'><input class='thButton' type='submit' name='import' value='Import Contacts'></td></tr>
 </table><input type='hidden' name='step' value='get_contacts'>";
 }
 else
 $contents.="<table class='thTable' cellspacing='0' cellpadding='0' style='border:none;'>
 <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>
 <tr class='thTableRow'><td align='center' colspan='2'><input type='submit' name='send' value='Send Invites' class='thButton' ></td></tr>
 </table>";
 }
 $contents.="<center><a href='http://openinviter.com/'><img src='http://openinviter.com/images/banners/banner_blue_1.gif' border='0' alt='Powered by OpenInviter.com' title='Powered by OpenInviter.com'></a></center>";
 if (!$done)
 {
 if ($step=='send_invites')
 {
 if ($inviter->showContacts())
 {
 $contents.="<table class='thTable' align='center' cellspacing='0' cellpadding='0'><tr class='thTableHeader'><td colspan='3'>Your contacts</td></tr>";
 if (count($contacts)==0)
 $contents.="<tr class='thTableOddRow'><td align='center' style='padding:20px;' colspan='3'>You do not have any contacts in your address book.</td></tr>";
 else
 {
 $contents.="<tr class='thTableDesc'><td><input type='checkbox' onChange='toggleAll(this)' name='toggle_all' title='Select/Deselect all' checked>Invite?</td><td>Name</td><td>E-mail</td></tr>";
 $odd=true;$counter=0;
 foreach ($contacts as $email=>$name)
 {
 $counter++;
 if ($odd) $class='thTableOddRow'; else $class='thTableEvenRow';
 $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><td>{$email}</td></tr>";
 $odd=!$odd;
 }
 $contents.="<tr class='thTableFooter'><td colspan='3' style='padding:3px;'><input type='submit' name='send' value='Send invites' class='thButton'></td></tr>";
 }
 $contents.="</table>";
 }
 $contents.="<input type='hidden' name='step' value='send_invites'>
 <input type='hidden' name='provider_box' value='{$_POST['provider_box']}'>
 <input type='hidden' name='email_box' value='{$_POST['email_box']}'>
 <input type='hidden' name='cookie_file' value='{$_POST['cookie_file']}'>";
 }
 }
 $contents.="</form>";
 echo $contents;
 ?>
 |