From f272c05d0dbc181c22687635a99b7c3fa326e4b5 Mon Sep 17 00:00:00 2001 From: dignajar Date: Sat, 1 Aug 2015 23:47:45 -0300 Subject: [PATCH] Minor changes --- admin/controllers/themes.php | 23 +++++++++++ admin/themes/default/css/default.css | 59 ++++++++++++++++++++++++--- admin/views/dashboard.php | 18 ++++---- admin/views/plugins.php | 9 ++-- admin/views/themes.php | 4 +- kernel/boot/admin.php | 1 + kernel/boot/init.php | 3 ++ kernel/boot/rules/99.themes.php | 50 +++++++++++++++++++++++ kernel/boot/site.php | 1 + languages/en_US.json | 7 +++- themes/pure/language/en_US.json | 12 ++++++ themes/pure/screenshot.jpg | Bin 0 -> 27752 bytes 12 files changed, 166 insertions(+), 21 deletions(-) create mode 100644 admin/controllers/themes.php create mode 100644 kernel/boot/rules/99.themes.php create mode 100755 themes/pure/language/en_US.json create mode 100644 themes/pure/screenshot.jpg diff --git a/admin/controllers/themes.php b/admin/controllers/themes.php new file mode 100644 index 00000000..901e8d82 --- /dev/null +++ b/admin/controllers/themes.php @@ -0,0 +1,23 @@ +role()!=='admin') { + Alert::set($Language->g('you-do-not-have-sufficient-permissions')); + Redirect::page('admin', 'dashboard'); +} + +// ============================================================================ +// POST Method +// ============================================================================ + +if( $_SERVER['REQUEST_METHOD'] == 'POST' ) +{ + $Site->set($_POST); +} + +// ============================================================================ +// Main +// ============================================================================ diff --git a/admin/themes/default/css/default.css b/admin/themes/default/css/default.css index 155aff8e..07a95df2 100644 --- a/admin/themes/default/css/default.css +++ b/admin/themes/default/css/default.css @@ -63,7 +63,7 @@ body { } #sidebar li { - + } /* ----------- ALERT ----------- */ @@ -163,7 +163,7 @@ div.dashboardBox ul.menu a { } div.dashboardBox ul.menu li.title { - + } div.dashboardBox ul.menu li.description { @@ -173,6 +173,10 @@ div.dashboardBox ul.menu li.description { color: #555; } +div.dashboardBox ul.menu li.description:last-child { + border-bottom: 0 !important; + margin-bottom: 0 !important; +} /* ----------- FORMS ----------- */ @@ -235,8 +239,8 @@ a.btn-red:hover { margin-left: 10px; } +/* ----------- THEMES ----------- */ -/* ----------- PLUGINS ----------- */ div.pluginBox { box-shadow: 0 1px 2px rgba(0,0,0,.26); background-color: #fff; @@ -251,9 +255,54 @@ div.pluginBox p { margin-bottom: 10px; } -div.pluginBox span.version { - color: #ccc; +div.pluginBox span.author { + color: #999; margin-left: 10px; + float: right; +} + +div.pluginBox span.version { + color: #999; + margin-left: 10px; + float: right; +} + +/* ----------- PLUGINS ----------- */ +div.pluginBox { + box-shadow: 0 1px 2px rgba(0,0,0,.26); + background-color: #fff; + border-radius: 2px; + box-sizing: border-box; + padding: 15px 20px; + width: 70%; + margin-bottom: 20px; +} + +div.pluginBox p { + margin-bottom: 6px; +} + +div.pluginBox p.name { + border-bottom: 1px dashed #ccc; +} + +div.pluginBox a.btn-smaller { + padding: 4px 10px; + margin-right: 10px; +} + +div.pluginBox span.author { + color: #777; + margin-left: 10px; + float: right; + font-size: 0.9em; +} + +div.pluginBox span.version { + color: #777; + margin-left: 10px; + float: right; + font-size: 0.9em; } /* ----------- PLUGINS FORM ----------- */ diff --git a/admin/views/dashboard.php b/admin/views/dashboard.php index 666c5d49..8efb064b 100644 --- a/admin/views/dashboard.php +++ b/admin/views/dashboard.php @@ -8,18 +8,18 @@

Start here!

