Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2571940
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/plugins/example_addressbook/example_addressbook.php b/plugins/example_addressbook/example_addressbook.php
index 22e230c6f..8f15c703b 100644
--- a/plugins/example_addressbook/example_addressbook.php
+++ b/plugins/example_addressbook/example_addressbook.php
@@ -1,53 +1,54 @@
<?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);
+ 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);
+
+ 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;
}
- 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
index c965d5a28..0a380581e 100644
--- a/plugins/example_addressbook/example_addressbook_backend.php
+++ b/plugins/example_addressbook/example_addressbook_backend.php
@@ -1,116 +1,120 @@
<?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, $mode = 0)
- {
- 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, &$newid)
- {
- return $newname;
- }
-
- function add_to_group($group_id, $ids)
- {
- return false;
- }
-
- function remove_from_group($group_id, $ids)
- {
- return false;
- }
-
+ 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, $mode = 0)
+ {
+ 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, &$newid)
+ {
+ return $newname;
+ }
+
+ function add_to_group($group_id, $ids)
+ {
+ return false;
+ }
+
+ function remove_from_group($group_id, $ids)
+ {
+ return false;
+ }
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Thu, Mar 19, 10:24 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
458631
Default Alt Text
(7 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment