@import url( '/$path/../custom_templates/hrd.css' );\n" ); } function hrd_civicrm_dashboard( $contactID ) { hrd_initialize( ); $sql = array( ); $aclJoin = $aclWhere = null; if ( ! CRM_Core_Permission::check( 'access secure contacts' ) ) { $groupTable = 'civicrm_group_contact_hrd'; $aclJoin = "LEFT JOIN civicrm_group_contact $groupTable ON ( c.id = $groupTable.contact_id AND $groupTable.group_id = " . HRD_SECURE_GROUP_ID . " )"; $aclWhere = " ( $groupTable.status is null OR $groupTable.status != 'Added' ) "; } $nameJoin = "LEFT JOIN civicrm_contact ON (contact_id = civicrm_contact.id)"; $clause = " SELECT 'Contact' as type, c.id as id, c.id as contact_id, c.display_name as title, l.modified_date as date, display_name as name FROM civicrm_log l, civicrm_contact c $aclJoin WHERE l.entity_table = 'civicrm_contact' AND l.entity_id = c.id "; if ( $aclWhere ) { $clause .= " AND $aclWhere"; } $sql[] = $clause; $clause = " SELECT 'Event' as type, ce.id, null as contact_id, title as title, start_date as date, null as name FROM civicrm_event ce "; $sql[] = $clause; $clause = " SELECT 'Case' as type, cc.id, ccc.contact_id as contact_id, subject as title, start_date as date, display_name as name FROM civicrm_case cc, civicrm_case_contact ccc LEFT JOIN civicrm_contact c ON (ccc.contact_id = c.id) $aclJoin "; $clause .= " WHERE cc.id = ccc.case_id "; if ( $aclWhere ) { $clause .= " AND $aclWhere"; } $sql[] = $clause; if ( $aclJoin ) { $aclJoin = "LEFT JOIN civicrm_group_contact $groupTable ON ( ca.source_contact_id = $groupTable.contact_id AND $groupTable.group_id = " . HRD_SECURE_GROUP_ID . " )"; } $clause = " SELECT 'Activity' as type, ca.id, source_contact_id as contact_id, subject as title, activity_date_time as date, display_name as name FROM civicrm_activity ca $aclJoin LEFT JOIN civicrm_contact c ON (source_contact_id = c.id) "; if ( $aclWhere ) { $clause .= " WHERE $aclWhere"; } $sql[] = $clause; if ( $aclJoin ) { $aclJoin = "LEFT JOIN civicrm_group_contact $groupTable ON ( c.id = $groupTable.contact_id AND $groupTable.group_id = " . HRD_SECURE_GROUP_ID . " )"; } $clause = " SELECT 'Grant' as type, cg.id, cg.contact_id, cov.label as title, application_received_date as date, c.display_name as name FROM civicrm_grant cg, civicrm_option_value cov, civicrm_contact c $aclJoin "; $clause .= " WHERE cov.value = cg.grant_type_id AND cov.option_group_id = 22 AND cg.contact_id = c.id"; if ( $aclWhere ) { $clause .= " AND $aclWhere"; } $sql[] = $clause; foreach ( $sql as $id => $s ) { $sql[$id] = " ( $s ) "; } $sql = implode ( 'UNION', $sql ); $sql .= " ORDER BY date desc LIMIT " . HRD_MAX_ITEMS; $dao = CRM_Core_DAO::executeQuery( $sql ); $values = array( ); $html = "
| Type | Title | Contact | Date |
|---|---|---|---|
| {$value['type']} | {$value['title']} | "; if ( $dao->name && $dao->contact_id) { $url = CRM_Utils_System::url( 'civicrm/contact/view', "reset=1&cid={$dao->contact_id}" ); $html .= "($dao->name)"; } $html .= " | {$value['date']} |