- -
@@ -32,7 +32,7 @@
- +
count() ?>
diff --git a/admin/views/plugins.php b/admin/views/plugins.php index 86cb3fa1..f047834f 100644 --- a/admin/views/plugins.php +++ b/admin/views/plugins.php @@ -5,17 +5,18 @@ { echo '
'; - echo '

'.$Plugin->name().''.$Language->g('Version').': '.$Plugin->version().'

'; + echo '

'.$Plugin->name().'

'; echo '

'.$Plugin->description().'

'; + echo ''.$Language->g('Version').': '.$Plugin->version().''.$Language->g('author').': '.$Plugin->author().''; if($Plugin->installed()) { - echo ''.$Language->g('Uninstall plugin').''; if($Plugin->form()) { - echo ''.$Language->g('Configure plugin').''; + echo ''.$Language->g('Configure plugin').''; } + echo ''.$Language->g('Uninstall plugin').''; } else { - echo ''.$Language->g('Install plugin').''; + echo ''.$Language->g('Install plugin').''; } echo '
'; diff --git a/admin/views/themes.php b/admin/views/themes.php index 6e521df3..cd99ad29 100644 --- a/admin/views/themes.php +++ b/admin/views/themes.php @@ -1,2 +1,2 @@ -

Themes

-

Not implemented...

+

p('Themes') ?>

+ diff --git a/kernel/boot/admin.php b/kernel/boot/admin.php index f4b9e937..1c6e42fb 100644 --- a/kernel/boot/admin.php +++ b/kernel/boot/admin.php @@ -43,6 +43,7 @@ else include(PATH_RULES.'80.plugins.php'); include(PATH_RULES.'99.header.php'); include(PATH_RULES.'99.paginator.php'); + include(PATH_RULES.'99.themes.php'); if($Url->notFound() || !$Login->isLogged() || ($Url->slug()==='login') ) { diff --git a/kernel/boot/init.php b/kernel/boot/init.php index 4fe54cc2..112d8550 100644 --- a/kernel/boot/init.php +++ b/kernel/boot/init.php @@ -145,6 +145,9 @@ define('HTML_PATH_ADMIN_ROOT', HTML_PATH_ROOT.'admin/'); define('HTML_PATH_UPLOADS', HTML_PATH_ROOT.'content/uploads/'); define('HTML_PATH_PLUGINS', HTML_PATH_ROOT.'plugins/'); +// PHP PATHs with dependency +define('PATH_THEME', PATH_ROOT.'themes/'.$Site->theme().'/'); + // Objects with dependency $Language = new dbLanguage( $Site->locale() ); $Login = new Login( $dbUsers ); diff --git a/kernel/boot/rules/99.themes.php b/kernel/boot/rules/99.themes.php new file mode 100644 index 00000000..ee1fb042 --- /dev/null +++ b/kernel/boot/rules/99.themes.php @@ -0,0 +1,50 @@ +'', + 'description'=>'', + 'author'=>'', + 'email'=>'', + 'website'=>'', + 'version'=>'', + 'releaseDate'=>'' +); + +// ============================================================================ +// Functions +// ============================================================================ + +// ============================================================================ +// Main +// ============================================================================ + +$langLocaleFile = PATH_THEME.'language'.DS.$Site->locale().'.json'; +$langDefaultFile = PATH_THEME.'language'.DS.'en_US.json'; +$database = false; + +// Check if exists locale language +if( Sanitize::pathFile($langLocaleFile) ) { + $database = new dbJSON($langLocaleFile, false); +} +// Check if exists default language +elseif( Sanitize::pathFile($langDefaultFile) ) { + $database = new dbJSON($langDefaultFile, false); +} + +if($database!==false) +{ + $databaseArray = $database->db; + + // Theme data + $theme = $databaseArray['theme-data']; + + // Remove theme data + unset($databaseArray['theme-data']); + + // Add new words from language theme + $Language->add($databaseArray); +} \ No newline at end of file diff --git a/kernel/boot/site.php b/kernel/boot/site.php index f426611b..19c99ed0 100644 --- a/kernel/boot/site.php +++ b/kernel/boot/site.php @@ -6,6 +6,7 @@ include(PATH_RULES.'70.build_pages.php'); include(PATH_RULES.'80.plugins.php'); include(PATH_RULES.'99.header.php'); include(PATH_RULES.'99.paginator.php'); +include(PATH_RULES.'99.themes.php'); // Plugins before site loaded Theme::plugins('beforeSiteLoad'); diff --git a/languages/en_US.json b/languages/en_US.json index f7b00786..658729eb 100644 --- a/languages/en_US.json +++ b/languages/en_US.json @@ -131,5 +131,10 @@ "default-home-page": "Default home page", "version": "Version", "there-are-no-drafts": "There are no drafts.", - "plugin-label": "Plugin label" + "create-a-new-article-for-your-blog":"Create a new article for your blog.", + "create-a-new-page-for-your-website":"Create a new page for your website.", + "invite-a-friend-to-collaborate-on-your-website":"Invite a friend to collaborate on your website.", + "change-your-language-and-region-settings":"Change your language and region settings.", + "language-and-timezone":"Language and timezone", + "author": "Author" } \ No newline at end of file diff --git a/themes/pure/language/en_US.json b/themes/pure/language/en_US.json new file mode 100755 index 00000000..3f81ffb6 --- /dev/null +++ b/themes/pure/language/en_US.json @@ -0,0 +1,12 @@ +{ + "theme-data": + { + "name": "Pure", + "description": "Pure is based on the framework Pure.css. Website: http://purecss.io", + "author": "Diego", + "email": "", + "website": "", + "version": "0.1", + "releaseDate": "" + } +} \ No newline at end of file diff --git a/themes/pure/screenshot.jpg b/themes/pure/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f0391007eb385333638058dafa821fd40714504 GIT binary patch literal 27752 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 literal 0 HcmV?d00001