mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
Merge branch 'develop' of git://github.com/phpbb/phpbb3 into ticket/11386-3
Conflicts: phpBB/includes/db/migrator.php
This commit is contained in:
67
phpBB/includes/db/migration/data/310/avatars.php
Normal file
67
phpBB/includes/db/migration/data/310/avatars.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package migration
|
||||
* @copyright (c) 2013 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
class phpbb_db_migration_data_310_avatars extends phpbb_db_migration
|
||||
{
|
||||
public function effectively_installed()
|
||||
{
|
||||
return isset($this->config['allow_avatar_gravatar']);
|
||||
}
|
||||
|
||||
static public function depends_on()
|
||||
{
|
||||
return array('phpbb_db_migration_data_30x_3_0_11');
|
||||
}
|
||||
|
||||
public function update_schema()
|
||||
{
|
||||
return array(
|
||||
'change_columns' => array(
|
||||
$this->table_prefix . 'users' => array(
|
||||
'user_avatar_type' => array('VCHAR:255', ''),
|
||||
),
|
||||
$this->table_prefix . 'groups' => array(
|
||||
'group_avatar_type' => array('VCHAR:255', ''),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public function revert_schema()
|
||||
{
|
||||
return array(
|
||||
'change_columns' => array(
|
||||
$this->table_prefix . 'users' => array(
|
||||
'user_avatar_type' => array('TINT:2', ''),
|
||||
),
|
||||
$this->table_prefix . 'groups' => array(
|
||||
'group_avatar_type' => array('TINT:2', ''),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return array(
|
||||
array('config.add', array('allow_avatar_gravatar', 0)),
|
||||
array('custom', array(array($this, 'update_module_auth'))),
|
||||
);
|
||||
}
|
||||
|
||||
public function update_module_auth()
|
||||
{
|
||||
$sql = 'UPDATE ' . $this->table_prefix . "modules
|
||||
SET module_auth = 'cfg_allow_avatar'
|
||||
WHERE module_class = 'ucp'
|
||||
AND module_basename = 'ucp_profile'
|
||||
AND module_mode = 'avatar'";
|
||||
$this->db->sql_query($sql);
|
||||
}
|
||||
}
|
104
phpBB/includes/db/migration/data/310/teampage.php
Normal file
104
phpBB/includes/db/migration/data/310/teampage.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package migration
|
||||
* @copyright (c) 2012 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
class phpbb_db_migration_data_310_teampage extends phpbb_db_migration
|
||||
{
|
||||
public function effectively_installed()
|
||||
{
|
||||
return $this->db_tools->sql_table_exists($this->table_prefix . 'teampage');
|
||||
}
|
||||
|
||||
static public function depends_on()
|
||||
{
|
||||
return array('phpbb_db_migration_data_310_dev');
|
||||
}
|
||||
|
||||
public function update_schema()
|
||||
{
|
||||
return array(
|
||||
'add_tables' => array(
|
||||
$this->table_prefix . 'teampage' => array(
|
||||
'COLUMNS' => array(
|
||||
'teampage_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'group_id' => array('UINT', 0),
|
||||
'teampage_name' => array('VCHAR_UNI:255', ''),
|
||||
'teampage_position' => array('UINT', 0),
|
||||
'teampage_parent' => array('UINT', 0),
|
||||
),
|
||||
'PRIMARY_KEY' => 'teampage_id',
|
||||
),
|
||||
),
|
||||
'drop_columns' => array(
|
||||
$this->table_prefix . 'groups' => array(
|
||||
'group_teampage',
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public function revert_schema()
|
||||
{
|
||||
return array(
|
||||
'drop_tables' => array(
|
||||
$this->table_prefix . 'teampage',
|
||||
),
|
||||
'add_columns' => array(
|
||||
$this->table_prefix . 'groups' => array(
|
||||
'group_teampage' => array('UINT', 0, 'after' => 'group_legend'),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return array(
|
||||
array('custom', array(array($this, 'add_groups_teampage'))),
|
||||
);
|
||||
}
|
||||
|
||||
public function add_groups_teampage()
|
||||
{
|
||||
$sql = 'SELECT teampage_id
|
||||
FROM ' . TEAMPAGE_TABLE;
|
||||
$result = $this->db->sql_query_limit($sql, 1);
|
||||
$added_groups_teampage = (bool) $this->db->sql_fetchfield('teampage_id');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (!$added_groups_teampage)
|
||||
{
|
||||
$sql = 'SELECT *
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_type = ' . GROUP_SPECIAL . "
|
||||
AND (group_name = 'ADMINISTRATORS'
|
||||
OR group_name = 'GLOBAL_MODERATORS')
|
||||
ORDER BY group_name ASC";
|
||||
$result = $this->db->sql_query($sql);
|
||||
|
||||
$teampage_entries = array();
|
||||
while ($row = $this->db->sql_fetchrow($result))
|
||||
{
|
||||
$teampage_entries[] = array(
|
||||
'group_id' => (int) $row['group_id'],
|
||||
'teampage_name' => '',
|
||||
'teampage_position' => sizeof($teampage_entries) + 1,
|
||||
'teampage_parent' => 0,
|
||||
);
|
||||
}
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if (sizeof($teampage_entries))
|
||||
{
|
||||
$this->db->sql_multi_insert(TEAMPAGE_TABLE, $teampage_entries);
|
||||
}
|
||||
unset($teampage_entries);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -245,7 +245,7 @@ class phpbb_db_migrator
|
||||
}
|
||||
}
|
||||
|
||||
$this->insert_migration($name, $state);
|
||||
$this->set_migration_state($name, $state);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -317,7 +317,7 @@ class phpbb_db_migrator
|
||||
$state['migration_data_done'] = ($result === true) ? false : true;
|
||||
}
|
||||
|
||||
$this->insert_migration($name, $state);
|
||||
$this->set_migration_state($name, $state);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -536,7 +536,7 @@ class phpbb_db_migrator
|
||||
* @param array $state
|
||||
* @return null
|
||||
*/
|
||||
protected function insert_migration($name, $state)
|
||||
protected function set_migration_state($name, $state)
|
||||
{
|
||||
$migration_row = $state;
|
||||
$migration_row['migration_depends_on'] = serialize($state['migration_depends_on']);
|
||||
@@ -673,7 +673,7 @@ class phpbb_db_migrator
|
||||
'migration_start_time' => time(),
|
||||
'migration_end_time' => time(),
|
||||
);
|
||||
$this->insert_migration($name, $state);
|
||||
$this->set_migration_state($name, $state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user