template_dir = $sourceCheckoutDir . '/xml/templates'; $smarty->compile_dir = '/tmp/templates_c_u' . posix_geteuid(); createDir($smarty->compile_dir); $smarty->assign('CiviCRMVersion', $version); $smarty->assign('creationDate', date('F d Y')); $smarty->assign('pkgType', $pkgType); $xml = $smarty->fetch('joomla.tpl'); $output = $targetDir . '/civicrm.xml'; $fd = fopen($output, "w"); fputs($fd, $xml); fclose($fd); require_once 'CRM/Core/Config.php'; $config = CRM_Core_Config::singleton(FALSE); require_once 'CRM/Core/Permission.php'; require_once 'CRM/Utils/String.php'; $permissions = CRM_Core_Permission::getCorePermissions(); $crmFolderDir = $sourceCheckoutDir . DIRECTORY_SEPARATOR . 'CRM'; require_once 'CRM/Core/Component.php'; $components = CRM_Core_Component::getComponentsFromFile($crmFolderDir); foreach ($components as $comp) { $perm = $comp->getPermissions(); if ($perm) { $info = $comp->getInfo(); foreach ($perm as $p) { $permissions[$p] = $info['translatedName'] . ': ' . $p; } } } $perms_array = array(); foreach ($permissions as $perm => $title) { //order matters here, but we deal with that later $perms_array[CRM_Utils_String::munge(strtolower($perm))] = $title; } $smarty->assign('permissions', $perms_array); $output = $targetDir . '/admin/access.xml'; $xml = $smarty->fetch('access.tpl'); $fd = fopen($output, "w"); fputs($fd, $xml); fclose($fd); }