[551] | 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 | ?> |
---|