Merge pull request #7468 from eileenmcnaughton/CRM-17729
[civicrm-core.git] / xml / GenCode.php
1 <?php
2 ini_set('display_errors', 1);
3 ini_set('include_path', '.' . PATH_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'packages' . PATH_SEPARATOR . '..');
4 // make sure the memory_limit is at least 512 MB
5 $memLimitString = trim(ini_get('memory_limit'));
6 $memLimitUnit = strtolower(substr($memLimitString, -1));
7 $memLimit = (int) $memLimitString;
8 switch ($memLimitUnit) {
9 case 'g':
10 $memLimit *= 1024;
11 case 'm':
12 $memLimit *= 1024;
13 case 'k':
14 $memLimit *= 1024;
15 }
16
17 if ($memLimit >= 0 and $memLimit < 536870912) {
18 // Note: When processing all locales, CRM_Core_I18n::singleton() eats a lot of RAM.
19 ini_set('memory_limit', -1);
20 }
21 date_default_timezone_set('UTC'); // avoid php warnings if timezone is not set - CRM-10844
22
23 define('CIVICRM_UF', 'Drupal');
24 define('CIVICRM_UF_BASEURL', '/');
25
26 require_once 'CRM/Core/ClassLoader.php';
27 CRM_Core_ClassLoader::singleton()->register();
28
29 # TODO: pull these settings from configuration
30 $genCode = new CRM_Core_CodeGen_Main(
31 '../CRM/Core/DAO/', // $CoreDAOCodePath
32 '../sql/', // $sqlCodePath
33 '../', // $phpCodePath
34 '../templates/', // $tplCodePath
35 array('../packages/Smarty/plugins', '../CRM/Core/Smarty/plugins'), // smarty plugin dirs
36 @$argv[3], // cms
37 empty($argv[2]) ? NULL : $argv[2], // db version
38 empty($argv[1]) ? 'schema/Schema.xml' : $argv[1], // schema file
39 getenv('CIVICRM_GENCODE_DIGEST') ? getenv('CIVICRM_GENCODE_DIGEST') : NULL // path to digest file
40 );
41 $genCode->main();