[ Index ] |
PHP Cross Reference of phpBB-3.2.11-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\install\module\obtain_data\task; 15 16 use phpbb\install\exception\user_interaction_required_exception; 17 use phpbb\install\helper\config; 18 use phpbb\install\helper\iohandler\iohandler_interface; 19 use phpbb\install\task_base; 20 21 class obtain_update_files extends task_base 22 { 23 /** 24 * @var config 25 */ 26 protected $installer_config; 27 28 /** 29 * @var iohandler_interface 30 */ 31 protected $iohandler; 32 33 /** 34 * @var string 35 */ 36 protected $phpbb_root_path; 37 38 /** 39 * @var string 40 */ 41 protected $php_ext; 42 43 /** 44 * Constructor 45 * 46 * @param config $config 47 * @param iohandler_interface $iohandler 48 * @param string $phpbb_root_path 49 * @param string $php_ext 50 */ 51 public function __construct(config $config, iohandler_interface $iohandler, $phpbb_root_path, $php_ext) 52 { 53 $this->installer_config = $config; 54 $this->iohandler = $iohandler; 55 $this->phpbb_root_path = $phpbb_root_path; 56 $this->php_ext = $php_ext; 57 58 parent::__construct(false); 59 } 60 61 /** 62 * {@inheritdoc} 63 */ 64 public function check_requirements() 65 { 66 return $this->installer_config->get('do_update_files', false); 67 } 68 69 /** 70 * {@inheritdoc} 71 */ 72 public function run() 73 { 74 // Load update info file 75 // The file should be checked in the requirements, so we assume that it exists 76 $update_info_file = $this->phpbb_root_path . 'install/update/index.' . $this->php_ext; 77 include($update_info_file); 78 $info = (empty($update_info) || !is_array($update_info)) ? false : $update_info; 79 80 // If the file is invalid, abort mission 81 if (!$info) 82 { 83 $this->iohandler->add_error_message('WRONG_INFO_FILE_FORMAT'); 84 throw new user_interaction_required_exception(); 85 } 86 87 // Replace .php with $this->php_ext if needed 88 if ($this->php_ext !== 'php') 89 { 90 $custom_extension = '.' . $this->php_ext; 91 $info['files'] = preg_replace('#\.php$#i', $custom_extension, $info['files']); 92 } 93 94 // Save update info 95 $this->installer_config->set('update_info_unprocessed', $info); 96 } 97 98 /** 99 * {@inheritdoc} 100 */ 101 static public function get_step_count() 102 { 103 return 0; 104 } 105 106 /** 107 * {@inheritdoc} 108 */ 109 public function get_task_lang_name() 110 { 111 return ''; 112 } 113 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Nov 11 20:33:01 2020 | Cross-referenced by PHPXref 0.7.1 |