├── .gitignore ├── .htaccess ├── LICENSE ├── README.md ├── app ├── config.ini ├── controller │ ├── auth.php │ ├── backend.php │ ├── base.php │ ├── comment.php │ ├── dashboard.php │ ├── post.php │ ├── resource.php │ ├── settings.php │ ├── tag.php │ └── user.php ├── data │ ├── config.json │ ├── fblg_comments │ ├── fblg_posts │ ├── fblg_posts__tags_mm_fblg_tags__post │ ├── fblg_tags │ └── fblg_user ├── dict │ ├── de.ini │ └── en.ini ├── inc │ ├── config.php │ ├── errorrenderer.php │ ├── files.php │ ├── setup.php │ ├── storage.php │ ├── template │ │ ├── fooforms.php │ │ ├── taghandler.php │ │ └── tags │ │ │ ├── image.php │ │ │ ├── input.php │ │ │ └── select.php │ └── validation.php ├── model │ ├── base.php │ ├── comment.php │ ├── post.php │ ├── tag.php │ └── user.php ├── routes.ini ├── routes_admin.ini ├── ui │ ├── css │ │ ├── backend.css │ │ ├── bootstrap.min.css │ │ ├── code.css │ │ ├── datepicker.css │ │ ├── font-awesome.min.css │ │ ├── jquery.fileupload.css │ │ ├── slate_bootstrap.min.css │ │ ├── summernote-bs3.css │ │ ├── summernote.css │ │ └── tagmanager.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ ├── ico │ │ ├── apple-touch-icon-114-precomposed.png │ │ ├── apple-touch-icon-144-precomposed.png │ │ ├── apple-touch-icon-57-precomposed.png │ │ ├── apple-touch-icon-72-precomposed.png │ │ └── favicon.png │ ├── images │ │ ├── fabulog-small.png │ │ ├── fabulog.png │ │ ├── loading.gif │ │ └── pattern │ │ │ ├── escheresque.png │ │ │ └── escheresque_ste.png │ ├── js │ │ ├── app.js │ │ ├── bootstrap-datepicker.js │ │ ├── cors │ │ │ ├── jquery.postmessage-transport.js │ │ │ └── jquery.xdr-transport.js │ │ ├── editor.js │ │ ├── jq_borderflow.js │ │ ├── jquery.fileupload-jquery-ui.js │ │ ├── jquery.fileupload-process.js │ │ ├── jquery.fileupload-ui.js │ │ ├── jquery.fileupload-validate.js │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── login.js │ │ ├── summernote.min.js │ │ ├── tagmanager.js │ │ ├── typeahead.min.js │ │ └── vendor │ │ │ ├── bootstrap.min.js │ │ │ ├── html5shiv.js │ │ │ ├── jquery.js │ │ │ ├── jquery.ui.widget.js │ │ │ └── respond.min.js │ └── templates │ │ ├── alert.html │ │ ├── comment_edit.html │ │ ├── comment_layout.html │ │ ├── comment_list.html │ │ ├── error.html │ │ ├── install.html │ │ ├── layout.html │ │ ├── login.html │ │ ├── overview.html │ │ ├── pagebrowser.html │ │ ├── post_edit.html │ │ ├── post_layout.html │ │ ├── post_list.html │ │ ├── settings_database.html │ │ ├── settings_general.html │ │ ├── settings_layout.html │ │ ├── user_edit.html │ │ ├── user_layout.html │ │ └── user_list.html └── view │ ├── backend.php │ ├── base.php │ ├── frontend.php │ └── json.php ├── composer.json ├── composer.lock ├── index.php ├── res ├── geburtstag.jpg ├── koala.gif ├── luxuryliving-940x360.jpg ├── projekte-erfolgreich.jpg └── we-can-do-it-square.jpg ├── tmp └── placeholder └── ui ├── css ├── bootstrap.min.css └── styles.css ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff └── glyphicons-halflings-regular.woff2 ├── ico ├── apple-touch-icon-114-precomposed.png ├── apple-touch-icon-144-precomposed.png ├── apple-touch-icon-57-precomposed.png ├── apple-touch-icon-72-precomposed.png ├── favicon.ico └── favicon.png ├── images ├── concrete_wall.png ├── diagmonds.png ├── diagmonds2.png ├── diagmonds3.png ├── fabulog.png ├── flowers.png └── type.png ├── js ├── bootstrap.js ├── bootstrap.min.js ├── fancybox │ ├── blank.gif │ ├── fancybox_loading.gif │ ├── fancybox_loading@2x.gif │ ├── fancybox_overlay.png │ ├── fancybox_sprite.png │ ├── fancybox_sprite@2x.png │ ├── helpers │ │ ├── fancybox_buttons.png │ │ ├── jquery.fancybox-buttons.css │ │ ├── jquery.fancybox-buttons.js │ │ ├── jquery.fancybox-media.js │ │ ├── jquery.fancybox-thumbs.css │ │ └── jquery.fancybox-thumbs.js │ ├── jquery.fancybox.css │ ├── jquery.fancybox.js │ └── jquery.fancybox.pack.js ├── html5shiv.js ├── jquery.js ├── main.js └── respond.min.js └── templates ├── error.html ├── layout.html ├── pagebrowser.html ├── post_list.html └── post_single.html /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | /tmp/ 3 | /res/ 4 | /ui/compressed/ 5 | /.git/ 6 | /vendor/bcosca/fatfree-core/.git/ 7 | /vendor/ikkez/f3-assets/.git/ 8 | /vendor/ikkez/f3-cortex/.git/ 9 | /vendor/ 10 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | # Enable rewrite engine and route requests to framework 2 | RewriteEngine On 3 | 4 | # Some servers require you to specify the `RewriteBase` directive 5 | # In such cases, it should be the path (relative to the document root) 6 | # containing this .htaccess file 7 | # 8 | # RewriteBase / 9 | 10 | RewriteCond %{HTTP_HOST} ^www\. 11 | RewriteCond %{HTTPS}s ^on(s)|off 12 | RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$ 13 | RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L] 14 | 15 | RewriteRule ^(dict|ns|app/data|tmp)\/|\.ini$ - [R=404] 16 | 17 | RewriteCond %{REQUEST_FILENAME} !-l 18 | RewriteCond %{REQUEST_FILENAME} !-f 19 | RewriteCond %{REQUEST_FILENAME} !-d 20 | RewriteRule .* index.php [L,QSA] 21 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | fabulog 2 | ======= 3 | 4 | fabulog is a lightweight blogging system, based on the awesome php fat-free framework. Check out the [demo](http://www.ikkez.de/fabulog) [admin:fabulog] 5 | 6 | fabulog currently has the following features: 7 | 8 | * Jig, SQL and Mongo database support with Cortex ORM 9 | * Post module with publishing by state and date 10 | * Tag management 11 | * Comment module with backend moderation 12 | * simple User management module 13 | * Sommernote Bootstrap WYSIWYG editor 14 | * powered by fat-free framework 15 | -------------------------------------------------------------------------------- /app/config.ini: -------------------------------------------------------------------------------- 1 | [globals] 2 | 3 | ;########################## 4 | ; general settings 5 | ;########################## 6 | AUTOLOAD = "app/;app/inc/" 7 | ; cache engine 8 | CACHE = true 9 | ; set the default serializer 10 | SERIALIZER = php 11 | ; path for logfiles 12 | LOGS = app/logs/ 13 | ; temp user uploads 14 | UPLOADS = res/ 15 | ; template root path 16 | UI = ui/ 17 | BACKEND_UI = app/ui/ 18 | 19 | 20 | ;########################## 21 | ; language & localization settiongs 22 | ;########################## 23 | ; default timezone 24 | TZ = Europe/Berlin 25 | ; dictionary key prefix 26 | ;PREFIX = ll. 27 | ; dictionary paths 28 | LOCALES = app/dict/ 29 | # overwrite auto-detection of language 30 | ;LANGUAGE = "de-DE,de" 31 | 32 | 33 | ;########################## 34 | ; additional system config 35 | ;########################## 36 | ; don't highlight the error stack by default 37 | ;HIGHLIGHT = false 38 | ; set error handler 39 | ONERROR = ErrorRenderer->render 40 | ; default development mode 41 | DEV = true 42 | ; debug verbosity 43 | DEBUG = 2 44 | 45 | 46 | ;########################## 47 | ; application settings 48 | 49 | ; prefix all your db table names to avoid conflict 50 | ; with other apps that are using the same database 51 | db_table_prefix = fblg_ 52 | 53 | ; use 'md5' for PHP < 5.3.7 and 'bcrypt' for best security 54 | password_hash_engine = md5 55 | password_md5_salt = jK$N!Lx5 56 | 57 | ; 'summernote' 58 | text_editor = sommernote 59 | 60 | ; if an error occurs, the debug text is being send to this email 61 | error_mail = 62 | 63 | [template] 64 | image.tempDir = res/tmp/ 65 | 66 | 67 | [ASSETS] 68 | ;# if this is false, you need to manually put the group markers like 69 | ;# and into your template 70 | auto_include = true 71 | 72 | ;# be greedy and also fetch all , 14 | 15 | 16 | 17 | 18 |
19 | 20 | 45 | 46 | 47 | 48 | 49 | 61 | 62 |