本文整理匯總了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);
}