Beispiel #1
0
function registerPluginEvents($pluginEvents)
{
    foreach ($pluginEvents as $entity => $events) {
        foreach ($events as $event) {
            PluginPeer::registerEvent($entity, $event);
        }
    }
}
Beispiel #2
0
<?php

// Register Plugin-Events
PluginPeer::registerEvent('user', 'create');
PluginPeer::registerEvent('user', 'modify');
PluginPeer::registerEvent('user', 'remove');
PluginPeer::registerEvent('user', 'restore');
/**
 * API functions to manage USERS
 *
 * @author Peter-Christoph Haider (Project Leader) et al.
 * @package ZfxSupport
 * @version 1.1 (2012-01-17)
 * @copyright Copyright (c) 2012, Groupion GmbH & Co. KG
 */
class UserAPI extends API
{
    /**
     * @var array An associative array mapping actions to their definitions.
     *     Action format:    { <name> => [ <method>, <function>, <parameters> ] }
     *       Methods:        POST, GET, REQUEST
     *     Parameter format: [ <name>, <type>, <default> = '', <required> = true ]
     *       Types:          int, float, bool, array, object, string
     */
    public $actions = array('auth' => array('ANY', 'auth', array(array('username', 'string', false), array('password', 'string', false), array('session', 'bool', false, false), array('cookie', 'bool', false, false))), 'session' => array('ANY', 'session', array()), 'list' => array('ANY', 'list', array(array('search', 'string', null, false), array('domain', 'int', null, false), array('showdeleted', 'bool', false, false), array('orderby', 'string', null, false), array('ordermode', 'string', null, false))), 'details' => array('ANY', 'details', array(array('id', 'string', null, false), array('allowpeers', 'bool', false, false))), 'add' => array('ANY', 'add', array(array('data', 'array', null))), 'update' => array('ANY', 'update', array(array('id', 'int', null), array('data', 'array', null))), 'set_pwd' => array('ANY', 'set_pwd', array(array('id', 'int', null, false), array('new_password', 'string', null))), 'restore' => array('ANY', 'restore', array(array('id', 'int', null))), 'remove' => array('ANY', 'remove', array(array('id', 'int', null))));
    public $auth_exceptions = array('auth');
    /** @var array Basic filter settings */
    public $filter_basic = array('Name' => array('filter' => FILTER_VALIDATE_USERNAME_CHARS, 'field' => 'field.username'), 'DomainId' => array('filter' => FILTER_VALIDATE_INT, 'field' => 'entity.domain.singular', 'message' => 'error.not_set'), 'Firstname' => array('filter' => FILTER_VALIDATE_MIN_LENGTH, 'len' => 2, 'field' => 'field.firstname'), 'Lastname' => array('filter' => FILTER_VALIDATE_MIN_LENGTH, 'len' => 2, 'field' => 'field.lastname'), 'Password' => array('filter' => FILTER_VALIDATE_PASSWORD), 'Email' => array('filter' => FILTER_VALIDATE_EMAIL));
    /** @var array Filter settings for user properties */
    public $filter_properties = array('HoursPerWeek' => array('filter' => FILTER_VALIDATE_INT, 'field' => 'entity.hours_per_week'));
    /**
Beispiel #3
0
<?php

include_once 'lib/tymio/settings.php';
include_once 'lib/tymio/util.inc.php';
// Register plugin events
PluginPeer::registerEvent('transaction', 'add');
/**
 * API functions to manage TRANSACTIONs
 *
 * @author Huy Hoang Nguyen
 * @package tymio
 * @copyright Copyright (c) 2012, Groupion GmbH & Co. KG
 */
class TransactionAPI extends API
{
    public $actions = array('types' => array('ANY', 'types', array(array('user', 'int', null, false), array('start', 'int', null, false), array('end', 'int', null, false), array('deleted', 'bool', false, false))), 'list' => array('ANY', 'list', array(array('user', 'int', null, false), array('start', 'int', null, false), array('end', 'int', null, false), array('showdeleted', 'bool', false, false), array('ordermode', 'string', false, false), array('orderby', 'string', null, false), array('limit', 'int', null, false))), 'add' => array('POST', 'add', array(array('clockings', 'array', null, true), array('commit', 'bool', true, false))), 'create' => array('POST', 'create', array(array('transaction', 'array', false), array('bookings', 'array', null, false), array('clockings', 'array', null, false))), 'remove' => array('POST', 'remove', array(array('id', 'int'))), 'list_bookings' => array('ANY', 'list_bookings', array(array('user', 'int', null, false), array('start', 'int', null, false), array('end', 'int', null, false), array('types', 'array', null, false), array('showdeleted', 'bool', false, false), array('ordermode', 'string', false, false), array('orderby', 'string', null, false))));
    public $auth_exceptions = array('auth');
    private function findUserById($id, PropelPDO $con = null)
    {
        $user = $this->requireUser();
        $account = $user->getAccount($con);
        if ($account === null) {
            throw new Exception('Could not determine the account the authenticated user "' . $user->getName() . '" #' . $user->getId() . ' belongs to.');
        }
        return UserQuery::create()->innerJoinDomain()->add(DomainPeer::ACCOUNT_ID, $account->getId())->findOneById($id, $con);
    }
    /**
     * Creates a query that is restricted to transactions belonging to the specified account.
     * This function will LEFT JOIN to "transaction_booking", "booking" and
     * "booking_type". Use {@link TransactionQuery::with()} if you wish to
     * fetch records from the joined tables.
Beispiel #4
0
<?php

// Register Plugin-Events
PluginPeer::registerEvent('domain', 'create');
PluginPeer::registerEvent('domain', 'modify');
PluginPeer::registerEvent('domain', 'remove');
PluginPeer::registerEvent('domain', 'restore');
/**
 * API functions to manage DOMAINS
 *
 * @author Peter-Christoph Haider (Project Leader) et al.
 * @package ZfxSupport
 * @version 1.1 (2012-01-17)
 * @copyright Copyright (c) 2012, Groupion GmbH & Co. KG
 */
class DomainAPI extends API
{
    /**
     * @var array An associative array mapping actions to their definitions.
     *     Action format:    { <name> => [ <method>, <function>, <parameters> ] }
     *       Methods:        POST, GET, REQUEST
     *     Parameter format: [ <name>, <type>, <default> = '', <required> = true ]
     *       Types:          int, float, bool, array, object, string
     */
    public $actions = array('list' => array('ANY', 'list', array(array('search', 'string', null, false), array('showdeleted', 'bool', false, false), array('orderby', 'string', false, false), array('ordermode', 'string', false, false))), 'details' => array('ANY', 'details', array(array('id', 'int', null))), 'add' => array('POST', 'add', array(array('data', 'array', null))), 'update' => array('POST', 'update', array(array('id', 'int', null), array('data', 'array', null))), 'restore' => array('POST', 'restore', array(array('id', 'int', null))), 'remove' => array('POST', 'remove', array(array('id', 'int', null))));
    public $auth_exceptions = array();
    /** @var array Basic filter settings */
    public $filter_basic = array('Name' => array('filter' => FILTER_VALIDATE_MIN_LENGTH, 'len' => 2, 'field' => 'entity.domain.singular'));
    /** @var array Filter settings for domain properties */
    public $filter_properties = array();
    /**
Beispiel #5
0
<?php

// Register Plugin-Events
PluginPeer::registerEvent('holiday', 'create');
PluginPeer::registerEvent('holiday', 'modify');
PluginPeer::registerEvent('holiday', 'remove');
/**
 * API functions to manage HOLIDAYS
 *
 * @author Peter-Christoph Haider (Project Leader) et al.
 * @package ZfxSupport
 * @version 1.1 (2012-01-17)
 * @copyright Copyright (c) 2012, Groupion GmbH & Co. KG
 */
class HolidayAPI extends API
{
    public $actions = array('list' => array('ANY', 'list', array(array('search', 'string', null, false), array('start', 'int', null, false), array('end', 'int', null, false), array('domain', 'int', null, false), array('orderby', 'string', null, false), array('ordermode', 'string', null, false))), 'details' => array('ANY', 'details', array(array('id', 'int', null))), 'add' => array('ANY', 'add', array(array('data', 'array', null))), 'update' => array('ANY', 'update', array(array('id', 'int', null), array('data', 'array', null))), 'erase' => array('ANY', 'erase', array(array('id', 'int', null))));
    public $auth_exceptions = array('auth');
    /** @var array Basic filter settings */
    public $filter_basic = array('Name' => array('filter' => FILTER_VALIDATE_MIN_LENGTH, 'len' => 2, 'field' => 'field.name'), 'Date' => array('filter' => FILTER_VALIDATE_INT, 'message' => 'not_a_date', 'field' => 'field.start'));
    /**
     * User or token authentication
     *
     * @see API::auth()
     * @return bool
     */
    public function auth()
    {
        if ($this->authUser()) {
            return true;
        }
Beispiel #6
0
<?php

// Register plugin events
PluginPeer::registerEvent('clocking', 'create');
PluginPeer::registerEvent('clocking', 'update');
PluginPeer::registerEvent('clocking', 'remove');
PluginPeer::registerEvent('clocking', 'restore');
PluginPeer::registerEvent('clocking', 'calculate');
/**
 * API functions to manage CLOCKINGS
 *
 * @author Huy Hoang Nguyen <*****@*****.**>
 * @copyright Copyright (c) 2012, Groupion GmbH & Co. KG
 */
class ClockingAPI extends API
{
    /**
     * Start date is after end date.
     * Data: { "start": ..., "end": ... }
     */
    const ERROR_INTERVAL = 'interval';
    /**
     * Another clocking is already open and must be closed first.
     * Data: Open clocking
     */
    const ERROR_OPEN = 'open';
    /**
     * Invalid break time - exceeds interval between start and end dates.
     * Data: -
     */
    const ERROR_BREAK = 'break';