Skip to content
Snippets Groups Projects
nbrgeneralobservation.php 4.29 KiB
Newer Older
aly2191's avatar
aly2191 committed
<?php

require_once 'nbrgeneralobservation.civix.php';
aly2191's avatar
aly2191 committed
// phpcs:disable
use CRM_Nbrgeneralobservation_ExtensionUtil as E;
aly2191's avatar
aly2191 committed
// phpcs:enable

/**
 * Implements hook_civicrm_config().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config/
 */
function nbrgeneralobservation_civicrm_config(&$config) {
  _nbrgeneralobservation_civix_civicrm_config($config);
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_install().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_install
 */
function nbrgeneralobservation_civicrm_install() {
  _nbrgeneralobservation_civix_civicrm_install();
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_postInstall().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_postInstall
 */
function nbrgeneralobservation_civicrm_postInstall() {
  _nbrgeneralobservation_civix_civicrm_postInstall();
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_uninstall().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_uninstall
 */
function nbrgeneralobservation_civicrm_uninstall() {
  _nbrgeneralobservation_civix_civicrm_uninstall();
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_enable().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_enable
 */
function nbrgeneralobservation_civicrm_enable() {
  _nbrgeneralobservation_civix_civicrm_enable();
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_disable().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_disable
 */
function nbrgeneralobservation_civicrm_disable() {
  _nbrgeneralobservation_civix_civicrm_disable();
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_upgrade().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_upgrade
 */
function nbrgeneralobservation_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
  return _nbrgeneralobservation_civix_civicrm_upgrade($op, $queue);
aly2191's avatar
aly2191 committed
}

/**
 * Implements hook_civicrm_xmlMenu().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_xmlMenu
 */
function nbrgeneralobservation_civicrm_xmlMenu(&$files) {
aly2191's avatar
aly2191 committed
  foreach (glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
    $files[] = $file;
  }
}

function nbrgeneralobservation_civicrm_tabset($tabsetName, &$tabs, $context) {
aly2191's avatar
aly2191 committed
  if ($tabsetName == "civicrm/contact/view" && isset($context['contact_id'])) {
    $contactId = $context['contact_id'];
    $contactSubtype = CRM_Nbrgeneralobservation_BAO_NbrGenObservations::contactSubtype(($contactId));
aly2191's avatar
aly2191 committed
    // Doing strpos, as values in contact_sub_type seem to have unusual fields surrounding it, and felt cleaner than copying nihr_volunteer
    $containsSubtype= strpos($contactSubtype,"nihr_volunteer");
    if ($containsSubtype) {
      $url = CRM_Utils_System::url("civicrm/nbrgeneralobservation/page/nbrgenobservations", "reset=1&cid=" . $contactId, TRUE);
      $tab[''] = [
        //     'id' => "genObservations",
        'title' => ts('General observations'),
        'count' => CRM_Nbrgeneralobservation_BAO_NbrGenObservations::countNbrGenObservations($contactId),
        'class' => "livePage",
      ];
      $tabs = array_merge(
        array_slice($tabs, 0, 4),
        $tab,
        array_slice($tabs, 4)
      );

    }
aly2191's avatar
aly2191 committed
  }
}


/**
 * Implements hook_civicrm_entityTypes().
 *
 * Declare entity types provided by this module.
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
 */
function nbrgeneralobservation_civicrm_entityTypes(&$entityTypes) {
  _nbrgeneralobservation_civix_civicrm_entityTypes($entityTypes);
aly2191's avatar
aly2191 committed
}

// --- Functions below this ship commented out. Uncomment as required. ---

/**
 * Implements hook_civicrm_preProcess().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_preProcess
 */
//function nbrgeneralobservation_civicrm_preProcess($formName, &$form) {
aly2191's avatar
aly2191 committed
//
//}

/**
 * Implements hook_civicrm_navigationMenu().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_navigationMenu
 */
//function nbrgeneralobservation_civicrm_navigationMenu(&$menu) {
//  _nbrgeneralobservation_civix_insert_navigation_menu($menu, 'Mailings', [
aly2191's avatar
aly2191 committed
//    'label' => E::ts('New subliminal message'),
//    'name' => 'mailing_subliminal_message',
//    'url' => 'civicrm/mailing/subliminal',
//    'permission' => 'access CiviMail',
//    'operator' => 'OR',
//    'separator' => 0,
//  ]);
//  _nbrgeneralobservation_civix_navigationMenu($menu);
aly2191's avatar
aly2191 committed
//}