Skip to content

Commit

Permalink
Updates from rerunning civix
Browse files Browse the repository at this point in the history
  • Loading branch information
eileenmcnaughton committed Jan 10, 2018
1 parent 9f17a33 commit 1566fa3
Showing 1 changed file with 210 additions and 44 deletions.
254 changes: 210 additions & 44 deletions civitoken.civix.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,115 @@
// AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file

/**
* (Delegated) Implementation of hook_civicrm_config
* The ExtensionUtil class provides small stubs for accessing resources of this
* extension.
*/
class CRM_Civitoken_ExtensionUtil {
const SHORT_NAME = "civitoken";
const LONG_NAME = "nz.co.fuzion.civitoken";
const CLASS_PREFIX = "CRM_Civitoken";

/**
* Translate a string using the extension's domain.
*
* If the extension doesn't have a specific translation
* for the string, fallback to the default translations.
*
* @param string $text
* Canonical message text (generally en_US).
* @param array $params
* @return string
* Translated text.
* @see ts
*/
public static function ts($text, $params = array()) {
if (!array_key_exists('domain', $params)) {
$params['domain'] = array(self::LONG_NAME, NULL);
}
return ts($text, $params);
}

/**
* Get the URL of a resource file (in this extension).
*
* @param string|NULL $file
* Ex: NULL.
* Ex: 'css/foo.css'.
* @return string
* Ex: 'http://example.org/sites/default/ext/org.example.foo'.
* Ex: 'http://example.org/sites/default/ext/org.example.foo/css/foo.css'.
*/
public static function url($file = NULL) {
if ($file === NULL) {
return rtrim(CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME), '/');
}
return CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME, $file);
}

/**
* Get the path of a resource file (in this extension).
*
* @param string|NULL $file
* Ex: NULL.
* Ex: 'css/foo.css'.
* @return string
* Ex: '/var/www/example.org/sites/default/ext/org.example.foo'.
* Ex: '/var/www/example.org/sites/default/ext/org.example.foo/css/foo.css'.
*/
public static function path($file = NULL) {
// return CRM_Core_Resources::singleton()->getPath(self::LONG_NAME, $file);
return __DIR__ . ($file === NULL ? '' : (DIRECTORY_SEPARATOR . $file));
}

/**
* Get the name of a class within this extension.
*
* @param string $suffix
* Ex: 'Page_HelloWorld' or 'Page\\HelloWorld'.
* @return string
* Ex: 'CRM_Foo_Page_HelloWorld'.
*/
public static function findClass($suffix) {
return self::CLASS_PREFIX . '_' . str_replace('\\', '_', $suffix);
}

}

use CRM_Civitoken_ExtensionUtil as E;

