mirror of
https://github.com/roundcube/roundcubemail.git
synced 2026-03-21 15:26:58 +01:00
Add option 'searchonly' for address books; currently used by LDAP directories
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
CHANGELOG Roundcube Webmail
|
||||
===========================
|
||||
|
||||
- Add option 'searchonly' for LDAP address books
|
||||
- Add Priority filter to the messages list
|
||||
- Cache synchronization using QRESYNC/CONDSTORE
|
||||
- Fix locked folder rename option on servers supporting RFC2086 only (#1488089)
|
||||
|
||||
@@ -540,9 +540,11 @@ $rcmail_config['ldap_public']['Verisign'] = array(
|
||||
'auth_cid' => '',
|
||||
// SASL authentication method (for proxy auth), e.g. DIGEST-MD5
|
||||
'auth_method' => '',
|
||||
// Indicates if the addressbook shall be displayed on the list.
|
||||
// Indicates if the addressbook shall be hidden from the list.
|
||||
// With this option enabled you can still search/view contacts.
|
||||
'hidden' => false,
|
||||
// Indicates if the addressbook shall not list contacts but only allows searching.
|
||||
'searchonly' => false,
|
||||
// Indicates if we can write to the LDAP directory or not.
|
||||
// If writable is true then these fields need to be populated:
|
||||
// LDAP_Object_Classes, required_fields, LDAP_rdn
|
||||
|
||||
@@ -38,6 +38,7 @@ abstract class rcube_addressbook
|
||||
public $primary_key;
|
||||
public $groups = false;
|
||||
public $readonly = true;
|
||||
public $searchonly = false;
|
||||
public $undelete = false;
|
||||
public $ready = false;
|
||||
public $group_id = null;
|
||||
|
||||
@@ -71,6 +71,9 @@ class rcube_ldap extends rcube_addressbook
|
||||
function __construct($p, $debug=false, $mail_domain=NULL)
|
||||
{
|
||||
$this->prop = $p;
|
||||
|
||||
if (isset($p['searchonly']))
|
||||
$this->searchonly = $p['searchonly'];
|
||||
|
||||
// check if groups are configured
|
||||
if (is_array($p['groups']) && count($p['groups'])) {
|
||||
@@ -429,6 +432,12 @@ class rcube_ldap extends rcube_addressbook
|
||||
*/
|
||||
function list_records($cols=null, $subset=0)
|
||||
{
|
||||
if ($this->prop['searchonly'] && empty($this->filter) && !$this->group_id) {
|
||||
$this->result = new rcube_result_set(0);
|
||||
$this->result->searchonly = true;
|
||||
return $this->result;
|
||||
}
|
||||
|
||||
// add general filter to query
|
||||
if (!empty($this->prop['filter']) && empty($this->filter))
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
| program/include/rcube_result_set.php |
|
||||
| |
|
||||
| This file is part of the Roundcube Webmail client |
|
||||
| Copyright (C) 2006-2010, The Roundcube Dev Team |
|
||||
| Copyright (C) 2006-2011, The Roundcube Dev Team |
|
||||
| Licensed under the GNU GPL |
|
||||
| |
|
||||
| PURPOSE: |
|
||||
@@ -31,6 +31,7 @@ class rcube_result_set
|
||||
var $count = 0;
|
||||
var $first = 0;
|
||||
var $current = 0;
|
||||
var $searchonly = false;
|
||||
var $records = array();
|
||||
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ $messages['blockedimages'] = 'Um Ihre Privatsphäre zur schützen, wurden extern
|
||||
$messages['encryptedmessage'] = 'Dies ist eine verschlüsselte Nachricht und kann leider nicht angezeigt werden.';
|
||||
$messages['nocontactsfound'] = 'Keine Kontakte gefunden';
|
||||
$messages['contactnotfound'] = 'Die gewählte Adresse wurde nicht gefunden';
|
||||
$messages['contactsearchonly'] = 'Geben Sie einen Suchbegriff ein, um Kontakte zu finden';
|
||||
$messages['sendingfailed'] = 'Versand der Nachricht fehlgeschlagen';
|
||||
$messages['senttooquickly'] = 'Bitte warten Sie $sec Sekunde(n) vor dem Senden dieser Nachricht';
|
||||
$messages['errorsavingsent'] = 'Ein Fehler ist beim Speichern der gesendeten Nachricht aufgetreten';
|
||||
|
||||
@@ -49,6 +49,7 @@ $messages['blockedimages'] = 'Um Ihre Privatsphäre zur schützen, wurden extern
|
||||
$messages['encryptedmessage'] = 'Dies ist eine verschlüsselte Nachricht und kann leider nicht angezeigt werden.';
|
||||
$messages['nocontactsfound'] = 'Keine Kontakte gefunden';
|
||||
$messages['contactnotfound'] = 'Der angeforderte Kontakt wurde nicht gefunden';
|
||||
$messages['contactsearchonly'] = 'Geben Sie einen Suchbegriff ein, um Kontakte zu finden';
|
||||
$messages['sendingfailed'] = 'Versenden der Nachricht fehlgeschlagen';
|
||||
$messages['senttooquickly'] = 'Bitte warten Sie $sec Sekunde(n) vor dem Senden dieser Nachricht';
|
||||
$messages['errorsavingsent'] = 'Ein Fehler ist beim Speichern der gesendeten Nachricht aufgetreten';
|
||||
|
||||
@@ -48,6 +48,7 @@ $messages['blockedimages'] = 'To protect your privacy, remote images are blocked
|
||||
$messages['encryptedmessage'] = 'This is an encrypted message and can not be displayed. Sorry!';
|
||||
$messages['nocontactsfound'] = 'No contacts found.';
|
||||
$messages['contactnotfound'] = 'The requested contact was not found.';
|
||||
$messages['contactsearchonly'] = 'Enter some search terms to find contacts';
|
||||
$messages['sendingfailed'] = 'Failed to send message.';
|
||||
$messages['senttooquickly'] = 'Please wait $sec sec(s). before sending this message.';
|
||||
$messages['errorsavingsent'] = 'An error occured while saving sent message.';
|
||||
|
||||
@@ -73,6 +73,9 @@ else {
|
||||
|
||||
// get contacts for this user
|
||||
$result = $CONTACTS->list_records(array('name'));
|
||||
|
||||
if (!$result->count && $result->searchonly)
|
||||
$OUTPUT->show_message('contactsearchonly', 'notice');
|
||||
}
|
||||
|
||||
// update message count display
|
||||
|
||||
Reference in New Issue
Block a user