* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
+
require_once VILMA_BASE . '/lib/Forms/DeleteDomainForm.php';
/* Only admin should be using this. */
if ($vars->get('submitbutton') == _("Delete")) {
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $delete = $vilma_driver->deleteDomain($info['domain_id']);
+ $delete = $vilma->driver->deleteDomain($info['domain_id']);
if (is_a($delete, 'PEAR_Error')) {
Horde::logMessage($delete, 'ERR');
$notification->push(sprintf(_("Error deleting domain. %s."), $delete->getMessage()), 'horde.error');
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
+
require_once VILMA_BASE . '/lib/Forms/EditDomainForm.php';
/* Only admin should be using this. */
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
$info['name'] = Horde_String::lower($info['name']);
- $domain_id = $vilma_driver->saveDomain($info);
+ $domain_id = $vilma->driver->saveDomain($info);
if (is_a($domain_id, 'PEAR_Error')) {
Horde::logMessage($domain_id, 'ERR');
$notification->push(sprintf(_("Error saving domain: %s."), $domain_id->getMessage()), 'horde.error');
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!Vilma::hasPermission($domain)) {
// Having a current domain doesn't make sense on this page
Vilma::setCurDomain(false);
-$domains = $vilma_driver->getDomains();
+$domains = $vilma->driver->getDomains();
if (is_a($domains, 'PEAR_Error')) {
$notification->push($domains, 'horde.error');
$domains = array();
class Vilma_Application extends Horde_Registry_Application
{
+ public $driver = null;
+ public $curdomain = null;
+
+ protected function _init()
+ {
+ $this->driver = &Vilma_Driver::singleton();
+
+ // Get the currently active domain, possibly storing a change into the session
+ $this->curdomain = Vilma::getCurDomain();
+ }
+
public function perms()
{
static $perms = array();
return $perms;
}
- require_once VILMA_BASE . '/lib/base.php';
- global $vilma_driver;
-
$perms['tree']['vilma']['superadmin'] = false;
$perms['title']['vilma:superadmin'] = _("Super Administrator");
- $domains = $vilma_driver->getDomains();
+ $domains = $this->driver->getDomains();
// Run through every domain
foreach ($domains as $domain) {
+++ /dev/null
-<?php
-/**
- * Copyright 2003-2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file LICENSE for license information (BSD). If you did not
- * did not receive this file, see http://cvs.horde.org/co.php/vilma/LICENSE.
- *
- * @author Marko Djukic <marko@oblo.com>
- * @author Ben Klang <ben@alkaloid.net>
- * @package Vilma
- */
-
-/* Check for a prior definition of HORDE_BASE (perhaps by an auto_prepend_file
- * definition for site customization). */
-if (!defined('HORDE_BASE')) {
- @define('HORDE_BASE', dirname(__FILE__) . '/../..');
-}
-
-/* Load the Horde Framework core, and set up inclusion paths. */
-require_once HORDE_BASE . '/lib/core.php';
-
-/* Registry. */
-$registry = new Horde_Registry();
-try {
- $registry->pushApp('vilma', !defined('AUTH_HANDLER'));
-} catch (Horde_Exception $e) {
- if ($e->getCode() == 'permission_denied') {
- $registry->authenticateFailure('vilma', $e);
- }
- Horde::fatal($e, __FILE__, __LINE__, false);
-}
-$conf = &$GLOBALS['conf'];
-@define('VILMA_TEMPLATES', $registry->get('templates'));
-
-/* Find the base file path of Vilma */
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-
-/* Vilma base library */
-require_once VILMA_BASE . '/lib/Vilma.php';
-require_once VILMA_BASE . '/lib/Driver.php';
-
-/* Templates */
-//$template = $injector->createInstance('Horde_Template');
-
-/* Vilma driver. */
-$GLOBALS['vilma_driver'] = &Vilma_Driver::singleton();
-
-// Get the currently active domain, possibly storing a change into the session
-$curdomain = Vilma::getCurDomain();
echo "Load... ";
define('AUTH_HANDLER', false);
-define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
+require_once dirname(__FILE__) . '/../../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
echo "ok\n";
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!Vilma::hasPermission($domain)) {
$address = $vars->get('address');
$section = Horde_Util::getFormData('section','all');
-//$addrInfo = $vilma_driver->getAddressInfo($address, 'all');
+//$addrInfo = $vilma->driver->getAddressInfo($address, 'all');
/*
$user_id = $vars->get('address');
$formname = $vars->get('formname');
-$user = $vilma_driver->getUser($user_id);
+$user = $vilma->driver->getUser($user_id);
print_r($vars) . '<br />';
echo $user_id . '<br />';
echo $fromname . '<br />';
print_r($user) . '<br />';
$domain = Vilma::stripDomain($user['name']);
-$domain = $vilma_driver->getDomainByName($domain);
+$domain = $vilma->driver->getDomainByName($domain);
*/
-$address = $vilma_driver->getAddressInfo($address);
+$address = $vilma->driver->getAddressInfo($address);
$type = $address['type'];
if(($section == 'all') && ($type == 'alias')) {
- $address = $vilma_driver->getAddressInfo($vars->get('address'),$type);
+ $address = $vilma->driver->getAddressInfo($vars->get('address'),$type);
}
$user_id = $vars->get('address');
-$user = $vilma_driver->getUser($user_id);
-$aliases = $vilma_driver->_getAliases($user_id);
+$user = $vilma->driver->getUser($user_id);
+$aliases = $vilma->driver->_getAliases($user_id);
$aliasesCount = 0;
if(is_array($aliases)) {
$aliasesCount = sizeof($aliases);
}
$domain = Vilma::stripDomain($user_id);
-$forwards = $vilma_driver->_getGroupsAndForwards('forwards',$domain);
+$forwards = $vilma->driver->_getGroupsAndForwards('forwards',$domain);
$forwardsCount = 0;
foreach($forwards as $entry) {
foreach($entry['targets'] as $target) {
}
}
}
-$groups = $vilma_driver->_getGroupsAndForwards('groups',$domain);
+$groups = $vilma->driver->_getGroupsAndForwards('groups',$domain);
$groupsCount = 0;
foreach($groups as $entry) {
foreach($entry['targets'] as $target) {
}
$vars->set('user_name', Vilma::stripUser($user_name));
$domain = Vilma::stripDomain($address);
-$domain = $vilma_driver->getDomainByName($domain);
+$domain = $vilma->driver->getDomainByName($domain);
$vars->set('domain', $domain);
$vars->set('mode', 'edit');
$deleteInfo = array();
$deleteInfo['address'] = $address['destination'];
$deleteInfo['alias'] = $user_id;
- $delete = $vilma_driver->deleteAlias($deleteInfo);
+ $delete = $vilma->driver->deleteAlias($deleteInfo);
if (is_a($delete, 'PEAR_Error')) {
Horde::logMessage($delete, 'ERR');
$notification->push(sprintf(_("Error deleting alias. %s."), $delete->getMessage()), 'horde.error');
$deleteInfo = array();
$deleteInfo['address'] = $address['destination'];
$deleteInfo['forward'] = $user_id;
- $delete = $vilma_driver->deleteForward($deleteInfo);
+ $delete = $vilma->driver->deleteForward($deleteInfo);
if (is_a($delete, 'PEAR_Error')) {
Horde::logMessage($delete, 'ERR');
$notification->push(sprintf(_("Error deleting forward. %s."), $delete->getMessage()), 'horde.error');
} else {
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- //$delete = $vilma_driver->deleteUser($info['user_id']);
- $delete = $vilma_driver->deleteUser($address['address']);
+ //$delete = $vilma->driver->deleteUser($info['user_id']);
+ $delete = $vilma->driver->deleteUser($address['address']);
if (is_a($delete, 'PEAR_Error')) {
Horde::logMessage($delete, 'ERR');
$notification->push(sprintf(_("Error deleting user. %s."), $delete->getMessage()), 'horde.error');
* @author David Cummings <davidcummings@acm.org>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
require_once VILMA_BASE . '/lib/Forms/EditUserForm.php';
$address = $vars->get('address');
$section = Horde_Util::getFormData('section','all');
-//$addrInfo = $vilma_driver->getAddressInfo($address, 'all');
+//$addrInfo = $vilma->driver->getAddressInfo($address, 'all');
$domain = Vilma::stripDomain($address);
/* Check if a form is being edited. */
if (!$vars->exists('mode')) {
if ($address) {
- $address = $vilma_driver->getAddressInfo($address,$section);
+ $address = $vilma->driver->getAddressInfo($address,$section);
if (is_a($address, 'PEAR_Error')) {
$notification->push(sprintf(_("Error reading address information from backend: %s"), $address->getMessage()), 'horde.error');
$url = '/users/index.php';
$vars->set('domain', $domain);
}
$form = &new EditUserForm($vars);
-if (!$vars->exists('id') && !$vilma_driver->isBelowMaxUsers($domain)) {
+if (!$vars->exists('id') && !$vilma->driver->isBelowMaxUsers($domain)) {
$notification->push(sprintf(_("\"%s\" already has the maximum number of users allowed."), $domain), 'horde.error');
require VILMA_BASE . '/users/index.php';
exit;
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
$info['user_name'] = Horde_String::lower($info['user_name']) . '@' . $domain;
- $user_id = $vilma_driver->saveUser($info);
+ $user_id = $vilma->driver->saveUser($info);
if (is_a($user_id, 'PEAR_Error')) {
Horde::logMessage($user_id, 'ERR');
$notification->push(sprintf(_("Error saving user. %s"), $user_id->getMessage()), 'horde.error');
} else {
$notification->push(_("User details saved."), 'horde.success');
/*
- $virtuals = $vilma_driver->getVirtuals($info['name']);
+ $virtuals = $vilma->driver->getVirtuals($info['name']);
if (count($virtuals)) {
//User has virtual email addresses set up.
$url = Horde::applicationUrl('users/index.php', true);
* @author Daniel Collins <horde_dev@argentproductions.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
-require_once 'Horde/Variables.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
require_once VILMA_BASE . '/lib/Forms/EditAliasForm.php';
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $alias_id = $vilma_driver->saveAlias($info);
+ $alias_id = $vilma->driver->saveAlias($info);
if (is_a($alias_id, 'PEAR_Error')) {
Horde::logMessage($user_id, 'ERR');
$notification->push(sprintf(_("Error saving alias. %s"), $alias_id->getMessage()), 'horde.error');
$alias = $vars->get("alias");
Horde::logMessage("Alias Detected: $alias", 'DEBUG');
- $addrInfo = $vilma_driver->getAddressInfo($alias,'alias');
+ $addrInfo = $vilma->driver->getAddressInfo($alias,'alias');
Horde::logMessage("addrInfo contains: " . print_r($addrInfo, true), 'DEBUG');
if (is_a($addrInfo, 'PEAR_Error')) {
$notification->push(sprintf(_("Error reading address information from backend: %s"), $addrInfo->getMessage()), 'horde.error');
require VILMA_BASE . $url;
exit;
}
- $address = $vilma_driver->getAddressInfo($addrInfo['destination']);
+ $address = $vilma->driver->getAddressInfo($addrInfo['destination']);
Horde::logMessage("address Info contains: " . print_r($address, true), 'DEBUG');
$vars = new Variables($address);
$vars->set('mode', 'edit');
$tmp_address = $vars->get("address");
Horde::logMessage("Address Detected: $tmp_address", 'DEBUG');
- $address = $vilma_driver->getAddressInfo($tmp_address, 'all');
+ $address = $vilma->driver->getAddressInfo($tmp_address, 'all');
Horde::logMessage("addrInfo contains: " . print_r($addrInfo, true), 'DEBUG');
$vars = new Variables($address);
$vars->set('mode', 'new');
/*
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $alias_id = $vilma_driver->saveAlias($info);
+ $alias_id = $vilma->driver->saveAlias($info);
if (is_a($alias_id, 'PEAR_Error')) {
Horde::logMessage($user_id, 'ERR');
$notification->push(sprintf(_("Error saving alias. %s"), $alias_id->getMessage()), 'horde.error');
* @author Daniel Collins <horde_dev@argentproductions.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
-require_once 'Horde/Variables.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
require_once VILMA_BASE . '/lib/Forms/EditForwardForm.php';
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $forward_id = $vilma_driver->saveForward($info);
+ $forward_id = $vilma->driver->saveForward($info);
if (is_a($forward_id, 'PEAR_Error')) {
Horde::logMessage($user_id, 'ERR');
$notification->push(sprintf(_("Error saving forward. %s"), $forward_id->getMessage()), 'horde.error');
$forward = $vars->get("forward");
Horde::logMessage("Forward Detected: $forward", 'DEBUG');
- $addrInfo = $vilma_driver->getAddressInfo($forward,'forward');
+ $addrInfo = $vilma->driver->getAddressInfo($forward,'forward');
Horde::logMessage("addrInfo contains: " . print_r($addrInfo, true), 'DEBUG');
if (is_a($addrInfo, 'PEAR_Error')) {
$notification->push(sprintf(_("Error reading address information from backend: %s"), $addrInfo->getMessage()), 'horde.error');
require VILMA_BASE . $url;
exit;
}
- $address = $vilma_driver->getAddressInfo($addrInfo['destination']);
+ $address = $vilma->driver->getAddressInfo($addrInfo['destination']);
Horde::logMessage("address Info contains: " . print_r($address, true), 'DEBUG');
$vars = new Variables($address);
$vars->set('mode', 'edit');
$tmp_address = $vars->get("address");
Horde::logMessage("Address Detected: $tmp_address", 'DEBUG');
- $address = $vilma_driver->getAddressInfo($tmp_address, 'all');
+ $address = $vilma->driver->getAddressInfo($tmp_address, 'all');
Horde::logMessage("addrInfo contains: " . print_r($addrInfo, true), 'DEBUG');
$vars = new Variables($address);
$vars->set('mode', 'new');
/*
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $forward_id = $vilma_driver->saveforward($info);
+ $forward_id = $vilma->driver->saveforward($info);
if (is_a($forward_id, 'PEAR_Error')) {
Horde::logMessage($user_id, 'ERR');
$notification->push(sprintf(_("Error saving forward. %s"), $forward_id->getMessage()), 'horde.error');
* @author David Cummings <davidcummings@acm.org>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!Vilma::hasPermission($curdomain)) {
}
$tabs = Vilma::getUserMgrTabs($vars);
-$addresses = $vilma_driver->getAddresses($curdomain['domain_name'], $section);
+$addresses = $vilma->driver->getAddresses($curdomain['domain_name'], $section);
if (is_a($addresses, 'PEAR_Error')) {
$notification->push($addresses);
header('Location: ' . Horde::applicationUrl('index.php'));
$addresses[$i]['view_url'] = $url;
}
$addresses[$i]['type'] = $types[$address['type']]['singular'];
- $addresses[$i]['status'] = $vilma_driver->getUserStatus($address);
+ $addresses[$i]['status'] = $vilma->driver->getUserStatus($address);
}
/* Set up the template action links. */
-if ($vilma_driver->isBelowMaxUsers($curdomain['domain_name'])) {
+if ($vilma->driver->isBelowMaxUsers($curdomain['domain_name'])) {
$url = Horde::applicationUrl('users/edit.php');
$maxusers = '';
} else {
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!$registry->isAdmin()) {
$virtual_id = $vars->get('virtual_id');
$formname = $vars->get('formname');
-$virtual = $vilma_driver->getVirtual($virtual_id);
+$virtual = $vilma->driver->getVirtual($virtual_id);
$domain = Vilma::stripDomain($virtual['virtual_email']);
-$domain = $vilma_driver->getDomainByName($domain);
+$domain = $vilma->driver->getDomainByName($domain);
$form = new Horde_Form($vars, _("Delete Virtual Email Address"));
if ($vars->get('submitbutton') == _("Delete")) {
if ($form->validate($vars)) {
$form->getInfo($vars, $info);
- $delete = $vilma_driver->deleteVirtual($info['virtual_id']);
+ $delete = $vilma->driver->deleteVirtual($info['virtual_id']);
if (is_a($delete, 'PEAR_Error')) {
Horde::logMessage($delete, 'ERR');
$notification->push(sprintf(_("Error deleting virtual email. %s."), $delete->getMessage()), 'horde.error');
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
-require_once 'Horde/Form.php';
-require_once 'Horde/Form/Action.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!$registry->isAdmin() && !Vilma::isDomainAdmin()) {
/* Check if a form is being edited. */
$editing = false;
if ($virtual_id && !$formname) {
- $vars = new Horde_Variables($vilma_driver->getVirtual($virtual_id));
+ $vars = new Horde_Variables($vilma->driver->getVirtual($virtual_id));
$editing = true;
}
if (empty($domain)) {
$domain = Vilma::stripDomain($vars->get('virtual_destination'));
}
-$users = $vilma_driver->getUsers($domain);
+$users = $vilma->driver->getUsers($domain);
$user_list = array();
foreach ($users as $user) {
$virtual_destination = substr($user['user_name'], 0, strpos($user['user_name'], '@'));
if ($info['destination_type'] == 'remote') {
$info['virtual_destination'] = Horde_String::lower($info['virtual_destination']);
}
- $virtual_id = $vilma_driver->saveVirtual($info, $domain);
+ $virtual_id = $vilma->driver->saveVirtual($info, $domain);
if (is_a($virtual_id, 'PEAR_Error')) {
Horde::logMessage($virtual_id, 'ERR');
$notification->push(sprintf(_("Error saving virtual email. %s."), $virtual_id->getMessage()), 'horde.error');
* @author Marko Djukic <marko@oblo.com>
*/
-@define('VILMA_BASE', dirname(__FILE__) . '/..');
-require_once VILMA_BASE . '/lib/base.php';
+require_once dirname(__FILE__) . '/../lib/Application.php';
+$vilma = Horde_Registry::appInit('vilma');
/* Only admin should be using this. */
if (!$registry->isAdmin() && !Vilma::isDomainAdmin()) {
$user = Horde_Util::getFormData('user');
if (!empty($user)) {
- $virtuals = $vilma_driver->getVirtuals($user);
+ $virtuals = $vilma->driver->getVirtuals($user);
$domain = Vilma::stripDomain($user);
} else {
$domain = Vilma::getDomain();
- $virtuals = $vilma_driver->getVirtuals($domain);
+ $virtuals = $vilma->driver->getVirtuals($domain);
}
if (is_a($virtuals, 'PEAR_Error')) {