| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- <?php
 
- defined('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'));
 
- 		
 
- 	}
 
- }
 
 
  |