如何在codeigniter中使用gmail OpenInviter插件

时间:2011-09-21 07:44:59

标签: codeigniter plugins php

您好我正在尝试使用openinviter gmail插件。我从

下载了gmail.plg.php

http://debug.openinviter.com/download.php

当我试图运行它所说的代码时,我在xampp->htdocs->gmail创建了一个新项目(而不是一个codeigniter项目)。

Fatal error: Class 'openinviter_base' not found in C:\xampp\htdocs\gmail\gmail.plg.php on line 26

所以我下载了openinviter_base.php并添加到我的gmail.plg.php顶部,现在问题没有显示,我如何整合这个,任何人都知道如何使用这个插件。

我也需要使用这个插件与codeigniter,我不知道。

我也看到了这段代码,但无法得到一个想法

http://code.google.com/p/spherenetwork/source/browse/trunk/plugins/lcOpenInviterPlugin/lib/openInviter/openinviter_base.php?r=146

请帮助我,我尝试了很多但失败了,谢谢...................................

1 个答案:

答案 0 :(得分:1)

插件与整体开放邀请框架非常相关,所以我基本上只添加了整个内容。也许是矫枉过正,但如果你想添加其他插件,那就太好了。我将整个邀请者树放在顶层(可能不是最好的地方)。然后我将以下lib添加到libraries目录中。这是从一个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);
        }
    }
}
?>