2 define('CIVICRM_MYSQL_STRICT', 0);
3 if (isset($GLOBALS['_SERVER']['DM_SOURCEDIR'])) {
4 $sourceCheckoutDir = $GLOBALS['_SERVER']['DM_SOURCEDIR'];
7 $sourceCheckoutDir = $argv[1];
9 $sourceCheckoutDirLength = strlen($sourceCheckoutDir);
11 if (isset($GLOBALS['_SERVER']['DM_TMPDIR'])) {
12 $targetDir = $GLOBALS['_SERVER']['DM_TMPDIR'] . '/com_civicrm';
15 $targetDir = $argv[2];
17 $targetDirLength = strlen($targetDir);
19 if (isset($GLOBALS['_SERVER']['DM_VERSION'])) {
20 $version = $GLOBALS['_SERVER']['DM_VERSION'];
26 if (isset($GLOBALS['_SERVER']['DM_PKGTYPE'])) {
27 $pkgType = $GLOBALS['_SERVER']['DM_PKGTYPE'];
33 ini_set('include_path',
34 "{$sourceCheckoutDir}:{$sourceCheckoutDir}/packages:" . ini_get('include_path')
36 require_once "$sourceCheckoutDir/civicrm.config.php";
37 require_once 'Smarty/Smarty.class.php';
39 generateJoomlaConfig($version);
42 * This function creates destination directory
44 * @param $dir directory name to be created
47 * @internal param \mode $peram for that directory
49 function createDir($dir, $perm = 0755) {
51 echo "Outdir: $dir\n";
52 mkdir($dir, $perm, TRUE);
56 function generateJoomlaConfig($version) {
57 global $targetDir, $sourceCheckoutDir, $pkgType;
59 $smarty = new Smarty();
60 $smarty->template_dir
= $sourceCheckoutDir . '/xml/templates';
61 $smarty->compile_dir
= '/tmp/templates_c_u' . posix_geteuid();
62 createDir($smarty->compile_dir
);
64 $smarty->assign('CiviCRMVersion', $version);
65 $smarty->assign('creationDate', date('F d Y'));
66 $smarty->assign('pkgType', $pkgType);
68 $xml = $smarty->fetch('joomla.tpl');
70 $output = $targetDir . '/civicrm.xml';
71 $fd = fopen($output, "w");
75 require_once 'CRM/Core/Config.php';
76 $config = CRM_Core_Config
::singleton(FALSE);
78 require_once 'CRM/Core/Permission.php';
79 require_once 'CRM/Utils/String.php';
80 $permissions = CRM_Core_Permission
::getCorePermissions();
82 $crmFolderDir = $sourceCheckoutDir . DIRECTORY_SEPARATOR
. 'CRM';
84 require_once 'CRM/Core/Component.php';
85 $components = CRM_Core_Component
::getComponentsFromFile($crmFolderDir);
86 foreach ($components as $comp) {
87 $perm = $comp->getPermissions();
89 $info = $comp->getInfo();
90 foreach ($perm as $p) {
91 $permissions[$p] = $info['translatedName'] . ': ' . $p;
96 $perms_array = array();
97 foreach ($permissions as $perm => $title) {
98 //order matters here, but we deal with that later
99 $perms_array[CRM_Utils_String
::munge(strtolower($perm))] = $title;
101 $smarty->assign('permissions', $perms_array);
103 $output = $targetDir . '/admin/access.xml';
104 $xml = $smarty->fetch('access.tpl');
105 $fd = fopen($output, "w");