Line 15 | Line 15 |
---|
class profilefield_youtube_update extends \phpbb\db\migration\migration {
|
class profilefield_youtube_update extends \phpbb\db\migration\migration {
|
protected $youtube_url_matcher = 'https:\\/\\/(www\\.)?youtube\\.com\\/.+';
| public static $youtube_url_matcher = 'https:\\/\\/(www\\.)?youtube\\.com\\/.+';
|
public function effectively_installed() {
| public function effectively_installed() {
|
Line 30 | Line 30 |
---|
$row = $this->db->sql_fetchrow($result); $this->db->sql_freeresult($result);
|
$row = $this->db->sql_fetchrow($result); $this->db->sql_freeresult($result);
|
return $row['field_validation'] === $this->youtube_url_matcher;
| return !$row || $row['field_validation'] === self::$youtube_url_matcher;
|
}
public static function depends_on()
| }
public static function depends_on()
|
Line 48 | Line 48 |
---|
$profile_fields = $this->table_prefix . 'profile_fields'; $profile_fields_data = $this->table_prefix . 'profile_fields_data';
|
$profile_fields = $this->table_prefix . 'profile_fields'; $profile_fields_data = $this->table_prefix . 'profile_fields_data';
|
$field_validation = $this->db->sql_escape($this->youtube_url_matcher);
| $field_data = [ 'field_length' => 40, 'field_minlen' => strlen('https://youtube.com/c/') + 1, 'field_maxlen' => 255, 'field_validation' => self::$youtube_url_matcher, 'field_contact_url' => '%s' ];
|
|
|
$min_length = strlen('https://youtube.com/c/') + 1;
$this->db->sql_query( "UPDATE $profile_fields SET field_length = '40', field_minlen = '$min_length', field_maxlen = '255', field_validation = '$field_validation', field_contact_url = '%s' WHERE field_name = 'phpbb_youtube'" );
| $sql = 'UPDATE ' . $profile_fields . ' SET ' . $this->db->sql_build_array('UPDATE', $field_data) . " WHERE field_name = 'phpbb_youtube'"; $this->db->sql_query($sql);
|
$yt_profile_field = 'pf_phpbb_youtube'; $prepend_legacy_youtube_url = $this->db->sql_concatenate(
| $yt_profile_field = 'pf_phpbb_youtube'; $prepend_legacy_youtube_url = $this->db->sql_concatenate(
|
Line 71 | Line 70 |
---|
. 'youtube.com/' . $this->db->get_any_char() );
|
. 'youtube.com/' . $this->db->get_any_char() );
|
| // We're done if the profile field doesn't exist if (!$this->db_tools->sql_column_exists($profile_fields_data, $yt_profile_field)) { return; }
|
$this->db->sql_query( "UPDATE $profile_fields_data SET
| $this->db->sql_query( "UPDATE $profile_fields_data SET
|