Darth-Apple / BAM

Board Announcements Manager (MyBB Plugin)
GNU General Public License v3.0
2 stars 3 forks source link

Improve the URL parser. #36

Closed Darth-Apple closed 4 years ago

Darth-Apple commented 4 years ago

This is the final issue that requires competion before BAM 2.0 is ready for release. Development is otherwise complete.

A lot of work has been going on to significantly improve the URL parser. However, this is highly advanced and experimental functionality. This must generally work for almost all links pasted into this field before it will be ready for release.

Currently, it lacks:

Additionally, it has some bugs associated with rare PID-only showthread.php URLs that are generated. (Fix is written, will be comitted soon).

I do not feel comfortable releasing BAM 2.0 with a URL parser if it does not work consistently. If anyone has some technical expertise here, please reach out! As BAM is fully open-source, collaboration is encouraged to improve the final release!

Darth-Apple commented 4 years ago

Changes will be comitted once ready. URL rewrites for MyBB's default are now handled within BAM. Google SEO's rewrites will be easy to extend by extending the preg_replace array.

The new version of BAM will include both MyBB's native URL rewrites, as well as the Google SEO plugin's rewrites. Other rewrite schemes will not be supported, but are rarely used on the vast majority of forums, so this should be a non-issue.

Darth-Apple commented 4 years ago

Completely fixed. Google SEO plugin support is unofficially added. More testing is required to make this a fully documented feature, but the rewrite rules are loaded when Google SEO is activated. This should work adequately until proper testing can verify its reliability.

MyBB's built in rewrites are fully supported and tested. Additionally, the URL parser now properly converts PIDs to TIDs when only the PID is provided, and supports group IDs for specific pages that involve usergroup membership.

Additionally, the next commit will include specific changes that do further validation on URLs to ensure that they are properly formatted. (forumdisplay.php?action=something?fid=index.php will be rejected, for example)