aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-08-04Add explicit parameter types for the "exit" methodThomas Lange1-1/+1
2021-08-04Move error page logic into the Application classThomas Lange3-30/+16
Move the logic for generating the error pages into the Application class to remove this ugly "require" call in the error403 and error404 methods.
2021-08-04Add trailing slash to forbidden directory rulesThomas Lange2-2/+2
2021-08-03Update readme.mdThomas Lange1-2/+2
2021-08-03Show current page in categories <title> elementThomas Lange3-1/+12
Posts in a category are paginated, so display the number of the current page in square brackets within the categories <title> element.
2021-07-29Update the Apache and nginx configuration filesThomas Lange2-20/+27
2021-07-28Use foreach loop for registering the item routesThomas Lange1-34/+15
Reduce some boilerplate code in the index.php by using a foreach loop to register the routes for the various item controllers.
2021-07-28Migrator: Don't recreate Language object anymoreThomas Lange2-13/+12
Do not force the recreation of the Language object in the migrations.php file anymore by changing the include position of the migrations.php (and the functions.php) in the application.php file a bit to the top.
2021-07-28Add "required" attribute to required form fieldsThomas Lange8-15/+15
2021-07-24Update CSS for "code" tag in error message boxThomas Lange3-0/+13
2021-07-24Language: Put search query between HTML "code" tagThomas Lange2-2/+2
2021-07-24Show message if search was not successfulThomas Lange2-2/+12
Show a message in the administration area's post and page search form if the search query returned no results.
2021-07-24Create feed item's GUID manually in template fileThomas Lange3-13/+5
Do not rely on the "$POST['GUID']" template parameter anymore and create the GUID for the feed item manually in the feed item's template file. The application internal function "generatePseudoGUID" has been removed and the function "generateItemTemplateData" will not return the "GUID" part anymore (which was only used by the feed item template anyway). For backward compatibility, the "$POST['GUID']" template parameter will still be present in the feed item template, but not in other templates!
2021-07-24Remove configuration option "POST.FEED_GUID"Thomas Lange2-15/+5
Remove the configuration option "POST.FEED_GUID" that contained the name of the columns from the database which were passed to the SHA1 function for generating the pseudo GUID for the items in the RSS feed.
2021-07-24Use correct config option for redirect singlesThomas Lange4-4/+4
In addition to the last commit, use the correct configuration option in the code to check if single items should be redirected.
2021-07-24Rename configuration options "*.SINGLE_REDIRECT"Thomas Lange1-4/+4
Rename the config options "(CATEGORY|PAGE|POST|USER).SINGLE_REDIRECT" to to "(CATEGORY|PAGE|POST|USER).REDIRECT_SINGLE".
2021-07-23Decrease default feed size from 25 to 10 itemsThomas Lange1-1/+1
2021-07-22Add quick link from category item to post searchThomas Lange1-0/+1
Add a quick link to the post search in the administration area with the category of the item preselected to search only posts in this category.
2021-07-22Add "autofocus" attribute to HTML form fieldsThomas Lange8-8/+8
2021-07-22Add user and category filter on post searchThomas Lange3-2/+84
Add a user and category filter option for the post search in the administration area. Filter on default theme is followed later.
2021-07-22Move repository search functionality into a traitThomas Lange4-99/+109
Move the methods for the search functionality of the abstract Repository class into a separate trait and use it in the Page and Post repository. The reason because of this is that only the Page and Post repositories having a search functionality, while the other repositories have not.
2021-07-22Catch possible PDOException for search requestThomas Lange5-8/+46
Catch possible PDOException on search requests with queries like "*" and pass the exception message to the template for displaying.
2021-07-22Add pagination for search resultsThomas Lange7-15/+116
Add pagination for search results in the admin and default theme.
2021-07-22Bugfix: Escape "%" in URL params for sprintfThomas Lange1-0/+1
Escape possible percent characters ("%") in the URL params for sprintf. Otherwise the pagination template breaks if URL params which contain a percent sign are merged into the pagination URL.
2021-07-22Add LIMIT and OFFSET parameters for search methodThomas Lange1-3/+7
2021-07-22Merge GET parameters into pagination URLThomas Lange1-1/+4
2021-07-22Add demo category and update other demo entitiesThomas Lange1-4/+6
2021-07-22Do not redefine properties of Entity classThomas Lange4-12/+0
Do not redefine properties that are already defined in the Entity class.
2021-07-22Rename: Append "Repository" to repository classesThomas Lange6-22/+19
Rename the repository classes and append the name with "Repository" to prevent naming confusions with the entity classes.
2021-07-22Add /rsrc/ to .gitignore (and use absolute paths)Thomas Lange1-2/+3
2021-07-20Implement new *content functions* feature (readme)Thomas Lange3-1/+159
This commit implements a new feature called *content functions* that is similar but much more powerful than the already existing *content tags* which you may have already used (`{POST[1]}`, for example). You now can also add your own *content functions* to do some interesting things like embedding a YouTube video or other things to prevent typing repetitive lines of text or code in your entities content. Read the corresponding wiki page to learn more about this: https://github.com/Nerdmind/Blog/wiki/Content-functions
2021-07-20Rename and reorganize several "get count" methodsThomas Lange7-43/+49
2021-07-19Add and use new parser/transformer classesThomas Lange5-83/+171
Classes: * Parsers\ArgumentParser * Parsers\EmoticonParser * Parsers\MarkdownParser Interfaces: * Parsers\ParserInterface
2021-07-19Replace option $ITEM.EMOTICONS with WRAP_EMOTICONSThomas Lange2-23/+2
This commit adds the configuration option "WRAP_EMOTICONS" to supersede the configuration options "(CATEGORY|PAGE|POST|USER).EMOTICONS". If the value of "WRAP_EMOTICONS" evaluates to TRUE, the emoticons found in the content of an item will be wrapped into a "<span>" element which gives the user a description of the emoticon in the "title" attribute.
2021-07-17Reduce the redundant mapping logic in repositoriesThomas Lange2-49/+33
Reduce the redundant mapping logic in the repository classes by using the new methods "fetchEntity" and "fetchEntities".
2021-07-16Improve performance of parseUnicodeEmoticonsThomas Lange1-8/+10
Make the function parseUnicodeEmoticons significantly faster by using a single regex operation to match and process all unicode emoticons.
2021-07-16Drop support for parsing ASCII emoticonsThomas Lange1-39/+0
This commit drops support for parsing plain text ASCII emoticons like ":)" or ":P" to its unicode equivalent. Please use unicode emoticons directly (like those already proposed in the admin form templates).
2021-07-14Do some minor optimizations on the admin themeThomas Lange12-25/+25
* Add noisy background images * Rename SCSS/CSS file "main" to "bright" * Remove uppercase text-transform for headings * Replace hardcoded font sizes with SCSS variables * Decrease font size for category link in post item template * Move right-floated ID before the heading in the HTML markup to ensure it does not moves to the second line if the heading text is too wide.
2021-07-11Modify parameter list for getAll methodThomas Lange2-4/+5
2021-07-11Add template function to get data from a categoryThomas Lange1-3/+16
2021-07-11Remove wrapper function for strip_tagsThomas Lange1-9/+2
2021-07-11Reuse prepared statement in update methodThomas Lange1-4/+0
Reuse the already defined prepared statement in the update method of the Category repository instead of creating a new one.
2021-07-11Add missing comment block on 404.phpThomas Lange1-0/+3
2021-07-10Bugfix: Include correct variable in function scopeThomas Lange1-1/+1
Fix a bug which was introduced with the commit mentioned below that prevented the "$ITEM['BODY']['TEXT']()" function from returning the pre-parsed body of the item, because the variable was not in scope. See: bf57f3dcba5864b63882c273d25403c28637eeab
2021-07-10Remove pages from the RSS feed (readme)Thomas Lange15-122/+52
This commit removes the pages from the RSS feed. I decided so because a page is a "timeless" object intended for things like the imprint, about page, privacy policy and similar stuff. It also makes things easier. The new primary feed URL is "/feed/" and shows only posts. The page feed ("/feed/page/") has been removed and will throw a 404 Not Found error. The visitors who already subscribed to the old post feed ("/feed/post/") are automatically 301-redirected to the new location ("/feed/"). The following system language variables have been removed: * feed_name_items * feed_name_pages * feed_name_posts The following configuration options have been removed: * PAGE.FEED_SIZE * PAGE.FEED_SORT * PAGE.FEED_GUID Furthermore, the template file "feed/item_post.php" has been renamed to "feed/item.php" since there is now only one type of feed item. If the system cannot find the "feed/item.php", it tries "feed/item_post.php" instead (for backward compatibility with older themes).
2021-07-10Fix unequal grid item widths (and use fr unit)Thomas Lange4-39/+30
This commit fixes the inconsistent grid item widths in the form and item overview grid layout. It now also makes use of the fraction unit "fr". See: https://css-tricks.com/introduction-fr-css-unit/
2021-07-09Detect unsaved changes in content editorThomas Lange1-0/+31
This commit adds a bit of JavaScript code to detect unsaved changes in the content editor when trying to leave the page. The browser's default confirmation dialog is shown when unsaved changes are detected. This currently only covers the textarea of the content editor, not the other form fields. There may be a better solution (like LocalStorage), but it works for the moment. I'll add it to my TODO list...
2021-07-09Bugfix: Add CSS "word-break" propertyThomas Lange3-0/+3
2021-07-05Add dark color mode for admin themeThomas Lange9-8/+1281
This commit adds a dark color mode for the admin theme. The dark color mode can be enabled/disabled by clicking the hyperlink in the footer. It is not perfect yet (it uses cookies and needs a full page reload), but it works just fine for the moment. Hope your eyes can enjoy it!
2021-07-05Add SCSS variables and do some minor optimizationsThomas Lange10-819/+896
This commit adds and uses variables for the SCSS files. Additionally, some minor optimizations have been done on the theme's HTML/CSS code.