diff options
Diffstat (limited to 'phpBB/phpbb/db/migration/data')
| -rw-r--r-- | phpBB/phpbb/db/migration/data/v310/profilefield_field_validation_length.php | 90 | 
1 files changed, 90 insertions, 0 deletions
| diff --git a/phpBB/phpbb/db/migration/data/v310/profilefield_field_validation_length.php b/phpBB/phpbb/db/migration/data/v310/profilefield_field_validation_length.php new file mode 100644 index 0000000000..c7d8b2dc91 --- /dev/null +++ b/phpBB/phpbb/db/migration/data/v310/profilefield_field_validation_length.php @@ -0,0 +1,90 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\db\migration\data\v310; + +class profilefield_field_validation_length extends \phpbb\db\migration\migration +{ +	protected $validation_options_old = array( +		'ALPHA_SPACERS'		=> '[\w_\+\. \-\[\]]+', +	); + +	protected $validation_options_new = array( +		'ALPHA_SPACERS'		=> '[\w\x20_+\-\[\]]+', +	); + +	static public function depends_on() +	{ +		return array( +			'\phpbb\db\migration\data\v310\rc3', +		); +	} + +	public function update_schema() +	{ +		return array( +			'change_columns'	=> array( +				$this->table_prefix . 'profile_fields'			=> array( +					'field_validation'	=> array('VCHAR_UNI:64', ''), +				), +			), +		); +	} + +	public function revert_schema() +	{ +		return array( +			'change_columns'	=> array( +				$this->table_prefix . 'profile_fields'			=> array( +					'field_validation'	=> array('VCHAR_UNI:20', ''), +				), +			), +		); +	} + +	public function update_data() +	{ +		return array( +			array('custom', array(array($this, 'update_profile_fields_validation'))), +		); +	} + +	public function revert_data() +	{ +		return array( +			array('custom', array(array($this, 'revert_profile_fields_validation'))), +		); +	} + +	public function update_profile_fields_validation() +	{ +		foreach ($this->validation_options_new as $validation_type => $regex) +		{ +			$sql = 'UPDATE ' . $this->table_prefix . "profile_fields +				SET field_validation = '" . $this->db->sql_escape($this->validation_options_new[$validation_type]) . "' +				WHERE field_validation = '" . $this->db->sql_escape($this->validation_options_old[$validation_type]) . "'"; +			$this->sql_query($sql); +		} +	} + +	public function revert_profile_fields_validation() +	{ +		foreach ($this->validation_options_new as $validation_type => $regex) +		{ +			$sql = 'UPDATE ' . $this->table_prefix . "profile_fields +				SET field_validation = '" . $this->db->sql_escape($this->validation_options_old[$validation_type]) . "' +				WHERE field_validation = '" . $this->db->sql_escape($this->validation_options_new[$validation_type]) . "'"; +			$this->sql_query($sql); +		} +	} +} | 
