Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

notify_user.php

Zuletzt modifiziert: 09.10.2024, 12:57 - Dateigröße: 4.05 KiB


001  <?php
002  /**
003   *
004   * This file is part of the phpBB Forum Software package.
005   *
006   * @copyright (c) phpBB Limited <https://www.phpbb.com>
007   * @license GNU General Public License, version 2 (GPL-2.0)
008   *
009   * For full copyright and license information, please see
010   * the docs/CREDITS.txt file.
011   *
012   */
013   
014  namespace phpbb\install\module\install_finish\task;
015   
016  use phpbb\config\db;
017   
018  /**
019   * Logs installation and sends an email to the admin
020   */
021  class notify_user extends \phpbb\install\task_base
022  {
023      /**
024       * @var \phpbb\install\helper\config
025       */
026      protected $install_config;
027   
028      /**
029       * @var \phpbb\install\helper\iohandler\iohandler_interface
030       */
031      protected $iohandler;
032   
033      /**
034       * @var \phpbb\auth\auth
035       */
036      protected $auth;
037   
038      /**
039       * @var \phpbb\config\db
040       */
041      protected $config;
042   
043      /**
044       * @var \phpbb\language\language
045       */
046      protected $language;
047   
048      /**
049       * @var \phpbb\log\log_interface
050       */
051      protected $log;
052   
053      /**
054       * @var \phpbb\user
055       */
056      protected $user;
057   
058      /**
059       * @var string
060       */
061      protected $phpbb_root_path;
062   
063      /**
064       * @var string
065       */
066      protected $php_ext;
067   
068      /**
069       * Constructor
070       *
071       * @param \phpbb\install\helper\container_factory                $container
072       * @param \phpbb\install\helper\config                            $install_config
073       * @param \phpbb\install\helper\iohandler\iohandler_interface    $iohandler
074       * @param string                                                $phpbb_root_path
075       * @param string                                                $php_ext
076       */
077      public function __construct(\phpbb\install\helper\container_factory $container, \phpbb\install\helper\config $install_config, \phpbb\install\helper\iohandler\iohandler_interface $iohandler, $phpbb_root_path, $php_ext)
078      {
079          $this->install_config    = $install_config;
080          $this->iohandler        = $iohandler;
081   
082          $this->auth                = $container->get('auth');
083          $this->language            = $container->get('language');
084          $this->log                = $container->get('log');
085          $this->user                = $container->get('user');
086          $this->phpbb_root_path    = $phpbb_root_path;
087          $this->php_ext            = $php_ext;
088   
089          // We need to reload config for cases when it doesn't have all values
090          /** @var \phpbb\cache\driver\driver_interface $cache */
091          $cache = $container->get('cache.driver');
092          $cache->destroy('config');
093   
094          $this->config = new db(
095              $container->get('dbal.conn'),
096              $cache,
097              $container->get_parameter('tables.config')
098          );
099   
100          parent::__construct(true);
101      }
102   
103      /**
104       * {@inheritdoc}
105       */
106      public function run()
107      {
108          $this->user->session_begin();
109          $this->user->setup('common');
110   
111          if ($this->config['email_enable'])
112          {
113              include ($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext);
114   
115              // functions_messenger.php uses config to determine language paths
116              // Remove when able
117              global $config;
118              $config = $this->config;
119   
120              $messenger = new \messenger(false);
121              $messenger->template('installed', $this->install_config->get('user_language', 'en'));
122              $messenger->to($this->config['board_email'], $this->install_config->get('admin_name'));
123              $messenger->anti_abuse_headers($this->config, $this->user);
124              $messenger->assign_vars(array(
125                      'USERNAME'        => htmlspecialchars_decode($this->install_config->get('admin_name')),
126                      'PASSWORD'        => htmlspecialchars_decode($this->install_config->get('admin_passwd')))
127              );
128              $messenger->send(NOTIFY_EMAIL);
129          }
130   
131          // Login admin
132          // Ugly but works
133          $this->auth->login(
134              $this->install_config->get('admin_name'),
135              $this->install_config->get('admin_passwd'),
136              false,
137              true,
138              true
139          );
140   
141          $this->iohandler->set_cookie($this->config['cookie_name'] . '_sid', $this->user->session_id);
142          $this->iohandler->set_cookie($this->config['cookie_name'] . '_u', $this->user->cookie_data['u']);
143          $this->iohandler->set_cookie($this->config['cookie_name'] . '_k', $this->user->cookie_data['k']);
144   
145          // Create log
146          $this->log->add(
147              'admin',
148              $this->user->data['user_id'],
149              $this->user->ip,
150              'LOG_INSTALL_INSTALLED',
151              false,
152              array($this->config['version'])
153          );
154   
155          // Remove install_lock
156          @unlink($this->phpbb_root_path . 'cache/install_lock');
157      }
158   
159      /**
160       * {@inheritdoc}
161       */
162      static public function get_step_count()
163      {
164          return 1;
165      }
166   
167      /**
168       * {@inheritdoc}
169       */
170      public function get_task_lang_name()
171      {
172          return 'TASK_NOTIFY_USER';
173      }
174  }
175