summaryrefslogtreecommitdiff
path: root/plugins/example_addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/example_addressbook')
-rw-r--r--plugins/example_addressbook/example_addressbook.php50
-rw-r--r--plugins/example_addressbook/example_addressbook_backend.php116
-rw-r--r--plugins/example_addressbook/package.xml51
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>