aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-04-01Add method "getSearchResults" to Page and Post classThomas Lange2-0/+35
2018-04-01Add method "getUserAttribute" to Page and Post classThomas Lange2-0/+16
2018-04-01Add method "buildByAttribute" and use it in "buildBySlug"Thomas Lange1-1/+13
This commit adds the method "buildByAttribute" to the ItemFactory and is used from now within the method "buildBySlug" to create the Item instance.
2018-04-01Add possibility to create instance with Attribute as first parameterThomas Lange2-2/+13
2018-04-01Add method "getByField"Thomas Lange1-0/+17
2018-03-29Update Parsedown library to version 1.7.1v2.4.2Thomas Lange2-24/+195
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.
2018-02-24Make some minor changes to the contentThomas Lange1-5/+4
2018-02-14Add configuration option "$ITEM.SINGLE_REDIRECT"Thomas Lange4-3/+36
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/".
2018-01-09Fix spelling mistake in commentsThomas Lange1-2/+2
2018-01-08Bugfix: Incorrect behavior of the "truncate" function in some circumstances:Thomas Lange1-2/+5
If the first word from $string was longer than $length characters, then the regular expression had not truncated the string at all (for example, a string with a total length of 2000 characters was displayed without any cut, but with the $replace string at the end). This bug has been reported by Markus Hackspacher (https://github.com/MarkusHackspacher).
2017-11-29The "cut" function has been optimized and renamed to "truncate". In ↵Thomas Lange1-7/+8
addition, the $replace parameter is now an empty string by default.
2017-11-28Bugfix: The "excerpt" function had returned a string with unnecessary ↵Thomas Lange1-2/+3
whitespace between the truncated text and the $replace string ("[…]") if the truncated text from the regular expression had contained whitespace at the end (before it was concatenated with $replace). This issue has been fixed by passing the truncated text directly after truncation to the "trim" function (before the truncated text is concatenated with $replace). In addition, the now unnecessary "trim" call within the "excerpt" function has been removed.
2017-11-24Fixed a spelling mistake in several comments:Thomas Lange6-8/+8
It's called "override" instead of "overwrite" in those contexts.
2017-11-20The rem units in media queries have been replaced by simple em units.Thomas Lange2-4/+4
2017-11-13The default value for "PATHINFO.PROT" is now "https" if ↵Thomas Lange1-2/+2
$_SERVER['REQUEST_SCHEME'] is not defined (https://github.com/Nerdmind/Blog/issues/8). In addition, the default value for "PATHINFO.HOST" is now "localhost" if $_SERVER['HTTP_HOST'] is not defined.
2017-11-04The Parsedown library has been patched to prevent tab indentations from ↵Thomas Lange1-21/+10
being converted to spaces: For example, if you had used the markdown syntax for displaying source code in your post, Parsedown had replaced your semantically correct tab indentations with hard spaces. This behavior meant that the code that was displayed after parsing was no longer exactly the code you inserted into the content editor. If someone had copied source code from your post into his IDE, then your tab indentations were gone because of the spaces. That's why I hacked the Parsedown library and created a patch: https://github.com/erusev/parsedown/issues/508
2017-11-02A new action link has been added to the item overview pages and the CSS was ↵Thomas Lange4-16/+31
optimized to give them a new look.
2017-11-02The item insert link have been removed from the search pages.Thomas Lange2-8/+2
2017-11-02The item overview links have been removed from the dashboard because there ↵Thomas Lange1-3/+0
are already such links within the navigation.
2017-11-02The "title" attribute has been added to the user link.Thomas Lange2-2/+2
2017-11-02The colon characters for the key-value arguments were moved directly into ↵Thomas Lange4-3/+4
the <strong> tags. A CSS optimization was additionally made.
2017-10-31The hyperlink for bug reports has been changed to github.com.Thomas Lange1-1/+1
2017-10-31The use of a nonexistent CSS class has been removed.Thomas Lange3-3/+3
2017-10-24You can now access item data in the main.php template (the file which ↵Thomas Lange3-0/+14
contains the basic HTML framework) for pages, posts and users. This makes it possible to use the optional argument field in the content editor to add additional HTML <meta> tags (or something else) for a specific page, post or user if you implement this functionality into your template. The following snippet shows how you can access the item data in the main.php template and which parameters are defined for each type of item (currently, there are three types: PAGE, POST and USER): if(isset($TYPE)) { switch($TYPE) { case 'PAGE': # $PAGE and associated $USER is accessible var_dump($PAGE['ARGV']); break; case 'POST': # $POST and associated $USER is accessible var_dump($POST['ARGV']); break; case 'USER': # $USER is accessible var_dump($USER['ARGV']); break; default: # Nothing } }
2017-10-24Database update: The maximum amount of characters for the argument field has ↵v2.4.1Thomas Lange4-6/+6
been increased from 100 to 250. Database update to version 2.4.1 (no existing data will be lost or changed): ALTER TABLE `page` MODIFY `argv` VARCHAR(250); ALTER TABLE `post` MODIFY `argv` VARCHAR(250); ALTER TABLE `user` MODIFY `argv` VARCHAR(250);
2017-10-24Some comments have been updated, unnecessary whitespace at the end of some ↵Thomas Lange26-34/+33
files was removed and some missing PHP closing tags were added.
2017-10-23CSS: Unnecessary height property removed.Thomas Lange1-1/+1
2017-10-23There was a tiny mistake in the previous commit which has been fixed.Thomas Lange1-1/+2
2017-10-23An overwrite mechanism for the application's configuration has been ↵Thomas Lange2-85/+65
implemented. This makes the configuration.php much cleaner and you only have to define configuration values if the default values doesn't satisfy you. In addition, it makes it easier to implement new configuration values to the core without the need, that the users have to update their personal configuration.php files manually.
2017-10-23The methods "setCookie" and "getCookie" have been added to the HTTP class.Thomas Lange1-0/+14
2017-10-22Implemented: A full-text search functionality for posts and pages in the ↵Thomas Lange14-6/+238
administration area. In addition, some markup within the "/*/index.php" files of the admin template was re-formatted.
2017-10-14A new Font Awesome icon was added to the admin template. This icon is used ↵Thomas Lange3-0/+7
later for the coming search function in the administration area.
2017-10-13WARNING: This commit updates the table engine for the "post" table from ↵v2.4Thomas Lange1-10/+20
MyISAM to InnoDB and results in version 2.4. The only reason why the post table originally used MyISAM instead of InnoDB as engine was because the post table had a FULLTEXT index, which was only possible with MyISAM tables on MySQL versions smaller than 5.6 and MariaDB versions smaller than 10.0.5. However, MyISAM tables do not know foreign keys, so no relationship between the post and the user table could be established (which is bad for data integrity). In newer versions of MySQL or MariaDB are FULLTEXT indexes also possible on InnoDB tables. So, we can now update the post table to InnoDB to keep the FULLTEXT search functionality and we can add a foreign key for data integrity. This means for you: If you are already using a recent version of MySQL or MariaDB, you can safely make the update (always make a backup first). If you are not using at least MariaDB 10.0.5 or MySQL 5.6, you will have to wait with this (and all further) commits / updates until you have upgraded your database server to a more recent version. Database update to version 2.4 (no existing data will be lost or changed): ALTER TABLE `post` ENGINE=InnoDB; ALTER TABLE `post` DROP INDEX `body`; ALTER TABLE `page` ADD FULLTEXT KEY `search` (`name`, `body`); ALTER TABLE `post` ADD FULLTEXT KEY `search` (`name`, `body`); ALTER TABLE `post` ADD CONSTRAINT `post_user` FOREIGN KEY (`user`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
2017-10-10The heading icon on the form pages has been changed.Thomas Lange6-6/+6
2017-09-16The original font "Font Awesome" has been replaced by a minimized version ↵Thomas Lange4-3/+193
from Fontello.com, which contains only the absolutely necessary icons. This reduces the size of the font file to download to approximately 70 kilobytes. This is beneficial for smartphone users who have an extremely throttled data connection (for example, 32 KBit/s – yes, no joke!), which is not unusual in Germany where mobile internet is still expensive. On the other hand, it is always a good idea to load only what is really necessary. And why always (with cold browser cache) download unnecessary 70 kilobytes, when it is not necessary?
2017-09-15The IDs of the items in the overview lists of the admin template are now no ↵Thomas Lange4-5/+9
longer displayed within a <h2> element and have been moved to the underlying <div> element.
2017-09-15A tiny mistake in the german core translation has been fixed.Thomas Lange1-1/+1
2017-09-15All occurrences of "var" have been replaced by the new introduced keywords ↵Thomas Lange2-25/+25
"const" and "let" from ECMAScript 6 (2015), which scopes the variables to the nearest enclosing block instead of the nearest function block.
2017-09-15The unnecessary second list for the "Login" and "Logout" list points in the ↵Thomas Lange2-15/+12
main navigation of the admin template have been removed.
2017-09-15An invisible text has been added to each action icon in the item list of the ↵Thomas Lange4-10/+10
admin template so that users who do not have CSS enabled or using a web browser such as "Lynx" are able to understand and click the links (instead of seeing an empty and unclickable list item with no further information).
2017-09-14Some markup optimizations has been made to both templates (the HTML5 ↵Thomas Lange17-79/+63
<article> element is more correct for the purpose of an item list, because real lists should only be used if the order of the items would change the meaning. This is not the case, because each item is a self-contained area which has nothing to do with the other items).
2017-09-02Some HTML and CSS optimizations has been made to the standard template and ↵Thomas Lange4-12/+12
the "title" attribute was added to every heading link in the item list.
2017-09-02Bugfix: An undefined array index "NAME" was used in the user navigation ↵v2.3.1Thomas Lange1-2/+2
instead of the existing index "FULLNAME". This problem has existed since the first initial commit and was only present when more than one user had existed (it did not have affected the functionality of the navigation itself).
2017-09-02Multiple <section> elements were replaced by simple <div> elements. If a ↵Thomas Lange6-19/+19
container element is only used for the CSS and has no semantic meaning, then a <section> element is definitely wrong for this purpose.
2017-09-02Some code optimizations has been made in admin/index.php to prevent ↵Thomas Lange2-8/+12
duplicate definitions of the same SQL query. Additionally, the default database fetch mode was changed to FETCH_ASSOC.
2017-09-02An unnecessary "else" block in admin/auth.php was removed and spelling ↵Thomas Lange3-23/+18
mistakes and inconsistencies in some comments were corrected.
2017-08-13A missing Font Awesome icon for the login page was added to the admin template.Thomas Lange1-1/+1
2017-08-11Several changes have been made in this commit, which together with the ↵v2.3Thomas Lange44-148/+154
previous commits result in version 2.3: + Optimization: Originally, the core and template languages were completely separated in the logic of the Language class and you had to use "$Language->text()" to get a core language string and "$Language->template()" to get a template language string. Since this commit, the core and template language strings are still located in different files, but you now have to use "$Language->text()" for core and template language strings both. Thus, you can now even overwrite a core language string from the language file of a template if the core language string does not satisfy you. + Deprecated: The method "$Language->template()" was marked as deprecated and will be removed in further versions (currently, it's just an alias for "$Language->text()"). Template upgrade to version 2.3 (only for customized templates): SEARCH: $Language->template REPLACE: $Language->text
2017-08-10The SQL queries for the HTTP ETag header generation have been combined into ↵Thomas Lange1-11/+8
one single query. In addition, some meaningless code was removed.
2017-08-02The <title> and <link> elements within <image> should have the same value as ↵Thomas Lange1-1/+1
the <title> and <link> elements within <channel>. This is described in the RSS 2.0 specification.