Go Back   vb.org Archive > vBulletin Modifications > vBulletin 3.8 Modifications > vBulletin 3.8 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
OpenInviter Intergration Details »»
OpenInviter Intergration
Version: 1.00, by BBR-APBT BBR-APBT is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Integration with vBulletin - Version: 3.8.2 Rating:
Released: 04-19-2009 Last Update: 04-19-2009 Installs: 63
Uses Plugins Auto-Templates
Additional Files Translations Is in Beta Stage  
No support by the author.

What is OpenInviterTM ?
Quote:
Open source OpenInviterTM (Open InviterTM) is an free import contacts (addressbook) script from email providers like Libero, Rambler, GMX.net, Mail.ru, Live/Hotmail, IndiaTimes, Azet, Web.de, FastMail, Lycos, Zapakmail, Hushmail, Evite, Yahoo!, Uk2, Mynet.com, Abv, OperaMail, Interia, Sapo.pt, Inbox.com, Mail.com, Clevergo, Rediff, Virgilio, Nz11, Doramail, Walla, Gawab, Wp.pt, Apropo, Popstarmail, AOL, Care2, Netaddress, Bigstring, GMail, Yandex, KataMail, Mail.in, 5Fm, Terra or social portals like Famiva, Orkut, Vimeo, Fdcareer, Flixster, Xing, Plaxo, Cyworld, Konnects, LinkedIn, Motortopia, Twitter, Last.fm, Kincafe, MySpace, Brazencareerist, Livejournal, Mydogspace, Tagged, Hyves, Skyrock, Hi5, Friendfeed, Flickr, Badoo, Lovento, Eons, Flingr, Bebo, Faces, Multiply, Friendster, Facebook, Perfspot, Mycatspace, Xuqa, Xanga, Plazes, Plurk, Mevio, Meinvz. This contacts importer script is integrating with content management systems (aka CMS) like phpFoX, SimpleMachines Forum (SMF), Joomla, JamRoom, Social Engine, Wordpress, phpizabi, myBB, joovili, jamit job, PhpBB, Boonex Dolphin, PunBB, Dating Pro, Joomla1.0, PHPMELODY, symfony, Drupal, vBulletin. Open Inviter is written in PHP 5 (no database required but cURL or wget required) and running on any webserver (tested on Apache) offering advanced tell a friend features. OpenInviterTM is a free self hosted solution that does not use a third party gateway (or API) to import contacts.

Install Instructions
1. Upload the oi_settings.php to the adminCP dir.
2. Import the product-openinviter.xml

Done for my side of things.

Go to: http://openinviter.com/
1.Sign up for an account and download the package for vbulletin.
2.copy the Openinviter folder to your root vBulletin
3.Do nothing with the oi_settings.php and product-openinvitervbulletinediti.xml that come with their version.

If you use theirs, there is a security hole which I have patched in mine. I am waiting for them to email me back.

What did I change?
Changed how it is displayed in misc.php not index.php.
Also changed how it is displayed on the page in its own table instead of above the header.
Made the admin panel page alot nicer to look at.
Fixed security issues.


Fixes for their code.
Code:
Their code for vbulletin is a little messed up go to the Openinviter folder.
Open frontend.php add (echo $oi_display) at the bottom before the php close tag(i.e. ?>).
In the same file search for $contents and replace with $oi_display

I hope you enjoy
Please Click install.
Note support will not be giving if you don't.

Download Now

File Type: zip openinviter.zip (73.3 KB, 573 views)

Screenshots

