Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-10477

Registration, forgot password broken

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.1.0-dev
    • Fix Version/s: 3.1.0-a1
    • Component/s: None
    • Labels:
      None

      Description

      Going to the login form and pressing "Forgot password" link produces:

      General Error
       
      Cannot find module ./includes/ucp/remind.php
      

        Issue Links

          Activity

          Hide
          imkingdavid David King added a comment - - edited

          The same thing happens for registration for me:

          General Error
           
          Cannot find module ./includes/ucp/register.php

          And for that matter, also on quick-mod tools:

          General Error
           
          Cannot find module ./includes/mcp/main.php

          Show
          imkingdavid David King added a comment - - edited The same thing happens for registration for me: General Error   Cannot find module ./includes/ucp/register.php And for that matter, also on quick-mod tools: General Error   Cannot find module ./includes/mcp/main.php
          Hide
          imkingdavid David King added a comment - - edited

          After some looking around, the code in functions_module.php is only looking for the new directory layout (i.e. includes/ucp/register.php) instead of the old (i.e. includes/ucp/ucp_register.php).

          Line 455 explains it:

          // new modules use the full class names, old ones are always called <type>_<name>, e.g. acp_board


          But no provisions are made to support the old format.

          EDIT: This commit seems to have introduced this behavior: https://github.com/phpbb/phpbb3/commit/fe4b8818ec1f448d5625534e5027cfbc1177ab9a#phpBB/includes/functions_module.php

          Show
          imkingdavid David King added a comment - - edited After some looking around, the code in functions_module.php is only looking for the new directory layout (i.e. includes/ucp/register.php) instead of the old (i.e. includes/ucp/ucp_register.php). Line 455 explains it: // new modules use the full class names, old ones are always called <type>_<name>, e.g. acp_board But no provisions are made to support the old format. EDIT: This commit seems to have introduced this behavior: https://github.com/phpbb/phpbb3/commit/fe4b8818ec1f448d5625534e5027cfbc1177ab9a#phpBB/includes/functions_module.php
          Hide
          imkingdavid David King added a comment - - edited

          What seems to work at least for the short term is changing (in ucp.php):

          $module->load('ucp', 'register');

          To:

          $module->load('ucp', 'ucp_register');

          Registration works after that change.

          EDIT: So, basically in mcp and ucp, the $module->load() calls need to be updated accordingly to support loading the class files. Not sure if that goes against the intention behind the directory format change.

          Show
          imkingdavid David King added a comment - - edited What seems to work at least for the short term is changing (in ucp.php): $module->load('ucp', 'register'); To: $module->load('ucp', 'ucp_register'); Registration works after that change. EDIT: So, basically in mcp and ucp, the $module->load() calls need to be updated accordingly to support loading the class files. Not sure if that goes against the intention behind the directory format change.
          Hide
          Oleg Oleg [X] (Inactive) added a comment -

          (20:57:05) nn-: imkingdavid: have you looked at the functional tests we have in 3.1?
          (20:57:18) nn-: and hi
          (20:57:31) imkingdavid: nn-: not exactly, no
          (20:57:48) nn-: i would like to add tests for obviously broken pages
          (20:57:59) nn-: e.g. even going to password recovery page doesn't work
          (20:59:02) nn-: we should be permanently eradicating the possibility of having such breakage
          (20:59:28) imkingdavid: from what I understand, nils changed $module->load() to no longer recognize files that are located at xcp/xcp_class.php because it's only looking for xcp/class.php
          (21:00:42) nn-: my first reaction is files should be renamed
          (21:00:51) nn-: but i haven't looked into it too closely
          (21:01:06) nn-: is any part of xcp working?
          (21:01:17) nn-: if so those file names are the correct ones
          (21:02:02) imkingdavid: to fix ucp_register.php for example I changed $module->load('ucp', 'register'): to $module->load('ucp', 'ucp_register');
          (21:02:34) imkingdavid: I haven't tested all of the xcp modules, but I assume it'll need the same fix
          (21:02:41) imkingdavid: or else rename the file to ucp/register.php
          (21:03:35) nn-: i seem to recall some of the modules getting fixed
          (21:05:32) nn-: https://github.com/naderman/phpbb3/commit/7b12bba95bb7c59bde65e8ea1ffb1275944fd965
          (21:06:25) nn-: i don't entirely understand what is going on there, having no experience with xcp modules
          (21:06:32) imkingdavid: same, tbh
          (21:07:36) imkingdavid: we'll need to talk to nils but I think we have to either rename the xcp classes ("register.php" instead of "ucp_register.php") that are loaded via $module->load() or else change the text in that function call (e.g. "ucp_register" instead of "register")
          (21:07:42) nn-: naderman should inform us as to what was intended, renaming of all files or compat layer
          (21:08:06) nn-: i'm guessing a rename might result in massive merge conflicts in which case it would be a suboptimal solution
          (21:08:29) imkingdavid: yeah

          Show
          Oleg Oleg [X] (Inactive) added a comment - (20:57:05) nn-: imkingdavid: have you looked at the functional tests we have in 3.1? (20:57:18) nn-: and hi (20:57:31) imkingdavid: nn-: not exactly, no (20:57:48) nn-: i would like to add tests for obviously broken pages (20:57:59) nn-: e.g. even going to password recovery page doesn't work (20:59:02) nn-: we should be permanently eradicating the possibility of having such breakage (20:59:28) imkingdavid: from what I understand, nils changed $module->load() to no longer recognize files that are located at xcp/xcp_class.php because it's only looking for xcp/class.php (21:00:42) nn-: my first reaction is files should be renamed (21:00:51) nn-: but i haven't looked into it too closely (21:01:06) nn-: is any part of xcp working? (21:01:17) nn-: if so those file names are the correct ones (21:02:02) imkingdavid: to fix ucp_register.php for example I changed $module->load('ucp', 'register'): to $module->load('ucp', 'ucp_register'); (21:02:34) imkingdavid: I haven't tested all of the xcp modules, but I assume it'll need the same fix (21:02:41) imkingdavid: or else rename the file to ucp/register.php (21:03:35) nn-: i seem to recall some of the modules getting fixed (21:05:32) nn-: https://github.com/naderman/phpbb3/commit/7b12bba95bb7c59bde65e8ea1ffb1275944fd965 (21:06:25) nn-: i don't entirely understand what is going on there, having no experience with xcp modules (21:06:32) imkingdavid: same, tbh (21:07:36) imkingdavid: we'll need to talk to nils but I think we have to either rename the xcp classes ("register.php" instead of "ucp_register.php") that are loaded via $module->load() or else change the text in that function call (e.g. "ucp_register" instead of "register") (21:07:42) nn-: naderman should inform us as to what was intended, renaming of all files or compat layer (21:08:06) nn-: i'm guessing a rename might result in massive merge conflicts in which case it would be a suboptimal solution (21:08:29) imkingdavid: yeah
          Hide
          Oleg Oleg [X] (Inactive) added a comment -
          Show
          Oleg Oleg [X] (Inactive) added a comment - First I did https://github.com/p/phpbb3/compare/develop...ticket%2F10477-v1 but then I thought https://github.com/p/phpbb3/compare/develop...ticket%2F10477-v2 was actually intended considering autoloading.
          Hide
          brunoais brunoais added a comment -

          Tried to reproduce.

          • Go to the login screen
          • Press "I forgot my password"

          The use case described was not reproduced. Sounds solved to me.

          Show
          brunoais brunoais added a comment - Tried to reproduce. Go to the login screen Press "I forgot my password" The use case described was not reproduced. Sounds solved to me.

            People

            • Assignee:
              naderman Nils Adermann
              Reporter:
              Oleg Oleg [X] (Inactive)
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development