optimizer_post.php
1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: optimizer_post.php 31344 2012-08-15 04:01:32Z zhangjie $
 */
if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}
class optimizer_post {
	public function __construct() {
	}
	public function check() {
		global $_G;
		loadcache('posttable_info');
		$count = 0;
		$posttableids = array_keys($_G['cache']['posttable_info']);
		foreach ($posttableids as $id) {
			$table = empty($id) ? 'forum_post' : (is_numeric($id) ? 'forum_post_'.$id : $id);
			$status = helper_dbtool::gettablestatus(DB::table($table), false);
			if($status && $status['Data_length'] > 400 * 1048576) {
				$count++;
			}
		}
		if($count) {
			$return = array('status' => '1','type' => 'header', 'lang' => lang('optimizer', 'optimizer_post_need_split', array('count' => $count)));
		} else {
			$return = array('status' => '0', 'type' => 'header', 'lang' => lang('optimizer', 'optimizer_post_not_need'));
		}
		return $return;
	}
	public function optimizer() {
		$adminfile = defined(ADMINSCRIPT) ? ADMINSCRIPT : 'admin.php';
		dheader('Location: '.$_G['siteurl'].$adminfile.'?action=postsplit');
	}
}
?>