Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Discuz! X2.5 and Discuz! UCenter 1.6.0 converters #230

Closed
wants to merge 57 commits into from

Conversation

yuliu
Copy link
Member

@yuliu yuliu commented Aug 3, 2019

Add support for converting Discuz! X2.5, dzx25.
Add support for converting Discuz! UCenter 1.6.0, dzucenter. UCenter 1.6.0 is used across Discuz! version from X2.5 to X3.x.

Although X2.5 is an older version (latest release is in 2017), support for converting X3.x are planned. Placeholders in the loginconvert.php plugin are just fine.

Resolve #229, without which some modules must be disabled in the dzx25 converter. It's compatible with existing modules.
Also try to fix #226, the UTF-8 problem. See the encode_to_utf8() function in the board's class.

By the day, I implemented a lot of switches to turn some features on/off, read the README.me files in these two converters for details. The last but not the least, the dzx25 converter has a built-in generator for URLs redirecting, which is disabled by default. Use it at your own risk.

yuliu added 30 commits June 21, 2019 19:28
* Fix a constant define.
? Modify merge system's internal functions to fix Chinese UTF-8 converting problem.
…rt_ucusers](https://github.com/yuliu/mybb-merge-system/wiki/import_ucusers)

+ Add `class_dependencies` field in main Board converter file.
* Modified `index.php` to allow customed `import_` modules derived from MyBB Merge System's internal base abstract classes in `./merge/resources/modules`.
* Modified `class_converter.php` to allow different database connections.
* Modified `functions.php` to allow encoding setting when using the customized `dz_my_strtolower` function.
…g in mb* function to support whole charset of `gbk`.

+ Add `users` module.
+ Add useful default values for Discuz! import_ucuser module.
* Remove any non-system usergroups in default usergroup mapping.
* Fix duplicated user checking in Discuz! import_ucuser module, since UCenter's email field length is less than Discuz!'s.
* Fix duplicated user data merging.
* Always use the same mb_strtolower() or strtolower() to avoid UTF-8 converting issues.
* Remove UCenter import_uid define marco since it's useless.
* Fix import module dependencies checking mechanism.
* Minor changes.
* Fix custom module dependency problem.
* Change `userfields` dependency to none.
* Add `usergroups` to `forumperms` dependencies to rely on usergroup's default permissions.
+ Add threadprefixes cache support for future import features like threads.
* Minor changes.
* Revert a change in `userfields`. All modules needs review, because I got the knowledge that MySQL returns results as string in any column in PHP.
+ Add `threads` module.
* Revert a change in `userfields`. All modules needs review, because I got the knowledge that MySQL returns results as string in any column in PHP.
* Make `dz_unserialize()` a member function of Discuz! converter.
* Move some common functions into converter's class.
* Fix moved thread information.
* Minor changes.
? Code should be reviewed and some functions added in `./resources/functions.php` may be moved to the converter's class.
…sted [size], [color], etc., are not well handled. HTML output needs fix on tags without a closing tag.

+ Add a cleanup() function in `posts` module to clean any thread that has no post in it.
* Fix moved thread importing issue.
* Fix several parser issues.
* Minor changes.
* Fix bugs. Still so many bugs there.
… to MyBB only support font name with very basic ASCII characters.
…month` folder under MyBB's upload path.

? Mime type recognition in older version of PHPs are problematic, so the importer use a mime types table from Apache HTTPd.
+ Add UCenter/Discuz! user login in `loginconvert.php`.
* Separate UCenter importer from Discuz! X2.5 importer.
* Revert changes in `./resources/functions.php` and `./resources/class_converter.php`. Customized functions now reside in the converter's class.
yuliu and others added 23 commits July 17, 2019 20:28
…rred file is not a valid image file, since it's limited by PHP GD that is the default used by MyBB. However, the file of original width and height is still saved.
…y if it's not been set, to avoid double headers appear.

* Still in the `cleanup()` of the `posts` module, fix the the internal progress indicator to make `rebuild_thread_counters()` working correctly.
+ Add a constant of switching `users`'s dependency on `settings`.
* Minor changes.
* Changes in `README.md` in Discuz! X2.5 and Discuz! UCenter converters.
* Change redirect files to be generated in a folder under MyBB's upload path.
…dules in Discuz! X2.5. All available redirects should be generating correctly now.

? Major coding of Discuz! X2.5 and UCenter converters is near its completion, code tidy and clean up is following up.
Merge from mybb/merge-system:feature
In `posts` module of `dxz25`, if a post content is empty, use subject of this post instead.
Code cleanup.
@yuliu
Copy link
Member Author

yuliu commented Aug 5, 2019

Sorry for my inexperienced using of git. I've some questions here:

  1. Should I just copy my code into a new branch without checkout to avoid so many in-development commits, which looks rather odd, but just one or a very few commits?
  2. The redirects generator is not a original feature that comes with the Merge System. It works as trying to generate some PHP files allowing redirects, let's say a URL like http(s)://PATH_TO_DISCUZ/forum.php?mod=forumdisplay&fid=333 to http(s)://PATH_TO_MYBB/forumdisplay.php?fid=333 with a HTTP 301 header. Should I remove it when I pull a request to mybb's merge-system repo?
  3. I've made a lot of switches for a user to control the converting, some of which are trying to solve Discuz! problems, is this acceptable?

If anything breaks MyBB's rules, please close this PR, and I'll try to push a more standard one. 😳

@ShikiSuen
Copy link

I wonder why Discuz converters are not included in the official release.

@yuliu
Copy link
Member Author

yuliu commented Jan 12, 2020

@ShikiSuen probably Discuz! that is favored by east-Asian forum ownsers isn't popular across the whole wold.

@ShikiSuen
Copy link

ShikiSuen commented Jan 12, 2020

@ShikiSuen probably Discuz! that is favored by east-Asian forum ownsers isn't popular across the whole wold.

That's not the reason. Discuz is "dying" from new-tech-lovers' perspective, and is mainly for people who have extremely little ability to maintain web servers by themselves. There are lots of users who want to try new forums.

By the way, thank you for the Discuz x2 converter you wrote.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants