本文整理汇总了PHP中CRM_Core_Component::getComponentsFromFile方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Component::getComponentsFromFile方法的具体用法?PHP CRM_Core_Component::getComponentsFromFile怎么用?PHP CRM_Core_Component::getComponentsFromFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_Component
的用法示例。
在下文中一共展示了CRM_Core_Component::getComponentsFromFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateJoomlaConfig
/**
* @param $version
*/
function generateJoomlaConfig($version)
{
global $targetDir, $sourceCheckoutDir, $pkgType;
$smarty = new Smarty();
$smarty->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");
fwrite($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';
require_once 'CRM/Core/I18n.php';
$permissions = CRM_Core_Permission::getCorePermissions(TRUE);
$crmFolderDir = $sourceCheckoutDir . DIRECTORY_SEPARATOR . 'CRM';
require_once 'CRM/Core/Component.php';
$components = CRM_Core_Component::getComponentsFromFile($crmFolderDir);
foreach ($components as $comp) {
$perm = $comp->getPermissions(FALSE, TRUE);
if ($perm) {
$info = $comp->getInfo();
foreach ($perm as $p => $attr) {
$title = $info['translatedName'] . ': ' . array_shift($attr);
array_unshift($attr, $title);
$permissions[$p] = $attr;
}
}
}
$perms_array = array();
foreach ($permissions as $perm => $attr) {
// give an empty string as default description
$attr[] = '';
//order matters here, but we deal with that later
$perms_array[CRM_Utils_String::munge(strtolower($perm))] = array('title' => array_shift($attr), 'description' => array_shift($attr));
}
$smarty->assign('permissions', $perms_array);
$output = $targetDir . '/admin/access.xml';
$xml = $smarty->fetch('access.tpl');
$fd = fopen($output, "w");
fwrite($fd, $xml);
fclose($fd);
}