|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 27.24 GB of 70.42 GB (38.68%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
http/
mail.1/
plugins/
kolab_config/
- drwxrwxr-x
|
Viewing file: kolab_config.php (4.16 KB) -rw-rw-r--Select action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
<?php
/** * Kolab configuration storage. * * Plugin to use Kolab server as a configuration storage. Provides an API to handle * configuration according to http://wiki.kolab.org/KEP:9. * * Copyright (C) 2011, Kolab Systems AG <contact@kolabsys.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * Additional permission is granted to distribute and use this file under * the terms of the GNU General Public License Version 2 in conjunction with * the Roundcube Web Mailer Version 0.7 as distributed by the Roundcube * Community (http://roundcube.net). * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @author Machniak Aleksander <machniak@kolabsys.com> * */ class kolab_config extends rcube_plugin { public $task = 'utils';
private $config; private $enabled;
/** * Required startup method of a Roundcube plugin */ public function init() { $rcmail = rcmail::get_instance();
// Register spellchecker dictionary handlers if (strtolower($rcmail->config->get('spellcheck_dictionary')) != 'shared') { $this->add_hook('spell_dictionary_save', array($this, 'dictionary_save')); $this->add_hook('spell_dictionary_get', array($this, 'dictionary_get')); } /* // Register addressbook saved searches handlers $this->add_hook('saved_search_create', array($this, 'saved_search_create')); $this->add_hook('saved_search_delete', array($this, 'saved_search_delete')); $this->add_hook('saved_search_list', array($this, 'saved_search_list')); $this->add_hook('saved_search_get', array($this, 'saved_search_get')); */ }
/** * Initializes config object and dependencies */ private function load() { if ($this->config) return;
$this->require_plugin('kolab_folders');
// load dependencies require_once 'Horde/Util.php'; require_once 'Horde/Kolab/Format.php'; require_once 'Horde/Kolab/Format/XML.php'; require_once $this->home . '/lib/configuration.php'; require_once $this->home . '/lib/kolab_configuration.php';
String::setDefaultCharset('UTF-8');
$this->config = new kolab_configuration();
// check if configuration folder exist if (strlen($this->config->dir)) { $this->enabled = true; } }
/** * Saves spellcheck dictionary. * * @param array $args Hook arguments * * @return array Hook arguments */ public function dictionary_save($args) { $this->load();
if (!$this->enabled) { return $args; }
$lang = $args['language']; $dict = $this->dict;
$dict['type'] = 'dictionary'; $dict['language'] = $args['language']; $dict['e'] = $args['dictionary'];
if (empty($dict['e'])) { // Delete the object $this->config->del($dict); } else { // Update the object $this->config->set($dict); }
$args['abort'] = true;
return $args; }
/** * Returns spellcheck dictionary. * * @param array $args Hook arguments * * @return array Hook arguments */ public function dictionary_get($args) { $this->load();
if (!$this->enabled) { return $args; }
$lang = $args['language']; $this->dict = $this->config->get('dictionary.'.$lang);
if (!empty($this->dict)) { $args['dictionary'] = $this->dict['e']; }
$args['abort'] = true;
return $args; } }
|