summaryrefslogtreecommitdiff
path: root/plugins/example_addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/example_addressbook')
-rw-r--r--plugins/example_addressbook/composer.json24
-rw-r--r--plugins/example_addressbook/example_addressbook.php53
-rw-r--r--plugins/example_addressbook/example_addressbook_backend.php116
-rw-r--r--plugins/example_addressbook/tests/ExampleAddressbook.php23
4 files changed, 0 insertions, 216 deletions
diff --git a/plugins/example_addressbook/composer.json b/plugins/example_addressbook/composer.json
deleted file mode 100644
index fe06d6d9c..000000000
--- a/plugins/example_addressbook/composer.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "roundcube/example_addressbook",
- "type": "roundcube-plugin",
- "description": "Sample plugin to add a new address book with just a static list of contacts",
- "license": "GPLv3+",
- "version": "1.0",
- "authors": [
- {
- "name": "Thomas Bruederli",
- "email": "roundcube@gmail.com",
- "role": "Lead"
- }
- ],
- "repositories": [
- {
- "type": "composer",
- "url": "http://plugins.roundcube.net"
- }
- ],
- "require": {
- "php": ">=5.3.0",
- "roundcube/plugin-installer": ">=0.1.3"
- }
-}
diff --git a/plugins/example_addressbook/example_addressbook.php b/plugins/example_addressbook/example_addressbook.php
deleted file mode 100644
index 22e230c6f..000000000
--- a/plugins/example_addressbook/example_addressbook.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-require_once(__DIR__ . '/example_addressbook_backend.php');
-
-/**
- * Sample plugin to add a new address book
- * with just a static list of contacts
- *
- * @license GNU GPLv3+
- * @author Thomas Bruederli
- */
-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/tests/ExampleAddressbook.php b/plugins/example_addressbook/tests/ExampleAddressbook.php
deleted file mode 100644
index 762ee7307..000000000
--- a/plugins/example_addressbook/tests/ExampleAddressbook.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-class ExampleAddressbook_Plugin extends PHPUnit_Framework_TestCase
-{
-
- function setUp()
- {
- include_once __DIR__ . '/../example_addressbook.php';
- }
-
- /**
- * Plugin object construction test
- */
- function test_constructor()
- {
- $rcube = rcube::get_instance();
- $plugin = new example_addressbook($rcube->api);
-
- $this->assertInstanceOf('example_addressbook', $plugin);
- $this->assertInstanceOf('rcube_plugin', $plugin);
- }
-}
-