Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F120824803
example_addressbook_backend.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
example_addressbook_backend.php
View Options
<?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
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Apr 24, 10:28 AM (1 d, 17 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
92/db/e2ce9f8d2334fd6b75ee31f179a8
Default Alt Text
example_addressbook_backend.php (2 KB)
Attached To
Mode
R113 roundcubemail
Attached
Detach File
Event Timeline