/**
* (Delegated) Implements hook_civicrm_config().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_config
*/
function _civitoken_civix_civicrm_config(&$config = NULL) {
static $configured = FALSE;
if ($configured) return;
if ($configured) {
return;
}
$configured = TRUE;

$template =& CRM_Core_Smarty::singleton();

$extRoot = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
$extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
$extDir = $extRoot . 'templates';

if ( is_array( $template->template_dir ) ) {
array_unshift( $template->template_dir, $extDir );
} else {
$template->template_dir = array( $extDir, $template->template_dir );
if (is_array($template->template_dir)) {
array_unshift($template->template_dir, $extDir);
}
else {
$template->template_dir = array($extDir, $template->template_dir);
}

$include_path = $extRoot . PATH_SEPARATOR . get_include_path( );
set_include_path( $include_path );
$include_path = $extRoot . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}

/**
* (Delegated) Implementation of hook_civicrm_xmlMenu
* (Delegated) Implements hook_civicrm_xmlMenu().
*
* @param $files array(string)
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_xmlMenu
*/
function _civitoken_civix_civicrm_xmlMenu(&$files) {
Expand All @@ -40,7 +121,7 @@ function _civitoken_civix_civicrm_xmlMenu(&$files) {
}

/**
* Implementation of hook_civicrm_install
* Implements hook_civicrm_install().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_install
*/
Expand All @@ -52,7 +133,21 @@ function _civitoken_civix_civicrm_install() {
}

/**
* Implementation of hook_civicrm_uninstall
* Implements hook_civicrm_postInstall().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_postInstall
*/
function _civitoken_civix_civicrm_postInstall() {
_civitoken_civix_civicrm_config();
if ($upgrader = _civitoken_civix_upgrader()) {
if (is_callable(array($upgrader, 'onPostInstall'))) {
$upgrader->onPostInstall();
}
}
}

/**
* Implements hook_civicrm_uninstall().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_uninstall
*/
Expand All @@ -64,7 +159,7 @@ function _civitoken_civix_civicrm_uninstall() {
}

/**
* (Delegated) Implementation of hook_civicrm_enable
* (Delegated) Implements hook_civicrm_enable().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_enable
*/
Expand All @@ -78,7 +173,7 @@ function _civitoken_civix_civicrm_enable() {
}

/**
* (Delegated) Implementation of hook_civicrm_disable
* (Delegated) Implements hook_civicrm_disable().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_disable
* @return mixed
Expand All @@ -93,7 +188,7 @@ function _civitoken_civix_civicrm_disable() {
}

/**
* (Delegated) Implementation of hook_civicrm_upgrade
* (Delegated) Implements hook_civicrm_upgrade().
*
* @param $op string, the type of operation being performed; 'check' or 'enqueue'
* @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
Expand All @@ -113,9 +208,10 @@ function _civitoken_civix_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
* @return CRM_Civitoken_Upgrader
*/
function _civitoken_civix_upgrader() {
if (!file_exists(__DIR__.'/CRM/Civitoken/Upgrader.php')) {
if (!file_exists(__DIR__ . '/CRM/Civitoken/Upgrader.php')) {
return NULL;
} else {
}
else {
return CRM_Civitoken_Upgrader_Base::instance();
}
}
Expand Down Expand Up @@ -148,7 +244,8 @@ function _civitoken_civix_find_files($dir, $pattern) {
while (FALSE !== ($entry = readdir($dh))) {
$path = $subdir . DIRECTORY_SEPARATOR . $entry;
if ($entry{0} == '.') {
} elseif (is_dir($path)) {
}
elseif (is_dir($path)) {
$todos[] = $path;
}
}
Expand All @@ -158,7 +255,7 @@ function _civitoken_civix_find_files($dir, $pattern) {
return $result;
}
/**
* (Delegated) Implementation of hook_civicrm_managed
* (Delegated) Implements hook_civicrm_managed().
*
* Find any *.mgd.php files, merge their content, and return.
*
Expand All @@ -170,15 +267,18 @@ function _civitoken_civix_civicrm_managed(&$entities) {
$es = include $file;
foreach ($es as $e) {
if (empty($e['module'])) {
$e['module'] = 'nz.co.fuzion.civitoken';
$e['module'] = E::LONG_NAME;
}
$entities[] = $e;
if (empty($e['params']['version'])) {
$e['params']['version'] = '3';
}
}
}
}

/**
* (Delegated) Implementation of hook_civicrm_caseTypes
* (Delegated) Implements hook_civicrm_caseTypes().
*
* Find any and return any files matching "xml/case/*.xml"
*
Expand All @@ -199,13 +299,38 @@ function _civitoken_civix_civicrm_caseTypes(&$caseTypes) {
// throw new CRM_Core_Exception($errorMessage);
}
$caseTypes[$name] = array(
'module' => 'nz.co.fuzion.civitoken',
'module' => E::LONG_NAME,
'name' => $name,
'file' => $file,
);
}
}

/**
* (Delegated) Implements hook_civicrm_angularModules().
*
* Find any and return any files matching "ang/*.ang.php"
*
* Note: This hook only runs in CiviCRM 4.5+.
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_angularModules
*/
function _civitoken_civix_civicrm_angularModules(&$angularModules) {
if (!is_dir(__DIR__ . '/ang')) {
return;
}

$files = _civitoken_civix_glob(__DIR__ . '/ang/*.ang.php');
foreach ($files as $file) {
$name = preg_replace(':\.ang\.php$:', '', basename($file));
$module = include $file;
if (empty($module['ext'])) {
$module['ext'] = E::LONG_NAME;
}
$angularModules[$name] = $module;
}
}

/**
* Glob wrapper which is guaranteed to return an array.
*
Expand All @@ -224,37 +349,33 @@ function _civitoken_civix_glob($pattern) {
}

/**
* Inserts a navigation menu item at a given place in the hierarchy
* Inserts a navigation menu item at a given place in the hierarchy.
*
* $menu - menu hierarchy
* $path - path where insertion should happen (ie. Administer/System Settings)
* $item - menu you need to insert (parent/child attributes will be filled for you)
* $parentId - used internally to recurse in the menu structure
* @param array $menu - menu hierarchy
* @param string $path - path where insertion should happen (ie. Administer/System Settings)
* @param array $item - menu you need to insert (parent/child attributes will be filled for you)
*/
function _civitoken_civix_insert_navigation_menu(&$menu, $path, $item, $parentId = NULL) {
static $navId;

function _civitoken_civix_insert_navigation_menu(&$menu, $path, $item) {
// If we are done going down the path, insert menu
if (empty($path)) {
if (!$navId) $navId = CRM_Core_DAO::singleValueQuery("SELECT max(id) FROM civicrm_navigation");
$navId ++;
$menu[$navId] = array (
'attributes' => array_merge($item, array(
$menu[] = array(
'attributes' => array_merge(array(
'label' => CRM_Utils_Array::value('name', $item),
'active' => 1,
'parentID' => $parentId,
'navID' => $navId,
))
), $item),
);
return true;
} else {
return TRUE;
}
else {
// Find an recurse into the next level down
$found = false;
$found = FALSE;
$path = explode('/', $path);
$first = array_shift($path);
foreach ($menu as $key => &$entry) {
if ($entry['attributes']['name'] == $first) {
if (!$entry['child']) $entry['child'] = array();
if (!isset($entry['child'])) {
$entry['child'] = array();
}
$found = _civitoken_civix_insert_navigation_menu($entry['child'], implode('/', $path), $item, $key);
}
}
Expand All @@ -263,17 +384,62 @@ function _civitoken_civix_insert_navigation_menu(&$menu, $path, $item, $parentId
}

/**
* (Delegated) Implementation of hook_civicrm_alterSettingsFolders
* (Delegated) Implements hook_civicrm_navigationMenu().
*/
function _civitoken_civix_navigationMenu(&$nodes) {
if (!is_callable(array('CRM_Core_BAO_Navigation', 'fixNavigationMenu'))) {
_civitoken_civix_fixNavigationMenu($nodes);
}
}

/**
* Given a navigation menu, generate navIDs for any items which are
* missing them.
*/
function _civitoken_civix_fixNavigationMenu(&$nodes) {
$maxNavID = 1;
array_walk_recursive($nodes, function($item, $key) use (&$maxNavID) {
if ($key === 'navID') {
$maxNavID = max($maxNavID, $item);
}
});
_civitoken_civix_fixNavigationMenuItems($nodes, $maxNavID, NULL);
}

function _civitoken_civix_fixNavigationMenuItems(&$nodes, &$maxNavID, $parentID) {
$origKeys = array_keys($nodes);
foreach ($origKeys as $origKey) {
if (!isset($nodes[$origKey]['attributes']['parentID']) && $parentID !== NULL) {
$nodes[$origKey]['attributes']['parentID'] = $parentID;
}
// If no navID, then assign navID and fix key.
if (!isset($nodes[$origKey]['attributes']['navID'])) {
$newKey = ++$maxNavID;
$nodes[$origKey]['attributes']['navID'] = $newKey;
$nodes[$newKey] = $nodes[$origKey];
unset($nodes[$origKey]);
$origKey = $newKey;
}
if (isset($nodes[$origKey]['child']) && is_array($nodes[$origKey]['child'])) {
_civitoken_civix_fixNavigationMenuItems($nodes[$origKey]['child'], $maxNavID, $nodes[$origKey]['attributes']['navID']);
}
}
}

/**
* (Delegated) Implements hook_civicrm_alterSettingsFolders().
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_alterSettingsFolders
*/
function _civitoken_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
static $configured = FALSE;
if ($configured) return;
if ($configured) {
return;
}
$configured = TRUE;

$settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
if(is_dir($settingsDir) && !in_array($settingsDir, $metaDataFolders)) {
if (is_dir($settingsDir) && !in_array($settingsDir, $metaDataFolders)) {
$metaDataFolders[] = $settingsDir;
}
}

0 comments on commit 1566fa3

Please sign in to comment.