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

acp_listener.php

Zuletzt modifiziert: 09.10.2024, 12:55 - Dateigröße: 3.64 KiB


 001  <?php
 002  /**
 003   *
 004   * VigLink extension for the phpBB Forum Software package.
 005   *
 006   * @copyright (c) 2014 phpBB Limited <https://www.phpbb.com>
 007   * @license GNU General Public License, version 2 (GPL-2.0)
 008   *
 009   */
 010   
 011  namespace phpbb\viglink\event;
 012   
 013  use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 014   
 015  /**
 016   * ACP Event listener
 017   */
 018  class acp_listener implements EventSubscriberInterface
 019  {
 020      /** @var \phpbb\config\config $config Config object */
 021      protected $config;
 022   
 023      /** @var \phpbb\request\request_interface $request Request interface */
 024      protected $request;
 025   
 026      /** @var \phpbb\template\template $template Template object */
 027      protected $template;
 028   
 029      /** @var \phpbb\language\language $language Language object */
 030      protected $language;
 031   
 032      /** @var \phpbb\user $user User object */
 033      protected $user;
 034   
 035      /** @var \phpbb\viglink\acp\viglink_helper $helper VigLink helper object */
 036      protected $helper;
 037   
 038      /** @var string $phpbb_root_path phpBB root path */
 039      protected $phpbb_root_path;
 040   
 041      /** @var string $php_ext PHP file extension */
 042      protected $php_ext;
 043   
 044      /**
 045       * Constructor
 046       *
 047       * @param \phpbb\config\config $config
 048       * @param \phpbb\language\language $language
 049       * @param \phpbb\request\request_interface $request phpBB request
 050       * @param \phpbb\template\template $template
 051       * @param \phpbb\user $user User object
 052       * @param \phpbb\viglink\acp\viglink_helper $viglink_helper Viglink helper object
 053       * @param string $phpbb_root_path phpBB root path
 054       * @param string $php_ext PHP file extension
 055       */
 056      public function __construct(\phpbb\config\config $config, \phpbb\language\language $language, \phpbb\request\request_interface $request,
 057                                  \phpbb\template\template $template, \phpbb\user $user, \phpbb\viglink\acp\viglink_helper $viglink_helper,
 058                                  $phpbb_root_path, $php_ext)
 059      {
 060          $this->config = $config;
 061          $this->language = $language;
 062          $this->request = $request;
 063          $this->template = $template;
 064          $this->user = $user;
 065          $this->helper = $viglink_helper;
 066          $this->phpbb_root_path = $phpbb_root_path;
 067          $this->php_ext = $php_ext;
 068      }
 069   
 070      /**
 071       * {@inheritDoc}
 072       */
 073      static public function getSubscribedEvents()
 074      {
 075          return array(
 076              'core.acp_main_notice'                => 'set_viglink_services',
 077              'core.acp_help_phpbb_submit_before'    => 'update_viglink_settings',
 078          );
 079      }
 080   
 081      /**
 082       * Check if phpBB is allowing VigLink services to run.
 083       *
 084       * VigLink will be disabled if phpBB is disallowing it to run.
 085       *
 086       * @return void
 087       */
 088      public function set_viglink_services()
 089      {
 090          try
 091          {
 092              $this->helper->set_viglink_services();
 093          }
 094          catch (\RuntimeException $e)
 095          {
 096              $this->helper->log_viglink_error($e->getMessage());
 097          }
 098   
 099          if (empty($this->config['viglink_ask_admin']) && $this->user->data['user_type'] == USER_FOUNDER)
 100          {
 101              redirect(append_sid($this->phpbb_root_path . 'adm/index.' . $this->php_ext, 'i=acp_help_phpbb&mode=help_phpbb'));
 102          }
 103      }
 104   
 105      /**
 106       * Update VigLink settings
 107       *
 108       * @param array $event Event data
 109       *
 110       * @return void
 111       */
 112      public function update_viglink_settings($event)
 113      {
 114          $this->language->add_lang('viglink_module_acp', 'phpbb/viglink');
 115   
 116          $viglink_setting = $this->request->variable('enable-viglink', false);
 117   
 118          if (!empty($event['submit']))
 119          {
 120              $this->config->set('viglink_enabled', $viglink_setting);
 121              if (empty($this->config['viglink_ask_admin']))
 122              {
 123                  $this->config->set('viglink_ask_admin', time());
 124              }
 125          }
 126   
 127          $this->template->assign_vars(array(
 128              'S_ENABLE_VIGLINK'                => !empty($this->config['viglink_enabled']) || !$this->config['help_send_statistics_time'],
 129              'ACP_VIGLINK_SETTINGS_CHANGE'    => $this->language->lang('ACP_VIGLINK_SETTINGS_CHANGE', append_sid($this->phpbb_root_path . 'adm/index.' . $this->php_ext, 'i=-phpbb-viglink-acp-viglink_module&mode=settings')),
 130          ));
 131      }
 132  }
 133