[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * 4 * This file is part of the phpBB Forum Software package. 5 * 6 * @copyright (c) phpBB Limited <https://www.phpbb.com> 7 * @license GNU General Public License, version 2 (GPL-2.0) 8 * 9 * For full copyright and license information, please see 10 * the docs/CREDITS.txt file. 11 * 12 */ 13 14 namespace phpbb\db\migration\data\v330; 15 16 class remove_attachment_flash extends \phpbb\db\migration\migration 17 { 18 // Following constants were deprecated in 3.3 19 // and moved from constants.php to compatibility_globals.php, 20 // thus define them as class constants 21 const ATTACHMENT_CATEGORY_FLASH = 5; 22 23 protected $cat_id = array( 24 self::ATTACHMENT_CATEGORY_FLASH, 25 ); 26 27 static public function depends_on() 28 { 29 return ['\phpbb\db\migration\data\v330\dev',]; 30 } 31 32 public function update_data() 33 { 34 return array( 35 array('custom', array(array($this, 'remove_flash_group'))), 36 ); 37 } 38 39 public function remove_flash_group() 40 { 41 // select group ids of outdated media 42 $sql = 'SELECT group_id 43 FROM ' . EXTENSION_GROUPS_TABLE . ' 44 WHERE ' . $this->db->sql_in_set('cat_id', $this->cat_id); 45 $result = $this->db->sql_query($sql); 46 47 $group_ids = array(); 48 while ($group_id = (int) $this->db->sql_fetchfield('group_id')) 49 { 50 $group_ids[] = $group_id; 51 } 52 $this->db->sql_freeresult($result); 53 54 // nothing to do, admin has removed all the outdated media extension groups 55 if (empty($group_ids)) 56 { 57 return true; 58 } 59 60 // get the group id of downloadable files 61 $sql = 'SELECT group_id 62 FROM ' . EXTENSION_GROUPS_TABLE . " 63 WHERE group_name = 'DOWNLOADABLE_FILES'"; 64 $result = $this->db->sql_query($sql); 65 $download_id = (int) $this->db->sql_fetchfield('group_id'); 66 $this->db->sql_freeresult($result); 67 68 if (empty($download_id)) 69 { 70 $sql = 'UPDATE ' . EXTENSIONS_TABLE . ' 71 SET group_id = 0 72 WHERE ' . $this->db->sql_in_set('group_id', $group_ids); 73 } 74 else 75 { 76 // move outdated media extensions to downloadable files 77 $sql = 'UPDATE ' . EXTENSIONS_TABLE . " 78 SET group_id = $download_id" . ' 79 WHERE ' . $this->db->sql_in_set('group_id', $group_ids); 80 } 81 82 $this->db->sql_query($sql); 83 84 // delete the now empty, outdated media extension groups 85 $sql = 'DELETE FROM ' . EXTENSION_GROUPS_TABLE . ' 86 WHERE ' . $this->db->sql_in_set('group_id', $group_ids); 87 $this->db->sql_query($sql); 88 } 89 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |