+++ /dev/null
-objects.local.php
+++ /dev/null
-<?php
-
-$attributes['givenName'] = array(
- 'label' => _("First Name"),
- 'type' => 'text',
- 'required' => true,
- 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
-);
-$attributes['sn'] = array(
- 'label' => _("Last Name"),
- 'type' => 'text',
- 'required' => true,
- 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
-);
-$attributes['mail'] = array(
- 'label' => _("Mail address"),
- 'type' => 'text',
- 'required' => true,
- 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
-);
-$attributes['uid'] = array(
- 'label' => _("User ID"),
- 'type' => 'text',
- 'required' => true,
- 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
-);
+++ /dev/null
-<?php
-
-$conf['koward']['theme'] = 'silver';
+++ /dev/null
-<?php
-
-$labels['cn'] = _("Common Name");
-$labels['kolabSalutation'] = _("Salutation");
-$labels['givenName'] = _("First Name");
-$labels['middleNames'] = _("Additional Names");
-$labels['sn'] = _("Last Name");
-$labels['snsuffix'] = _("Name Suffix");
-$labels['personalTitle'] = _("Title");
-$labels['userPassword'] = _("Password");
-$labels['telephoneNumber'] = _("Phone");
-$labels['postOfficeBox'] = _("Post Office Box");
-$labels['street'] = _("Street");
-$labels['title'] = _("Job Title");
-$labels['postalCode'] = _("Postal Code");
-$labels['facsimileTelephoneNumber'] = _("Fax");
-$labels['l'] = _("City");
-$labels['jpegPhoto'] = _("Photo");
-$labels['mail'] = _("Mail Address");
-$labels['mobile'] = _("Mobile Phone");
-$labels['homePhone'] = _("Home Phone");
-$labels['homePostalAddress'] = _("Home Postal Address");
-$labels['labeledURI'] = _("Website");
-$labels['o'] = _("Company");
-$labels['birthName'] = _("Birth Name");
-$labels['kolabMaritalStatus'] = _("Marital Status");
-$labels['dateOfBirth'] = _("Date Of Birth");
-$labels['placeOfBirth'] = _("Place Of Birth");
-$labels['gender'] = _("Gender");
-
+++ /dev/null
-<?php
-
-/* $objects['object'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object', */
-/* 'label' => _("Object"), */
-/* 'list_label' => _("Objects"), */
-/* 'list_attributes' => array( */
-/* 'id' => array( */
-/* 'title' => _("Object id"), */
-/* 'width' => 80, */
-/* 'link_view'=> true, */
-/* ), */
-/* ), */
-/* 'attributes' => array( */
-/* 'override' => true, */
-/* 'fields' => array( */
-/* 'id' => array( */
-/* 'label' => _("Object ID"), */
-/* 'type' => 'text', */
-/* 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255) */
-/* ), */
-/* ), */
-/* ), */
-/* ); */
-
-/* $objects['person'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Person', */
-/* 'label' => _("Person"), */
-/* 'list_label' => _("Persons"), */
-/* 'list_attributes' => array( */
-/* 'cn' => array( */
-/* 'title' => _("Common name"), */
-/* 'width' => 40, */
-/* 'link_view'=> true, */
-/* ), */
-/* 'sn' => array( */
-/* 'title' => _("Last name"), */
-/* 'width' => 40, */
-/* ), */
-/* ), */
-/* 'attributes' => array( */
-/* 'fields' => array( */
-/* 'cn' => array( */
-/* 'required' => false, */
-/* ), */
-/* 'userPassword' => array( */
-/* 'required' => true, */
-/* ), */
-/* ), */
-/* ), */
-/* ); */
-
-/* $objects['organizationalperson'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Organizationalperson', */
-/* 'label' => _("Organizational person"), */
-/* 'list_label' => _("Organizational persons"), */
-/* 'list_attributes' => array( */
-/* 'cn' => array( */
-/* 'title' => _("Common name"), */
-/* 'width' => 40, */
-/* 'link_view'=> true, */
-/* ), */
-/* 'sn' => array( */
-/* 'title' => _("Last name"), */
-/* 'width' => 40, */
-/* ), */
-/* ), */
-/* 'attributes' => array( */
-/* 'fields' => array( */
-/* 'cn' => array( */
-/* 'required' => false, */
-/* ), */
-/* 'userPassword' => array( */
-/* 'required' => true, */
-/* ), */
-/* ), */
-/* ), */
-/* ); */
-
-/* $objects['inetperson'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Inetorgperson', */
-/* 'label' => _("Inet person"), */
-/* 'list_label' => _("Inet persons"), */
-/* 'list_attributes' => array( */
-/* 'cn' => array( */
-/* 'title' => _("Common name"), */
-/* 'width' => 40, */
-/* 'link_view'=> true, */
-/* ), */
-/* 'sn' => array( */
-/* 'title' => _("Last name"), */
-/* 'width' => 40, */
-/* ), */
-/* ), */
-/* 'attributes' => array( */
-/* 'fields' => array( */
-/* 'cn' => array( */
-/* 'required' => false, */
-/* ), */
-/* 'userPassword' => array( */
-/* 'required' => true, */
-/* ), */
-/* ), */
-/* ), */
-/* ); */
-
-/* $objects['user'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Kolab_User', */
-/* 'label' => _("User"), */
-/* 'list_label' => _("Users"), */
-/* 'list_attributes' => array( */
-/* 'sn' => array( */
-/* 'title' => _("Last name"), */
-/* 'width' => 20, */
-/* ), */
-/* 'givenName' => array( */
-/* 'title' => _("First name"), */
-/* 'width' => 20, */
-/* ), */
-/* 'mail' => array( */
-/* 'title' => _("E-mail"), */
-/* 'width' => 20, */
-/* 'link_view'=> true, */
-/* ), */
-/* 'uid' => array( */
-/* 'title' => _("User ID"), */
-/* 'width' => 20, */
-/* ), */
-/* ), */
-/* ); */
-
-/* $objects['admin'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Kolab_Administrator', */
-/* 'label' => _("Administrator"), */
-/* 'list_label' => _("Administrators"), */
-/* 'attributes' => array( */
-/* ), */
-/* ); */
-
-/* $objects['kolabuser'] = array( */
-/* 'class' => 'Horde_Kolab_Server_Object_Kolab_User', */
-/* 'preferred' => true, */
-/* 'label' => _("Kolab user"), */
-/* 'list_label' => _("Kolab users"), */
-/* 'list_attributes' => array( */
-/* 'sn' => array( */
-/* 'title' => _("Last name"), */
-/* 'width' => 20, */
-/* ), */
-/* 'givenName' => array( */
-/* 'title' => _("First name"), */
-/* 'width' => 20, */
-/* ), */
-/* 'mail' => array( */
-/* 'title' => _("E-mail"), */
-/* 'width' => 20, */
-/* 'link_view'=> true, */
-/* ), */
-/* 'uid' => array( */
-/* 'title' => _("User ID"), */
-/* 'width' => 20, */
-/* ), */
-/* ), */
-/* 'attributes' => array( */
-/* 'hide' => array( */
-/* 'objectClass', */
-/* 'seeAlso', */
-/* 'x121Address', */
-/* 'registeredAddress', */
-/* 'destinationIndicator', */
-/* 'preferredDeliveryMethod', */
-/* 'telexNumber', */
-/* 'teletexTerminalIdentifier', */
-/* 'internationaliSDNNumber', */
-/* 'kolabEncryptedPassword', */
-/* 'kolabHomeMTA', */
-/* 'kolabDelegate', */
-/* ), */
-/* 'labels' => array( */
-/* 'mail' => _("Account ID"), */
-/* ), */
-/* 'fields' => array( */
-/* 'kolabSalutation' => array( */
-/* 'type' => 'enum', */
-/* 'params' => array('values' => array(_("Mr.") => _("Mr."), */
-/* _("Mrs.") => _("Mrs.")), */
-/* 'prompt' => true), */
-/* ), */
-/* 'gender' => array( */
-/* 'type' => 'enum', */
-/* 'params' => array('values' => array(_("1") => _("male"), */
-/* _("2") => _("female")), */
-/* 'prompt' => true), */
-/* ), */
-/* 'kolabMaritalStatus' => array( */
-/* 'type' => 'enum', */
-/* 'params' => array('values' => array(_("0") => _("single"), */
-/* _("1") => _("married")), */
-/* 'prompt' => true), */
-/* ), */
-/* 'userPassword' => array( */
-/* 'type' => 'passwordconfirm', */
-/* ), */
-/* ), */
-/* ), */
-/* ); */
-
-if (file_exists(dirname(__FILE__) . '/objects.local.php')) {
- require_once(dirname(__FILE__) . '/objects.local.php');
-}
+++ /dev/null
-<?php
-$order['mail'] = 1;
-$order['kolabSalutation'] = 2;
-$order['givenName'] = 3;
-$order['middleNames'] = 4;
-$order['sn'] = 5;
-$order['snsuffix'] = 6;
-$order['gender'] = 7;
-$order['userPassword'] = 10;
-$order['dateOfBirth'] = 12;
-$order['placeOfBirth'] = 13;
-$order['kolabMaritalStatus'] = 14;
-$order['birthName'] = 15;
-$order['telephoneNumber'] = 30;
-$order['mobile'] = 31;
-$order['facsimileTelephoneNumber'] = 32;
-$order['homePhone'] = 33;
+++ /dev/null
-<?php
-
-$mapper->connect('index', array('controller' => 'index'));
-$mapper->connect('index.php', array('controller' => 'index'));
-
-$mapper->connect('check/:action/:id', array('controller' => 'check', 'action' => 'show'));
-$mapper->connect(':controller/:action/:id', array('controller' => 'object'));
-
-// Local route overrides
-if (file_exists(dirname(__FILE__) . '/routes.local.php')) {
- include dirname(__FILE__) . '/routes.local.php';
-}
+++ /dev/null
-<?php
-
-$search = array(
- 'fields' => array(
- 'givenName' => array(
- 'label' => _("First Name"),
- 'type' => 'text',
- 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
- ),
- )
-);
-
-if (file_exists(dirname(__FILE__) . '/search.local.php')) {
- require_once(dirname(__FILE__) . '/search.local.php');
-}
+++ /dev/null
-<?php
-$visible['hide'] = array(
- 'objectClass',
- 'id',
- 'lnfn',
- 'fnln',
- 'seeAlso',
- 'description',
- 'physicalDeliveryOfficeName',
- 'internationaliSDNNumber',
- 'x121Address',
- 'registeredAddress',
- 'destinationIndicator',
- 'preferredDeliveryMethod',
- 'telexNumber',
- 'teletexTerminalIdentifier',
- 'postalAddress',
- 'ou',
- 'st',
- 'manager',
- 'uid',
- 'employeeType',
- 'photo',
- 'x500uniqueIdentifier',
- 'secretary',
- 'userSMIMECertificate',
- 'employeeNumber',
- 'initials',
- 'audio',
- 'pager',
- 'businessCategory',
- 'roomNumber',
- 'carLicense',
- 'userCertificate',
- 'departmentNumber',
- 'preferredLanguage',
- 'displayName',
- 'userPKCS12',
- 'kolabVacationEndDateTime',
- 'kolabVacationReactDomain',
- 'kolabVacationAddress',
- 'kolabForwardKeepCopy',
- 'kolabDeleteflag',
- 'kolabVacationBeginDateTime',
- 'kolabVacationResendInterval',
- 'kolabVacationReplyToUCE',
- 'kolabForwardAddress',
- 'kolabForwardUCE',
- 'kolabAllowSMTPFrom',
- 'unrestrictedMailSize',
- 'kolabInvitationPolicy',
- 'kolabFreeBusyFuture',
- 'calFBURL',
- 'kolabComment',
- 'kolabImapServer',
- 'kolabFreeBusyServer',
- 'usertype',
- 'jpegPhoto',
-);
\ No newline at end of file
+++ /dev/null
-<?php
-/**
- * All tests for the Koward application.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Koward
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Koward
- */
-
-if (!defined('PHPUnit_MAIN_METHOD')) {
- define('PHPUnit_MAIN_METHOD', 'Koward_AllTests::main');
-}
-
-/**
- * Initialize testing for this application.
- */
-require_once 'TestInit.php';
-
-/**
- * Combine the tests for this package.
- *
- * Copyright 2007-2009 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category Kolab
- * @package Koward
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Koward
- */
-class Koward_AllTests
-{
- /**
- * Main entry point for running the suite.
- *
- * @return NULL
- */
- public static function main()
- {
- PHPUnit_TextUI_TestRunner::run(self::suite());
- }
-
- /**
- * Collect the unit tests of this directory into a new suite.
- *
- * @return PHPUnit_Framework_TestSuite The test suite.
- */
- public static function suite()
- {
- // Catch strict standards
- error_reporting(E_ALL | E_STRICT);
-
- // Build the suite
- $suite = new PHPUnit_Framework_TestSuite('Koward');
-
- $basedir = dirname(__FILE__);
- $baseregexp = preg_quote($basedir . DIRECTORY_SEPARATOR, '/');
-
- foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($basedir)) as $file) {
- if ($file->isFile() && preg_match('/Test.php$/', $file->getFilename())) {
- $pathname = $file->getPathname();
- require $pathname;
-
- $class = str_replace(DIRECTORY_SEPARATOR, '_',
- preg_replace("/^$baseregexp(.*)\.php/", '\\1', $pathname));
- $suite->addTestSuite('Koward_' . $class);
- }
- }
-
- return $suite;
- }
-
-}
-
-if (PHPUnit_MAIN_METHOD == 'Koward_AllTests::main') {
- Koward_AllTests::main();
-}
--- /dev/null
+<?php
+/**
+ * All tests for the Koward application.
+ *
+ * PHP version 5
+ *
+ * @category Kolab
+ * @package Koward
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Koward
+ */
+
+if (!defined('PHPUnit_MAIN_METHOD')) {
+ define('PHPUnit_MAIN_METHOD', 'Koward_AllTests::main');
+}
+
+/**
+ * Initialize testing for this application.
+ */
+require_once 'TestInit.php';
+
+/**
+ * Combine the tests for this package.
+ *
+ * Copyright 2007-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Kolab
+ * @package Koward
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Koward
+ */
+class Koward_AllTests
+{
+ /**
+ * Main entry point for running the suite.
+ *
+ * @return NULL
+ */
+ public static function main()
+ {
+ PHPUnit_TextUI_TestRunner::run(self::suite());
+ }
+
+ /**
+ * Collect the unit tests of this directory into a new suite.
+ *
+ * @return PHPUnit_Framework_TestSuite The test suite.
+ */
+ public static function suite()
+ {
+ // Catch strict standards
+ error_reporting(E_ALL | E_STRICT);
+
+ // Build the suite
+ $suite = new PHPUnit_Framework_TestSuite('Koward');
+
+ $basedir = dirname(__FILE__);
+ $baseregexp = preg_quote($basedir . DIRECTORY_SEPARATOR, '/');
+
+ foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($basedir)) as $file) {
+ if ($file->isFile() && preg_match('/Test.php$/', $file->getFilename())) {
+ $pathname = $file->getPathname();
+ require $pathname;
+
+ $class = str_replace(DIRECTORY_SEPARATOR, '_',
+ preg_replace("/^$baseregexp(.*)\.php/", '\\1', $pathname));
+ $suite->addTestSuite('Koward_' . $class);
+ }
+ }
+
+ return $suite;
+ }
+
+}
+
+if (PHPUnit_MAIN_METHOD == 'Koward_AllTests::main') {
+ Koward_AllTests::main();
+}
--- /dev/null
+<?php
+/**
+ * Test the user object.
+ *
+ * PHP version 5
+ *
+ * @category Kolab
+ * @package Koward
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Koward
+ */
+
+/**
+ * Initialize testing for this application.
+ */
+require_once 'TestInit.php';
+
+/**
+ * Test the user object.
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Kolab
+ * @package Koward
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Koward
+ */
+class Koward_KowardTest extends Koward_Test
+{
+ /**
+ * Set up testing.
+ *
+ * @return NULL
+ */
+ protected function setUp()
+ {
+ $world = $this->prepareBasicSetup();
+
+ $this->koward = Koward_Koward::singleton();
+ }
+
+ /**
+ * Verify that the Koward object ist initialized correctly.
+ *
+ * @return NULL
+ */
+ public function testSetup()
+ {
+ $this->assertType('Horde_Kolab_Server', $this->koward->server);
+ }
+
+ /**
+ * Verify that we can fetch objects from the Kolab server.
+ *
+ * @return NULL
+ */
+ public function testFetching()
+ {
+ $this->assertType('Horde_Kolab_Server_Object', $this->koward->getObject('cn=Gunnar Wrobel,dc=example,dc=org'));
+ }
+
+ /**
+ * Verify token processing mechanisms.
+ *
+ * @return NULL
+ */
+ public function testToken()
+ {
+ // Get the token.
+ $token = $this->koward->getRequestToken('test');
+ // Checking it should be fine.
+ $this->koward->checkRequestToken('test', $token);
+ // Now we set the token to a value that will be considered a timeout.
+ $_SESSION['horde_form_secrets'][$token] = time() - 100000;
+ try {
+ $this->koward->checkRequestToken('test', $token);
+ $this->fail('The rquest token is still valid which was not expected.');
+ } catch (Horde_Exception $e) {
+ $this->assertContains(_("This request cannot be completed because the link you followed or the form you submitted was only valid for"), $e->getMessage());
+ }
+ // Now we remove the token
+ unset($_SESSION['horde_form_secrets'][$token]);
+ try {
+ $this->koward->checkRequestToken('test', $token);
+ $this->fail('The rquest token is still valid which was not expected.');
+ } catch (Horde_Exception $e) {
+ $this->assertEquals(_("We cannot verify that this request was really sent by you. It could be a malicious request. If you intended to perform this action, you can retry it now."), $e->getMessage());
+ }
+ }
+}
--- /dev/null
+<?php
+/**
+ * Initialize testing for this application.
+ *
+ * PHP version 5
+ *
+ * @category Kolab
+ * @package Koward
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Koward
+ */
+
+/**
+ * The Autoloader allows us to omit "require/include" statements.
+ */
+require_once 'Horde/Autoloader.php';
+
+if (!defined('KOWARD_BASE')) {
+ define('KOWARD_BASE', dirname(__FILE__) . '/../');
+}
+
+/* Set up the application class and controller loading */
+Horde_Autoloader::addClassPattern('/^Koward_/', KOWARD_BASE . '/lib/');
+Horde_Autoloader::addClassPattern('/^Koward_/', KOWARD_BASE . '/app/controllers/');
+++ /dev/null
-<?php
-/**
- * Test the user object.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Koward
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Koward
- */
-
-/**
- * Initialize testing for this application.
- */
-require_once 'TestInit.php';
-
-/**
- * Test the user object.
- *
- * Copyright 2009 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category Kolab
- * @package Koward
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Koward
- */
-class Koward_KowardTest extends Koward_Test
-{
- /**
- * Set up testing.
- *
- * @return NULL
- */
- protected function setUp()
- {
- $world = $this->prepareBasicSetup();
-
- $this->koward = Koward_Koward::singleton();
- }
-
- /**
- * Verify that the Koward object ist initialized correctly.
- *
- * @return NULL
- */
- public function testSetup()
- {
- $this->assertType('Horde_Kolab_Server', $this->koward->server);
- }
-
- /**
- * Verify that we can fetch objects from the Kolab server.
- *
- * @return NULL
- */
- public function testFetching()
- {
- $this->assertType('Horde_Kolab_Server_Object', $this->koward->getObject('cn=Gunnar Wrobel,dc=example,dc=org'));
- }
-
- /**
- * Verify token processing mechanisms.
- *
- * @return NULL
- */
- public function testToken()
- {
- // Get the token.
- $token = $this->koward->getRequestToken('test');
- // Checking it should be fine.
- $this->koward->checkRequestToken('test', $token);
- // Now we set the token to a value that will be considered a timeout.
- $_SESSION['horde_form_secrets'][$token] = time() - 100000;
- try {
- $this->koward->checkRequestToken('test', $token);
- $this->fail('The rquest token is still valid which was not expected.');
- } catch (Horde_Exception $e) {
- $this->assertContains(_("This request cannot be completed because the link you followed or the form you submitted was only valid for"), $e->getMessage());
- }
- // Now we remove the token
- unset($_SESSION['horde_form_secrets'][$token]);
- try {
- $this->koward->checkRequestToken('test', $token);
- $this->fail('The rquest token is still valid which was not expected.');
- } catch (Horde_Exception $e) {
- $this->assertEquals(_("We cannot verify that this request was really sent by you. It could be a malicious request. If you intended to perform this action, you can retry it now."), $e->getMessage());
- }
- }
-}
+++ /dev/null
-<?php
-/**
- * Initialize testing for this application.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Koward
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Koward
- */
-
-/**
- * The Autoloader allows us to omit "require/include" statements.
- */
-require_once 'Horde/Autoloader.php';
-
-if (!defined('KOWARD_BASE')) {
- define('KOWARD_BASE', dirname(__FILE__) . '/../');
-}
-
-/* Set up the application class and controller loading */
-Horde_Autoloader::addClassPattern('/^Koward_/', KOWARD_BASE . '/lib/');
-Horde_Autoloader::addClassPattern('/^Koward_/', KOWARD_BASE . '/app/controllers/');
+++ /dev/null
-/*
- Local variables:
- buffer-file-coding-system: utf-8
- End:
-*/
-body {
- color: black;
- background-color: #F8FCF8;
- font-family: verdana,arial,helvetica,sans-serif;
- font-size: 95%;
- border: 0;
- margin: 0;
-}
-a, a:visited {
- font-family: verdana,arial,helvetica,sans-serif;
-}
-
-a { color: #001155; }
-a:hover { color: #113399; }
-
-#page {
- background-repeat: no-repeat;
- background-position: top right;
-}
-
-#topbar {
- display:block;
- background-color: #B0BCD0;
- height: 70px;
- clear: both;
-}
-#toplogo {
- display:block;
- background-image: url(pics/kolab_logo.png);
- background-color: #B0BCD0;
- width: 245px;
- height: 70px;
- margin-left: 1em;
- margin-top: 0.4em;
- float: left;
-}
-#toptitle {
- display:block;
- text-align: right;
- font-size: 200%;
- padding-right: 1em;
- padding-top: 0.5em;
-}
-#topuserinfo {
- display:block;
- background-color: #B0BCD0;
- font-size: 80%;
- padding: 0.1em;
- border-bottom: solid 1px black;
- text-align: right;
-}
-#topmenu {
- background-color: #B0BCD0;
- font-size: 90%;
- border-bottom: solid 1px black;
-}
-#submenu {
- background-color: #EEEEEE;
- border-bottom: solid 1px black;
- font-size: 90%;
-}
-
-.topmenuitem {
- background-color: #B0BCD0;
- border-right: solid 1px black;
- padding-left: 0.5em;
- padding-right: 0.5em;
- margin: 0px;
-}
-.topmenuitemselected {
- background-color: #EEEEEE;
- border-right: solid 1px black;
- padding-left: 0.5em;
- padding-right: 0.5em;
- margin: 0px;
- border-bottom: solid 1px #EEEEEE;
-}
-.submenuitem {
-}
-.submenuitemselected {
-}
-.alphagroupitem {
-}
-.alphagroupitemselected {
- font-weight:bold
-}
-#logout {
- color: red;
-}
-#maintitle {
- font-size: 200%;
-}
-#maincontent {
- display:block;
- padding: 1em;
- margin: 1em;
-}
-#errorcontent {
- display:block;
- padding: 0.2em;
- margin: 1em;
- text-align: left;
- color: red;
- background-color: #EEEEEE;
- border: solid 1px black;
-}
-#errorheader {
- display:block;
- text-align: left;
- color: black;
- background-color: #EEEEEE;
- font-size: 150%;
-}
-#messagecontent {
- display:block;
- padding: 0.2em;
- margin: 1em;
- text-align: left;
- color: green;
- background-color: #EEEEEE;
- border: solid 1px black;
-}
-#messageheader {
- display:block;
- text-align: left;
- color: black;
- background-color: #EEEEEE;
- font-size: 150%;
-}
-.contenttext {
- margin: 10px;
-}
-.contenttable {
- width: 100%;
- background-color: black;
- border: 0px;
-}
-.contentroweven {
- background-color: #C0CDE0;
- margin: 0px;
-}
-.contentrowodd {
- background-color: #D0DDF0;
- margin: 0px;
-}
-.contentcell {
- font-size: 90%;
- padding: .1em .5em .1em .5em;
- margin: 0px;
-/* text-align: center; */
-}
-.actioncell {
- font-size: 90%;
- padding: .1em .5em .1em .5em;
- width: 10%;
- margin: 0px;
- text-align: center;
-}
-.contentform {
- /*float: left;*/
- padding: .1em .5em .1em .5em;
- background-color: #EEEEEE;
- border: solid 1px black;
-}
-.contentformtable {
- font-size: 90%;
-}
-.langcombo {
- font-size: 80%;
-}
-
-#validators {
- text-align: right;
-}
-
-th {
- background-color: #EEEEEE;
- border: 0px;
-}
-
-.ctrl {
- background-color: #E0E3E0;
- border: solid 1px black;
- padding: .2em .5em .2em .5em;
-}
-
-.required_asterisk {
- color: red;
- font-size: 80%;
- text-align: right;
-}
-
-label {
- cursor: pointer;
-}
-
-.align_center {
- text-align: center;
-}
-
-.align_right {
- text-align: right;
-}
-
-.align_left {
- text-align: left;
-}
+++ /dev/null
-/**
- * Style for Koward.
- */
--- /dev/null
+objects.local.php
--- /dev/null
+<?php
+
+$attributes['givenName'] = array(
+ 'label' => _("First Name"),
+ 'type' => 'text',
+ 'required' => true,
+ 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
+);
+$attributes['sn'] = array(
+ 'label' => _("Last Name"),
+ 'type' => 'text',
+ 'required' => true,
+ 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
+);
+$attributes['mail'] = array(
+ 'label' => _("Mail address"),
+ 'type' => 'text',
+ 'required' => true,
+ 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
+);
+$attributes['uid'] = array(
+ 'label' => _("User ID"),
+ 'type' => 'text',
+ 'required' => true,
+ 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
+);
--- /dev/null
+<?php
+
+$conf['koward']['theme'] = 'silver';
--- /dev/null
+<?php
+
+$labels['cn'] = _("Common Name");
+$labels['kolabSalutation'] = _("Salutation");
+$labels['givenName'] = _("First Name");
+$labels['middleNames'] = _("Additional Names");
+$labels['sn'] = _("Last Name");
+$labels['snsuffix'] = _("Name Suffix");
+$labels['personalTitle'] = _("Title");
+$labels['userPassword'] = _("Password");
+$labels['telephoneNumber'] = _("Phone");
+$labels['postOfficeBox'] = _("Post Office Box");
+$labels['street'] = _("Street");
+$labels['title'] = _("Job Title");
+$labels['postalCode'] = _("Postal Code");
+$labels['facsimileTelephoneNumber'] = _("Fax");
+$labels['l'] = _("City");
+$labels['jpegPhoto'] = _("Photo");
+$labels['mail'] = _("Mail Address");
+$labels['mobile'] = _("Mobile Phone");
+$labels['homePhone'] = _("Home Phone");
+$labels['homePostalAddress'] = _("Home Postal Address");
+$labels['labeledURI'] = _("Website");
+$labels['o'] = _("Company");
+$labels['birthName'] = _("Birth Name");
+$labels['kolabMaritalStatus'] = _("Marital Status");
+$labels['dateOfBirth'] = _("Date Of Birth");
+$labels['placeOfBirth'] = _("Place Of Birth");
+$labels['gender'] = _("Gender");
+
--- /dev/null
+<?php
+
+/* $objects['object'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object', */
+/* 'label' => _("Object"), */
+/* 'list_label' => _("Objects"), */
+/* 'list_attributes' => array( */
+/* 'id' => array( */
+/* 'title' => _("Object id"), */
+/* 'width' => 80, */
+/* 'link_view'=> true, */
+/* ), */
+/* ), */
+/* 'attributes' => array( */
+/* 'override' => true, */
+/* 'fields' => array( */
+/* 'id' => array( */
+/* 'label' => _("Object ID"), */
+/* 'type' => 'text', */
+/* 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255) */
+/* ), */
+/* ), */
+/* ), */
+/* ); */
+
+/* $objects['person'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Person', */
+/* 'label' => _("Person"), */
+/* 'list_label' => _("Persons"), */
+/* 'list_attributes' => array( */
+/* 'cn' => array( */
+/* 'title' => _("Common name"), */
+/* 'width' => 40, */
+/* 'link_view'=> true, */
+/* ), */
+/* 'sn' => array( */
+/* 'title' => _("Last name"), */
+/* 'width' => 40, */
+/* ), */
+/* ), */
+/* 'attributes' => array( */
+/* 'fields' => array( */
+/* 'cn' => array( */
+/* 'required' => false, */
+/* ), */
+/* 'userPassword' => array( */
+/* 'required' => true, */
+/* ), */
+/* ), */
+/* ), */
+/* ); */
+
+/* $objects['organizationalperson'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Organizationalperson', */
+/* 'label' => _("Organizational person"), */
+/* 'list_label' => _("Organizational persons"), */
+/* 'list_attributes' => array( */
+/* 'cn' => array( */
+/* 'title' => _("Common name"), */
+/* 'width' => 40, */
+/* 'link_view'=> true, */
+/* ), */
+/* 'sn' => array( */
+/* 'title' => _("Last name"), */
+/* 'width' => 40, */
+/* ), */
+/* ), */
+/* 'attributes' => array( */
+/* 'fields' => array( */
+/* 'cn' => array( */
+/* 'required' => false, */
+/* ), */
+/* 'userPassword' => array( */
+/* 'required' => true, */
+/* ), */
+/* ), */
+/* ), */
+/* ); */
+
+/* $objects['inetperson'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Inetorgperson', */
+/* 'label' => _("Inet person"), */
+/* 'list_label' => _("Inet persons"), */
+/* 'list_attributes' => array( */
+/* 'cn' => array( */
+/* 'title' => _("Common name"), */
+/* 'width' => 40, */
+/* 'link_view'=> true, */
+/* ), */
+/* 'sn' => array( */
+/* 'title' => _("Last name"), */
+/* 'width' => 40, */
+/* ), */
+/* ), */
+/* 'attributes' => array( */
+/* 'fields' => array( */
+/* 'cn' => array( */
+/* 'required' => false, */
+/* ), */
+/* 'userPassword' => array( */
+/* 'required' => true, */
+/* ), */
+/* ), */
+/* ), */
+/* ); */
+
+/* $objects['user'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Kolab_User', */
+/* 'label' => _("User"), */
+/* 'list_label' => _("Users"), */
+/* 'list_attributes' => array( */
+/* 'sn' => array( */
+/* 'title' => _("Last name"), */
+/* 'width' => 20, */
+/* ), */
+/* 'givenName' => array( */
+/* 'title' => _("First name"), */
+/* 'width' => 20, */
+/* ), */
+/* 'mail' => array( */
+/* 'title' => _("E-mail"), */
+/* 'width' => 20, */
+/* 'link_view'=> true, */
+/* ), */
+/* 'uid' => array( */
+/* 'title' => _("User ID"), */
+/* 'width' => 20, */
+/* ), */
+/* ), */
+/* ); */
+
+/* $objects['admin'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Kolab_Administrator', */
+/* 'label' => _("Administrator"), */
+/* 'list_label' => _("Administrators"), */
+/* 'attributes' => array( */
+/* ), */
+/* ); */
+
+/* $objects['kolabuser'] = array( */
+/* 'class' => 'Horde_Kolab_Server_Object_Kolab_User', */
+/* 'preferred' => true, */
+/* 'label' => _("Kolab user"), */
+/* 'list_label' => _("Kolab users"), */
+/* 'list_attributes' => array( */
+/* 'sn' => array( */
+/* 'title' => _("Last name"), */
+/* 'width' => 20, */
+/* ), */
+/* 'givenName' => array( */
+/* 'title' => _("First name"), */
+/* 'width' => 20, */
+/* ), */
+/* 'mail' => array( */
+/* 'title' => _("E-mail"), */
+/* 'width' => 20, */
+/* 'link_view'=> true, */
+/* ), */
+/* 'uid' => array( */
+/* 'title' => _("User ID"), */
+/* 'width' => 20, */
+/* ), */
+/* ), */
+/* 'attributes' => array( */
+/* 'hide' => array( */
+/* 'objectClass', */
+/* 'seeAlso', */
+/* 'x121Address', */
+/* 'registeredAddress', */
+/* 'destinationIndicator', */
+/* 'preferredDeliveryMethod', */
+/* 'telexNumber', */
+/* 'teletexTerminalIdentifier', */
+/* 'internationaliSDNNumber', */
+/* 'kolabEncryptedPassword', */
+/* 'kolabHomeMTA', */
+/* 'kolabDelegate', */
+/* ), */
+/* 'labels' => array( */
+/* 'mail' => _("Account ID"), */
+/* ), */
+/* 'fields' => array( */
+/* 'kolabSalutation' => array( */
+/* 'type' => 'enum', */
+/* 'params' => array('values' => array(_("Mr.") => _("Mr."), */
+/* _("Mrs.") => _("Mrs.")), */
+/* 'prompt' => true), */
+/* ), */
+/* 'gender' => array( */
+/* 'type' => 'enum', */
+/* 'params' => array('values' => array(_("1") => _("male"), */
+/* _("2") => _("female")), */
+/* 'prompt' => true), */
+/* ), */
+/* 'kolabMaritalStatus' => array( */
+/* 'type' => 'enum', */
+/* 'params' => array('values' => array(_("0") => _("single"), */
+/* _("1") => _("married")), */
+/* 'prompt' => true), */
+/* ), */
+/* 'userPassword' => array( */
+/* 'type' => 'passwordconfirm', */
+/* ), */
+/* ), */
+/* ), */
+/* ); */
+
+if (file_exists(dirname(__FILE__) . '/objects.local.php')) {
+ require_once(dirname(__FILE__) . '/objects.local.php');
+}
--- /dev/null
+<?php
+$order['mail'] = 1;
+$order['kolabSalutation'] = 2;
+$order['givenName'] = 3;
+$order['middleNames'] = 4;
+$order['sn'] = 5;
+$order['snsuffix'] = 6;
+$order['gender'] = 7;
+$order['userPassword'] = 10;
+$order['dateOfBirth'] = 12;
+$order['placeOfBirth'] = 13;
+$order['kolabMaritalStatus'] = 14;
+$order['birthName'] = 15;
+$order['telephoneNumber'] = 30;
+$order['mobile'] = 31;
+$order['facsimileTelephoneNumber'] = 32;
+$order['homePhone'] = 33;
--- /dev/null
+<?php
+
+$mapper->connect('index', array('controller' => 'index'));
+$mapper->connect('index.php', array('controller' => 'index'));
+
+$mapper->connect('check/:action/:id', array('controller' => 'check', 'action' => 'show'));
+$mapper->connect(':controller/:action/:id', array('controller' => 'object'));
+
+// Local route overrides
+if (file_exists(dirname(__FILE__) . '/routes.local.php')) {
+ include dirname(__FILE__) . '/routes.local.php';
+}
--- /dev/null
+<?php
+
+$search = array(
+ 'fields' => array(
+ 'givenName' => array(
+ 'label' => _("First Name"),
+ 'type' => 'text',
+ 'params' => array('regex' => '', 'size' => 40, 'maxlength' => 255)
+ ),
+ )
+);
+
+if (file_exists(dirname(__FILE__) . '/search.local.php')) {
+ require_once(dirname(__FILE__) . '/search.local.php');
+}
--- /dev/null
+<?php
+$visible['hide'] = array(
+ 'objectClass',
+ 'id',
+ 'lnfn',
+ 'fnln',
+ 'seeAlso',
+ 'description',
+ 'physicalDeliveryOfficeName',
+ 'internationaliSDNNumber',
+ 'x121Address',
+ 'registeredAddress',
+ 'destinationIndicator',
+ 'preferredDeliveryMethod',
+ 'telexNumber',
+ 'teletexTerminalIdentifier',
+ 'postalAddress',
+ 'ou',
+ 'st',
+ 'manager',
+ 'uid',
+ 'employeeType',
+ 'photo',
+ 'x500uniqueIdentifier',
+ 'secretary',
+ 'userSMIMECertificate',
+ 'employeeNumber',
+ 'initials',
+ 'audio',
+ 'pager',
+ 'businessCategory',
+ 'roomNumber',
+ 'carLicense',
+ 'userCertificate',
+ 'departmentNumber',
+ 'preferredLanguage',
+ 'displayName',
+ 'userPKCS12',
+ 'kolabVacationEndDateTime',
+ 'kolabVacationReactDomain',
+ 'kolabVacationAddress',
+ 'kolabForwardKeepCopy',
+ 'kolabDeleteflag',
+ 'kolabVacationBeginDateTime',
+ 'kolabVacationResendInterval',
+ 'kolabVacationReplyToUCE',
+ 'kolabForwardAddress',
+ 'kolabForwardUCE',
+ 'kolabAllowSMTPFrom',
+ 'unrestrictedMailSize',
+ 'kolabInvitationPolicy',
+ 'kolabFreeBusyFuture',
+ 'calFBURL',
+ 'kolabComment',
+ 'kolabImapServer',
+ 'kolabFreeBusyServer',
+ 'usertype',
+ 'jpegPhoto',
+);
\ No newline at end of file
--- /dev/null
+/*
+ Local variables:
+ buffer-file-coding-system: utf-8
+ End:
+*/
+body {
+ color: black;
+ background-color: #F8FCF8;
+ font-family: verdana,arial,helvetica,sans-serif;
+ font-size: 95%;
+ border: 0;
+ margin: 0;
+}
+a, a:visited {
+ font-family: verdana,arial,helvetica,sans-serif;
+}
+
+a { color: #001155; }
+a:hover { color: #113399; }
+
+#page {
+ background-repeat: no-repeat;
+ background-position: top right;
+}
+
+#topbar {
+ display:block;
+ background-color: #B0BCD0;
+ height: 70px;
+ clear: both;
+}
+#toplogo {
+ display:block;
+ background-image: url(pics/kolab_logo.png);
+ background-color: #B0BCD0;
+ width: 245px;
+ height: 70px;
+ margin-left: 1em;
+ margin-top: 0.4em;
+ float: left;
+}
+#toptitle {
+ display:block;
+ text-align: right;
+ font-size: 200%;
+ padding-right: 1em;
+ padding-top: 0.5em;
+}
+#topuserinfo {
+ display:block;
+ background-color: #B0BCD0;
+ font-size: 80%;
+ padding: 0.1em;
+ border-bottom: solid 1px black;
+ text-align: right;
+}
+#topmenu {
+ background-color: #B0BCD0;
+ font-size: 90%;
+ border-bottom: solid 1px black;
+}
+#submenu {
+ background-color: #EEEEEE;
+ border-bottom: solid 1px black;
+ font-size: 90%;
+}
+
+.topmenuitem {
+ background-color: #B0BCD0;
+ border-right: solid 1px black;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ margin: 0px;
+}
+.topmenuitemselected {
+ background-color: #EEEEEE;
+ border-right: solid 1px black;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ margin: 0px;
+ border-bottom: solid 1px #EEEEEE;
+}
+.submenuitem {
+}
+.submenuitemselected {
+}
+.alphagroupitem {
+}
+.alphagroupitemselected {
+ font-weight:bold
+}
+#logout {
+ color: red;
+}
+#maintitle {
+ font-size: 200%;
+}
+#maincontent {
+ display:block;
+ padding: 1em;
+ margin: 1em;
+}
+#errorcontent {
+ display:block;
+ padding: 0.2em;
+ margin: 1em;
+ text-align: left;
+ color: red;
+ background-color: #EEEEEE;
+ border: solid 1px black;
+}
+#errorheader {
+ display:block;
+ text-align: left;
+ color: black;
+ background-color: #EEEEEE;
+ font-size: 150%;
+}
+#messagecontent {
+ display:block;
+ padding: 0.2em;
+ margin: 1em;
+ text-align: left;
+ color: green;
+ background-color: #EEEEEE;
+ border: solid 1px black;
+}
+#messageheader {
+ display:block;
+ text-align: left;
+ color: black;
+ background-color: #EEEEEE;
+ font-size: 150%;
+}
+.contenttext {
+ margin: 10px;
+}
+.contenttable {
+ width: 100%;
+ background-color: black;
+ border: 0px;
+}
+.contentroweven {
+ background-color: #C0CDE0;
+ margin: 0px;
+}
+.contentrowodd {
+ background-color: #D0DDF0;
+ margin: 0px;
+}
+.contentcell {
+ font-size: 90%;
+ padding: .1em .5em .1em .5em;
+ margin: 0px;
+/* text-align: center; */
+}
+.actioncell {
+ font-size: 90%;
+ padding: .1em .5em .1em .5em;
+ width: 10%;
+ margin: 0px;
+ text-align: center;
+}
+.contentform {
+ /*float: left;*/
+ padding: .1em .5em .1em .5em;
+ background-color: #EEEEEE;
+ border: solid 1px black;
+}
+.contentformtable {
+ font-size: 90%;
+}
+.langcombo {
+ font-size: 80%;
+}
+
+#validators {
+ text-align: right;
+}
+
+th {
+ background-color: #EEEEEE;
+ border: 0px;
+}
+
+.ctrl {
+ background-color: #E0E3E0;
+ border: solid 1px black;
+ padding: .2em .5em .2em .5em;
+}
+
+.required_asterisk {
+ color: red;
+ font-size: 80%;
+ text-align: right;
+}
+
+label {
+ cursor: pointer;
+}
+
+.align_center {
+ text-align: center;
+}
+
+.align_right {
+ text-align: right;
+}
+
+.align_left {
+ text-align: left;
+}
--- /dev/null
+/**
+ * Style for Koward.
+ */