Плагины тесно связаны с общей структурой открытых приглашений, поэтому я просто добавил в целом все это. Возможно, излишнее, но приятно, если вы хотите добавить другие плагины Я разместил дерево приглашающих на верхнем уровне (вероятно, не самое лучшее место). Затем я добавил следующую библиотеку в каталог библиотеки. Это было снято с одного из форумов Codeigniter. Как в коде, взятом с форума, так и в основных скриптах openinviter, я обнаружил, что мне нужно было внести немало мелких изменений.
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/* tky@tmo.blackberry.net inviter.php Fri May 22 04:00:19 GMT 2009 */
require_once($_SERVER['DOCUMENT_ROOT'].'/OpenInviter/openinviter.php');
class Importer
{
var $ci;
var $imported;
var $open_inviter;
var $plug_ins;
public function __construct()
{
$this->ci=&get_instance();
$this->open_inviter = new OpenInviter();
$this->plug_ins = $this->open_inviter->getPlugIns();
}
public function grab_contacts($plugin,$username,$password)
{
require_once($_SERVER['DOCUMENT_ROOT'].'/OpenInviter/openinviter.php');
$this->open_inviter->startPlugin($plugin);
if($this->open_inviter->login($username,$password))
{
$array = $this->open_inviter->getMyContacts();
if(is_array($array) && count($array)>=1)
{
$this->imported = $array;
//$this->_store_invited();
return($this->imported);
}
else
{
return $array;
}
}
else
{
//return 'ERROR on login.';
return false;
}
}
public function login($plugin,$username,$password)
{
$result = FALSE;
$this->open_inviter->startPlugin($plugin);
if($this->open_inviter->login($username,$password))
{
$result = TRUE;
}
return $result;
}
private function _store_invited()
{
foreach($this->imported as $mail=>$name)
{
$a = array
(
//'user_id' => ospc_user_id(),
'name' => $name,
'email_address' => $mail,
'status' => 0,
'time_imported' => time()
);
$this->ci->db->insert('ospc_imported',$a);
unset($a);
}
}
}
?>