diff options
| -rwxr-xr-x[-rw-r--r--] | phpBB/phpbb/db/migration/profilefield_base_migration.php | 36 | 
1 files changed, 22 insertions, 14 deletions
| diff --git a/phpBB/phpbb/db/migration/profilefield_base_migration.php b/phpBB/phpbb/db/migration/profilefield_base_migration.php index e360de1d8e..3b9ad3e249 100644..100755 --- a/phpBB/phpbb/db/migration/profilefield_base_migration.php +++ b/phpBB/phpbb/db/migration/profilefield_base_migration.php @@ -21,14 +21,15 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration  	protected $profilefield_data; -	/*Language data should be in array -> each language_data in seaprte key +	/** +	*Language data should be in array -> each language_data in seaprte key  	* array( -	*		'1'	=> array( +	*		array(  	*			'option_id'	=> value,  	*			'field_type'	=> value,  	*			'lang_value'	=> value,  	*		), -	*		'2'	=> array( +	*		array(  	*			'option_id'	=> value,  	*			'field_type'	=> value,  	*			'lang_value'	=> value, @@ -74,6 +75,13 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration  		);  	} +	public function revert_data() +	{ +		return array( +			array('custom', array(array($this, 'delete_custom_profile_field_data'))), +		); +	} +  	public function create_custom_field()  	{  		$sql = 'SELECT MAX(field_order) as max_field_order @@ -143,24 +151,21 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration  	/**  	* Clean db after purging of extension -	* function should be called from migration -	* using revert_data()  	*/ -	public function clean_cpf_db_entries() +	public function delete_custom_profile_field_data()  	{  		$field_id = $this->get_custom_profile_field_id(); -		//Let's clean the field -		//1. PROFILE_FIELDS_TABLE -		$sql = 'DELETE FROM ' . PROFILE_FIELDS_TABLE . ' WHERE field_id = ' . $field_id; +		$sql = 'DELETE FROM ' . PROFILE_FIELDS_TABLE . '  +				WHERE field_id = ' . $field_id;  		$this->db->sql_query($sql); -		//2. PPROFILE_LANG_TABLE -		$sql = 'DELETE FROM ' . PROFILE_LANG_TABLE . ' WHERE field_id = ' . $field_id; +		$sql = 'DELETE FROM ' . PROFILE_LANG_TABLE . '  +				WHERE field_id = ' . $field_id;  		$this->db->sql_query($sql); -		//3. PROFILE_FIELDS_LANG_TABLE -		$sql = 'DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . ' WHERE field_id = ' . $field_id; +		$sql = 'DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . '  +				WHERE field_id = ' . $field_id;  		$this->db->sql_query($sql);  	} @@ -170,9 +175,12 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration  	*/  	public function get_custom_profile_field_id()  	{ -		$sql = 'SELECT field_id FROM ' . PROFILE_FIELDS_TABLE . ' WHERE field_name = \'' . $this->profilefield_name . '\''; +		$sql = "SELECT field_id  +				FROM " . PROFILE_FIELDS_TABLE . "  +				WHERE field_name = '" . $this->profilefield_name . "'";  		$result = $this->db->sql_query($sql);  		$field_id = (int) $this->db->sql_fetchfield('field_id'); +		$this->db->sql_freeresult($result);  		return $field_id;  	} | 
