PHP Classes

File: OpenInviter/example.php

Recommend this page to a friend!
  Classes of Open Inviter   Open Inviter   OpenInviter/example.php   Download  
File: OpenInviter/example.php
Role: Example script
Content type: text/plain
Description: Implementation example
Class: Open Inviter
Get contacts of friends of different networks
Author: By
Last change: Version change
Date: 15 years ago
Size: 8,458 bytes
 

Contents

Class file image Download
<?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;
?>