<?php

Hook::register('core_dimensions');
function core_dimensions_after_edit_profile($user, &$ignored)
{
    $person_member = Members::findOne(array("conditions" => "`object_id` = (" . $user->getId() . ") AND `dimension_id` = (SELECT `id` FROM `" . TABLE_PREFIX . "dimensions` WHERE `code` = 'feng_persons')"));
    if ($person_member instanceof Member) {
        $person_member->setName($user->getObjectName());
        $person_member->save();
        evt_add("reload dimension tree", $person_member->getDimensionId());
    }
}
function core_dimensions_after_add_to_members($object, &$ignored)
{
    if ($object instanceof Report || $object instanceof Timeslot) {
        return;
    }
    // Add to persons and users dimensions
    $user_ids = array();
    if (logged_user() instanceof Contact) {
        $user_ids[] = logged_user()->getId();
    }
    if ($object instanceof ProjectTask) {
        /* @var $object ProjectTask */
        if ($object->getAssignedById() > 0) {
            $user_ids[] = $object->getAssignedById();
        }
        if ($object->getAssignedToContactId() > 0) {
            $user_ids[] = $object->getAssignedToContactId();
        }
    }
<?php

Hook::register("fengoffice");
/* List of available hooks:
 * 
 * - render_page_actions: Called when drawing actions for an object's view. Call add_page_action to add actions.
 *  	- $object : ProjectDataObject,
 *  		Object that is being viewed.
 *   	- &$unused
 *   
 * - render_page_header: Called when drawing the page header.
 *  	- $unused
 *   	- &$unused
 * 
 * - render_page_footer: Called when drawing the page footer.
 *  	- $unused
 *   	- &$unused
 *   
 * - render_getting_started: Add additional getting started help.
 * 		- $unused
 * 		- &$unused
 *
 * - render_object_properties: Called when drawing properties for an object's view. Echo the HTML to be drawn.
 *  	- $object : ProjectDataObject,
 *  		Object that is being viewed.
 *   	- &$unused
 * 
 * - reminder_email: Called when an email reminder is being sent.
 *  	- $reminder : ObjectReminder,
 *   	- &$count : integer. Add to this number.
 *   		Count of reminders sent.
Beispiel #3
0
<?php

Hook::register("workspaces");
function workspaces_total_task_timeslots_group_by_criterias($args, &$ret)
{
    $wdimension = Dimensions::findByCode('workspaces');
    $tdimension = Dimensions::findByCode('tags');
    $ret[] = array('val' => 'dim_' . $wdimension->getId(), 'name' => $wdimension->getName());
    $ret[] = array('val' => 'dim_' . $tdimension->getId(), 'name' => $tdimension->getName());
}
function workspaces_custom_reports_additional_columns($args, &$ret)
{
    $dimensions = Dimensions::findAll(array("conditions" => "code IN ('workspaces','tags')"));
    foreach ($dimensions as $dimension) {
        $doptions = $dimension->getOptions(true);
        if ($doptions && isset($doptions->useLangs) && $doptions->useLangs) {
            $name = lang($dimension->getCode());
        } else {
            $name = $dimension->getName();
        }
        $ret[] = array('id' => 'dim_' . $dimension->getId(), 'name' => $name, 'type' => DATA_TYPE_STRING);
    }
}
function workspaces_include_tasks_template($ignored, &$more_content_templates)
{
    $more_content_templates[] = array('template' => 'groupby', 'controller' => 'task', 'plugin' => 'workspaces');
}
function workspaces_override_object_color($object, &$color)
{
    $ws_ot = ObjectTypes::findByName('workspace');
    if (!$ws_ot instanceof ObjectType) {
Beispiel #4
0
<?php
Hook::register('mail');

function mail_allowed_subscribers($object, &$contacts) {
	if ($object instanceof MailContent) {
		$person_dim = Dimensions::findByCode('feng_persons');
		$person_dim_id = $person_dim instanceof Dimension ? $person_dim->getId() : "0";
		$sql = "SELECT member_id FROM ".TABLE_PREFIX."object_members om INNER JOIN ".TABLE_PREFIX."members m ON m.id=om.member_id
			WHERE om.object_id = ".$object->getId()." AND om.is_optimization=0 AND m.dimension_id NOT IN (".$person_dim_id.")";
		$member_ids_res = DB::executeAll($sql);
		
		$member_ids = array();
		foreach ($member_ids_res as $row) {
			if (trim($row['member_id']) != "") $member_ids[] = $row['member_id'];
		}
		
		if (!$member_ids || count($member_ids) == 0) {
			$contacts = array(logged_user());
		}
	}
}

function mail_delete_member($member){
    DB::executeAll("UPDATE ".TABLE_PREFIX."mail_accounts SET member_id=0 WHERE member_id = '".$member->getId()."'");
}