diff options
Diffstat (limited to 'plugins/example_addressbook')
| -rw-r--r-- | plugins/example_addressbook/example_addressbook.php | 50 | ||||
| -rw-r--r-- | plugins/example_addressbook/example_addressbook_backend.php | 116 | ||||
| -rw-r--r-- | plugins/example_addressbook/package.xml | 51 |
3 files changed, 0 insertions, 217 deletions
diff --git a/plugins/example_addressbook/example_addressbook.php b/plugins/example_addressbook/example_addressbook.php deleted file mode 100644 index a15461f44..000000000 --- a/plugins/example_addressbook/example_addressbook.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -require_once(dirname(__FILE__) . '/example_addressbook_backend.php'); - -/** - * Sample plugin to add a new address book - * with just a static list of contacts - */ -class example_addressbook extends rcube_plugin -{ - private $abook_id = 'static'; - private $abook_name = 'Static List'; - - public function init() - { - $this->add_hook('addressbooks_list', array($this, 'address_sources')); - $this->add_hook('addressbook_get', array($this, 'get_address_book')); - - // use this address book for autocompletion queries - // (maybe this should be configurable by the user?) - $config = rcmail::get_instance()->config; - $sources = (array) $config->get('autocomplete_addressbooks', array('sql')); - if (!in_array($this->abook_id, $sources)) { - $sources[] = $this->abook_id; - $config->set('autocomplete_addressbooks', $sources); - } - } - - public function address_sources($p) - { - $abook = new example_addressbook_backend($this->abook_name); - $p['sources'][$this->abook_id] = array( - 'id' => $this->abook_id, - 'name' => $this->abook_name, - 'readonly' => $abook->readonly, - 'groups' => $abook->groups, - ); - return $p; - } - - public function get_address_book($p) - { - if ($p['id'] === $this->abook_id) { - $p['instance'] = new example_addressbook_backend($this->abook_name); - } - - return $p; - } - -} diff --git a/plugins/example_addressbook/example_addressbook_backend.php b/plugins/example_addressbook/example_addressbook_backend.php deleted file mode 100644 index 8c143c25f..000000000 --- a/plugins/example_addressbook/example_addressbook_backend.php +++ /dev/null @@ -1,116 +0,0 @@ -<?php - -/** - * Example backend class for a custom address book - * - * This one just holds a static list of address records - * - * @author Thomas Bruederli - */ -class example_addressbook_backend extends rcube_addressbook -{ - public $primary_key = 'ID'; - public $readonly = true; - public $groups = true; - - private $filter; - private $result; - private $name; - - public function __construct($name) - { - $this->ready = true; - $this->name = $name; - } - - public function get_name() - { - return $this->name; - } - - public function set_search_set($filter) - { - $this->filter = $filter; - } - - public function get_search_set() - { - return $this->filter; - } - - public function reset() - { - $this->result = null; - $this->filter = null; - } - - function list_groups($search = null) - { - return array( - array('ID' => 'testgroup1', 'name' => "Testgroup"), - array('ID' => 'testgroup2', 'name' => "Sample Group"), - ); - } - - public function list_records($cols=null, $subset=0) - { - $this->result = $this->count(); - $this->result->add(array('ID' => '111', 'name' => "Example Contact", 'firstname' => "Example", 'surname' => "Contact", 'email' => "example@roundcube.net")); - - return $this->result; - } - - public function search($fields, $value, $strict=false, $select=true, $nocount=false, $required=array()) - { - // no search implemented, just list all records - return $this->list_records(); - } - - public function count() - { - return new rcube_result_set(1, ($this->list_page-1) * $this->page_size); - } - - public function get_result() - { - return $this->result; - } - - public function get_record($id, $assoc=false) - { - $this->list_records(); - $first = $this->result->first(); - $sql_arr = $first['ID'] == $id ? $first : null; - - return $assoc && $sql_arr ? $sql_arr : $this->result; - } - - - function create_group($name) - { - $result = false; - - return $result; - } - - function delete_group($gid) - { - return false; - } - - function rename_group($gid, $newname) - { - return $newname; - } - - function add_to_group($group_id, $ids) - { - return false; - } - - function remove_from_group($group_id, $ids) - { - return false; - } - -} diff --git a/plugins/example_addressbook/package.xml b/plugins/example_addressbook/package.xml deleted file mode 100644 index 407548db4..000000000 --- a/plugins/example_addressbook/package.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.9.0" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 - http://pear.php.net/dtd/tasks-1.0.xsd - http://pear.php.net/dtd/package-2.0 - http://pear.php.net/dtd/package-2.0.xsd"> - <name>example_addressbook</name> - <channel>pear.roundcube.net</channel> - <summary>Example addressbook plugin implementation</summary> - <description>Sample plugin to add a new address book with just a static list of contacts.</description> - <lead> - <name>Thomas Bruederli</name> - <user>thomasb</user> - <email>roundcube@gmail.com</email> - <active>yes</active> - </lead> - <date>2011-11-21</date> - <version> - <release>1.0</release> - <api>1.0</api> - </version> - <stability> - <release>stable</release> - <api>stable</api> - </stability> - <license uri="http://www.gnu.org/licenses/gpl.html">GNU GPLv3+</license> - <notes>-</notes> - <contents> - <dir baseinstalldir="/" name="/"> - <file name="example_addressbook.php" role="php"> - <tasks:replace from="@name@" to="name" type="package-info"/> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - <file name="example_addressbook_backend.php" role="php"> - <tasks:replace from="@name@" to="name" type="package-info"/> - <tasks:replace from="@package_version@" to="version" type="package-info"/> - </file> - </dir> - <!-- / --> - </contents> - <dependencies> - <required> - <php> - <min>5.2.1</min> - </php> - <pearinstaller> - <min>1.7.0</min> - </pearinstaller> - </required> - </dependencies> - <phprelease/> -</package> |
