| 1 | <?php | 
|---|
| 2 | // Set XPressME memory limit | 
|---|
| 3 | function xpress_set_memory_limmit(){ | 
|---|
| 4 | global $xoops_config; | 
|---|
| 5 | global $xoopsDB; | 
|---|
| 6 |  | 
|---|
| 7 | $module_id = ''; | 
|---|
| 8 | $memory = ''; | 
|---|
| 9 |  | 
|---|
| 10 | if (!is_object($xoops_config)){ | 
|---|
| 11 | require_once dirname(dirname( __FILE__ )).'/class/config_from_xoops.class.php' ; | 
|---|
| 12 | $xoops_config = new ConfigFromXoops; | 
|---|
| 13 | } | 
|---|
| 14 |  | 
|---|
| 15 | $has_xoops_db = (!empty($xoopsDB)); | 
|---|
| 16 | if (!$has_xoops_db) { | 
|---|
| 17 | $cn = mysql_connect($xoops_config->xoops_db_host, $xoops_config->xoops_db_user, $xoops_config->xoops_db_pass); | 
|---|
| 18 | if ($cn){ | 
|---|
| 19 | $db_selected = mysql_select_db($xoops_config->xoops_db_name, $cn); | 
|---|
| 20 | } | 
|---|
| 21 | } | 
|---|
| 22 |  | 
|---|
| 23 | // get module ID | 
|---|
| 24 | $module_table = $xoops_config->xoops_db_prefix . '_modules'; | 
|---|
| 25 | $module_sql = "SELECT mid FROM $module_table WHERE `dirname` = '$xoops_config->module_name'"; | 
|---|
| 26 | if ($has_xoops_db) { | 
|---|
| 27 | if ($result = $xoopsDB->query($module_sql, 0, 0)){ | 
|---|
| 28 | $row = $xoopsDB->fetchArray($result); | 
|---|
| 29 | $module_id = $row['mid']; | 
|---|
| 30 | } | 
|---|
| 31 | } else { | 
|---|
| 32 | if ($db_selected){ | 
|---|
| 33 | if($result = mysql_query($module_sql)){ | 
|---|
| 34 | $row = mysql_fetch_assoc($result); | 
|---|
| 35 | $module_id = $row['mid']; | 
|---|
| 36 | } | 
|---|
| 37 | } | 
|---|
| 38 | } | 
|---|
| 39 | if (!empty($module_id)){ | 
|---|
| 40 | // get memory_limit | 
|---|
| 41 | $config_table = $xoops_config->xoops_db_prefix . '_config'; | 
|---|
| 42 | $config_sql = "SELECT conf_value FROM $config_table WHERE `conf_modid` = $module_id AND `conf_name` = 'memory_limit'"; | 
|---|
| 43 | if ($has_xoops_db) { | 
|---|
| 44 | if ($result = $xoopsDB->query($config_sql, 0, 0)){ | 
|---|
| 45 | $row = $xoopsDB->fetchArray($result); | 
|---|
| 46 | $memory = $row['conf_value']; | 
|---|
| 47 | } | 
|---|
| 48 | } else { | 
|---|
| 49 | if ($db_selected){ | 
|---|
| 50 | if($result = mysql_query($config_sql)){ | 
|---|
| 51 | $row = mysql_fetch_assoc($result); | 
|---|
| 52 | $memory = $row['conf_value']; | 
|---|
| 53 | } | 
|---|
| 54 | } | 
|---|
| 55 | } | 
|---|
| 56 | } | 
|---|
| 57 | if (!$has_xoops_db) { | 
|---|
| 58 | mysql_close($cn); | 
|---|
| 59 | } | 
|---|
| 60 |  | 
|---|
| 61 | if (empty($memory)) return; | 
|---|
| 62 | if ( !defined('WP_MEMORY_LIMIT') ) | 
|---|
| 63 | define('WP_MEMORY_LIMIT', $memory . 'M'); | 
|---|
| 64 | if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) ) | 
|---|
| 65 | @ini_set('memory_limit', WP_MEMORY_LIMIT); | 
|---|
| 66 | } | 
|---|
| 67 | ?> | 
|---|