プラグインはOpen Inviterフレームワーク全体と非常に結合しているので、基本的にすべてを追加しました。恐らく、過剰なものですが、他のプラグインを追加したい場合は便利です。私は招待者ツリー全体を最上位レベル(おそらく最善の場所ではない)に配置しました。次に、ライブラリディレクトリに以下のlibを追加しました。これはcodeigniterフォーラムの1つから取り除かれました。フォーラムとメインのopeninviterスクリプトからコードを取得したので、私はかなりの量の微調整をしなければならないことが分かった。
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/* [email protected] 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);
}
}
}
?>
あなたのプロジェクトにどのようにクラスを統合しようとしていますか教えてください。クラスをインクルードするだけの場合、CodeIgniterに問題が発生する可能性があります。クラスをライブラリとして使用し、$ this-> load-> library( 'class_name')を呼び出してみてください。これはあなたの問題を解決するかもしれません。 – Tareq