* feat(install, svn): remove svn
Remove everything related to svn.
Rename uoj-svn-lib to uoj-data-lib.
Save preparing problem data to /var/uoj_data/prepare/problem_id.
* Typo: uoj_date -> uoj_data
* add: backward compatibility
BREAKING CHANGE: Preparing problem data location is changed
You need to move files from /var/svn/problem/{id}/cur/{id}/1 to
/var/uoj_data/upload/{id}
The system will get the time_limit and memory_limit from problem.conf automatically. In addition, the problem that doesn't have any data will show: time_limit: N/A memory_limit: N/A
When a blogs was saved, only links of form "/blog/id/write" was
returned, ignoring username. Under a subdomain
("user.blog.site/blog/id/write") this is fine, but it does not work if
a subdomain is not used ("site/blog/id/write"). `HTML::blog_url` should
be called to return the links.
Also, DB::insert_id is called before actually inserting the blogs to get
the new blog's id. This sometimes return a 0, especially when the user
has just deleted a blog. DB::insert_id should be called after the
insert instead.
There is subfolder in the uploaded data archive file, we can now process it.
We will move files in the subfolder out to the data rootdir of current problem.
If you have some data archives with subfolder, don't need to repack them manually.
In the previous version when upload a zip online, even
if it is a real zip file the system refuses to accept.
Just simply disabled this function but it is not suitable.
We found that there is not just one MIME type for zip file.
So we add another common zip MIME types to temporarily solve it.
When managing data, there will be a preview of test data or validator binary file.
But in PHP7 the prefiew of test data text file or problem.conf text file is not shown.
After my test it is caused by file_get_contents() when passing offset with -1.
It is strange that the manual on php.net in Chinese the default of $offset is -1,
but in English the default of $offset is 0. Use -1 will get nothing, 0 instead is fine.
The commit also change uojFilePreview() that can also be used as viewing binary file.
For backwards compatibility, we just set text as the default file type and no need to specify.
When printing the table of Judgement Failed items at super-manage, there is nothing shown.
It caused by using echoSubmissionsList(), arguments that 3 passed but exactly 4 expected.
So add the missing argument, and let the result hidden because we select an exact result.
Also, because of the typo of "Judgement", there will be nothing shown if
only fixed too few arguments. This commit changes it too.
When logout by clicking logout button on the top of /user/modify-profile link, you will be redirected to the login page.
But if you login immediately then you will get the login page again and loop.
It is caused by an address checking error. Now try to fix.
In order to support PHP7, change the way to operate database. PHP7
removed the mysql extension, so the old way to operate database is
not usable. This commit use a new way to operate database.
BREAKING CHANGE: the way to operate database has changed.