| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?phpdefined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin','admin',0);class address extends admin {		public function __construct() {		parent::__construct();	}		public function init() {		include $this->admin_tpl('address');	}		public function update() {		set_time_limit(120);		$old_attachment_path = isset($_POST['old_attachment_path']) && trim($_POST['old_attachment_path']) ? trim($_POST['old_attachment_path']) : showmessage(L('old_attachment_address_empty'));		$new_attachment_path = isset($_POST['new_attachment_path']) && trim($_POST['new_attachment_path']) ? trim($_POST['new_attachment_path']) : showmessage(L('new_attachment_address_empty'));		//获取数据表列表		$db = pc_base::load_model('site_model');		$r = $db->query("show tables");		$r = $db->fetch_array($db_list);		foreach ($r as $k=>$v) {			$v = array_pop($v);			if (strpos($v, $db->db_tablepre)===false) continue;			$table_name = str_replace($db->db_tablepre, '', $v);			//获取每个表的数据表结构			if (!$modle_table_db = pc_base::load_model($table_name.'_model')) {				$modle_table_db = $db;			}			$s = $modle_table_db->get_fields($table_name);			if ($s) {				$sql = '';				foreach ($s as $key=>$val) {					//对数据表进行过滤,只有CHAR、TEXT或mediumtext类型的字段才可以保存下附件的地址。					if (preg_match('/(char|text|mediumtext)+/i', $val)) {						$sql .= !empty($sql) ? ", `$key`=replace(`$key`, '$old_attachment_path', '$new_attachment_path')" : "`$key`=replace(`$key`, '$old_attachment_path', '$new_attachment_path')";					}				}				if (!empty($sql)) $modle_table_db->query("UPDATE ".$db->db_tablepre.$table_name." SET $sql");			}		}		showmessage(L('operation_success'));			}}
 |