File Type: jpg adminCP.jpg (73.1 KB, 0 views)
File Type: jpg misc.jpg (34.5 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
Artes_Marciales

Comments
  #22  
Old 04-20-2009, 03:35 PM
amjadz4's Avatar
amjadz4 amjadz4 is offline
 
Join Date: Aug 2007
Posts: 245
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice mod! Thanks!

Having the same issue as above! Nothing shows in the Import friends page. Its empty!

Reply With Quote
  #23  
Old 04-20-2009, 04:09 PM
skylab's Avatar
skylab skylab is offline
 
Join Date: Feb 2009
Location: Everywhere
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I could def use this however I do have Facebook Connect.
I'll keep an eye out for this.
Reply With Quote
  #24  
Old 04-20-2009, 04:37 PM
nascartr nascartr is offline
 
Join Date: Jun 2008
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Make sure to apply the changes above to the frontend.php file in the Openinviter folder you downloaded from OpenInviter.com

Quote:
Their code for vbulletin is a little messed up go to the Openinviter folder.
Open frontend.php add
Code:
echo $oi_display
at the bottom before the php close tag(i.e.
Code:
?>
).
In the same file search for
Code:
$contents
and replace with
Code:
$oi_display
Reply With Quote
  #25  
Old 04-20-2009, 04:39 PM
nascartr nascartr is offline
 
Join Date: Jun 2008
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I need someone that has got this working to let me know if they received the security token error and if the admin options are giving them problems too.
Reply With Quote
  #26  
Old 04-20-2009, 04:49 PM
amjadz4's Avatar
amjadz4 amjadz4 is offline
 
Join Date: Aug 2007
Posts: 245
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There are two $contents ... do we have to replace them both?

im getting the
Quote:
Your submission could not be processed because a security token was missing.
error too
Reply With Quote
  #27  
Old 04-20-2009, 06:16 PM
nascartr nascartr is offline
 
Join Date: Jun 2008
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just replaced one and received the same error.
Reply With Quote
  #28  
Old 04-20-2009, 06:28 PM
BBR-APBT's Avatar
BBR-APBT BBR-APBT is offline
 
Join Date: Feb 2009
Location: Maryland
Posts: 946
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by nascartr View Post
When I try to submit my invotes with Yahoo and Hotmail I get a security token error.



In the admin panel if I try to save my settings I get this error.
You have to edit the frontend.php I think I may release mine here in this post for people to use I have to email a moderator and ask if I can.


The error in the adminCP is you have to chmod config.php to 777.
Reply With Quote
  #29  
Old 04-20-2009, 06:32 PM
nascartr nascartr is offline
 
Join Date: Jun 2008
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BBR-APBT View Post
You have to edit the frontend.php I think I may release mine here in this post for people to use I have to email a moderator and ask if I can.


The error in the adminCP is you have to chmod config.php to 777.
Fixed the Admin CP problem by changing permissions. The frontend.php has been edited following your directions as I posted above but I still receive the security token error.
Reply With Quote
  #30  
Old 04-20-2009, 06:34 PM
nascartr nascartr is offline
 
Join Date: Jun 2008
Posts: 317
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by amjadz4 View Post
There are two $contents ... do we have to replace them both?

im getting the error too

I tried replacing both $contents with the $oi_display and still get the security token error.
Reply With Quote
  #31  
Old 04-20-2009, 06:34 PM
BBR-APBT's Avatar
BBR-APBT BBR-APBT is offline
 
Join Date: Feb 2009
Location: Maryland
Posts: 946
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Security token fix here. This is not my code I just fixed it up so it works and it looks a little nicer. The security token error was not my fault as I didn't code the frontend.php Thats right from them here is my version. below that works.


Remember to edit the second line below. path to forum global

Frontend.php
Code:
<?php
require_once('/path/to/your/forum/dir/global.php');
$oi_sectok = $vbulletin->userinfo['securitytoken'];
				if (!$oi_sectok)
				{
					$oi_sectok = 'none';
}
include('openinviter.php');
$inviter=new OpenInviter();
$oi_services=$inviter->getPlugins();
if (isset($_POST['provider_box'])) 
{
	if (isset($oi_services['email'][$_POST['provider_box']])) $plugType='email';
	elseif (isset($oi_services['social'][$_POST['provider_box']])) $plugType='social';
	else $plugType='';
}
else $plugType = '';
function ers($ers)
	{
	if (!empty($ers))
		{
		$oi_display="<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)
			$oi_display.="{$error}<br >";
		$oi_display.="</td></tr></table><br >";
		return $oi_display;
		}
	}
	
function oks($oks)
	{
	if (!empty($oks))
		{
		$oi_display="<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)
			$oi_display.="{$msg}<br >";
		$oi_display.="</td></tr></table><br >";
		return $oi_display;
		}
	}

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';
				$_POST['oi_session_id']=$inviter->plugin->getSessionID();
				$_POST['message_box']='';
				}
			}
		}
	elseif ($step=='send_invites')
		{
		if (empty($_POST['provider_box'])) $ers['provider']='Provider missing';
		else
			{
			$inviter->startPlugin($_POST['provider_box']);
			$internal=$inviter->getInternalError();
			if ($internal) $ers['internal']=$internal;
			else
				{
				if (empty($_POST['email_box'])) $ers['inviter']='Inviter information missing';
				if (empty($_POST['oi_session_id'])) $ers['session_id']='No active session';
				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\r".$_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['oi_session_id'],$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)
					vbmail($email, $message_subject, $message_body, true);
				$oks['mails']="Mails sent successfully";
				}
			elseif ($sendMessage===false)
				{
				$internal=$inviter->getInternalError();
				$ers['internal']=($internal?$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']='';
	}

$oi_display="<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>";
$oi_display.="<form action='' method='POST' name='openinviter'>".ers($ers).oks($oks);
if (!$done)
	{
	if ($step=='get_contacts')
		{
		$oi_display.="<table align='center' class='thTable' cellspacing='0' cellpadding='3' style='border:none;'>
			<tr><td align='left'><label for='email_box'><strong>Email</strong></label></td><td><label for='password_box'><strong>Password</strong></label></td><td><label for='provider_box'><strong>Email provider</strong></label></td></tr>
			<tr><td><input type='text' name='email_box' value='{$_POST['email_box']}' autocomplete='off'>  </td><td><input type='password' name='password_box' value='{$_POST['password_box']}' autocomplete='off'>  </td><td><select name='provider_box'><option value=''></option>
		";
		foreach ($oi_services as $type=>$providers)	
			{
			$oi_display.="<option disabled>".$inviter->pluginTypes[$type]."</option>";
			foreach ($providers as $provider=>$details)
				$oi_display.="<option value='{$provider}'".($_POST['provider_box']==$provider?' selected':'').">{$details['name']}</option>";
			}
		$oi_display.="</select></td></tr>
			<tr><td colspan='3' align='center'><input type='hidden' name='securitytoken' value='$oi_sectok'><input type='submit' name='import' value='Import Contacts'></td></tr>
		</table><input type='hidden' name='step' value='get_contacts'>";
		}
	else
		$oi_display.="<table cellspacing='0' cellpadding='0' style='border:none;' align='center'>
				<tr><td align='left' valign='top'><label for='message_box'><strong>Message</strong></label><br /></td></tr>
				<tr><td><textarea rows='5' cols='50' name='message_box' style='width:300px;'>{$_POST['message_box']}</textarea></td></tr>
				<tr><td align='center'><input type='submit' name='send' value='Send Invites'><br /><br /></td></tr>
			</table>";
	}
if (!$done)
	{
	if ($step=='send_invites')
		{
		if ($inviter->showContacts())
			{
			$oi_display.="<table class='tborder' align='center' cellspacing='0' cellpadding='3'><tr class='tcat'><td colspan='".($plugType=='email'? "3":"2")."'><strong>Your contacts</strong></td></tr>";
			if (count($contacts)==0)
				$oi_display.="<tr class='alt1'><td align='center' style='padding:20px;' colspan='".($plugType=='email'? "3":"2")."'>You do not have any contacts in your address book.</td></tr>";
			else
				{
				$oi_display.="<tr class='alt2'><td><input type='checkbox' onChange='toggleAll(this)' name='toggle_all' title='Select/Deselect all' checked>on/off</td><td>Name</td>".($plugType == 'email' ?"<td>E-mail</td>":"")."</tr>";
				$odd=true;$counter=0;
				foreach ($contacts as $email=>$name)
					{
					$counter++;
					if ($odd) $class='alt1'; else $class='alt2';
					$oi_display.="<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>";
					$odd=!$odd;
					}
				$oi_display.="<tr class='tfoot'><td colspan='".($plugType=='email'? "3":"2")."' style='padding:3px;' align='center'><input type='submit' name='send' value='Send invites' class='thButton'></td></tr>";
				}
			$oi_display.="</table>";
			}
		$oi_display.="<input type='hidden' name='step' value='send_invites'>
            <input type='hidden' name='s' value='$session[sessionhash]'>
			<input type='hidden' name='securitytoken' value='$oi_sectok'>
			<input type='hidden' name='provider_box' value='{$_POST['provider_box']}'>
			<input type='hidden' name='email_box' value='{$_POST['email_box']}'>
			<input type='hidden' name='oi_session_id' value='{$_POST['oi_session_id']}'>";
		}
	}
$oi_display.="</form>";
echo $oi_display;
?>
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:28 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04539 seconds
  • Memory Usage 2,378KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_code
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (3)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete