Details

    • Type: New Feature
    • Status: Unverified Fix
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0-dev
    • Fix Version/s: 3.1.0-a1
    • Component/s: Extensions
    • Labels:
      None

      Description

      Extensions are meant to allow new features to be added without file modifications, but currently there is no way to add a feature that is accessible via a front-facing file. According to discussion here the best way appears to be routing the user through index.php and specifying the extension in the query string. The "front" file (still contained in the extensions directory) would be loaded as if in root, instead of index.php.

      Basically, the way I see this being implemented is modifying the start of index.php to check for an ext value in the query string, and then checking to see if an extension matches. Then, if so, it looks for a file designated as a front-facing file to include. Note that the font-facing file, as such, should not have the normal file header stuff (user setup, etc.) because it is already in index.php

      Of course, there may be better implementations, so speak up if you have a better idea.

      EDIT: After looking at it, it may be best to require that the front facing file be called "index.php" within the extenion's directory?

        Issue Links

          Activity

          Hide
          imkingdavid David King added a comment - - edited

          EDIT: Updated logic flow:
          When index.php?ext=XX/XX is given, it looks for in phpBB/ext/XX/YY/controller.php with class phpbb_ext_xx_yy_controller that implements phpbb_extension_controller_interface. If it exists and is enabled, call the handle() method. Otherwise, give an error, depending on what the problem is.

          Pretty simple.

          Show
          imkingdavid David King added a comment - - edited EDIT: Updated logic flow: When index.php?ext=XX/XX is given, it looks for in phpBB/ext/XX/YY/controller.php with class phpbb_ext_xx_yy_controller that implements phpbb_extension_controller_interface. If it exists and is enabled, call the handle() method. Otherwise, give an error, depending on what the problem is. Pretty simple.
          Hide
          imkingdavid David King added a comment -

          Ready for merge, I think?

          Show
          imkingdavid David King added a comment - Ready for merge, I think?

            People

            • Assignee:
              imkingdavid David King
              Reporter:
              imkingdavid David King
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development