Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
This commit implements the new database schema Migrator which keeps
track of the on-disk schema and the schema used by the codebase. It
tries to makes future database schema upgrades user-friendlier.
|
|
This commit removes the migration number 5 which created the migration
table. The initialization of the migration table will be implemented in
the upcoming migration script by itself. Sorry!
If you recently installed the application with a fresh database which
contained the migration table, please manually set the schema_version
to 4. It is recommended to only install a specific tag instead of the
latest master branch unless you are a developer or know what you do.
UPDATE migration SET schema_version = 4
|
|
|
|
|
|
This commit adds new Repository and Entity classes which are better
abstracted from the rest of the application. They dont know anymore
about configuration options or how to parse to HTML because this is
not the job for the ORM but for other parts of the application.
The previous commits were a preparation for this big change.
An entity now represents just a single record from a specific table
of the database – nothing more. The repositories job is it to fetch
or update records of the database and instantiate the entities.
Another problem that was solved is the high amount of database queries
that was needed before. For example, on the blogs home page first were
all 10 latest post IDs fetched from the database and then another query
was executed with "WHERE id = :id" for *each* single post?! ...
This problem is solved with the new repository classes; they now use a
single query to fetch and build the entities of the 10 latest posts.
This change also solves the problem with database queries spread across
the application and limits the exzessive use of try/catch blocks which
were used before. The new classes make the whole code much cleaner. :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This commit replaces all calls to "$Item->getURL()" with calls to the
previously added "getEntityURL" method of the "Application" class.
|
|
This commit adds the method "getEntityURL" to the "Application" class.
This method takes an instance of "Item" as parameter and then builds
the absolute URL of the item from its attribute data.
|
|
|
|
|
|
|
|
|
|
|
|
This commit adds the directory core/db/migrations/ which contains all
migrations that were applied to the database since the first release.
|
|
Remove all try/catch blocks where the exception handling did not differ
from the exception handler already defined by "set_exception_handler".
|
|
Remove the redundant exception handler from core/application.php. The
exception handling in the catch block did not differ from the default
handler already defined by "set_exception_handler".
|
|
|
|
Introduce a new 1/2/3-column CSS grid layout in the administration area
for items on overview pages and in the search results. The column count
of the grid depends on the users viewport width.
In addition, the default value of the following configuration settings
has been changed to 12 because 12 can also be divided by 2 and 3 which
is useful for the 1/2/3-column grid layout.
ADMIN.PAGE.LIST_SIZE = 12
ADMIN.POST.LIST_SIZE = 12
|
|
Introduce the following configuration settings to make it possible to
use different settings for the number of displayed items and ordering
on the administration areas overview pages.
ADMIN.PAGE.LIST_SIZE
ADMIN.POST.LIST_SIZE
ADMIN.USER.LIST_SIZE
ADMIN.PAGE.LIST_SORT
ADMIN.POST.LIST_SORT
ADMIN.USER.LIST_SORT
|
|
This commit removes the "getRandomValue" function. In addition, the
Application class now calls PHPs "random_bytes" function directly.
|
|
This commit updates the Parsedown library to version 1.7.4. The patch to
prevent tab indentations in code blocks from being converted to spaces
is already applied here.
See: 78c5974cd34559d0130d8be509935e2c992cd9ca
|
|
In addition to the last commit, remove the unnecessary PHP closing tags from the end of the files and ensure that the files ending with an LF character.
|
|
Remove the unnecessary PHP closing tags and ensure that *all* text files ending with a LF character.
|
|
This commit changes the parseDatetime() function to use strftime() with locale support to replace the day-and-month name related parts within the format string. The strftime() function uses the locale defined by the LC_TIME or LC_ALL environment variable which can be set with PHPs own setlocale() function within the configuration.php.
|
|
This commit renames the "template" directory to "theme" because "theme" is the more correct term here.
|
|
|
|
|
|
We will now use this function (in addition to "parseEmoticons") to parse already UTF-8 encoded unicode emoticons (instead of the ASCII emoticons for which "parseEmoticons" is responsible) from the markdown content.
|
|
This function wraps all the UTF-8 encoded emoticons (from "getUnicodeEmoticons") found in $string into a "span" element with a "title" attribute, which will contain the emoticon explanation text.
|
|
This function returns an associative array with the UTF-8 encoded emoticon character as key and the corresponding explanation text as value.
|
|
This commit updates the Parsedown library to the latest version 1.7.1. The patch to prevent that tab indentations in code blocks are being converted to spaces (see 78c5974cd34559d0130d8be509935e2c992cd9ca) is already applied here. In addition, the patch file itself is now shipped within the same directory where the Parsedown.php resides.
|
|
Each option can be set to "TRUE" or "FALSE" (the default value is "FALSE"). For example, if you only have one user and "USER.SINGLE_REDIRECT" is set to "TRUE", then requests to "/user/" will be automatically redirected to "/user/username/".
|