From 13b0bd904fa8365f080d4ab6e78702c2492365e0 Mon Sep 17 00:00:00 2001 From: Samir KHERRAZ Date: Tue, 6 Jun 2017 19:32:04 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Module=20Blog=20:=20=20multi=20blogs,=20am?= =?UTF-8?q?=C3=A9liorations=20globales=20Module=20Comments=20:=20activer?= =?UTF-8?q?=20ou=20d=C3=A9sactiver=20les=20commentaires=20Module=20users?= =?UTF-8?q?=20:=20affichage=20plus=20fin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/blog/blog.plugin.php | 624 +++++++++--------- plugins/blog/install/blog.manifest.xml | 8 +- plugins/blog/languages/en.lang.php | 4 +- plugins/blog/languages/uk.lang.php | 13 - plugins/blog/views/frontend/block.view.php | 14 +- plugins/blog/views/frontend/index.view.php | 17 +- plugins/blog/views/frontend/pager.view.php | 23 +- .../views/frontend/related_posts.view.php | 33 +- plugins/box/backup/backup.admin.php | 0 plugins/box/backup/languages/cs.lang.php | 17 - plugins/box/backup/languages/uk.lang.php | 6 +- .../box/backup/views/backend/index.view.php | 0 plugins/box/blocks/blocks.admin.php | 0 plugins/box/blocks/languages/cs.lang.php | 30 - plugins/box/blocks/languages/uk.lang.php | 6 +- .../box/blocks/views/backend/index.view.php | 0 plugins/box/dashboard/languages/cs.lang.php | 11 - plugins/box/dashboard/languages/uk.lang.php | 6 +- plugins/box/editor/languages/cs.lang.php | 8 - plugins/box/emails/languages/cs.lang.php | 19 - plugins/box/emails/languages/uk.lang.php | 24 +- .../box/filesmanager/filesmanager.admin.php | 0 .../box/filesmanager/languages/cs.lang.php | 42 -- .../box/filesmanager/languages/uk.lang.php | 65 +- .../filesmanager/views/backend/index.view.php | 0 plugins/box/information/languages/cs.lang.php | 40 -- plugins/box/information/languages/uk.lang.php | 16 +- plugins/box/menu/languages/cs.lang.php | 28 - plugins/box/menu/languages/uk.lang.php | 4 +- plugins/box/pages/languages/cs.lang.php | 55 -- plugins/box/pages/languages/uk.lang.php | 11 +- plugins/box/pages/pages.admin.php | 0 .../box/pages/views/backend/index.view.php | 0 plugins/box/plugins/languages/cs.lang.php | 21 - plugins/box/plugins/languages/uk.lang.php | 13 +- plugins/box/plugins/plugins.admin.php | 0 .../box/plugins/views/backend/index.view.php | 0 plugins/box/sitemap/languages/cs.lang.php | 7 - plugins/box/sitemap/languages/uk.lang.php | 2 +- plugins/box/snippets/languages/cs.lang.php | 30 - plugins/box/snippets/languages/uk.lang.php | 24 +- plugins/box/snippets/snippets.admin.php | 0 .../box/snippets/views/backend/index.view.php | 0 plugins/box/system/languages/cs.lang.php | 80 --- plugins/box/system/languages/uk.lang.php | 34 +- plugins/box/system/system.admin.php | 0 .../box/system/views/backend/index.view.php | 0 plugins/box/themes/languages/cs.lang.php | 52 -- plugins/box/themes/languages/uk.lang.php | 7 +- plugins/box/themes/themes.admin.php | 0 plugins/box/users/install/users.manifest.xml | 6 +- plugins/box/users/languages/cs.lang.php | 69 -- plugins/box/users/languages/uk.lang.php | 10 +- plugins/box/users/users.admin.php | 0 plugins/box/users/users.plugin.php | 12 +- .../box/users/views/backend/index.view.php | 0 .../box/users/views/frontend/edit.view.php | 2 +- .../box/users/views/frontend/login.view.php | 4 +- .../box/users/views/frontend/profile.view.php | 18 +- public/themes/default/blog-post.template.php | 2 + 60 files changed, 529 insertions(+), 988 deletions(-) delete mode 100644 plugins/blog/languages/uk.lang.php mode change 100755 => 100644 plugins/box/backup/backup.admin.php delete mode 100644 plugins/box/backup/languages/cs.lang.php mode change 100755 => 100644 plugins/box/backup/views/backend/index.view.php mode change 100755 => 100644 plugins/box/blocks/blocks.admin.php delete mode 100644 plugins/box/blocks/languages/cs.lang.php mode change 100755 => 100644 plugins/box/blocks/views/backend/index.view.php delete mode 100644 plugins/box/dashboard/languages/cs.lang.php delete mode 100644 plugins/box/editor/languages/cs.lang.php delete mode 100644 plugins/box/emails/languages/cs.lang.php mode change 100755 => 100644 plugins/box/filesmanager/filesmanager.admin.php delete mode 100644 plugins/box/filesmanager/languages/cs.lang.php mode change 100755 => 100644 plugins/box/filesmanager/views/backend/index.view.php delete mode 100644 plugins/box/information/languages/cs.lang.php delete mode 100644 plugins/box/menu/languages/cs.lang.php delete mode 100644 plugins/box/pages/languages/cs.lang.php mode change 100755 => 100644 plugins/box/pages/pages.admin.php mode change 100755 => 100644 plugins/box/pages/views/backend/index.view.php delete mode 100644 plugins/box/plugins/languages/cs.lang.php mode change 100755 => 100644 plugins/box/plugins/plugins.admin.php mode change 100755 => 100644 plugins/box/plugins/views/backend/index.view.php delete mode 100644 plugins/box/sitemap/languages/cs.lang.php delete mode 100644 plugins/box/snippets/languages/cs.lang.php mode change 100755 => 100644 plugins/box/snippets/snippets.admin.php mode change 100755 => 100644 plugins/box/snippets/views/backend/index.view.php delete mode 100644 plugins/box/system/languages/cs.lang.php mode change 100755 => 100644 plugins/box/system/system.admin.php mode change 100755 => 100644 plugins/box/system/views/backend/index.view.php delete mode 100644 plugins/box/themes/languages/cs.lang.php mode change 100755 => 100644 plugins/box/themes/themes.admin.php delete mode 100644 plugins/box/users/languages/cs.lang.php mode change 100755 => 100644 plugins/box/users/users.admin.php mode change 100755 => 100644 plugins/box/users/views/backend/index.view.php diff --git a/plugins/blog/blog.plugin.php b/plugins/blog/blog.plugin.php index 6d06f280..4eab7a16 100644 --- a/plugins/blog/blog.plugin.php +++ b/plugins/blog/blog.plugin.php @@ -1,374 +1,406 @@ - * echo Blog::getTags(); - * + * @package Monstra + * @subpackage Plugins + * @author Samir KHERRAZ / Romanenko Sergey / Awilum + * @copyright 2017 Samir KHERRAZ / Romanenko Sergey / Awilum + * @version 1.8.0 * - * @return string */ - public static function getTags($slug = null) { - // Display view - return View::factory('blog/views/frontend/tags') - ->assign('tags', Blog::getTagsArray($slug)) - ->render(); - } + // Register plugin + Plugin::register( __FILE__, + __('Blog', 'blog'), + __('Blog plugin for Monstra', 'blog'), + '1.8.0', + 'Samir KHERRAZ', + 'http://www.samir-kherraz.tk/'); /** - * Get breadcrumbs - * - * - * echo Blog::breadcrumbs(); - * - * - * @return string + * Blog Class */ - public static function breadcrumbs() { - $current_page = Pages::$requested_page; - $parent_page = ''; - if ($current_page !== 'error404') { - $page = Pages::$pages->select('[slug="'.$current_page.'"]', null); - if (trim($page['parent']) !== '') { - $parent = true; - $parent_page = Pages::$pages->select('[slug="'.$page['parent'].'"]', null); - } else { - $parent = false; - } - - // Display view - View::factory('blog/views/frontend/breadcrumbs') - ->assign('current_page', $current_page) - ->assign('page', $page) - ->assign('parent', $parent) - ->assign('parent_page', $parent_page) - ->display(); - } - } + class Blog extends Page + { - /** - * Get tags array - * - * - * echo Blog::getTagsArray(); - * - * - * @return array - */ - public static function getTagsArray($slug = null) { + /** + * Parrent page name(slug) + * + * @var string + */ + public static $parent_page_name = ''; + + + /** + * Get tags + * + * + * echo Blog::getTags(); + * + * + * @return string + */ + public static function getTags($slug = null) + { + // Display view + return View::factory('blog/views/frontend/tags') + ->assign('tags', Blog::getTagsArray($slug)) + ->render(); + } - // Init vars - $tags = array(); - $tags_string = ''; - if ($slug == null) { - $posts = Pages::$pages->select('[parent="'.Blog::$parent_page_name.'" and status="published"]', 'all'); - } else { - $posts = Pages::$pages->select('[parent="'.Blog::$parent_page_name.'" and status="published" and slug="'.$slug.'"]', 'all'); - } - - foreach($posts as $post) { - if (isset($post['tags'])) { - $tags_string .= $post['tags'].','; + /** + * Get breadcrumbs + * + * + * echo Blog::breadcrumbs(); + * + * + * @return string + */ + public static function breadcrumbs() + { + $current_page = Pages::$requested_page; + $parent_page = ''; + if ($current_page !== 'error404') { + $page = Pages::$pages->select('[slug="'.$current_page.'"]', null); + if (trim($page['parent']) !== '') { + $parent = true; + $parent_page = Pages::$pages->select('[slug="'.$page['parent'].'"]', null); + } else { + $parent = false; + } + + // Display view + View::factory('blog/views/frontend/breadcrumbs') + ->assign('current_page', $current_page) + ->assign('page', $page) + ->assign('parent', $parent) + ->assign('parent_page', $parent_page) + ->display(); } } - $tags_string = substr($tags_string, 0, strlen($tags_string)-1); - - // Explode tags in tags array - $tags = explode(',', $tags_string); - // Remove empty array elementss - foreach ($tags as $key => $value) { - if ($tags[$key] == '') { - unset($tags[$key]); + /** + * Get tags array + * + * + * echo Blog::getTagsArray(); + * + * + * @return array + */ + public static function getTagsArray($slug = null) + { + Blog::$parent_page_name = Pages::$requested_page; + // Init vars + $tags = array(); + $tags_string = ''; + + if ($slug == null) { + $posts = Pages::$pages->select('[parent="'.Blog::$parent_page_name.'" and status="published"]', 'all'); + } else { + $posts = Pages::$pages->select('[status="published" and slug="'.$slug.'"]', 'all'); } - } - // Trim tags - array_walk($tags, create_function('&$val', '$val = trim($val);')); + foreach ($posts as $post) { + $tags_string .= $post['keywords'].','; + } - // Get unique tags - $tags = array_unique($tags); + $tags_string = substr($tags_string, 0, strlen($tags_string)-1); - // Return tags - return $tags; - } + // Explode tags in tags array + $tags = explode(',', $tags_string); + // Remove empty array elementss + foreach ($tags as $key => $value) { + if ($tags[$key] == '') { + unset($tags[$key]); + } + } - /** - * Get posts - * - * - * // Get all posts - * echo Blog::getPosts(); - * - * // Get last 5 posts - * echo Blog::getPosts(5); - * - * - * @param integer $num Number of posts to show - * @return string - */ - public static function getPosts($nums = 10) { + // Trim tags + array_walk($tags, create_function('&$val', '$val = trim($val);')); - // Get page param - $page = (Request::get('page')) ? (int)Request::get('page') : 1; + // Get unique tags + $tags = array_unique($tags); - if (Request::get('tag')) { - $query = '[parent="'.Blog::$parent_page_name.'" and status="published" and contains(tags, "'.Request::get('tag').'")]'; - Notification::set('tag', Request::get('tag')); - } else { - $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; - Notification::clean(); + // Return tags + return $tags; } - // Get Elements Count - $elements = count(Pages::$pages->select($query, 'all')); - // Get Pages Count - $pages = ceil($elements/$nums); + /** + * Get posts + * + * + * // Get all posts + * echo Blog::getPosts(); + * + * // Get last 5 posts + * echo Blog::getPosts(5); + * + * + * @param integer $num Number of posts to show + * @return string + */ + public static function getPosts($nums = 10) + { + Blog::$parent_page_name = Pages::$requested_page; + // Get page param + $page = (Request::get('page')) ? (int)Request::get('page') : 1; + + if (Request::get('tag')) { + $query = '[parent="'.Blog::$parent_page_name.'" and status="published" and contains(keywords, "'.Request::get('tag').'")]'; + Notification::set('tag', Request::get('tag')); + } else { + $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; + Notification::clean(); + } + // Get Elements Count + $elements = count(Pages::$pages->select($query, 'all')); - if ($page < 1) { - $page = 1; - } elseif ($page > $pages) { - $page = $pages; - } + // Get Pages Count + $pages = ceil($elements/$nums); - $start = ($page-1)*$nums; - // If there is no posts - if ($start < 0) $start = 0; + if ($page < 1) { + $page = 1; + } elseif ($page > $pages) { + $page = $pages; + } - // Get posts and sort by DESC - $posts = Pages::$pages->select($query, $nums, $start, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); + $start = ($page-1)*$nums; - // Loop - foreach($posts as $key => $post) { - $post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt'))); - $posts[$key]['content'] = Filter::apply('content', $post_short[0]); - } + // If there is no posts + if ($start < 0) { + $start = 0; + } - // Display view - return View::factory('blog/views/frontend/index') - ->assign('posts', $posts) - ->render(). - View::factory('blog/views/frontend/pager') - ->assign('pages', $pages) - ->assign('page', $page) - ->render(); - } + // Get posts and sort by DESC + $posts = Pages::$pages->select($query, $nums, $start, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); + // Loop + foreach ($posts as $key => $post) { + $post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt'))); + $posts[$key]['content'] = Filter::apply('content', $post_short[0]); + } + + // Display view + return View::factory('blog/views/frontend/index') + ->assign('posts', $posts) + ->render(). + View::factory('blog/views/frontend/pager') + ->assign('pages', $pages) + ->assign('page', $page) + ->render(); + } - /** - * Get posts block - * - * - * // Get all posts - * echo Blog::getPostsBlock(); - * - * // Get last 5 posts - * echo Blog::getPostsBlock(5); - * - * - * @param integer $num Number of posts to show - * @return string - */ - public static function getPostsBlock($nums = 10) { - // XPath Query - $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; + /** + * Get posts block + * + * + * // Get all posts + * echo Blog::getPostsBlock(); + * + * // Get last 5 posts + * echo Blog::getPostsBlock(5); + * + * + * @param integer $num Number of posts to show + * @return string + */ + public static function getPostsBlock($nums = 10) + { + Blog::$parent_page_name = Pages::$requested_page; + // XPath Query + $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; + + // Get posts and sort by DESC + $posts = Pages::$pages->select($query, $nums, 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); - // Get posts and sort by DESC - $posts = Pages::$pages->select($query, $nums, 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); + // Loop + foreach ($posts as $key => $post) { + $post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt'))); + $posts[$key]['content'] = Filter::apply('content', $post_short[0]); + } - // Loop - foreach($posts as $key => $post) { - $post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt'))); - $posts[$key]['content'] = Filter::apply('content', $post_short[0]); + // Display view + return View::factory('blog/views/frontend/block') + ->assign('posts', $posts) + ->render(); } - // Display view - return View::factory('blog/views/frontend/block') - ->assign('posts', $posts) - ->render(); - } + /** + * Get related posts + * + * + * echo Blog::getRelatedPosts(); + * + * + * @return string + */ + public static function getRelatedPosts($limit = null) + { + Blog::$parent_page_name = Pages::$requested_page; + $tags = Blog::getTagsArray(Pages::$requested_page); + $i= 0; + $max= count($tags); + $query = "[slug!=\"".Pages::$requested_page."\" and status=\"published\""; + + if ($max > 0) { + $query .= " and ( "; + } + foreach ($tags as $key => $tag) { + $query .= " contains(keywords, \"".$tag."\")"; + if ($i < $max-1) { + $query .= " or "; + $i++; + } + } + if ($max > 0) { + $query .= " ) "; + } - /** - * Get related posts - * - * - * echo Blog::getRelatedPosts(); - * - * - * @return string - */ - public static function getRelatedPosts($limit = null) { + $query .= "]"; - $related_posts = array(); - $tags = Blog::getTagsArray(Page::slug()); - foreach($tags as $tag) { + // Get posts and sort by DESC + $posts = Pages::$pages->select($query, 'all', 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); - $query = '[parent="'.Blog::$parent_page_name.'" and status="published" and contains(tags, "'.$tag.'") and slug!="'.Page::slug().'"]'; - - if ($result = Arr::subvalSort(Pages::$pages->select($query, ($limit == null) ? 'all' : (int)$limit), 'date', 'DESC')) { - $related_posts = $result; + // Loop + foreach ($posts as $key => $post) { + $post_short = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $post['id'] . '.page.txt'))); + $posts[$key]['content'] = Filter::apply('content', $post_short[0]); } + + // Display view + return View::factory('blog/views/frontend/related_posts') + ->assign('posts', $posts) + ->render(); } - // Display view - return View::factory('blog/views/frontend/related_posts') - ->assign('related_posts', $related_posts) - ->render(); - } + /** + * Get post content + * + * + * echo Blog::getPost(); + * + * + * @return string + */ + public static function getPost() + { - /** - * Get post content - * - * - * echo Blog::getPost(); - * - * - * @return string - */ - public static function getPost() { + // Get post + $post = Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . Pages::$page['id'] . '.page.txt')); - // Get post - $post = Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . Pages::$page['id'] . '.page.txt')); + // Apply content filter + $post = Filter::apply('content', $post); - // Apply content filter - $post = Filter::apply('content', $post); + // Remove {cut} shortcode + $post = strtr($post, array('{cut}' => '')); - // Remove {cut} shortcode - $post = strtr($post, array('{cut}' => '')); + // Return post + return $post; + } - // Return post - return $post; - } + /** + * Get post content before cut + * + * + * echo Blog::getPostBeforeCut('home'); + * + * + * @return string + */ + public static function getPostBeforeCut($slug) + { - /** - * Get post content before cut - * - * - * echo Blog::getPostBeforeCut('home'); - * - * - * @return string - */ - public static function getPostBeforeCut($slug) { + $page = Pages::$pages->select('[slug="'.$slug.'"]', null); - $page = Pages::$pages->select('[slug="'.$slug.'"]', null); + // Get post + $post = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $page['id'] . '.page.txt'))); - // Get post - $post = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $page['id'] . '.page.txt'))); + // Apply content filter + $post_content = Filter::apply('content', $post[0]); - // Apply content filter - $post_content = Filter::apply('content', $post[0]); + // Return post + return $post_content; + } - // Return post - return $post_content; - } + /** + * Get post content after cut + * + * + * echo Blog::getPostAfterCut('home'); + * + * + * @return string + */ + public static function getPostAfterCut($slug) + { - /** - * Get post content after cut - * - * - * echo Blog::getPostAfterCut('home'); - * - * - * @return string - */ - public static function getPostAfterCut($slug) { + $page = Pages::$pages->select('[slug="'.$slug.'"]', null); - $page = Pages::$pages->select('[slug="'.$slug.'"]', null); + // Get post + $post = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $page['id'] . '.page.txt'))); - // Get post - $post = explode("{cut}", Text::toHtml(File::getContent(STORAGE . DS . 'pages' . DS . $page['id'] . '.page.txt'))); + // Apply content filter + $post_content = Filter::apply('content', $post[1]); - // Apply content filter - $post_content = Filter::apply('content', $post[1]); + // Return post + return $post_content; + } + + + /** + * Get Blog Post title + * + * + * echo Blog::getPostTitle(); + * + * + * @return string + */ + public static function getPostTitle() + { + + return Page::title(); + } - // Return post - return $post_content; - } - /** - * Get Blog Post title - * - * - * echo Blog::getPostTitle(); - * - * - * @return string - */ - public static function getPostTitle() { - return Page::title(); - } /** * Get Blog Post Date * - * + * * echo Blog::getPostDate(); * * * @param string $format Date format * @return string */ - public static function getPostDate($format = 'Y-m-d') { - return Page::date($format); - } + public static function getPostDate($format = 'Y-m-d') + { + return Page::date($format); + } /** @@ -380,20 +412,18 @@ public static function getPostDate($format = 'Y-m-d') { * * @return string */ - public static function getPostAuthor() - { - return Page::author(); - } - + public static function getPostAuthor() + { + return Page::author(); + } /** * _rss */ - public static function _rss() { - if (Uri::segment(0) == 'rss') { - include PLUGINS . DS . 'blog' . DS . 'rss.php'; - Request::shutdown(); + public static function _rss() + { + if (Uri::segment(0) == 'rss') { + include PLUGINS . DS . 'blog' . DS . 'rss.php'; + Request::shutdown(); + } } } - -} - diff --git a/plugins/blog/install/blog.manifest.xml b/plugins/blog/install/blog.manifest.xml index 67240139..bbf94476 100644 --- a/plugins/blog/install/blog.manifest.xml +++ b/plugins/blog/install/blog.manifest.xml @@ -5,7 +5,7 @@ 15 Blog Blog plugin for Monstra - 1.7.3 - Awilum - http://monstra.org/ - \ No newline at end of file + 1.8.0 + Samir KHERRAZ + http://www.samir-kherraz.tk/ + diff --git a/plugins/blog/languages/en.lang.php b/plugins/blog/languages/en.lang.php index 3db9241a..4ff9ef7f 100644 --- a/plugins/blog/languages/en.lang.php +++ b/plugins/blog/languages/en.lang.php @@ -8,5 +8,5 @@ 'end' => 'end', 'prev' => 'prev', 'next' => 'next', - ) - ); \ No newline at end of file + ) + ); diff --git a/plugins/blog/languages/uk.lang.php b/plugins/blog/languages/uk.lang.php deleted file mode 100644 index a3988874..00000000 --- a/plugins/blog/languages/uk.lang.php +++ /dev/null @@ -1,13 +0,0 @@ - array( - 'Blog' => 'Блог', - 'Blog plugin for Monstra' => 'Плагін блога для Monstra', - 'begin' => 'початок', - 'end' => 'кінець', - 'prev' => 'назад', - 'next' => 'вперед', - 'Related posts' => 'Статті по темі', - ) - ); \ No newline at end of file diff --git a/plugins/blog/views/frontend/block.view.php b/plugins/blog/views/frontend/block.view.php index 309c9ea7..282fba12 100644 --- a/plugins/blog/views/frontend/block.view.php +++ b/plugins/blog/views/frontend/block.view.php @@ -1,7 +1,9 @@ -

- -
- -
- \ No newline at end of file + +
+
+
+ +
+
+ \ No newline at end of file diff --git a/plugins/blog/views/frontend/index.view.php b/plugins/blog/views/frontend/index.view.php index c9cec0ac..2ed75b2d 100644 --- a/plugins/blog/views/frontend/index.view.php +++ b/plugins/blog/views/frontend/index.view.php @@ -1,7 +1,12 @@ -

- / -
- -
- \ No newline at end of file + +
+
+
+ +
+ +
+ \ No newline at end of file diff --git a/plugins/blog/views/frontend/pager.view.php b/plugins/blog/views/frontend/pager.view.php index d61f4cbd..ee02c78d 100644 --- a/plugins/blog/views/frontend/pager.view.php +++ b/plugins/blog/views/frontend/pager.view.php @@ -1,4 +1,4 @@ -

+ + \ No newline at end of file diff --git a/plugins/blog/views/frontend/related_posts.view.php b/plugins/blog/views/frontend/related_posts.view.php index 37066d9b..8401712f 100644 --- a/plugins/blog/views/frontend/related_posts.view.php +++ b/plugins/blog/views/frontend/related_posts.view.php @@ -1,7 +1,30 @@ -

-: -
- -
+ +
+
+

Articles Similaires

+ +
+ +
+
+
+
+ +
+ +
+
+ +
+ +
\ No newline at end of file diff --git a/plugins/box/backup/backup.admin.php b/plugins/box/backup/backup.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/backup/languages/cs.lang.php b/plugins/box/backup/languages/cs.lang.php deleted file mode 100644 index 242f5a5f..00000000 --- a/plugins/box/backup/languages/cs.lang.php +++ /dev/null @@ -1,17 +0,0 @@ - array( - 'Backups' => 'Zálohy', - 'Backup' => 'Zálohy', - 'Create Backup' => 'Vytvořit zálohu', - 'Delete' => 'Vymazat', - 'storage' => 'Storage/Obsah diskového místa', - 'public' => 'Veřejné', - 'plugins' => 'Pluginy', - 'Size' => 'Velikost', - 'Actions' => 'Akce', - 'Delete backup: :backup' => 'Vymazat zálohu: :backup', - 'Creating...' => 'Vytvářím...', - ) - ); diff --git a/plugins/box/backup/languages/uk.lang.php b/plugins/box/backup/languages/uk.lang.php index 9b2b103d..e5625ba9 100644 --- a/plugins/box/backup/languages/uk.lang.php +++ b/plugins/box/backup/languages/uk.lang.php @@ -4,7 +4,7 @@ 'backup' => array( 'Backups' => 'Бекапи', 'Backup' => 'Бекап', - 'Create Backup' => 'Створити бекап', + 'Create Backup' => 'Зробити бекап', 'Delete' => 'Видалити', 'storage' => 'дані', 'public' => 'публічна', @@ -13,9 +13,5 @@ 'Actions' => 'Дії', 'Delete backup: :backup' => 'Видалити бекап: :backup', 'Creating...' => 'Створення...', - 'Backup was deleted' => 'Бекап не був створений', - 'Backup was created' => 'Бекап був створений', - 'Backup was not restored' => 'Бекап не був відновлений', - 'Backup was restored' => 'Бекап був відновлений', ) ); diff --git a/plugins/box/backup/views/backend/index.view.php b/plugins/box/backup/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/blocks/blocks.admin.php b/plugins/box/blocks/blocks.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/blocks/languages/cs.lang.php b/plugins/box/blocks/languages/cs.lang.php deleted file mode 100644 index a6f8df5e..00000000 --- a/plugins/box/blocks/languages/cs.lang.php +++ /dev/null @@ -1,30 +0,0 @@ - array( - 'Blocks' => 'Bloky', - 'Blocks manager' => 'Správce bloků', - 'Delete' => 'Vymazat', - 'Edit' => 'Editovat', - 'Name' => 'Názov', - 'Create New Block' => 'Vytvořit nový blok', - 'New Block' => 'Nový blok', - 'Edit Block' => 'Editovat blok', - 'Save' => 'Uložit', - 'Save and Exit' => 'Uložit a ukončit', - 'Actions' => 'Akce', - 'Required field' => 'Povinné políčko', - 'This block already exists' => 'Tento blok již existuje', - 'This block does not exist' => 'Tento blok neexistuje', - 'Delete block: :block' => 'Vymazat blok: :block', - 'Block content' => 'Obsah bloku', - 'Block :name deleted' => 'Blok :name byl vymazaný', - 'Your changes to the block :name have been saved.' => 'Vaše změny v bloku :name byly uloženy.', - 'Delete block: :block' => 'Vymazat blok: :block', - 'View Embed Code' => 'Zobrazit vložený kód', - 'Embed Code' => 'Vložený kód', - 'Shortcode' => 'Zkrácený kód', - 'PHP Code' => 'PHP kód', - 'Cancel' => 'Cancel', - ) - ); diff --git a/plugins/box/blocks/languages/uk.lang.php b/plugins/box/blocks/languages/uk.lang.php index f520fa8b..ddb7e1f9 100644 --- a/plugins/box/blocks/languages/uk.lang.php +++ b/plugins/box/blocks/languages/uk.lang.php @@ -9,16 +9,16 @@ 'New Block' => 'Новий блок', 'Create New Block' => 'Створити новий блок', 'Name' => 'Назва', - 'Edit Block' => 'Редагувати блок', + 'Edit Block' => 'Редагування блоку', 'Save' => 'Зберегти', 'Actions' => 'Дії', 'Save and Exit' => 'Зберегти та вийти', 'Required field' => 'Обов′язкове поле', 'This block already exists' => 'Такий блок вже існує', - 'This block does not exist' => 'Такий блок не існує', + 'This block does not exist' => 'Такого блоку не існує', 'Delete block: :block' => 'Видалити блок: :block', 'Block content' => 'Вміст блоку', - 'Block :name deleted' => 'Сніпет :name вилучено', + 'Block :name deleted' => 'Сніппет :name вилучен', 'Your changes to the block :name have been saved.' => 'Ваші зміни до блоку :name були збережені.', 'Delete block: :block' => 'Видалити блок: :block', 'View Embed Code' => 'Код для вставки', diff --git a/plugins/box/blocks/views/backend/index.view.php b/plugins/box/blocks/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/dashboard/languages/cs.lang.php b/plugins/box/dashboard/languages/cs.lang.php deleted file mode 100644 index 8d42ded3..00000000 --- a/plugins/box/dashboard/languages/cs.lang.php +++ /dev/null @@ -1,11 +0,0 @@ - array( - 'Dashboard' => 'Dashboard', - 'Dashboard plugin for Monstra' => 'Dashboard plugin pro Monstra', - 'Welcome back' => 'Vítejte zpět', - 'Create New' => 'Vytvořit nový', - 'Upload File' => 'Nahrát soubor', - ) - ); diff --git a/plugins/box/dashboard/languages/uk.lang.php b/plugins/box/dashboard/languages/uk.lang.php index 5dbd295a..81a99874 100644 --- a/plugins/box/dashboard/languages/uk.lang.php +++ b/plugins/box/dashboard/languages/uk.lang.php @@ -2,9 +2,9 @@ return array( 'dashboard' => array( - 'Dashboard' => 'Панель', - 'Dashboard plugin for Monstra' => 'Панель для Monstra', - 'Welcome back' => 'Ласкаво просимо', + 'Dashboard' => 'Dashboard', + 'Dashboard plugin for Monstra' => 'Dashboard пісочниця для Monstra', + 'Welcome back' => 'Добро пожаловать', 'Create New' => 'Додати', 'Upload File' => 'Завантажити файл', ) diff --git a/plugins/box/editor/languages/cs.lang.php b/plugins/box/editor/languages/cs.lang.php deleted file mode 100644 index fdce2ed1..00000000 --- a/plugins/box/editor/languages/cs.lang.php +++ /dev/null @@ -1,8 +0,0 @@ - array( - 'Editor' => 'Editor', - 'Editor plugin' => 'Editor plugin', - ) - ); diff --git a/plugins/box/emails/languages/cs.lang.php b/plugins/box/emails/languages/cs.lang.php deleted file mode 100644 index 6b94ea34..00000000 --- a/plugins/box/emails/languages/cs.lang.php +++ /dev/null @@ -1,19 +0,0 @@ - array( - 'Emails' => 'Emaily', - 'Emails plugin for Monstra' => 'Email plugin pro Monstra', - 'Edit Layout' => 'Upravit layout', - 'Email templates' => 'Vzory emailů', - 'Edit' => 'Upravit', - 'Edit Email Template' => 'Upravit vzory emailů', - 'Name' => 'Název', - 'Email template content' => 'Obsah vzoru emailu', - 'Save and Exit' => 'Uložit a ukončit', - 'Save' => 'Uložit', - 'Cancel' => 'Zrušit', - 'This email template does not exist' => 'Tento vzor emailu neexistuje', - 'Your changes to the email template :name have been saved.' => 'Vaše změny vzoru emailu :name byly uloženy.', - ) - ); diff --git a/plugins/box/emails/languages/uk.lang.php b/plugins/box/emails/languages/uk.lang.php index 2f1bd43b..4f2a6d71 100644 --- a/plugins/box/emails/languages/uk.lang.php +++ b/plugins/box/emails/languages/uk.lang.php @@ -2,18 +2,18 @@ return array( 'emails' => array( - 'Emails' => 'Листи', + 'Emails' => 'Emails', 'Emails plugin for Monstra' => 'Плагін emails для Monstra', - 'Edit Layout' => 'Редагувати Шаблон', - 'Email templates' => 'Шаблони Листів', - 'Edit' => 'Редагувати', - 'Edit Email Template' => 'Редагувати Шаблони Листа', - 'Name' => 'Назва', - 'Email template content' => 'Вміст Шаблону Листа', - 'Save and Exit' => 'Зберегти і вийти', - 'Save' => 'Зберегти', - 'Cancel' => 'Відмінити', - 'This email template does not exist' => 'Цей email шаблон відсутній', - 'Your changes to the email template :name have been saved.' => 'Ваші зміни до email шаблону :name були збережені.', + 'Edit Layout' => 'Edit Layout', + 'Email templates' => 'Email templates', + 'Edit' => 'Edit', + 'Edit Email Template' => 'Edit Email Template', + 'Name' => 'Name', + 'Email template content' => 'Email template content', + 'Save and Exit' => 'Save and Exit', + 'Save' => 'Save', + 'Cancel' => 'Cancel', + 'This email template does not exist' => 'This email template does not exist', + 'Your changes to the email template :name have been saved.' => 'Your changes to the email template :name have been saved.', ) ); diff --git a/plugins/box/filesmanager/filesmanager.admin.php b/plugins/box/filesmanager/filesmanager.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/filesmanager/languages/cs.lang.php b/plugins/box/filesmanager/languages/cs.lang.php deleted file mode 100644 index e8ff8968..00000000 --- a/plugins/box/filesmanager/languages/cs.lang.php +++ /dev/null @@ -1,42 +0,0 @@ - array( - 'Files' => 'Soubory', - 'Files manager' => 'Správce souborů', - 'Name' => 'Název', - 'Actions' => 'Akce', - 'Delete' => 'Vymazat', - 'Upload' => 'Nahrat', - 'Drop File Here' => 'Sem vložte soubory', - 'Maximum upload file size: :upload_max_filesize' => 'Maximální velikost souboru: :upload_max_filesize', - 'Rename' => 'Přejmenovat', - 'Renamed successfully' => 'Přejmenováno', - 'Failure' => 'Chyba', - 'Forbidden file type' => 'Nepovolený typ souboru', - 'Upload server error' => 'Chyba při nahrávání', - 'Can not be empty' => 'Nesmí být prázdné', - 'Create New Directory' => 'Vytvořit nový adresář', - 'Directory Name' => 'Název adresáře', - 'Directory:' => 'Adresář:', - 'Directory was not created' => 'Adresář nebyl vytvořen', - 'Directory was created' => 'Adresář byl vytvořen', - 'Directory was deleted' => 'Adresář byl odstraněn', - 'Directory was not deleted' => 'Adresář nebyl odstraněn', - 'Directory exists' => 'Adresář existuje', - 'File:' => 'Soubor:', - 'File was uploaded' => 'Soubor nebyl vytvořen', - 'File was not uploaded' => 'Soubor byl vytvořen', - 'File was deleted' => 'Soubor byl odstraněn', - 'File was not deleted' => 'Soubor nebyl odstraněn', - 'File exists' => 'Soubor existuje', - 'Cancel' => 'Zrušit', - 'Create' => 'Vytvořit', - 'directory' => 'adresář', - 'Delete directory: :dir' => 'Vymazat adresář: :dir', - 'Delete file: :file' => 'Vymazat soubor :file', - 'Extension' => 'Přípona', - 'Size' => 'Velikost', - 'Select file' => 'Vybrat soubor', - ) - ); diff --git a/plugins/box/filesmanager/languages/uk.lang.php b/plugins/box/filesmanager/languages/uk.lang.php index a0e6855f..a64acf0e 100644 --- a/plugins/box/filesmanager/languages/uk.lang.php +++ b/plugins/box/filesmanager/languages/uk.lang.php @@ -7,44 +7,37 @@ 'Name' => 'Назва', 'Actions' => 'Дії', 'Delete' => 'Видалити', - 'Upload' => 'Завантажити', - 'Drop File Here' => 'Вкиньте файл сюди', - 'Maximum upload file size: :upload_max_filesize' => 'Максимальний розмір файлу: :upload_max_filesize', - 'Rename' => 'Перейменувати', - 'Renamed successfully' => 'Успішно перейменований', - 'Failure' => 'Помилка', - 'Forbidden file type' => 'Заборонений тип файлу', - 'Upload server error' => 'Помилка сервера при завантаженні', - 'Can not be empty' => 'Не може бути порожнім', - 'Create New Directory' => 'Створити нову теку', - 'Directory Name' => 'Назва теки', - 'Directory:' => 'Тека:', - 'Directory was not created' => 'Тека не була створена', - 'Directory was created' => 'Тека була створена', - 'Directory was deleted' => 'Тека була видалена', - 'Directory was not deleted' => 'Тека не була видалена', - 'Directory exists' => 'Тека існує', - 'File:' => 'Файл:', - 'File was uploaded' => 'Файл був завантажений', - 'File was not uploaded' => 'Файл не був завантажений', - 'File was deleted' => 'Файл був видалений', - 'File was not deleted' => 'Файл не був видалений', - 'File exists' => 'Файл існує', - 'Cancel' => 'Відмінити', - 'Create' => 'Створити', - 'directory' => 'тека', - 'Delete directory: :dir' => 'Видалити теку: :dir', + 'Upload' => 'Загрузити', + 'Drop File Here' => 'Drop File Here', + 'Maximum upload file size: :upload_max_filesize' => 'Maximum upload file size: :upload_max_filesize', + 'Rename' => 'Rename', + 'Renamed successfully' => 'Renamed successfully', + 'Failure' => 'Failure', + 'Forbidden file type' => 'Forbidden file type', + 'Upload server error' => 'Upload server error', + 'Can not be empty' => 'Can not be empty', + 'Create New Directory' => 'Create New Directory', + 'Directory Name' => 'Directory Name', + 'Directory:' => 'Directory:', + 'Directory was not created' => 'Directory was not created', + 'Directory was created' => 'Directory was created', + 'Directory was deleted' => 'Directory was deleted', + 'Directory was not deleted' => 'Directory was not deleted', + 'Directory exists' => 'Directory exists', + 'File:' => 'File:', + 'File was uploaded' => 'File was uploaded', + 'File was not uploaded' => 'File was not uploaded', + 'File was deleted' => 'File was deleted', + 'File was not deleted' => 'File was not deleted', + 'File exists' => 'File exists', + 'Cancel' => 'Cancel', + 'Create' => 'Create', + 'directory' => 'директорія', + 'Delete directory: :dir' => 'Видалити директорію: :dir', 'Delete file: :file' => 'Видалити файл: :file', 'Extension' => 'Розширення', 'Size' => 'Розмір', - 'Select file' => 'Вибрати файл', - 'Change' => 'Змінити', - 'Info' => 'Інфо', - 'File Information' => 'Інформація про файл', - 'Filename' => 'Назва файлу', - 'Filetype' => 'Тип файлу', - 'Filesize' => 'Размір файлу', - 'Dimension' => 'Вирішення', - 'Link' => 'Лінк', + 'Select file' => 'Выбрать файл', + 'Change' => 'Зминити', ) ); diff --git a/plugins/box/filesmanager/views/backend/index.view.php b/plugins/box/filesmanager/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/information/languages/cs.lang.php b/plugins/box/information/languages/cs.lang.php deleted file mode 100644 index b799eda7..00000000 --- a/plugins/box/information/languages/cs.lang.php +++ /dev/null @@ -1,40 +0,0 @@ - array( - 'Information' => 'Informace', - 'Debugging' => 'Ladění', - 'Name' => 'Název', - 'Value' => 'Hodnota', - 'Security' => 'Bezpečnost', - 'System' => 'System', - 'on' => 'zapnuto', - 'off'=> 'vypnuto', - 'Server' => 'Server', - 'PHP version' => 'Verze PHP', - 'SimpleXML module' => 'Modul SimpleXML', - 'DOM module' => 'Modul DOM', - 'Installed' => 'Nainstalované', - 'Not Installed' => 'Nenainstalované', - 'Security check results' => 'Výsledky bezpečnostní kontroly', - 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => - 'Konfigurační soubor je zapisovatelný. Doporučujeme Vám odstranit oprávnění jakéhokoliv zápisu pro defines.php na produkčních systémech', - 'The Monstra core directory (":path") and/or files underneath it has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod -R a-w :path' => - 'Základní adresář Monstra (":path") a/anebo soubory jsou zapisovatelné. Doporučujeme Vám odstranit oprávnění jakéhokoliv zápisu.
Na Unix systémech provedete opravu příkazem: chmod -R a-w :path', - 'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path' => - 'Monstra .htaccess jsoubor je zapisovatelný. Doporučujeme Vám odstranit oprávnění jakéhokoliv zápisu.
Na Unix systémech provedete opravu příkazem: chmod a-w :path', - 'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path' => - 'Monstra index.php jsoubor je zapisovatelný. Doporučujeme Vám odstranit oprávnění jakéhokoliv zápisu.
Na Unix systémech provedete opravu příkazem: chmod a-w :path', - 'Due to the type and amount of information an error might give intruders when Core::$environment = Core::DEVELOPMENT, we strongly advise setting Core::PRODUCTION in production systems.' => - 'Vzhledem k povaze a množství informácí, které mohou obsahovat chybová hlášení při nastavení Core::$environment = Core::DEVELOPMENT, na produkčních systémech důrazně doporučujeme nastavit Core::PRODUCTION.', - 'Monstra version' => 'Verze Monstra', - 'Directory Permissions' => 'Práva adresáře', - 'Directory' => 'Adresář', - 'Writable' => 'Zapisovatelný', - 'Unwritable' => 'Nezapisovatelný', - 'Status' => 'Status', - 'PHP Built On' => 'PHP Built On', - 'Web Server' => 'Web Server', - 'WebServer to PHP Interface' => 'WebServer to PHP Interface', - ) - ); diff --git a/plugins/box/information/languages/uk.lang.php b/plugins/box/information/languages/uk.lang.php index d88b0ed4..6dc54216 100644 --- a/plugins/box/information/languages/uk.lang.php +++ b/plugins/box/information/languages/uk.lang.php @@ -8,7 +8,7 @@ 'Value' => 'Значення', 'Security' => 'Безпека', 'System' => 'Система', - 'on' => 'увімкнено', + 'on' => 'включений', 'off'=> 'вимкнено', 'Server' => 'Сервер', 'PHP version' => 'Версія PHP', @@ -18,22 +18,22 @@ 'Not Installed' => 'Не встановлено', 'Security check results' => 'Результати перевірки безпеки', 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => - 'Конфігураційний файл доступний для запису. Ми рекомендуємо вам видалити права запису на файл defines.php на живому сайті.', + 'Конфігураційний файл доступен для запису. Ми рекомендуємо вам видалити права запису на файл defines.php на живому сайті.', 'The Monstra core directory (":path") and/or files underneath it has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod -R a-w :path' => - 'Директорія Monstra (":path") доступна для запису. Ми рекомендуємо вам видалити права запису на теку (":path") на живому сайті.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', + 'Директорія Monstra (":path") доступна для запису. Ми рекомендуємо вам видалити права запису на директорію (":path") на живому сайті.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', 'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path' => - 'Головний .htaccess доступний для запису. Ми рекомендуємо вам видалити права запису на головний .htaccess файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', + 'Головный .htaccess доступен для запису. Ми рекомендуємо вам видалити права запису на головний .htaccess файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', 'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path' => - 'Головний index.php файл доступний для запису. Ми рекомендуємо вам видалити права запису на головний index.php файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', + 'Головный index.php файл доступен для запису. Ми рекомендуємо вам видалити права запису на головний index.php файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path', 'Due to the type and amount of information an error might give intruders when Monstra::$environment = Monstra::DEVELOPMENT, we strongly advise setting Monstra::PRODUCTION in production systems.' => 'Система працює в режимі Monstra::DEVELOPMENT Ми рекомендуємо вам встановити режим Monstra::PRODUCTION на живому сайті.', 'Monstra version' => 'Monstra Версія', 'Directory Permissions' => 'Права Доступу', - 'Directory' => 'Тека', + 'Directory' => 'Каталог', 'Writable' => 'Доступна для запису', 'Unwritable' => 'Недоступна для запису', 'Status' => 'Статус', - 'PHP Built On' => 'PHP побудовано на', + 'PHP Built On' => 'PHP построен на', 'Web Server' => 'Веб сервер', - 'WebServer to PHP Interface' => 'Веб сервер для PHP інтерфейсу', ) + 'WebServer to PHP Interface' => 'Веб сервер для PHP интерфейса', ) ); diff --git a/plugins/box/menu/languages/cs.lang.php b/plugins/box/menu/languages/cs.lang.php deleted file mode 100644 index 3152582a..00000000 --- a/plugins/box/menu/languages/cs.lang.php +++ /dev/null @@ -1,28 +0,0 @@ - array( - 'Menu' => 'Menu', - 'Menu manager' => 'Manažer menu', - 'Edit' => 'Editovat', - 'Name' => 'Název', - 'Delete' => 'Vymazat', - 'Order' => 'Pořadí', - 'Actions' => 'Akce', - 'Create New Item' => 'Vytvořit novou položku', - 'New item' => 'Nová položka', - 'Item name' => 'Název položky', - 'Item order' => 'Pořadí položky', - 'Item target' => 'Cíl položky', - 'Item link' => 'Odkaz položky', - 'Item category' => 'Kategorie položky', - 'Save' => 'Uložit', - 'Edit item' => 'Editovat položku', - 'Delete item :name' => 'Vymazat položku :name', - 'Select page' => 'Vybrat stránku', - 'Category' => 'Kategorie', - 'Select category' => 'Vybrat kategorii', - 'Required field' => 'Povinné políčko', - 'Cancel' => 'Zrušit', - ) - ); diff --git a/plugins/box/menu/languages/uk.lang.php b/plugins/box/menu/languages/uk.lang.php index 1d60f94b..1213488d 100644 --- a/plugins/box/menu/languages/uk.lang.php +++ b/plugins/box/menu/languages/uk.lang.php @@ -14,10 +14,10 @@ 'Item name' => 'Назва', 'Item order' => 'Порядок', 'Item target' => 'Ціль', - 'Item link' => 'Лінк', + 'Item link' => 'Ссылка', 'Item category' => 'Категорія', 'Save' => 'Зберегти', - 'Edit item' => 'Редагувати пункт меню', + 'Edit item' => 'Редагування пункту меню', 'Delete item :name' => 'Видалити пункт меню :name', 'Select page' => 'Вибрати сторінку', 'Category' => 'Категорія', diff --git a/plugins/box/pages/languages/cs.lang.php b/plugins/box/pages/languages/cs.lang.php deleted file mode 100644 index e6dd441b..00000000 --- a/plugins/box/pages/languages/cs.lang.php +++ /dev/null @@ -1,55 +0,0 @@ - array( - 'Pages' => 'Stránky', - 'Pages manager' => 'Manažer stránek', - 'Content' => 'Obsah', - 'Create new page' => 'Vytvořit novou stránku', - 'New page' => 'Nová stránka', - 'Edit page' => 'Editovat stránku', - 'Date' => 'Datum', - 'Clone' => 'Klonovat', - 'Edit' => 'Editovat', - 'Delete' => 'Vymazat', - 'Delete page: :page' => 'Vymazat stránku: :page', - 'Title' => 'Titulka', - 'Name' => 'Název', - 'Author' => 'Autor', - 'Name (slug)' => 'Název (slug)', - 'Description' => 'Popis', - 'Keywords' => 'Klíčová slová', - 'Parent' => 'Rodič - Nadřazená stránka', - 'Template' => 'Téma', - 'Year' => 'Rok', - 'Day' => 'Den', - 'Month' => 'Měsíc', - 'Hour' => 'Hodina', - 'Minute' => 'Minuta', - 'Second' => 'Sekunda', - 'This field should not be empty' => 'Toto políčko nesmí být prázdné', - 'This page already exists' => 'Tato stránka již existuje', - 'Extra' => 'Extra', - 'Save' => 'Uložit', - 'Save and Exit' => 'Uložit a ukončit', - 'Your changes to the page :page have been saved.' => 'Vaše změny na stránce :page byly uloženy.', - 'The page :page cloned.' => 'Stránka :page byla klonována.', - 'Status' => 'Status', - 'Actions' => 'Akcie', - 'Add' => 'Přidat', - 'Published' => 'Zveřejněné', - 'Draft' => 'Rozpísané', - 'Published on' => 'Zveřejněné dne', - 'Edit 404 Page' => 'Editovat stránku 404', - 'Page :page deleted' => 'Vymazat stránku: :page', - 'Search Engines Robots' => 'Vyhledávací roboti', - 'Page' => 'Stránka', - 'Metadata' => 'Metadata', - 'Settings' => 'Nastavení', - 'Required field' => 'Povinné políčko', - 'Access' => 'Přístup', - 'Public' => 'Veřejný', - 'Registered' => 'Po přihlášení', - 'Cancel' => 'Zrušit', - ) - ); diff --git a/plugins/box/pages/languages/uk.lang.php b/plugins/box/pages/languages/uk.lang.php index 1ec7cf52..1cac2146 100644 --- a/plugins/box/pages/languages/uk.lang.php +++ b/plugins/box/pages/languages/uk.lang.php @@ -16,23 +16,22 @@ 'Title' => 'Заголовок', 'Name' => 'Назва', 'Author' => 'Автор', - 'Slug (url)' => 'Лінк (url)', - 'Tags' => 'Теги', + 'Name (slug)' => 'Назва (slug)', 'Description' => 'Опис', 'Keywords' => 'Ключові слова', - 'Parent' => 'Батько', + 'Parent' => 'Родитель', 'Template' => 'Шаблон', 'Year' => 'Рік', 'Day' => 'День', 'Month' => 'Місяц', 'Hours' => 'Час', - 'Minute' => 'Хвилина', + 'Minute' => 'Мінута', 'Second' => 'Секунда', - 'This field should not be empty' => 'Це поле не може бути порожнім', + 'This field should not be empty' => 'Це поле не може бути пустим', 'This page already exists' => 'Така сторінка вже існує', 'Extra' => 'Додатково', 'Save' => 'Зберегти', - 'Save and Exit' => 'Зберегти і вийти', + 'Save and Exit' => 'Зберегти и вийти', 'Your changes to the page :page have been saved.' => 'Ваші зміни до сторінки :page були збережені.', 'The page :page cloned.' => 'Сторінка :page клонована.', 'Status' => 'Статус', diff --git a/plugins/box/pages/pages.admin.php b/plugins/box/pages/pages.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/pages/views/backend/index.view.php b/plugins/box/pages/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/plugins/languages/cs.lang.php b/plugins/box/plugins/languages/cs.lang.php deleted file mode 100644 index 84d6c60e..00000000 --- a/plugins/box/plugins/languages/cs.lang.php +++ /dev/null @@ -1,21 +0,0 @@ - array( - 'Plugins' => 'Pluginy', - 'Name' => 'Název', - 'Actions' => 'Akce', - 'Description' => 'Popis', - 'Installed' => 'Nainstalované', - 'Install New' => 'Instalovat nový', - 'Delete' => 'Vymazat', - 'Delete plugin :plugin' => 'Vymazat plugin :plugin', - 'This plugin does not exist' => 'Tento plugin neexistuje', - 'Version' => 'Verze', - 'Author' => 'Autor', - 'Get More Plugins' => 'Získat víc pluginů', - 'Install' => 'Instalovat', - 'Uninstall' => 'Odinstalovat', - 'README.md not found' => 'README.md nenalezeno', - ) - ); diff --git a/plugins/box/plugins/languages/uk.lang.php b/plugins/box/plugins/languages/uk.lang.php index 3f75ad04..ff0bcb4a 100644 --- a/plugins/box/plugins/languages/uk.lang.php +++ b/plugins/box/plugins/languages/uk.lang.php @@ -3,22 +3,19 @@ return array( 'plugins' => array( 'Plugins' => 'Плагіни', - 'Installed' => 'Встановлені', - 'Install New' => 'Встановити нові', + 'Installed' => 'Установлені', + 'Install New' => 'Установити нові', 'Actions' => 'Дії', 'Name' => 'Назва', 'Description' => 'Опис', 'Delete' => 'Видалити', 'Delete plugin :plugin' => 'Видалити плагін :plugin', - 'This plugin does not exist' => 'Такий плагін не існує', + 'This plugin does not exist' => 'Такого плагіна не існує', 'Version' => 'Версія', 'Author' => 'Автор', 'Get More Plugins' => 'Завантажити інші плагіни', - 'Install' => 'Встановити', + 'Install' => 'Установити', 'Uninstall' => 'Видалити', - 'README.md not found' => 'README.md не знайдено', - 'Info' => 'Інфо', - 'Upload' => 'Завантажити', - 'Drop File Here' => 'Перенесіть файл сюди', + 'README.md not found' => 'README.md not found', ) ); diff --git a/plugins/box/plugins/plugins.admin.php b/plugins/box/plugins/plugins.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/plugins/views/backend/index.view.php b/plugins/box/plugins/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/sitemap/languages/cs.lang.php b/plugins/box/sitemap/languages/cs.lang.php deleted file mode 100644 index 4b63f147..00000000 --- a/plugins/box/sitemap/languages/cs.lang.php +++ /dev/null @@ -1,7 +0,0 @@ - array( - 'Sitemap' => 'Mapa webu', - ) - ); diff --git a/plugins/box/sitemap/languages/uk.lang.php b/plugins/box/sitemap/languages/uk.lang.php index ab3f3052..cc081a48 100644 --- a/plugins/box/sitemap/languages/uk.lang.php +++ b/plugins/box/sitemap/languages/uk.lang.php @@ -2,6 +2,6 @@ return array( 'sitemap' => array( - 'Sitemap' => 'Мапа сайту', + 'Sitemap' => 'Карта сайту', ) ); diff --git a/plugins/box/snippets/languages/cs.lang.php b/plugins/box/snippets/languages/cs.lang.php deleted file mode 100644 index 38bc8b77..00000000 --- a/plugins/box/snippets/languages/cs.lang.php +++ /dev/null @@ -1,30 +0,0 @@ - array( - 'Snippets' => 'Snippets / doplňky', - 'Snippets manager' => 'Manažer Snippets', - 'Actions' => 'Akce', - 'Delete' => 'Vymazat', - 'Edit' => 'Editovat', - 'Name' => 'Název', - 'Create New Snippet' => 'Vytvořit nový snippet', - 'New Snippet' => 'Nový snippet', - 'Edit Snippet' => 'Editovat snippet', - 'Save' => 'Uložit', - 'Save and Exit' => 'Uložit a ukončit', - 'This snippet already exists' => 'Tento snippet už existuje', - 'This snippet does not exist' => 'Tento snippet neexistuje', - 'Delete snippet: :snippet' => 'Vymazat snippet: :snippet', - 'Snippet content' => 'Obsah snippetu', - 'Snippet :name deleted' => 'Snippet :name byl vymazaný', - 'Your changes to the snippet :name have been saved.' => 'Vaše změny ve snippetu :name byly uložené.', - 'Delete snippet: :snippet' => 'Vymazat snippet: :snippet', - 'Required field' => 'Povinné políčko', - 'View Embed Code' => 'Zobrazit vložený kód', - 'Embed Code' => 'Vložený Kód', - 'Shortcode' => 'Zkrácený kód', - 'PHP Code' => 'PHP Kód', - 'Cancel' => 'Cancel', - ) - ); diff --git a/plugins/box/snippets/languages/uk.lang.php b/plugins/box/snippets/languages/uk.lang.php index 8df63715..d556a249 100644 --- a/plugins/box/snippets/languages/uk.lang.php +++ b/plugins/box/snippets/languages/uk.lang.php @@ -2,24 +2,24 @@ return array( 'snippets' => array( - 'Snippets' => 'Сніпети', - 'Snippets manager' => 'Менеджер сніпетів', + 'Snippets' => 'Сніппети', + 'Snippets manager' => 'Менеджер сніппетів', 'Actions' => 'Дії', 'Delete' => 'Видалити', 'Edit' => 'Редагувати', - 'New Snippet' => 'Новий сніпет', - 'Create New Snippet' => 'Створити новий сніпет', + 'New Snippet' => 'Новий сніппет', + 'Create New Snippet' => 'Створити новий сніппет', 'Name' => 'Назва', - 'Edit Snippet' => 'Редагування сніпета', + 'Edit Snippet' => 'Редагування сніппета', 'Save' => 'Зберегти', 'Save and Exit' => 'Зберегти та вийти', - 'This snippet already exists' => 'Такий сніпет вже існує', - 'This snippet does not exist' => 'Такий сніпет не існує', - 'Delete snippet: :block' => 'Видалити сніпет: :snippet', - 'Snippet content' => 'Вміст сніпета', - 'Snippet :name deleted' => 'Сніпет :name видалено', - 'Your changes to the snippet :name have been saved.' => 'Ваші зміни до сніпету :name були збережені.', - 'Delete snippet: :snippet' => 'Видалити сніпет: :snippet', + 'This snippet already exists' => 'Такий сніппет вже існує', + 'This snippet does not exist' => 'Такого сніппета не існує', + 'Delete snippet: :block' => 'Видалити сніппет: :snippet', + 'Snippet content' => 'Вміст сніппета', + 'Snippet :name deleted' => 'Сніппет :name видалено', + 'Your changes to the snippet :name have been saved.' => 'Ваші зміни до сниппету :name були збережені.', + 'Delete snippet: :snippet' => 'Видалити сніппет: :snippet', 'Required field' => 'Обов’язкове поле', 'View Embed Code' => 'Код для вставки', 'Embed Code' => 'Код для вставки', diff --git a/plugins/box/snippets/snippets.admin.php b/plugins/box/snippets/snippets.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/snippets/views/backend/index.view.php b/plugins/box/snippets/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/system/languages/cs.lang.php b/plugins/box/system/languages/cs.lang.php deleted file mode 100644 index b6bca9e0..00000000 --- a/plugins/box/system/languages/cs.lang.php +++ /dev/null @@ -1,80 +0,0 @@ - array( - 'System' => 'Systém', - 'Published a new version of the :monstra' => 'Byla vydaná nová verze :monstra', - 'Sitemap Created' => 'Mapa webu byla vytvořená', - 'Create Sitemap' => 'Vytvořit mapu webu', - 'on' => 'Zapnout', - 'off'=> 'Vypnout', - 'Site url' => 'URL webu', - 'Maintenance Mode' => 'Údržba webu', - 'Maintenance Mode On' => 'Zapnout údržbu webu', - 'Maintenance Mode Off' => 'Vypnout údržbu webu', - 'Site Settings' => 'Nastavení webu', - 'System Settings' => 'Nastavení systému', - 'Site Name' => 'Název webu', - 'Site Description' => 'Popis webu', - 'Site Keywords' => 'Klíčová slova webu', - 'Site Slogan' => 'Slogan webu', - 'Default Page' => 'Úvodní stránka', - 'Time zone' => 'Časové pásmo', - 'Language' => 'Jazyk', - 'Email' => 'Email', - 'Save' => 'Uložit', - 'System version' => 'Verze systému', - 'System version ID' => 'ID verze systému', - 'GZIP' => 'GZIP', - 'Debugging' => 'Ladění', - 'Plugin API' => 'Plugin API', - 'Plugins active' => 'Aktivní pluginy', - 'Actions registered' => 'Registrované akce', - 'Filters registered' => 'Registrované filtry', - 'Core' => 'Jádro', - 'Delete Temporary Files' => 'Vymazat dočasné soubory', - 'Download the latest version' => 'Stáhnout nejnovější verzi', - 'Powered by' => 'Beží na', - 'Administration' => 'Administrace', - 'Settings' => 'Nastavení', - 'Temporary files deleted' => 'Dočasné soubory byly odstraněny', - 'Extends' => 'Rozšírení', - 'View Site' => 'Zobrazit web', - 'Welcome, :username' => 'Vítej, :username', - 'Reset Password' => 'Obnovit heslo', - 'Back to Website' => 'Zpět na web', - 'Forgot your password ?' => 'Zapomněli jste heslo?', - 'Administration' => 'Administrace', - 'Send New Password' => 'Zaslat nové heslo', - 'This user does not exist' => 'Tento uživatel neexistuje', - 'Version' => 'Verze', - 'Plugin does not exist' => 'Plugin neexistuje', - - 'Install script writable' => 'Instalační skript je zapisovatelný', - 'Install script not writable' => 'Instalační skript není zapisovatelný', - 'Directory: :dir writable' => 'Adresář: :dir je zapisovatelný', - 'Directory: :dir not writable' => 'Adresář: :dir není zapisovatelný', - 'PHP Version' => 'Verze PHP', - 'Module DOM is installed' => 'Modul DOM je nainstalovaný', - 'Module DOM is required' => 'Modul DOM je vyžadovaný', - 'Module Mod Rewrite is installed' => 'Modul Apache Rewrite je nainstalovaný', - 'Module SimpleXML is installed' => 'Modul SimpleXML je nainstalovaný', - 'PHP 5.2 or greater is required' => 'PHP 5.2 alebo vyšší je vyžadovaný', - 'Apache Mod Rewrite is required' => 'Modul Apache Rewrite je vyžadovaný', - 'SimpleXML module is required' => 'SimpleXML modul je vyžadovaný', - 'Field "Site name" is empty' => 'Políčko "Název webu" je prázdné', - 'Field "Email" is empty' => 'Políčko "Email" je prázdné', - 'Field "Username" is empty' => 'Políčko "Používateľ" je prázdné', - 'Field "Password" is empty' => 'Políčko "Heslo" je prázdné', - 'Field "Site url" is empty' => 'Políčko "URL webu" je prázdné', - 'Email not valid' => 'Email není ve správném tvaru', - 'Install' => 'Instalovat', - '...Monstra says...' => '...Monstra říká...', - 'Sitemap file writable' => 'Soubor sitemap je zapisovatelný', - 'Sitemap file not writable' => 'Soubor sitemap není zapisovatelný', - 'Main .htaccess file writable' => 'Hlavní soubor .htaccess je zapisovatelný', - 'Main .htaccess file not writable' => 'Hlavní soubor .htaccess není zapisovatelný', - 'Official Support Forum' => 'Oficiální podpora - Fórum', - 'Documentation' => 'Dokumentace', - ) - ); diff --git a/plugins/box/system/languages/uk.lang.php b/plugins/box/system/languages/uk.lang.php index 022c2363..9eab6e60 100644 --- a/plugins/box/system/languages/uk.lang.php +++ b/plugins/box/system/languages/uk.lang.php @@ -4,34 +4,33 @@ 'system' => array( 'System' => 'Система', 'Published a new version of the :monstra' => 'Опублікована нова версія :monstra', - 'Sitemap created' => 'Мапа сайту створена', - 'Create Sitemap' => 'Створити мапу сайту', - 'on' => 'увімкнено', + 'Sitemap created' => 'Карта сайту створена', + 'Create Sitemap' => 'Створити карту сайту', + 'on' => 'включено', 'off'=> 'вимкнено', - 'Site Url' => 'Адреса сайту', - 'Maintenance Mode' => 'Технічне обслуговування', - 'Maintenance Mode On' => 'Увімкнути технічне обслуговування', - 'Maintenance Mode Off' => 'Вимкнути технічне обслуговування', + 'Site url' => 'Адреса сайту', + 'Maintenance Mode' => 'Тех. обслуговування', + 'Maintenance Mode On' => 'Включити тех. обслуговування', + 'Maintenance Mode Off' => 'Включити тех. обслуговування', 'Site Settings' => 'Налаштування сайту', 'System Settings' => 'Налаштування системи', 'Site Name' => 'Назва сайту', 'Site Description' => 'Опис сайту', 'Site Keywords' => 'Ключові слова', 'Site Slogan' => 'Слоган (гасло)', - 'Default Page' => 'Сторінка за замовчуванням', - 'Time zone' => 'Часовий пояс', + 'Default Page' => 'Сторінка по умовчанню', + 'Time zone' => 'Тимчасова зона', 'Language' => 'Мова', - 'Email' => 'Електронна пошта (Email)', + 'Email' => 'Email', 'Save' => 'Зберегти', - 'Site' => 'Сайт', 'System version' => 'Версія системи', 'System version ID' => 'Версія системи ID', 'GZIP' => 'Стиснення GZIP', 'Debugging' => 'Дебаггінг', 'Plugin API' => 'Плагін API', 'Plugins active' => 'Підключені плагіни', - 'Actions registered' => 'Зареєстровані дії', - 'Filters registered' => 'Зареєстровані фільтри', + 'Actions registered' => 'Зареєстровані екшени', + 'Filters registered' => 'Зареєстровані фітри', 'Delete Temporary Files' => 'Видалити тимчасові файли', 'Download the latest version' => 'Завантажити останню версію', 'Powered by' => 'Працює на', @@ -48,8 +47,7 @@ 'Send New Password' => 'Надіслати новий пароль', 'This user does not exist' => 'Такого користувача не існує', 'Version' => 'Версія', - 'Plugin does not exist' => 'Такий плагін не існує', - 'Help' => 'Довідка', + 'Plugin does not exist' => 'Такого плагіна не існує', 'Install script writable' => 'Інсталяційний скрипт доступний для запису', 'Install script not writable' => 'Інсталяційний скрипт не доступний для запису', @@ -64,12 +62,11 @@ 'Apache Mod Rewrite is required' => 'Потрібен Apache Mod Rewrite', 'SimpleXML module is required' => 'Потрібен SimpleXML модуль', 'Field "Site name" is empty' => 'Поле "Назва сайту" не заповнено', - 'Field "Email" is empty' => 'Поле "Ел. пошта" не заповнено', + 'Field "Email" is empty' => 'Поле "Эл. пошта" не заповнено', 'Field "Username" is empty' => 'Поле "Ім’я користувача" не заповнено', 'Field "Password" is empty' => 'Поле "Пароль" не заповнено', 'Field "Site url" is empty' => 'Поле "Адреса сайту" не заповнено', - 'Email not valid' => 'Ел. пошта не дійсна', - 'Continue' => 'Продовжити', + 'Email not valid' => 'Эл. пошта недійсна', 'Install' => 'Інсталювати', '...Monstra says...' => '... Monstra каже ...', 'Sitemap file writable' => 'Карта сайту доступна для запису', @@ -78,6 +75,5 @@ 'Main .htaccess file not writable' => 'Головний .htaccess файл - не доступний для запису', 'Official Support Forum' => 'Офіційний Форум Підтримки', 'Documentation' => 'Документація', - 'Your changes have been saved.' => 'Ваші зміни були збережені.', ) ); diff --git a/plugins/box/system/system.admin.php b/plugins/box/system/system.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/system/views/backend/index.view.php b/plugins/box/system/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/themes/languages/cs.lang.php b/plugins/box/themes/languages/cs.lang.php deleted file mode 100644 index d6a0eb44..00000000 --- a/plugins/box/themes/languages/cs.lang.php +++ /dev/null @@ -1,52 +0,0 @@ - array( - 'Themes' => 'Témata', - 'Themes manager' => 'Manažer témat', - 'Select Theme' => 'Vybrat téma', - 'Save' => 'Uložit', - 'Save and Exit' => 'Uložit a ukončit', - 'Name' => 'Název', - 'Create New Template' => 'Vytvořit nové téma', - 'New Template' => 'Nová téma', - 'Delete template: :name' => 'Vymazat téma: :name', - 'Delete chunk: :name' => 'Vymazat sekci: :name', - 'Delete styles: :name' => 'Vymazat CSS styl: :name', - 'Templates' => 'Témy', - 'Clone' => 'Klonovat', - 'Edit' => 'Editovat', - 'Delete' => 'Vymazat', - 'Actions' => 'Akcie', - 'Create New Chunk' => 'Vytvořit novou sekci', - 'New Chunk' => 'Nová sekce', - 'Chunks' => 'Sekce', - 'Create New Styles' => 'Vytvořit nový CSS styl', - 'New Styles' => 'Nový CSS styl', - 'Styles' => 'CSS styly', - 'Template content' => 'Obsah tématu', - 'Styles content' => 'Obsah CSS stylu', - 'Chunk content' => 'Obsah sekce', - 'Edit Template' => 'Editovat téma', - 'Edit Chunk' => 'Editovat sekci', - 'Edit Styles' => 'Editovat CSS styl', - 'Current Site Theme' => 'Aktuální téma webu', - 'Current admin theme' => 'Aktuální téma administrace', - 'This template already exists' => 'Toto téma již existuje', - 'This chunk already exists' => 'Tato sekce již existuje', - 'This styles already exist' => 'Tento CSS styl již existuje', - 'Components templates' => 'Téma komponentů', - 'Your changes to the chunk :name have been saved.' => 'Vaše změny v sekci :name byly uloženy.', - 'Your changes to the styles :name have been saved.' => 'Vaše změny v CSS stylu :name byly uloženy.', - 'Your changes to the template :name have been saved.' => 'Vaše změny v tématu :name byly uloženy.', - 'Chunk :name deleted' => 'Sekce :name odstraněna', - 'Required field' => 'Povinné políčko', - 'Scripts' => 'Skripty', - 'Site Theme' => 'Téma webu', - 'Admin Theme' => 'Téma administrace', - 'Create New Script' => 'Vytvořit nový skript', - 'Script content' => 'Obsah skriptu', - 'New Script' => 'Nový skript', - 'Edit Script' => 'Editovat skript', - ) - ); diff --git a/plugins/box/themes/languages/uk.lang.php b/plugins/box/themes/languages/uk.lang.php index 3707d37f..97be1dd2 100644 --- a/plugins/box/themes/languages/uk.lang.php +++ b/plugins/box/themes/languages/uk.lang.php @@ -2,7 +2,7 @@ return array( 'themes' => array( - 'Themes' => 'Теми', + 'Themes' => 'Темы', 'Themes manager' => 'Менеджер тем', 'Select Theme' => 'Вибрати тему', 'Save' => 'Зберегти', @@ -18,9 +18,8 @@ 'Edit' => 'Редагувати', 'Delete' => 'Видалити', 'Actions' => 'Дії', - 'Admin Theme' => 'Тема ', 'Create New Chunk' => 'Створити новий чанк', - 'New Chunk' => 'Новий чанк', + 'New Chunk' => 'Новый чанк', 'Chunks' => 'Чанки', 'Create New Styles' => 'Створити нові стилі', 'New Styles' => 'Нові стилі', @@ -42,7 +41,7 @@ 'Your changes to the chunk :name have been saved.' => 'Ваші зміни до чанку :name були збережені', 'Your changes to the styles :name have been saved.' => 'Ваші зміни до стиля :name були збережені', 'Your changes to the template :name have been saved.' => 'Ваші зміни до шаблону :name були збережені', - 'Chunk :name deleted' => 'Чанк :name видалено', + 'Chunk :name deleted' => 'Chunk :name deleted', 'Required field' => 'Обов’язкове поле', 'Scripts' => 'Скрипти', 'Create New Script' => 'Створити новий скрипт', diff --git a/plugins/box/themes/themes.admin.php b/plugins/box/themes/themes.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/users/install/users.manifest.xml b/plugins/box/users/install/users.manifest.xml index 90808b94..1beeb314 100644 --- a/plugins/box/users/install/users.manifest.xml +++ b/plugins/box/users/install/users.manifest.xml @@ -5,7 +5,7 @@ 7 Users Users plugin - 1.0.0 - Awilum - http://monstra.org/ + 1.0.1 + Samir KHERRAz + http://www.samir-kherraz.tk diff --git a/plugins/box/users/languages/cs.lang.php b/plugins/box/users/languages/cs.lang.php deleted file mode 100644 index 39b229da..00000000 --- a/plugins/box/users/languages/cs.lang.php +++ /dev/null @@ -1,69 +0,0 @@ - array( - 'Users' => 'Uživatelé', - 'Login' => 'Přihlásit', - 'Username' => 'Přihlašovací jméno', - 'Password' => 'Heslo', - 'Registered' => 'Registrovaný', - 'Email' => 'Email', - 'Role' => 'Úloha', - 'Roles' => 'Úlohy', - 'Edit' => 'Editovat', - 'Actions' => 'Akce', - 'Delete' => 'Vymazat', - 'Log In' => 'Přihlásit', - 'Log Out' => 'Odhlásit', - 'Register New User' => 'Registrace Nového Uživatele', - 'New User Registration' => 'Registrace nového uživatele', - 'Delete user: :user' => 'Vymazat uživatele: :user', - 'User :user have been deleted.' => 'Uživatel :user byl vymazán.', - 'This user already exists' => 'Tento uživatel už existuje', - 'This email already exists' => 'Tento email už existuje', - 'Changes saved' => 'Uložit změny', - 'Wrong old password' => 'Nesprávné staré heslo', - 'Admin' => 'Administrátor', - 'User' => 'Uživatel', - 'Editor' => 'Editor', - 'Register' => 'Registrovat', - 'Edit profile' => 'Editovat profil', - 'Save' => 'Uložit', - 'Firstname' => 'Křestní jméno', - 'Lastname' => 'Příjmení', - 'Old password' => 'Staré heslo', - 'New password' => 'Nové heslo', - 'Welcome' => 'Vítejte', - 'Wrong username or password' => 'Nesprávné uživatelské jméno nebo heslo', - 'Your changes have been saved.' => 'Vaše změny byly uloženy.', - 'New user have been registered.' => 'Nový uživatel byl zaregistrovaný.', - 'Captcha' => 'Captcha', - 'Registration' => 'Registrace', - 'Username' => 'Uživatelské heslo', - 'User email is invalid' => 'Uživatelský email není ve správném tvaru', - 'Reset Password' => 'Obnovit heslo', - 'Send New Password' => 'Poslat nové heslo', - 'This user doesnt alredy exist' => 'Tento uživatel neexistuje', - 'Users - Profile' => 'Uživatelé - Profil', - 'Users - Edit Profile' => 'Uživatelé - Editovat Profil', - 'Users - Log In' => 'Uživatelé - Přihlášení', - 'Users - Registration' => 'Uživatelé - Registrace', - 'Users - Password Recover' => 'Uživatelé - Obnova hesla', - 'New Password' => 'Nové heslo', - 'Forgot your password?' => 'Zapomněli jste heslo?', - 'New password has been sent' => 'Nové heslo bylo zaslané', - 'Monstra says: This is not your profile...' => 'Monstra říká: Toto není Váš profil...', - 'User registration is closed.' => 'Registrace uživatelů je uzavřená.', - 'Allow user registration' => 'Povolit registraci uživatelů', - 'Required field' => 'Povinné políčko', - 'This user doesnt exist' => 'Tento uživatel neexistuje', - 'Captcha code is wrong' => 'Captcha kód není správný', - 'Your login details for :site_name has been sent' => 'Váše přihlašovací údaje pro :site_name byly zaslané', - 'Your new password for :site_name' => 'Vaše nové heslo pro :site_name', - 'Your login details for :site_name' => 'Vaše přihlašovací údaje pro :site_name', - 'About Me' => 'O mně', - 'Profile' => 'Profil', - 'You are banned for 10 minutes. Try again later' => 'Máte ban na 10 minut. Zkuste to znovu později', - 'Cancel' => 'Zrušit', - ) - ); diff --git a/plugins/box/users/languages/uk.lang.php b/plugins/box/users/languages/uk.lang.php index d5e66da5..5ff5b155 100644 --- a/plugins/box/users/languages/uk.lang.php +++ b/plugins/box/users/languages/uk.lang.php @@ -5,7 +5,7 @@ 'Users' => 'Користувачі', 'Login' => 'Вхід', 'Password' => 'Пароль', - 'Email' => 'Ел. пошта', + 'Email' => 'Эл. пошта', 'Registered' => 'Зареєстрований', 'Role' => 'Роль', 'Roles' => 'Ролі', @@ -39,7 +39,7 @@ 'Captcha' => 'Каптча', 'Registration' => 'Реєстрація', 'Username' => 'Ім’я користувача', - 'User email is invalid' => 'Ел. пошта є недійсною', + 'User email is invalid' => 'Эл. пошта є недійсною', 'Reset Password' => 'Скинути пароль', 'Send New Password' => 'Відправити пароль', 'Users - Profile' => 'Користувачі - Профіль', @@ -49,19 +49,19 @@ 'Users - Password Recover' => 'Користувачі - Відновлення пароля', 'New Password' => 'Новий пароль', 'Forgot your password?' => 'Забули пароль?', - 'New password has been sent' => 'Новий пароль було відправлено', + 'New password has been sent' => 'Новий пароль був відправлен', 'Monstra says: This is not your profile...' => 'Монстра каже: Це не твій профіль...', 'User registration is closed.' => 'Реєстрація користувачів закрита.', 'Allow user registration' => 'Дозволити реєстрацію користувачів.', 'Required field' => 'Обов’язкове поле', 'This user doesnt exist' => 'Такого користувача не існує', - 'Captcha code is wrong' => 'Невірний захисний код', + 'Captcha code is wrong' => 'Невірний код каптчі', 'Your login details for :site_name has been sent' => 'Ваші дані для доступу до :site_name були відправлені', 'Your new password for :site_name' => 'Ваш новий пароль до :site_name', 'Your login details for :site_name' => 'Ваші дані для доступу до :site_name', 'About Me' => 'Про мене', 'Profile' => 'Профіль', - 'You are banned for 10 minutes. Try again later' => 'Ви заблоковані на 10 хвилин. Спробуйте пізніше', + 'You are banned for 10 minutes. Try again later' => 'Вы заблоковани на 10 хвилин. Спробуйте піздніше', 'Cancel' => 'Відмінити', ) ); diff --git a/plugins/box/users/users.admin.php b/plugins/box/users/users.admin.php old mode 100755 new mode 100644 diff --git a/plugins/box/users/users.plugin.php b/plugins/box/users/users.plugin.php index b41520ca..253d2b00 100644 --- a/plugins/box/users/users.plugin.php +++ b/plugins/box/users/users.plugin.php @@ -5,9 +5,9 @@ * * @package Monstra * @subpackage Plugins - * @author Romanenko Sergey / Awilum - * @copyright 2012-2014 Romanenko Sergey / Awilum - * @version 1.0.0 + * @author Samir KHERRAZ / Romanenko Sergey / Awilum + * @copyright 2012-2017 Samir KHERRAZ / Romanenko Sergey / Awilum + * @version 1.0.1 * */ @@ -15,9 +15,9 @@ Plugin::register( __FILE__, __('Users', 'users'), __('Users manager', 'users'), - '1.0.0', - 'Awilum', - 'http://monstra.org/', + '1.0.1', + 'Samir KHERRAZ', + 'http://www.samir-kherraz.tk/', 'users', 'box'); diff --git a/plugins/box/users/views/backend/index.view.php b/plugins/box/users/views/backend/index.view.php old mode 100755 new mode 100644 diff --git a/plugins/box/users/views/frontend/edit.view.php b/plugins/box/users/views/frontend/edit.view.php index 386d7bcf..f78b4ca4 100644 --- a/plugins/box/users/views/frontend/edit.view.php +++ b/plugins/box/users/views/frontend/edit.view.php @@ -1,5 +1,5 @@
-
+
-
+
-
+
diff --git a/plugins/box/users/views/frontend/profile.view.php b/plugins/box/users/views/frontend/profile.view.php index 200ba132..e5b08923 100644 --- a/plugins/box/users/views/frontend/profile.view.php +++ b/plugins/box/users/views/frontend/profile.view.php @@ -1,5 +1,7 @@ - +
+
+
@@ -9,10 +11,16 @@
:
:
:
:
:
+
+
-
- / - / - +
+
+
+ + + + +
diff --git a/public/themes/default/blog-post.template.php b/public/themes/default/blog-post.template.php index 5b7996e3..d7087946 100644 --- a/public/themes/default/blog-post.template.php +++ b/public/themes/default/blog-post.template.php @@ -19,6 +19,8 @@
+ +
From 5c99fb5f5a483f9240827b05eaeabbfe8d1b1320 Mon Sep 17 00:00:00 2001 From: Samir KHERRAZ Date: Thu, 8 Jun 2017 14:34:33 +0200 Subject: [PATCH 2/2] - Module Blog changed to module Category and integrated into box - New look on Public and Admin theme - Adding to box module Comments - Including Font Awesomeand removing glyphi... --- CHANGELOG.md | 7 + admin/themes/default/index.template.php | 17 +- plugins/blog/README.md | 40 --- plugins/blog/languages/en.lang.php | 12 - plugins/blog/languages/es.lang.php | 12 - plugins/blog/languages/pl.lang.php | 12 - plugins/blog/languages/ru.lang.php | 13 - plugins/blog/languages/sr.lang.php | 11 - plugins/blog/languages/tr.lang.php | 12 - plugins/blog/views/frontend/tags.view.php | 3 - .../box/backup/views/backend/index.view.php | 24 +- .../box/blocks/views/backend/edit.view.php | 4 +- .../box/blocks/views/backend/index.view.php | 6 +- plugins/box/category/README.md | 40 +++ .../category/category.plugin.php} | 88 +++---- .../category/install/category.manifest.xml} | 8 +- plugins/box/category/languages/en.lang.php | 14 ++ plugins/box/category/languages/fr.lang.php | 14 ++ plugins/{blog => box/category}/rss.php | 14 +- .../category}/views/frontend/block.view.php | 0 .../views/frontend/breadcrumbs.view.php | 0 .../category}/views/frontend/index.view.php | 2 +- .../category}/views/frontend/pager.view.php | 0 .../views/frontend/related_posts.view.php | 2 +- .../box/category/views/frontend/tags.view.php | 3 + plugins/box/comments/comments.admin.php | 76 ++++++ plugins/box/comments/comments.plugin.php | 137 +++++++++++ .../comments/install/comments.manifest.xml | 11 + plugins/box/comments/languages/en.lang.php | 21 ++ plugins/box/comments/languages/fr.lang.php | 21 ++ .../box/comments/views/backend/index.view.php | 71 ++++++ .../box/comments/views/frontend/form.view.php | 51 ++++ .../comments/views/frontend/index.view.php | 28 +++ plugins/box/dashboard/dashboard.admin.php | 1 + .../dashboard/views/backend/index.view.php | 6 +- .../box/filesmanager/languages/fr.lang.php | 2 +- .../filesmanager/views/backend/index.view.php | 10 +- .../information/views/backend/index.view.php | 8 +- plugins/box/menu/views/backend/add.view.php | 12 +- plugins/box/menu/views/backend/edit.view.php | 9 +- plugins/box/menu/views/backend/index.view.php | 6 +- .../box/pages/views/backend/index.view.php | 12 +- .../box/plugins/views/backend/index.view.php | 2 +- .../box/snippets/views/backend/index.view.php | 2 +- .../box/themes/views/backend/index.view.php | 24 +- plugins/box/users/views/backend/add.view.php | 5 +- .../box/users/views/backend/index.view.php | 4 +- .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 229 ------------------ .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes public/themes/default/blog-post.template.php | 33 --- public/themes/default/blog.template.php | 31 --- public/themes/default/css/default.css | 224 ++++------------- public/themes/default/footer-links.chunk.php | 1 - public/themes/default/footer.chunk.php | 18 +- public/themes/default/header.chunk.php | 164 +++++++++---- public/themes/default/index.template.php | 8 +- storage/blocks/.empty | 0 storage/database/menu.table.xml | 40 ++- storage/database/pages.table.xml | 101 +++++++- storage/database/plugins.table.xml | 181 +++++++++++++- 62 files changed, 1139 insertions(+), 768 deletions(-) delete mode 100644 plugins/blog/README.md delete mode 100644 plugins/blog/languages/en.lang.php delete mode 100644 plugins/blog/languages/es.lang.php delete mode 100644 plugins/blog/languages/pl.lang.php delete mode 100644 plugins/blog/languages/ru.lang.php delete mode 100644 plugins/blog/languages/sr.lang.php delete mode 100644 plugins/blog/languages/tr.lang.php delete mode 100644 plugins/blog/views/frontend/tags.view.php create mode 100644 plugins/box/category/README.md rename plugins/{blog/blog.plugin.php => box/category/category.plugin.php} (79%) rename plugins/{blog/install/blog.manifest.xml => box/category/install/category.manifest.xml} (52%) create mode 100644 plugins/box/category/languages/en.lang.php create mode 100644 plugins/box/category/languages/fr.lang.php rename plugins/{blog => box/category}/rss.php (70%) rename plugins/{blog => box/category}/views/frontend/block.view.php (100%) rename plugins/{blog => box/category}/views/frontend/breadcrumbs.view.php (100%) rename plugins/{blog => box/category}/views/frontend/index.view.php (78%) rename plugins/{blog => box/category}/views/frontend/pager.view.php (100%) rename plugins/{blog => box/category}/views/frontend/related_posts.view.php (84%) create mode 100644 plugins/box/category/views/frontend/tags.view.php create mode 100644 plugins/box/comments/comments.admin.php create mode 100644 plugins/box/comments/comments.plugin.php create mode 100644 plugins/box/comments/install/comments.manifest.xml create mode 100644 plugins/box/comments/languages/en.lang.php create mode 100644 plugins/box/comments/languages/fr.lang.php create mode 100644 plugins/box/comments/views/backend/index.view.php create mode 100644 plugins/box/comments/views/frontend/form.view.php create mode 100644 plugins/box/comments/views/frontend/index.view.php delete mode 100644 public/assets/fonts/glyphicons-halflings-regular.eot delete mode 100644 public/assets/fonts/glyphicons-halflings-regular.svg delete mode 100644 public/assets/fonts/glyphicons-halflings-regular.ttf delete mode 100644 public/assets/fonts/glyphicons-halflings-regular.woff delete mode 100644 public/themes/default/blog-post.template.php delete mode 100644 public/themes/default/blog.template.php delete mode 100644 public/themes/default/footer-links.chunk.php delete mode 100644 storage/blocks/.empty diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a56f79f..1cdce8a9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Monstra 3.1.0, 2017-06-08 +------------------------ +- Module Blog changed to module Category and integrated into box +- New look on Public and Admin theme +- Adding to box module Comments +- Including Font Awesomeand removing glyphi... + Monstra 3.0.4, 2016-04-05 ------------------------ - Fixed User Security by adding a check that compares POST id with SESSION diff --git a/admin/themes/default/index.template.php b/admin/themes/default/index.template.php index ab7188bf..2267f75d 100644 --- a/admin/themes/default/index.template.php +++ b/admin/themes/default/index.template.php @@ -16,12 +16,14 @@ + + - + - + @@ -56,6 +58,13 @@ }); + + -
- +
+
+
@@ -30,23 +31,25 @@ 0) rsort($backups_list); foreach ($backups_list as $backup) { ?> @@ -54,4 +57,5 @@
- - +
', 'index.php?id=backup&restore='.$backup.'&token='.Security::token(), - array('class' => 'btn btn-primary')); + array('class' => 'btn btn-success')); } ?> - ', 'index.php?id=backup&delete_file='.$backup.'&token='.Security::token(), array('class' => 'btn btn-danger', 'onclick' => "return confirmDelete('".__('Delete backup: :backup', 'backup', array(':backup' => Date::format($name, 'F jS, Y - g:i A')))."')")); ?> + ', Option::get('siteurl').'/admin/index.php?id=backup&download='.$backup.'&token='.Security::token(),array('class' => 'btn btn-actions btn-info')); ?>
+
diff --git a/plugins/box/blocks/views/backend/edit.view.php b/plugins/box/blocks/views/backend/edit.view.php index c57a5752..2148b60e 100644 --- a/plugins/box/blocks/views/backend/edit.view.php +++ b/plugins/box/blocks/views/backend/edit.view.php @@ -29,8 +29,8 @@ 'btn btn-phone btn-primary')).Html::nbsp(2). - Form::submit('edit_blocks', __('Save', 'blocks'), array('class' => 'btn btn-phone btn-primary')). Html::nbsp(2). + Form::submit('edit_blocks_and_exit', __('Save and Exit', 'blocks'), array('class' => 'btn btn-info')).Html::nbsp(2). + Form::submit('edit_blocks', __('Save', 'blocks'), array('class' => 'btn btn-phone btn-success')). Html::nbsp(2). Html::anchor(__('Cancel', 'blocks'), 'index.php?id=blocks', array('title' => __('Cancel', 'blocks'), 'class' => 'btn btn-phone btn-default')). Form::close() ); diff --git a/plugins/box/blocks/views/backend/index.view.php b/plugins/box/blocks/views/backend/index.view.php index 3a0c0350..1dbd7519 100644 --- a/plugins/box/blocks/views/backend/index.view.php +++ b/plugins/box/blocks/views/backend/index.view.php @@ -12,7 +12,7 @@
- +
@@ -26,7 +26,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=blocks&action=edit_block&filename='.basename($block, '.block.html'), array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=blocks&action=delete_block&filename='.basename($block, '.block.html').'&token='.Security::token(), array('class' => 'btn btn-danger', 'onclick' => "return confirmDelete('".__('Delete block: :block', 'blocks', array(':block' => basename($block, '.block.html')))."')")); ?> diff --git a/plugins/box/category/README.md b/plugins/box/category/README.md new file mode 100644 index 00000000..b9bfa293 --- /dev/null +++ b/plugins/box/category/README.md @@ -0,0 +1,40 @@ +Blog +================ + +### Usage + +#### Get Post + + +#### Get Posts + + +#### Get 5 Posts (could be any amount, 5 or 1 or 25): + + +#### Get related Posts + + +#### Get 4 latest posts from Category + + +#### Get Tags&Keywords + + +#### Get Tags&Keywords for current page + + +Get Post Title + + +### Shortcode for content + +#### Divided post into 2 parts (short and full) + {cut} + +Example: + +

Best free themes for Monstra CMS at monstrathemes.com

+ {cut} +

There is going to display your content as category post =)

+ \ No newline at end of file diff --git a/plugins/blog/blog.plugin.php b/plugins/box/category/category.plugin.php similarity index 79% rename from plugins/blog/blog.plugin.php rename to plugins/box/category/category.plugin.php index 4eab7a16..2abbf345 100644 --- a/plugins/blog/blog.plugin.php +++ b/plugins/box/category/category.plugin.php @@ -1,30 +1,32 @@ - * echo Blog::getTags(); + * echo Category::getTags(); * * * @return string @@ -48,8 +50,8 @@ class Blog extends Page public static function getTags($slug = null) { // Display view - return View::factory('blog/views/frontend/tags') - ->assign('tags', Blog::getTagsArray($slug)) + return View::factory('box/category/views/frontend/tags') + ->assign('tags', Category::getTagsArray($slug)) ->render(); } @@ -58,7 +60,7 @@ public static function getTags($slug = null) * Get breadcrumbs * * - * echo Blog::breadcrumbs(); + * echo Category::breadcrumbs(); * * * @return string @@ -77,7 +79,7 @@ public static function breadcrumbs() } // Display view - View::factory('blog/views/frontend/breadcrumbs') + View::factory('box/category/views/frontend/breadcrumbs') ->assign('current_page', $current_page) ->assign('page', $page) ->assign('parent', $parent) @@ -91,20 +93,20 @@ public static function breadcrumbs() * Get tags array * * - * echo Blog::getTagsArray(); + * echo Category::getTagsArray(); * * * @return array */ public static function getTagsArray($slug = null) { - Blog::$parent_page_name = Pages::$requested_page; + Category::$parent_page_name = Pages::$requested_page; // Init vars $tags = array(); $tags_string = ''; if ($slug == null) { - $posts = Pages::$pages->select('[parent="'.Blog::$parent_page_name.'" and status="published"]', 'all'); + $posts = Pages::$pages->select('[parent="'.Category::$parent_page_name.'" and status="published"]', 'all'); } else { $posts = Pages::$pages->select('[status="published" and slug="'.$slug.'"]', 'all'); } @@ -141,10 +143,10 @@ public static function getTagsArray($slug = null) * * * // Get all posts - * echo Blog::getPosts(); + * echo Category::getPosts(); * * // Get last 5 posts - * echo Blog::getPosts(5); + * echo Category::getPosts(5); * * * @param integer $num Number of posts to show @@ -152,15 +154,15 @@ public static function getTagsArray($slug = null) */ public static function getPosts($nums = 10) { - Blog::$parent_page_name = Pages::$requested_page; + Category::$parent_page_name = Pages::$requested_page; // Get page param $page = (Request::get('page')) ? (int)Request::get('page') : 1; if (Request::get('tag')) { - $query = '[parent="'.Blog::$parent_page_name.'" and status="published" and contains(keywords, "'.Request::get('tag').'")]'; + $query = '[parent="'.Category::$parent_page_name.'" and status="published" and contains(keywords, "'.Request::get('tag').'")]'; Notification::set('tag', Request::get('tag')); } else { - $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; + $query = '[parent="'.Category::$parent_page_name.'" and status="published"]'; Notification::clean(); } @@ -194,10 +196,10 @@ public static function getPosts($nums = 10) } // Display view - return View::factory('blog/views/frontend/index') + return View::factory('box/category/views/frontend/index') ->assign('posts', $posts) ->render(). - View::factory('blog/views/frontend/pager') + View::factory('box/category/views/frontend/pager') ->assign('pages', $pages) ->assign('page', $page) ->render(); @@ -209,10 +211,10 @@ public static function getPosts($nums = 10) * * * // Get all posts - * echo Blog::getPostsBlock(); + * echo Category::getPostsBlock(); * * // Get last 5 posts - * echo Blog::getPostsBlock(5); + * echo Category::getPostsBlock(5); * * * @param integer $num Number of posts to show @@ -220,9 +222,9 @@ public static function getPosts($nums = 10) */ public static function getPostsBlock($nums = 10) { - Blog::$parent_page_name = Pages::$requested_page; + Category::$parent_page_name = Pages::$requested_page; // XPath Query - $query = '[parent="'.Blog::$parent_page_name.'" and status="published"]'; + $query = '[parent="'.Category::$parent_page_name.'" and status="published"]'; // Get posts and sort by DESC $posts = Pages::$pages->select($query, $nums, 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); @@ -234,7 +236,7 @@ public static function getPostsBlock($nums = 10) } // Display view - return View::factory('blog/views/frontend/block') + return View::factory('box/category/views/frontend/block') ->assign('posts', $posts) ->render(); } @@ -244,15 +246,15 @@ public static function getPostsBlock($nums = 10) * Get related posts * * - * echo Blog::getRelatedPosts(); + * echo Category::getRelatedPosts(); * * * @return string */ public static function getRelatedPosts($limit = null) { - Blog::$parent_page_name = Pages::$requested_page; - $tags = Blog::getTagsArray(Pages::$requested_page); + Category::$parent_page_name = Pages::$requested_page; + $tags = Category::getTagsArray(Pages::$requested_page); $i= 0; $max= count($tags); $query = "[slug!=\"".Pages::$requested_page."\" and status=\"published\""; @@ -285,7 +287,7 @@ public static function getRelatedPosts($limit = null) } // Display view - return View::factory('blog/views/frontend/related_posts') + return View::factory('box/category/views/frontend/related_posts') ->assign('posts', $posts) ->render(); } @@ -296,7 +298,7 @@ public static function getRelatedPosts($limit = null) * Get post content * * - * echo Blog::getPost(); + * echo Category::getPost(); * * * @return string @@ -322,7 +324,7 @@ public static function getPost() * Get post content before cut * * - * echo Blog::getPostBeforeCut('home'); + * echo Category::getPostBeforeCut('home'); * * * @return string @@ -347,7 +349,7 @@ public static function getPostBeforeCut($slug) * Get post content after cut * * - * echo Blog::getPostAfterCut('home'); + * echo Category::getPostAfterCut('home'); * * * @return string @@ -369,10 +371,10 @@ public static function getPostAfterCut($slug) /** - * Get Blog Post title + * Get Category Post title * * - * echo Blog::getPostTitle(); + * echo Category::getPostTitle(); * * * @return string @@ -388,10 +390,10 @@ public static function getPostTitle() /** - * Get Blog Post Date + * Get Category Post Date * * - * echo Blog::getPostDate(); + * echo Category::getPostDate(); * * * @param string $format Date format @@ -407,7 +409,7 @@ public static function getPostDate($format = 'Y-m-d') * Get author of current post * * - * echo Blog::getPostAuthor(); + * echo Category::getPostAuthor(); * * * @return string @@ -422,7 +424,7 @@ public static function getPostAuthor() public static function _rss() { if (Uri::segment(0) == 'rss') { - include PLUGINS . DS . 'blog' . DS . 'rss.php'; + include PLUGINS . DS . 'category' . DS . 'rss.php'; Request::shutdown(); } } diff --git a/plugins/blog/install/blog.manifest.xml b/plugins/box/category/install/category.manifest.xml similarity index 52% rename from plugins/blog/install/blog.manifest.xml rename to plugins/box/category/install/category.manifest.xml index bbf94476..87018ab7 100644 --- a/plugins/blog/install/blog.manifest.xml +++ b/plugins/box/category/install/category.manifest.xml @@ -1,11 +1,11 @@ - plugins/blog/blog.plugin.php + plugins/category/category.plugin.php active 15 - Blog - Blog plugin for Monstra - 1.8.0 + category + category plugin for Monstra + 1.0.0 Samir KHERRAZ http://www.samir-kherraz.tk/ diff --git a/plugins/box/category/languages/en.lang.php b/plugins/box/category/languages/en.lang.php new file mode 100644 index 00000000..4430beda --- /dev/null +++ b/plugins/box/category/languages/en.lang.php @@ -0,0 +1,14 @@ + array( + 'Category' => 'Category', + 'Category plugin for Monstra' => 'Category plugin for Monstra', + 'begin' => 'begin', + 'end' => 'end', + 'prev' => 'prev', + 'next' => 'next', + 'Tags' => 'Tags', + 'About' => 'About' + ) + ); diff --git a/plugins/box/category/languages/fr.lang.php b/plugins/box/category/languages/fr.lang.php new file mode 100644 index 00000000..b85424e7 --- /dev/null +++ b/plugins/box/category/languages/fr.lang.php @@ -0,0 +1,14 @@ + array( + 'Category' => 'Catégorie', + 'Category plugin for Monstra' => 'module de catégorie pour Monstra', + 'begin' => 'debut', + 'end' => 'fin', + 'prev' => 'préc', + 'next' => 'suiv', + 'Tags' => 'Mots clés', + 'About' => 'À Propos' + ) + ); diff --git a/plugins/blog/rss.php b/plugins/box/category/rss.php similarity index 70% rename from plugins/blog/rss.php rename to plugins/box/category/rss.php index 54ebb471..aca8353a 100644 --- a/plugins/blog/rss.php +++ b/plugins/box/category/rss.php @@ -1,7 +1,7 @@ select('[parent="'.Blog::$parent_page_name.'" and status="published"]', 5, 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); +die("under construction"); +// Get all posts for category parent page/post +$posts = Pages::$pages->select('[parent="'.Category::$parent_page_name.'" and status="published"]', 5, 0, array('slug', 'title', 'author', 'date'), 'date', 'DESC'); // Date now $now = date("D, d M Y H:i:s T"); @@ -11,8 +11,8 @@ '."\n"; ?> -MonstraCMS::BLOG::RSS -/blog +MonstraCMS::Category::RSS +/category The latest updates for . en-us @@ -22,8 +22,8 @@ <?php echo $post['title']; ?> - - + + ]]> diff --git a/plugins/blog/views/frontend/block.view.php b/plugins/box/category/views/frontend/block.view.php similarity index 100% rename from plugins/blog/views/frontend/block.view.php rename to plugins/box/category/views/frontend/block.view.php diff --git a/plugins/blog/views/frontend/breadcrumbs.view.php b/plugins/box/category/views/frontend/breadcrumbs.view.php similarity index 100% rename from plugins/blog/views/frontend/breadcrumbs.view.php rename to plugins/box/category/views/frontend/breadcrumbs.view.php diff --git a/plugins/blog/views/frontend/index.view.php b/plugins/box/category/views/frontend/index.view.php similarity index 78% rename from plugins/blog/views/frontend/index.view.php rename to plugins/box/category/views/frontend/index.view.php index 2ed75b2d..ec8e25cf 100644 --- a/plugins/blog/views/frontend/index.view.php +++ b/plugins/box/category/views/frontend/index.view.php @@ -6,7 +6,7 @@
\ No newline at end of file diff --git a/plugins/blog/views/frontend/pager.view.php b/plugins/box/category/views/frontend/pager.view.php similarity index 100% rename from plugins/blog/views/frontend/pager.view.php rename to plugins/box/category/views/frontend/pager.view.php diff --git a/plugins/blog/views/frontend/related_posts.view.php b/plugins/box/category/views/frontend/related_posts.view.php similarity index 84% rename from plugins/blog/views/frontend/related_posts.view.php rename to plugins/box/category/views/frontend/related_posts.view.php index 8401712f..3dfb55c3 100644 --- a/plugins/blog/views/frontend/related_posts.view.php +++ b/plugins/box/category/views/frontend/related_posts.view.php @@ -17,7 +17,7 @@ diff --git a/plugins/box/category/views/frontend/tags.view.php b/plugins/box/category/views/frontend/tags.view.php new file mode 100644 index 00000000..60266eb3 --- /dev/null +++ b/plugins/box/category/views/frontend/tags.view.php @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/plugins/box/comments/comments.admin.php b/plugins/box/comments/comments.admin.php new file mode 100644 index 00000000..d673da51 --- /dev/null +++ b/plugins/box/comments/comments.admin.php @@ -0,0 +1,76 @@ +select('[slug!="error404" and (template="post" or template="index")]', 'all', null, null, 'parent', 'DESC'); + if (Request::get("page") == "") { + CommentsAdmin::$page = array("slug"=>"", "no_comments"=> false); + CommentsAdmin::$records = CommentsAdmin::$comments->select(null, 'all', null, null, 'date', 'DESC'); + } else { + CommentsAdmin::$page = CommentsAdmin::$pages->select('[slug="'.Request::get("page").'"]', 'all')[0]; + CommentsAdmin::$records = CommentsAdmin::$comments->select('[page="'.Request::get("page").'"]', 'all', null, null, 'date', 'DESC'); + } + + CommentsAdmin::$available = in_array(CommentsAdmin::$page["slug"],array_map(function($o){return $o["slug"];},CommentsAdmin::$pagesList)); + + } + + private static function actionsHandler() + { + // Get comments table + if (Security::check(Request::get('token'))) { + if (Request::get('action') && Request::get('action') == 'delete_record' && Request::get('record_id')) { + CommentsAdmin::$comments->delete((int)Request::get('record_id')); + Request::redirect("index.php?id=comments&page=".CommentsAdmin::$page["slug"]); + } + + if (Request::get('action') && Request::get('action') == 'enable_comments' && Request::get('page')) { + CommentsAdmin::$pages->update(CommentsAdmin::$page["id"], array("no_comments"=>false)); + Notification::set('success', __("Comments Enabled", "comments")); + } + + if (Request::get('action') && Request::get('action') == 'disable_comments' && Request::get('page')) { + CommentsAdmin::$pages->update(CommentsAdmin::$page['id'], array("no_comments"=>true)); + Notification::set('success', __("Comments Disabled", "comments")); + } + } + } + + + private static function generateView() + { + + View::factory('box/comments/views/backend/index') + ->assign('records', CommentsAdmin::$records) + ->assign('pages', CommentsAdmin::$pagesList) + ->assign('current', CommentsAdmin::$page) + ->display(); + } + + + public static function main() + { + CommentsAdmin::getData(); + CommentsAdmin::actionsHandler(); + CommentsAdmin::getData(); + CommentsAdmin::generateView(); + } +} diff --git a/plugins/box/comments/comments.plugin.php b/plugins/box/comments/comments.plugin.php new file mode 100644 index 00000000..ba792744 --- /dev/null +++ b/plugins/box/comments/comments.plugin.php @@ -0,0 +1,137 @@ +select('[slug="'.Pages::$requested_page.'"]', 'all')[0]; + Comments::$comments = new Table('comments'); + Comments::$records = Comments::$comments->select('[page="'.Pages::$requested_page.'"]', 'all', null,null , 'date', 'DESC'); + Comments::$pagesList = Pages::$pages->select('[slug!="error404" and (template="post" or template="index")]', 'all', null, null, 'parent', 'DESC'); + + Comments::$available = (Comments::$page["no_comments"] != true) && in_array(Comments::$page["slug"],array_map(function($o){return $o["slug"];},Comments::$pagesList)); + + }else{ + Comments::$available = false; + } + } + + + private static function actionsHandler() + { + + Comments::$username = Request::post('comments_username'); + Comments::$email = Request::post('comments_email'); + Comments::$message = Request::post('comments_message'); + + Comments::$errors = array(); + + // Add new record + if (Request::post('comments_submit')) { + if (Security::check(Request::post('csrf'))) { + if (Request::post('comments_username') == '' || Request::post('comments_email') == '' || Request::post('comments_message') == '') { + Comments::$errors['comments_empty_fields'] = __('Empty required fields!', 'comments'); + } + + if (!Valid::email(Request::post('comments_email'))) { + Comments::$errors['comments_email_not_valid'] = __('Email address is not valid!', 'comments'); + } + + if (Option::get('captcha_installed') == 'true' && ! CryptCaptcha::check(Request::post('answer'))) { + Comments::$errors['users_captcha_wrong'] = __('Captcha code is wrong', 'users'); + } + + if (count(Comments::$errors) == 0) { + Comments::$comments->insert(array('username' => Comments::$username, 'email' => Comments::$email, 'message' => Comments::$message, 'date' => time(),'page'=> Comments::$page["slug"])); + Comments::$username = ""; + Comments::$email = ""; + Comments::$message = ""; + Comments::$errors = array(); + } + } else { + die('csrf detected!'); + } + } + } + + + private static function generateView() + { + + Comments::$comments_records = View::factory('box/comments/views/frontend/index') + ->assign('records', Comments::$records) + ->render(); + + // Get form view + Comments::$comments_form = View::factory('box/comments/views/frontend/form') + ->assign('username', Comments::$username) + ->assign('email', Comments::$email) + ->assign('message', Comments::$message) + ->assign('errors', Comments::$errors) + ->render(); + } + + + private static function content() + { + return Comments::$comments_records.Comments::$comments_form; + } + + + public static function init() + { + Comments::getData(); + if (Comments::$available == true) { + Comments::actionsHandler(); + Comments::getData(); + Comments::generateView(); + return Comments::content(); + } + } + } diff --git a/plugins/box/comments/install/comments.manifest.xml b/plugins/box/comments/install/comments.manifest.xml new file mode 100644 index 00000000..09c6545b --- /dev/null +++ b/plugins/box/comments/install/comments.manifest.xml @@ -0,0 +1,11 @@ + + + plugins/comments/comments.plugin.php + active + 15 + Comments + Comments plugin for Monstra + 1.2.0 + Awilum + http://monstra.org/ + \ No newline at end of file diff --git a/plugins/box/comments/languages/en.lang.php b/plugins/box/comments/languages/en.lang.php new file mode 100644 index 00000000..11a4f151 --- /dev/null +++ b/plugins/box/comments/languages/en.lang.php @@ -0,0 +1,21 @@ + array( + 'Comments' => 'Comments', + 'Comments plugin for Monstra' => 'Comments plugin for Monstra', + 'Add comment' => 'Add comment', + 'Empty required fields!' => 'Empty required fields!', + 'Email address is not valid!' => 'Email address is not valid!', + 'Captcha answer is wrong!' => 'Captcha answer is wrong!', + 'Username' => 'Username', + 'Email' => 'Email', + 'Message' => 'Message', + 'Send' => 'Send', + 'Comments Template' => 'Comments Template', + 'Actions' => 'Actions', + 'Date' => 'Date', + 'Delete' => 'Delete', + 'Delete record' => 'Delete record', + ) + ); \ No newline at end of file diff --git a/plugins/box/comments/languages/fr.lang.php b/plugins/box/comments/languages/fr.lang.php new file mode 100644 index 00000000..b309abae --- /dev/null +++ b/plugins/box/comments/languages/fr.lang.php @@ -0,0 +1,21 @@ + array( + 'Comments' => 'Commentaires', + 'Comments plugin for Monstra' => 'Module de commentaires pour Monstra', + 'Add comment' => 'Ajouter un commentaire', + 'Empty required fields!' => 'Champs vide requis', + 'Email address is not valid!' => 'Adresse Email invalide', + 'Captcha answer is wrong!' => 'Captcha incorrect', + 'Username' => 'Pseudo', + 'Email' => 'Email', + 'Message' => 'Message', + 'Send' => 'Envoyer', + 'Comments Template' => 'Model de commentaires', + 'Actions' => 'Actions', + 'Date' => 'Date', + 'Delete' => 'Supprimer', + 'Delete record' => 'Supprimer l\'entrée', + ) + ); \ No newline at end of file diff --git a/plugins/box/comments/views/backend/index.view.php b/plugins/box/comments/views/backend/index.view.php new file mode 100644 index 00000000..86a165e6 --- /dev/null +++ b/plugins/box/comments/views/backend/index.view.php @@ -0,0 +1,71 @@ +

+
+ +
+
+ +
+ + +
+ +
+
+ + 'btn btn-actions btn-danger')); + + }else{ + echo Html::anchor(__('Enable', 'comments'), + 'index.php?id=comments&page='.$current['slug'].'&action=enable_comments&token='.Security::token(), + array('class' => 'btn btn-actions btn-success')); + + + } +} + ?> + +
+ + + + + + + + + + + + + + + 0) foreach ($records as $record) { ?> + + + + + + + + + + +
+ 'btn btn-actions', 'onclick' => "return confirmDelete('".__('Delete record', 'comments')."')")); + ?> +
+ \ No newline at end of file diff --git a/plugins/box/comments/views/frontend/form.view.php b/plugins/box/comments/views/frontend/form.view.php new file mode 100644 index 00000000..3001c6f8 --- /dev/null +++ b/plugins/box/comments/views/frontend/form.view.php @@ -0,0 +1,51 @@ +
+
+
+
+ +
+ Erreur +

+
+ +
+ +
+ + +
+
+ + +
+
+ + +
+ + + +
+ + + + + + + +
+ + + +
+ +
+ +
+ +
+
+
+ \ No newline at end of file diff --git a/plugins/box/comments/views/frontend/index.view.php b/plugins/box/comments/views/frontend/index.view.php new file mode 100644 index 00000000..dcb29ff7 --- /dev/null +++ b/plugins/box/comments/views/frontend/index.view.php @@ -0,0 +1,28 @@ +
+
+

+
+
+
+
+ +
+
+ + + +
+
+ +
+
+
+ +
+ + + + + +
+ diff --git a/plugins/box/dashboard/dashboard.admin.php b/plugins/box/dashboard/dashboard.admin.php index 83aab0c5..39127179 100644 --- a/plugins/box/dashboard/dashboard.admin.php +++ b/plugins/box/dashboard/dashboard.admin.php @@ -4,6 +4,7 @@ Stylesheet::add('public/assets/css/daterangepicker-bs3.css', 'backend', 11); Javascript::add('public/assets/js/moment.min.js', 'backend', 11); Javascript::add('public/assets/js/daterangepicker.js', 'backend', 12); +Javascript::add('public/assets/js/daterangepicker.js', 'backend', 12); Javascript::add('plugins/box/dashboard/js/ganalytics.js', 'backend', 13); /** diff --git a/plugins/box/dashboard/views/backend/index.view.php b/plugins/box/dashboard/views/backend/index.view.php index f5763726..7d886caa 100644 --- a/plugins/box/dashboard/views/backend/index.view.php +++ b/plugins/box/dashboard/views/backend/index.view.php @@ -1,7 +1,7 @@ -
+
- , +

,

@@ -21,7 +21,7 @@ -
+

diff --git a/plugins/box/filesmanager/languages/fr.lang.php b/plugins/box/filesmanager/languages/fr.lang.php index 1b542f4e..4c645625 100644 --- a/plugins/box/filesmanager/languages/fr.lang.php +++ b/plugins/box/filesmanager/languages/fr.lang.php @@ -16,7 +16,7 @@ 'Forbidden file type' => 'Forbidden file type', 'Upload server error' => 'Upload server error', 'Can not be empty' => 'Can not be empty', - 'Create New Directory' => 'Create New Directory', + 'Create New Directory' => 'Créer un nouveau dossier', 'Directory Name' => 'Directory Name', 'Directory:' => 'Directory:', 'Directory was not created' => 'Directory was not created', diff --git a/plugins/box/filesmanager/views/backend/index.view.php b/plugins/box/filesmanager/views/backend/index.view.php index c548e0bc..0c218034 100644 --- a/plugins/box/filesmanager/views/backend/index.view.php +++ b/plugins/box/filesmanager/views/backend/index.view.php @@ -23,7 +23,7 @@ 'btn btn-primary')). + Form::submit('upload_file', __('Upload', 'filesmanager'), array('class' => 'btn btn-success')). Form::close() ) ?> @@ -76,7 +76,7 @@
- +
@@ -89,7 +89,7 @@
- + "btn btn-default")); ?> @@ -100,9 +100,9 @@
- ', 'index.php?id=filesmanager&delete_dir='.$dir.'&path='.$path.'&token='.Security::token(), array('class' => 'btn btn-danger', 'onclick' => "return confirmDelete('".__('Delete directory: :dir', 'filesmanager', array(':dir' => $dir))."')")); ?> diff --git a/plugins/box/information/views/backend/index.view.php b/plugins/box/information/views/backend/index.view.php index 0365d4ae..84ae4bf0 100644 --- a/plugins/box/information/views/backend/index.view.php +++ b/plugins/box/information/views/backend/index.view.php @@ -12,7 +12,7 @@
- +
@@ -39,7 +39,7 @@
-
+
@@ -92,7 +92,7 @@
-
+
@@ -133,7 +133,7 @@
-
+
diff --git a/plugins/box/menu/views/backend/add.view.php b/plugins/box/menu/views/backend/add.view.php index 7e4ed763..87063f7f 100644 --- a/plugins/box/menu/views/backend/add.view.php +++ b/plugins/box/menu/views/backend/add.view.php @@ -1,3 +1,6 @@ + +
+

@@ -9,7 +12,7 @@
-
+
'btn btn-phone btn-primary')).Html::nbsp(2). + Form::submit('menu_add_item', __('Save', 'menu'), array('class' => 'btn btn-phone btn-success')).Html::nbsp(2). Html::anchor(__('Cancel', 'menu'), 'index.php?id=menu', array('title' => __('Cancel', 'menu'), 'class' => 'btn btn-phone btn-default')). Form::close() ); @@ -99,4 +102,7 @@
-
\ No newline at end of file +
+ +
+ diff --git a/plugins/box/menu/views/backend/edit.view.php b/plugins/box/menu/views/backend/edit.view.php index c83ce358..ed91dbde 100644 --- a/plugins/box/menu/views/backend/edit.view.php +++ b/plugins/box/menu/views/backend/edit.view.php @@ -1,7 +1,9 @@ +
+

-
+
@@ -55,7 +57,7 @@
'btn btn-phone btn-primary')).Html::nbsp(2). + Form::submit('menu_add_item', __('Save', 'menu'), array('class' => 'btn btn-phone btn-success')).Html::nbsp(2). Html::anchor(__('Cancel', 'menu'), 'index.php?id=menu', array('title' => __('Cancel', 'menu'), 'class' => 'btn btn-phone btn-default')). Form::close() ); @@ -100,4 +102,7 @@
+
+ + \ No newline at end of file diff --git a/plugins/box/menu/views/backend/index.view.php b/plugins/box/menu/views/backend/index.view.php index e35d910f..6fa97d16 100644 --- a/plugins/box/menu/views/backend/index.view.php +++ b/plugins/box/menu/views/backend/index.view.php @@ -35,7 +35,7 @@ -
+
@@ -66,8 +66,8 @@
- 'btn btn-primary')); ?> - ', 'index.php?id=menu&action=edit&item_id='.$item['id'], array('class' => 'btn btn-primary')); ?> + ', 'index.php?id=menu&delete_item='.$item['id'], array('class' => 'btn btn-danger', 'onclick' => "return confirmDelete('".__('Delete item :name', 'menu', array(':name' => $item['name']))."')")); ?> diff --git a/plugins/box/pages/views/backend/index.view.php b/plugins/box/pages/views/backend/index.view.php index a8e9a4e0..d559e9a2 100644 --- a/plugins/box/pages/views/backend/index.view.php +++ b/plugins/box/pages/views/backend/index.view.php @@ -12,8 +12,7 @@
-
- +
@@ -41,9 +40,9 @@ select('[parent="'.(string) $page['slug'].'"]', 'all')) > 0) { if (isset($page['expand']) && $page['expand'] == '1') { - echo '+'; + echo '+'; } else { - echo '-'; + echo '-'; } } ?> @@ -71,7 +70,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=pages&action=edit_page&name='.$page['slug'], array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=pages&action=delete_page&name='.$page['slug'].'&token='.Security::token(), array('class' => 'btn btn-danger btn-actions btn-actions-default', 'onclick' => "return confirmDelete('".__("Delete page: :page", 'pages', array(':page' => Html::toText($page['title'])))."')")); ?> @@ -106,7 +105,6 @@ ?>
-
diff --git a/plugins/box/plugins/views/backend/index.view.php b/plugins/box/plugins/views/backend/index.view.php index 2c7bddc3..120da00f 100644 --- a/plugins/box/plugins/views/backend/index.view.php +++ b/plugins/box/plugins/views/backend/index.view.php @@ -14,7 +14,7 @@
- +
diff --git a/plugins/box/snippets/views/backend/index.view.php b/plugins/box/snippets/views/backend/index.view.php index 58e64577..6e9f543c 100644 --- a/plugins/box/snippets/views/backend/index.view.php +++ b/plugins/box/snippets/views/backend/index.view.php @@ -12,7 +12,7 @@ -
+
diff --git a/plugins/box/themes/views/backend/index.view.php b/plugins/box/themes/views/backend/index.view.php index ec913afd..1fdd58e9 100644 --- a/plugins/box/themes/views/backend/index.view.php +++ b/plugins/box/themes/views/backend/index.view.php @@ -54,7 +54,7 @@ __('Create New Template'), 'class' => 'btn btn-default')).Html::br(2)); ?> -
+
@@ -68,7 +68,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=themes&action=edit_template&filename='.basename($template, '.template.php'), array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=themes&action=delete_template&filename='.basename($template, '.template.php').'&token='.Security::token(), array('class' => 'btn btn-actions btn-danger btn-actions-default', 'onclick' => "return confirmDelete('".__('Delete template: :name', 'themes', array(':name' => basename($template, '.template.php')))."')")); ?> @@ -92,7 +92,7 @@ __('Create New Chunk', 'themes'), 'class' => 'btn btn-default')).Html::br(2)); ?> - +
@@ -106,7 +106,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=themes&action=edit_chunk&filename='.basename($chunk, '.chunk.php'), array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=themes&action=delete_chunk&filename='.basename($chunk, '.chunk.php').'&token='.Security::token(), array('class' => 'btn btn-actions btn-danger btn-actions-default', 'onclick' => "return confirmDelete('".__('Delete chunk: :name', 'themes', array(':name' => basename($chunk, '.chunk.php')))."')")); ?> @@ -130,7 +130,7 @@ __('Create New Style', 'themes'), 'class' => 'btn btn-default')).Html::br(2)); ?> - +
@@ -144,7 +144,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=themes&action=edit_styles&filename='.basename($style, '.css'), array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=themes&action=delete_styles&filename='.basename($style, '.css').'&token='.Security::token(), array('class' => 'btn btn-actions btn-danger btn-actions-default', 'onclick' => "return confirmDelete('".__('Delete styles: :name', 'themes', array(':name' => basename($style, '.css')))."')")); ?> @@ -168,7 +168,7 @@ __('Create New Script', 'themes'), 'class' => 'btn btn-default')).Html::br(2)); ?> - +
@@ -182,7 +182,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=themes&action=edit_script&filename='.basename($script, '.js'), array('class' => 'btn btn-primary')); ?>
- ', 'index.php?id=themes&action=delete_script&filename='.basename($script, '.js').'&token='.Security::token(), array('class' => 'btn btn-actions btn-danger btn-actions-default', 'onclick' => "return confirmDelete('".__('Delete script: :name', 'themes', array(':name' => basename($script, '.js')))."')")); ?> diff --git a/plugins/box/users/views/backend/add.view.php b/plugins/box/users/views/backend/add.view.php index f7827c13..46102c7f 100644 --- a/plugins/box/users/views/backend/add.view.php +++ b/plugins/box/users/views/backend/add.view.php @@ -1,5 +1,4 @@ -

-
+
+

+
- +
@@ -41,7 +41,7 @@
- 'btn btn-primary')); ?> + ', 'index.php?id=users&action=edit&user_id='.$user['id'], array('class' => 'btn btn-primary')); ?> BGK?k>gMi@Uo+afec%&=$Y_zI(@iAMVRd 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

!oRptb@n+ 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 diff --git a/public/assets/fonts/glyphicons-halflings-regular.svg b/public/assets/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index e3e2dc73..00000000 --- a/public/assets/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/assets/fonts/glyphicons-halflings-regular.ttf b/public/assets/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 67fa00bf83801d2fa568546b982c80d27f6ef74e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 diff --git a/public/assets/fonts/glyphicons-halflings-regular.woff b/public/assets/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 8c54182aa5d4d1ab3c9171976b615c1dcb1dc187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23320 zcmY&6mA1(8T6a0V( z7zzkXUYUXEN9+9I!ap!DFOd#1wlTB=0s{G=z_>rwLFyJd-Ppy62nY!Dzg$rNAC#b> zW_IQ_KN{(eU)_(Nsd6JjiMgTUPb}E#|M~#|A(>mdoBe3JKtOVEKtTU^2nd*oEldqf zfPj=PfBaZ}zy@NZ@n!KN0s$!#{qXEt`TP45!w50c8!{TL10RAG)dniu*zrR^LTrn}O+tRb0xd~0E&>H($0brSGJ*iX z8bUAslphEzmTHiWB72`anLv4VuEY~_ za}WVZu^zT;R-~y&T~BYSiJ>00^O~gpl9q$zHI%Y>Lhsr-MaOrb%y%q|(42pX<4bce z&%S(EIYGx}q8~@4pX*EKdS?h=SI&tEv`GGM8)AScL0;U}brn10v;~p2;1NOn2Um$W z*U=i%VuwBRz@Z11qKr(qgO8vr*&X5{?12dd{6*l`Yp`?k3MDcih%qI+g!qV2n61L{ zS-80y9H-NmrN`sSUC*p$lut-w`?nyb*goYXni_zf3okCBA{zrCwXDq^$DQB5U?DQ* z61o2X9r4;yA!5sN`)f6pe9e8pguH(cK5%0-vMf9zrWWth^A{_9wXmH0nW$}wo9hf@Mt&V*5m2_W0Zac{Bwl*3N0W}7D6V5mO|AbT zMePe7b5d1qntWOB)2(kfH3+1h@`qdCj$7%?Ws`6C=E;z?vBmFy(ZuU>?ZKAjdKnE_$3iyZHlp%_ z77-FteGS2x>7s==RC=EgNc20pi}B5ZYP?<*;Yn$7M)<7;<>9ljc|Q@}q1HAXA>?XX z{-<=FYU*8Yx_bmPn*eq|(6}#S=KV{`|BZ*Xn#BSEOxT0n<2%3UJglMVh`FJxT)N*_o6m(8iH0h%=F{CzZaZ8j3d^x{KT0bRC__^79ko z=tr+cA_{hBgbop+gr}pTjdh4lR9OGJYID{f-h7TdFVsTYrJ)sVL)@`Nes|mRJSCBQ z1vY;D{cTS=MKu(Wy%|e~Iy~QIi?KJEB~oXKHbERbMSWb} zZ$4oLo6Q7!JY7E&nSn99sadal3PMV~{548>MpAHY2H1T`ZcmF;%7p*Gd@)Z2X$V%V z$1bYU`a7{N-&8b(7EKxaD_#{2yNI&{t3rygLIQh8i%wdtQ^A4QWPw@AUkIZjStyRy zt6gfVP}$xz$w}4TO!~910gWc?ujr|I`%rxo*~ZRJj0)|c2kf0tbH}jLi*?h7#a}r#3UcIh%=Rq+9Oy<}9gOY2vy$@K}ixTio-4X=M1@9qI z^=K!qz=h?boc7!Dn&OoiZq*aBh4h7*kXhO z>pcXk->0DSLp`H8gAy`9imj3RrTwYMLn%~ax2R;y6z$S#bv?dXh$n!f{I%|F6CUzH zNglJr&iX(OdhO|M-zijiorLRikL!4b&v<-I;cb2U*9AhJqg6Km0|C@3UPi3VuIeHB zEvJkk^d768V;-U<9n39OEzwHebV z^!;=ohVM{+SKmNmc(fHuOajOg)eZg4gP9Z?_0r_5C&wd<_hxoo_+<48kwZJ{Y3kdj z-euRxbNtS4ORoUDw~*0{d?YbybVf*Z&j3f0Df|p6wtg}#){z60vHIVDYyvXYiqtw5fLstI@;wPh+Bd5ldW?|#AJXDCfR%eUYew_;&(+g6-=ThC?S3>8w7??8cY@rx zXANRWBOACbA6cC_l4+aF!&NSKMmjmK4PZoF7UG%C5 zf)X%cLC&;>^$NdUhi>}OaeOh-03Qt>c;rBMl8FXlh6u#+T;)aNQAM7iYm9MwQAwQ$ zauN?iXC->xfF|9A>Yn3rfOkVpm+8&z?LmtUcZTECdVP6@K8N`=NVn%wvgYT?wv(~@ zRQi1syDn_w+iAw6*B2j_C#*4Oa=3>>HsxLFzfc-lqHiBWPsG=v_Rqfna_4v6=XxDj zbWvX=bCj4jf>-mGLa)^qT)yEMN*AOa6}Y=z5r^W#5+eB*=NMYFLlxp|l;Umkrykmm z>1Pb@=d7ZMXh-p<@vNTD{%C%$y%YYN-VTD)5%>5QvQPlpLYJRSmulc?J zubo~#6g|MIS#tM^y?0~C`jU2#a#T$VEGW;6HZHFWLEd6C6gfhTw6Hw56Q8*V+~VWN z4AL!NdF6?QxaUpsR*ZThZ22BrG(+5-Ud8j`|8n^?HPZ7*MH$Y-GdTEy_<}Ip%UH`% zC_ybkuvZT`(*5-7zTSgt1y-AX_=4Vq{_y1PK|t=n8Jsz8N`x^1R#L(Hf(SZ(R}et= z20=K0`i!{GTB{~I3$HZ!fZ7PE0K3mgrlOj^=HLjmlzB{Q!INjU2`4JhvkVArhWI3g z2BFDRMNusx)0QK>n-{_BPLkO*tH?}~b^*t2 zL|B8@3a#it1GzFLG>-jntCpno1TF0OMs-3&ICPgAm$awK{?_0%(W?W=|3Ym<2B399 z6?sOv=odFeFq-4ZH~dK}*A#W0I_F%hOcy3B(B=(oS9N?rZK6R)u8SFgYl67%j$Vzn zT2com)G;k5ej>5&f(ldAjf;DQ6!5hOSn{C{3@HGgJfyHHbCwb;JWINl)t_@@KmMH+bk8Q`tU&fRBnQ(#)4NSadxDOZI(w zdDV`IZHTev{l3e|YJOjG)!*{Qd3Bbc-oK>W2LbR{;`&r7v=uuYN}Q!j?bR6qQf6%Z zD|U^HaP=Duw&<9^4wcHPM`Vo0d8#?cwduvt)W!CY2}SzBBsBVDmS^qNq)C$4z-w!v zu|}GDNU(nCqGP?m2nGh>so7Y#2jSAF;UD3l zTWTJlAQB4XoWDz=q%Vn+jEY#AwT@9A52;uB*W>Xje?f=`^s2DJ+s}6b zZHctO--vJs(vA6u2D!C~MMV%ZF_OWKERqY*L7bn~pu>emnX~};w>xKsx+HmlModD* zRe7jxvS`Tr6uHz_O`!|yld+VyK0FQd$icoJ&6I5J_C@tYl{!GM>wg8ezB^sMFG{SP z+~tO=8DM|68>>8kL{vLa+9stZVE2&^q(j&WrimlxADG12>h3l$)MnnoG~F+Q9%u&_RYNWV-S zu8Zij1T3udO7yF++y7qK8?@Qy;j&>d29gBr(=CZ4lKGZq^?3#ajS1CkdX7~BF>3+> zYZVG#qpmz`T?l5}q@jYe4}&tAuC*{c-?JynbwY*R0wc+;hotR!1CBsHEV}H{pEV_Q zQbs{v@#pEsI<-g|xh#rQJeXH}di`N|kNqjL$UE~3So5Z0bsl-UTxtBvq=J|gu+RPErd8o zq%Cu)1CPBz7A=EEzAUR|YC=IU9%hvt-M5s$vP}yYbrS8_xEfnDFCI~k&{z?w$lx zkHl$$>l6w9E<=%h&m}p0DcU+fGPM`d($iGo+S3fJhaypcIE2yU{5H<0HCgoFK{GLe zCVD+P9e_etX_H9_t6xc?c?>7@pb;TOf6%r&2oND`VL682Y@H zo9cs|v@$?BZbm;;TeI&1a|hDjryghe`LAHHYtRh=V`G;8&hH=u_R(Y1pv%n=LH^3^ zFkvIs>V~3aP^2c9bjt$HI!&KIsHF;<6GGV<&cs3&h&!7&F_0TJrW*V^F`?h4z4b9P z)shrVOIq;gnBtPE8xy|c?B+5Qhe9v=A{q0$_8i?gn>U-#3cMhdDV#r)gg$jBSHuwk zk}gryawT5)H|i8gP1CW0tGr3sKVvSH=C;mKYmExi&<#lKQbxbVfh72pcQ7oRvXB%= zj1OXzBoz0nqSwe)?dUE|N0dA`Jm0((=&k$p`L1c)=>Mo*a}LJx~+>;2tcjSh+G1pg5Y6PO}pj8+;DLXc4La-kzxi{dPSiJ7 z8JC>pyci_t`xsI3_*zD$W!*$<4tXVP|Lyd;LAI{(?h2Cw%dD@_;lH-jHe9S+i*4E z4mm+=yxP3;fjmRcM+tj5WK$Q-9_(!w&4?Zu{~+v=o|o`vvKeY_m&uw>iUOhrn)3ws&_6vxHpM+hCYx}osCc0Y-Tyq0z_HH?lw9s=QM+-Q{gQx~FocK9j!8!mtbNX&zBR0Xt$l zvErya$XNJ@m2B@ie45(Z(19?S0|j@Eej=zw0gE??YVlwp4LSl7VHUHoo|LraFf00W znbw<}e@IUzes(fu}n<{VdSNo|T`)7axnJ2E3 zGN-K>ywjN_qvqSYS+3(Tift}Ac+Th~V)w~#F13j;D~$iUE^?zyrm7R;K!FVAfwf4+ zgEe5#q65&2_@2P9Xi0@IzKKB$Mr=t77zjDw^ry*`L~i%3hjv^6l}?gMTjnmHPNyRD!RE? zVzeC>gkFuW>V5P|ms&5GT4O@NM-mhCx+a!f0)LQsDAs{!i(cE9Ov8j9Ot~S$SX^Tu zbvv@~cen9fE3YI>r2~|YyQVnWpZ-X~m^M6OE$L`m&MG`G=33X8DprYlBgvrAjN>#) zf7F5}TO}Od#i%Pvr08HxB1L|F7Lms;vt;^z`LYoE^HAlcM$*80N!_Nc@Z0C)>z37! zB*8pC&7s#0b$L(fb6zzb_{hxyz+_iYonkQLn|M^r48oOlXXt>e7{zFo03wLhcxL@> zruxmZD;ZM5U?3RR7ni`br#{#)H87#K@FBbE7!;=-Y}c+8!h3d5JExlz2JatQJ+?rH zEiUGqC0jaoW>(Evnh`H^?>C|E?;wdM>7y!8D4dVkC<+|T0zP?LNZT4#$T22k5m50< zzoALNpZ84Yo=WEiK^k;g##y>nq*73%RqJFJOX%P{Sin)USV69lwgt`-QDJjC{IgNf zBW4`*siNB=F5h|FpHc}mY9&H}jGvvlX!|~~dIc_J`?;(WsSic(jU>39iqS|Q7u!DA zY&kA%G@cdsQv^FWgQ+Nx#A;({7tI>&nigS1N0T`xz+mg6@_{zT%;E%P(``j&bsETN zs(q(bWF8KI1M_eY6S%3}4I-pbgJgDL2EYIzPp(Kd(4_CqWI0N zt8t_kb+H2&h#4kT$#q>Ac%Z2bj@0N+O;y@sWv$8hU9Zv@p#uT7sP~{kG6820-K~jc zzx+zAW+=CEi%kufkYzrAXi1hFg5D^8VfWJSQx~1y>x~0bBV$33&FY`a087m+i@@r# zv~L(PphOgimWm81wL^lXk96(eK$#U=hQ}pu<-Srb@X)RzEK4@vVL9cwNBv&D7`P0@ zqV@&7+T19`yV}oc>o1R%dLPHOtgykfkQ$mBKeZU*==5=O;{`t7RV`&nOFus5HWa@{ zXbhx+TZxRv=(Ko|DZe>7Tjhggvxn2ed0umrYSl8cq1^h1GLxv~Ovi$ld?|yHWQbL0 z!Ivh5s&TPz0K^%VfE05%mJqQKs?A%Hu%Xt@^>Aoa$L6|fp<>G;+%>slePPEnR_yRL zj;yc0lCyoP$Ic|g#bX(o<$00nsg*!S33aGHMx(FL1IZKmm2(3;)8v{BEh zq+0};_3dYnO)g&8rn2p~Esgh&5iy4}Tc`s#l(NQVP*B`-s(Tsgb%=E*x!`vNJk-`k z+fm(7Qcae_0=zlj<0~2F)s}a7tknTT`cdo_)g;9@CX6}Sx(tZ-vBXh9eV`-C^l3uT_&kk_ zy!QGr?i9qmGaJ`03`VTK^)eYd43pD#6!NwJr0B=zjQz5pDVIxqPspfGxc527cKuN} zM+02tzw?((Ojfsh0mh)!EsE8yz$@B*zv5LC{@~DSWie_CKtd_%3$Mw8a()p(IDD|g zE`aGjSXm`BggX|S0Iz8=DQwWq7Y>nH=l2gF6&gHY9=4{U@)*&>a5Lg$i6r`O!H}dD zW;VLr?c@ISTZz-X^w-r)NsJz*7Ik*4Ly0i!Bq{Zd;rF?m8fkO1OM@>WW%j&Gv#v`$ zQmZ$kLeIBScr38Jb@l%c_PQ|;xB~H7qh?jaoofQxl!Mou$divTfpW_5t{jt5n6rPK z!vRqg8v?Nc`M^e6lM(@2!!NA&BnKun1vVjc1z9YJv06oEUF=G;UtEZ%aSas1z8-O2 z9BC#xzszD?1bF!myHOXw5=A=9o9-@Lhm!h0YZ-|@A8@Y(+_Z-DK5aN{$p1>cump2t zD5Y<$oDGvcGH&@I&=`_@&z9%lM_#_W8iyXJa<&`Ydn;~#brX*PwN-j%3hf05d z4E%>Bj9t_c-iGDTJ%p5oMe%gVzvc6bd`PTb9cQF~$q=bA787VjPi04Chi`i>W<+{G zV&FRA7KPur^W&w!IseMOaI{i>RU}bnWQwl$BQA-{N7}-t4=-KVk!vbXQ}zLtKK~Vb zh}Ni+HS~8TjiAhC5SP%}5)++t1N`_`^O*%;^P^`Rj#KY=G1%z*MAySF&MiUH~wJ&BDU^kXcQH6%9!xbzqRA z*C;FT!ttCmLLmGAVU95En90d_(qX5~%fa`pstx}K4cq`D|L4WUM|^?pXIDSM7j{_` z3G3~Fb+5YFcta__mAzP+vqYM1(W%@8)d!*dz-)tf@tMWp!rn*|T0x9DwQmg`{~HF^ z(&{06L_~x$VO)QgY!}xSiz9L|mX(gredtzS?t3cy_RjmTIU(u5dB$Pw+b^CLxKo!Kal-ql57+p#JJ3zg*_!Lh#CTQlhLZaSdUpir$y9?7cH^D{5SFz4E4#R}~cZf9Y7m zo;9Cm&MV)C>%p+!bv-*M+$WJVT;|RqRPchoQ_7BbK-|yWM-<~FecpFY< z*+V%yqBEN@TuW|VvPKxu;wzn6PE#vLx(^m2Npl0_=R`(f{eE#>@hhO=C}MNbxWW_v z>i*?56p5poIt)%$`T(F>Fbvwm_u72fIj{*&-QjYl(EG&}&x2XCp-|gm&6LNw(*^~r z(;e^7)q{$HCsydP(lnZ{CMFoZw`Di*O0teoyeuOUSTp1qVs*`Z9<21;EeAe2nsvN~ zRC6*s$3cgHx807}TdF!K-J0iGN^SO{w>QZ;&Y$k3Kg?6j$YHFGxQg*a{%}-aq4xqy z&jBywOH07(H!X%N)*9k*pouLg-u)|*fP*&bSExgq7b56vts%pZKc$!0Wz)kTr{n^c zH0~1dFP!u<3h8{HY$Lt50id%$jqN@8k8{VALlSz2UVh`a-#R#>zHXSNNR|{7e9pN> z7TX5KSq#wFmVO-1xo)>HN)vR#Rlnv;&}%R75X^KT9xE{?m|>iz_BH-9O;l0+ZPl<= zgateSH#Dy&8cL!Z-sT5hq(D<^FoqY@mUzl=C-x$j>?y7nvAexvXwZ#MsHgqBZp zatbN4V_H3K-L2vU@+EGATIm6Ap`GU7lnAV|6g`8C(61y*zDel%2}VNAy1~`blPHN= zu~bPszDZI*Nw!P&qvtzvpA@&tGdJu;DIn1jLdX; z)t`xZwPI`TdB?s+nt}J71mU}hawwEbPnX$OL8-5nO5zHu%kT?MIW=*XjkB-H;p1>i zcVuPz(G&BP?D09Rzm-PH5sJ;n5|jQEen*(AWy!9%8%FrobT2yz?d&1r2KSS&4>U<6 zI`!cdm9dC1Hqn|R>+xX&B?|~3hd5zh)13!mfVsLczdYF0Z^iL|oZ=M%0c8`h0j{;h z%1hkP*~06j7+rI@eA;#HV5_3yPVSKp^*V2eP_Sfgqg3u-*%?R0LP3RyTYh<}z$74T zm;u}KQ$iP(LarIp;*m~l_iNZU>-f~@+~!>SGMv8xF)qs2Y$b}ymmJp+*51+kk=cjL zmrRQpnwbhoGj^9~t(5N((?x;Acs$~9zAnWpC^CsfbL2PPH_JB*;3Rr>5>gypdKu}@ z_u^!zU-oM)A~Rv>w@^Qe=A>t8Iv^I5(_hL|C*0994Dztje1-tP3-Ei}#z%jPDdt{8 zyj~NQD-NaTJp#iw;$eW^b71W?UD@s5BzgyHwZ@1vXRIB(t^Jc6R_Dv)Hs|F8qoLtu zkC$6KPc3aY4^Z{pf-Y8+AhHwBfE}WYF<334Vo!l}AXb%trV`AC8!T6My>xRvk#pm3 zHHM+JX=1+RLngN;k-3IQ<#A5MJ7DB2=>^LqDb1%kc#Q5A6%d%>IN;UIK4n-`2>D{q z6jHM}#0~z-%3!K9@Y#+aN0N<0nV7!}Yjdma*li{=yZCa;H1McT5{GWCXe?F`+{8IZy5ljQQS zrTFrqEl5LQ6y%wNh;`4Sr5J9RFfaH9Na!?n-MFD%$2Vk4(|tbc=g}P52_RgNSWcn3t)I333gCka0q_DoXC$EE|u?la)3Hi z^Oqsl%8F|h!WfxtA3&}E0KOg)%}(*;8p7JP~oIr7x~qr5ZS zt}-eG#D;|kb-q_a=YwMke!SFlTUXIIIyhgBr@r1$`M=v573zGUZ&Z;ovB#T+9BM0n zr7D53GV;cMPnitw@6~l#XLgD-r1|n4y?bO!UcEc(qc7(MCKr0=6j!>Gfu7UOSM}Wr zrxrvQMB^yRGbu2{3OLrjP=6`>V`nK;{YAu2$`B8FPF$7gZq2ZawtwRV0kK!LeuHJz zBRuR2nG8L&T7&sF(BmF^9-`K%l-a6BxnQhEsSCcMv@ca`7C+N|8~^)`NY6R>9&v-F zrSt9am3)7()aGkIp=6JF|$3I0`=vgS2}W>J>gIe0La)`lZ1P z{l;udc}QmIM(7D`(wZl?Lb}i=W9(rVd}caMm3YX@2^XEe7&6ov>SA_Ul!YAv^tDYe z*R}KK;n3W|(DgTksHFp3@6t-fBvNI)YrjgMY^JK*K9SzP;OKf3rVT zZIRx%tWtOEFkX+LaNh*i3kxphn^$o6AR{?)Vf=48wJF#hmJAL{4=%^PHvR5{s~IP{ zw@K5SuH&}_b#waDN@Dr*1#;8 zj3>L`zy2mj!ymgpko;mUZsF9%+di@q6&^JI&CNM|2-W!Zeqx=@JCWw~Na&^Xr+cBx zD~Z_rhQn8JeQezgl~_%EHY<}DHhMelQ2W>38M}*g^5Ct4+hNyYc-PQrKYdKg5LHHH z5W7c4sF^;~J5~Mpel;s1wg&NA+sZYw=yb=+oocgx@pdsA=k7k;S&^0Ye2PKV+jA=J z%kv8!s;L>%L)sb~z5JD`X-KkMJ5d1~ffCHpybzHPuu8Wkh9i;1AKMAU1s;ZClWgMl z9P`0tCm%NxKJ+&MOk+0dFd)syx<+DEDBOC1G?twC@TmJP@Pf+(*wj=;G#0iQZJ(iJ zhG-xA3G|5*R@}e@#7hh_*PQ0J_Ka#hcc~Q+8mb_($57A2Z^ikOt#!vf@PA|k3?1E5 z^UZ$&A+KqZAMh0`O@?fzgWeM%dCVoQ%|~*CFOh+?GLu=z8cs0Doi&=R*WpzS47aux zHba&$jRt-gFb4(L@D#uGjmM|c$++VCtQCqFUas=KKW6lql}beIi}Ay+xI^LtKc@0l zdkQ#o-z()ZN*r?{x*<KqloOmbT5w&V zwbjn3a$Q(Enfrp$2j4p_eha~MoJ&}&iUWxSZ!8q_P97wWkI`RGWaL1RonK|Uak^P; z{w86F#atZuy~}Jq{ejUdkdpr)fS;-)D&h^{m;kRv&q0P&gY>_Wn_t;WSnIeQ`eb z%#)mE*~XX(4i>^EwvF2`&wtc>49nS`qmL5rVz_@uPo?s)>dW#p*sb5eNQ$qmB5fE7 zIKEk*|9H&Y!}-D4T&BI9rH|YQxZHIugY!WQFWiyQn?n9k3;PL8)U< z#A$~V3iae6z(8e(o%*Jz6x-yjLA3G>j@cDD{8TQFa@~$UQzl;@bJcoH%=3~W6|DQs z(HWs+Dv4k7d(U{^^k~iOA&FEyEHm?ov{QGSJr>~ zNBu!tDZKyZ{}g5cj*I*BSypu7bHuIB>1sJ{JNP717@@1r>7Y4r23)bUfoFRm^)9*) zCp9u|gQ?d{lA>+D7QCSr-=sytp!RCmlefdPbI3o?<*$WGQBXkp!Cmif{c*L*AGg&b z?7DWdx+ZbqK6&wh=w7UbYfJvH%6U0zyA-;}t7CBq?(%dq3th6bFl7)PLYI4xVL;II zyHxo?4$HrM`P6?8Tvl|24X-t54n_i-h0-n0Sl27fDZZL8HpAEcQr6*yVHCb~N7E27 zmK=cCh>pD6WTW;ikgkvgiM7ROCf}QC3cT(BH$oGu-0t^8PgZ6MX?z=8Lz0ne4T4^V z-thAcyiPMh&#zu3J_ES$FBkO~$SuMt-s!u@48@57H?*$e8Pwbi2Yrp3CQGtR8@!yj zUk8vkyy#dDr0sf^D6wod7j5Ylf6w`wCmvcUyN^|w?dyUD_KL31 zE~V1>J!2e)z`E#xwN&7d0=DYa2DB6pQ4$wj;@8aSM@4AZA{vjr3qxAHqrY=7T1`94 z_r7;6x{PXo9hdnJ!N8{tBM9uaKE8=KN-T_n=P(rOra}Vi)`j2v%gIZ{7+g3|lAtj* zB}}a4stt3~a*NENyqPR5c(%njgkzR6v4J&RA53RN_zXRj1VRWa@ngnMMCvLZvQ@+s}}=U?P|DLxeem<(Nuv7p63NlkA7!CE10D3wO$!ANw9 zObXX`YL=R6%2TeGd1?xrLK$VEwP`qN7HPlo`MM}dK3I_H9Mzu;W}$)%JINEGUpF90 z#}mTOLB17SWhL}ZMRGTaFgmU`2O4g(>;@kprlF*Cp)kpy38(i>~14$R3s?6^?3 z(HgVQFov4jM7QWqadph`*vm$aIIXJNNcy|m2$G|ntBgb!GwWC48iMztD|o=(>;15q z{$%3Oyvm9@O`4JoB64cJ6IF%XU*;BiuoJW(Z#j^UH$l#9HR{Mm7GhSUp-f9TbS(>+ z=TBhELjbeJW#KE%-tr3Zh`nd{*Z|1O0F`(MTCf5%G2HfRAaIr0SmvO)Tb5xAR`)IS zDJQ*_aT_PknaBS3@{3I7may&O+zm8(y_ea0+%G2M5N-*A7TFy3Ev_pPhhj93^hy2p zsf~STscg0VHv6)-suJJ_HvfhYQrC_Zn#OPKnOTJx| zt$bef1E2v24uA^CoX;uvbNr#<^;$Bn%#1V#=IB2G9-e7lqg49ji0~i?uStqONO;%fa+^ReCL3RZjio@nXo^g1nNPbwp1HNQV$> z1@gTfZyF)87$l6~%5yxJnEQ+ie9+G%;f-}&?6HbOe(kPIzzE$iqX`vfok4&ai`W-d zwC99WD{QBt=6MXVD;D962#XX?i!3ihIshIg{q>fXgAMys=@kLkS%9d+mfwd@#_C~~ zWK@5#ngAyP8WOs%@7M-tVjQG={`OIT#6O?~USMV}Aqz>h#^!wFb!x$Ak5eY`gw_Il z+T)(XzI$10nIxlz0YQ2v4bhDugbSQ_y@s>>rHp1+Svi2@-tSsqlpIzzPTyUJ4&6Wg z8t%*#w>(z0UiMXQELXctsZ9~k5wCOwHVp$8E;=11PHAtA3;??YDwCu|jO0#YA&u$Y zH5r8Whl=eb)AhDqcB?eTs5~8M?tF{1{8~NvkvAAqv1XpE@W8WAi4NlSL<2eyn*gM< z`9H|9_I|T^m{J0!3b3`LzciFAtd2LRu7s*s_Jsb0!7S+S7aJc*lt;`*gA-fKO8ArY zhA?VR7)jaRX;6nU@n|8Tf?%{mBM3tZ{xr8|dm^KZpSP}F*K>^y1+c#*N_x*PnQV4j zHXXs6C)_oV)=7T8wRg}#7y$*Oxzi|WxACj3t`$g+Hqob;^h}z0MYNO*)*)W%TP2K^ z8+E9AzoFgl+*G|4FIloWVp$TG!&6mGHAR&+;NTh5J^p6y6{5nltCkJrWQ|oU6qW*h zPfOY$qZTp;a(A%n4fddVdJyiB=7!MR^#1%L6Aw9d{;jcxYG!qJqe2pMrVyVhg_AWH zCaVB55F%KKa5^A)lmMTPG=x(hh32&U*SA$xDMyd3{ZPxizi!QSz5K)*82;WGBaTay zHDeWU8ME{rnLTO@q8U-xW(Oe4ST5z)w)yoW?X}$W+~i-yIXAq7T_olt03# zG2Gu}eml^<1&ha=qIj=`nCg>Wm_0+Cwd6oS*LRkQkSgAw;gvpLKW`3noP`D1=r5(` zPz>bAt@<5_%*bgTP#IghY!XJ=NFJ98zDt@(K^*}B$ts!PZjYpvq%tq5kYKLcJ@r)h zpjGeWgspjG$}U5I3;E(wFu-T*ttBj99nkVSJy04B*>3M>M=4CJBW{W+wr zmo8Lbm?dVE#ijL><;n9dCt|#Od|9HFF4#}Y<2rV})IKejs~q4`MWlQNc41Kjp$r;F zAUY8dDHmc{hLF%=Kik+j1W{WEZP4aaE0T_9G2k3)50J+n4@!F~;6Mm#3~zA2!(uNW zD?3~9!k5Ezu$*P; z0Z-5cF&^e2ZT=G7;H2(U6=DL_gI^{}SNj?dg8|^Sxt0p`cq^jwVM;7!Xjm8d4}Ns& zKcd#kpeC&YrVPU?^63<(P>{Ui+6jp;gFDhm^1pecu3C8b+kR_Tdy{IMWKB?1fmzJA zRrWbi2iAWJf`OWX5*Mgp>n7+MnqV+8M&DPEmPa?H%ZJ7^zBIqoh9?*U3kCchz3T<( z{o=DphBZPs)&O&+xL<}PTrSUw@BBJF-j`J7B@go*T)LO-j{0ZZpPSq}+fSEg4@}1L zZ8|B8jgb2gyHh2Popw{~EdhN#pk1m(0#ygca8F4f!i2@Brzr~+t!U)sEME!yD(7c} zHIM`C5Sn4OHuPfASSw^KEK{5G&ZKT-udhQ|yIrv`02n2nEE6 zJaaj=cYtkxDp%*vn;v7!mw#(ERHUI8&%?XwWWwd^?J-?@A*9kw-cvd2{8XJT$}8H$!5 z(CR70IjoaC>DD~Sdvbq8(GW$Ab&QVqs>5qM-s&(pM zPqqe9RFj;kYc-8w?^V+V%7{u54k`7Ve?+hh+r~`oRnKXVB3p_X{b-SP*}HtZ{G!PA zYJH&DPN4_-LI0Qq?XoMhMUDvc#~1H5z9hRdmx!A;m8^?6m~Y-#b1hlP<)Eq8U>?U? zbrG~tojEl{f3~|C?x{5NaaOUOJ;yJ2hOz;`4;z|OgBGHrpdB>_F3<8WI*%OHZMd3j zy2oRMzZ)xk)fy^F3L0R20hg0paZ$rdG{I|!)H%|BW%n4OCnFJO{@5hlKEt@{ZF)bo zm3&_P62l@ToZ9vsZl7rqgY|j&J=M}0aCXo$QWJ`uVjhB(*uS+H^UDM}9(ER4+JpW&Q9Bny4m*?YQ~L|5@IZr?xwVdan$7a%9{gv7nROdai@`14 zG+-^|Z})4_OtE~I#aE~AS0(LCtNXU(!?C{8pLWYD$$@TV2HsDljoVJZ)B}69$9)?5 ziNy=R_Yv5a^;THLpxNLO zy{q2MTR&jkfAcY;d3}8rjNG3Cyi-4GYlGzJkoOXtWoKd{@;N{&Tdn@M?Y}BW7UX`* zGLMt1)|BC45~;O zYEbYSZ2{~+yv)QlkAVg?M_pjZ-!GCpjqn>zMaydQ%*lyE0`=2E_1o>1!sJ380i_My zB})!KN8vNL^sR*WbvXhjt`v!TIljZl+nd*r_Ksa?e3=XQf1O-aR2;mzg<{2Bixzj6 z!AsHN?hb=%ahKw5#bL1GFgQgEgBN$VL0hCa#pd##a~|%x_wD3M@@21YV9+3{YvzBcTXYf<5#f zw@nazWj_=%=H(>O2QSy@P=u8`{8`_bk}x;!P%>I-jlqoScuG}=Yua=oBl+#ICF~F+ znS@$6yzx^4vw5R$n+4Gep@PYrOxf{U!b#0SW0W|~0Cd`pgH+d9 zHF2Y}rq%oV6;IeW|n{J_U0dOcSD`AWh!D^dDYCb*c8^ladlx6e8v=7}U zpGCJ-DErivDK7O9PLYZ!KW$fh`Bl7Ghke)_A2^fB_mP3$@dtVOu4PdD;J9^%pt#r7 z9aUCSF@MAA8f69~*msmp;gomRMsbEyIuir9mRT;mS7@#2U>)4Yq%WOoTL5&hULy8K z>kDnMX|3fn-RNuw(0Sen*8dtIY+Cz>5U7I^6VXeO{2jLdd$q><>Xl&1Vu0p7fs&1| z$PbIJ`zdYzEI~m!7&#%G%tX&h5*}N*sl~^UqaR>nhkNBS8AZM}wh=ZX zrjv;)`|w%_y2#qZAId_YsddV+wJ2*du<$W+5t&FUFZk{rEi3ntr&SUnt|%1C=Jd5_ ze_CF4u9zeMdmT+erqTwwyjqRMS zXmyK_a6D!#O9m>R+q5u*q)F~4F&iq;iKuj7YDjg=gR!K0M@3p&cI+#a>do7bc+EFf zp}{hAArKj;X%SHZ6D9Rz4`|SSmahv#VAGy11cXaX)Mt;d8M1&}1|-hAvZVNiXA6o< z6cfy5!JL;QBlt}Ru*oAMLs~|FY5`ga72TPzIc9tZFpU~37kdem-*}k9(J*PIpJJ^J zsSU)i+YsOesy~Wy%t%w6zMqz(_qC;@@v>^vIJuyqXhxU}irkNHR{VlcZHy_J-_{`! z{(i{Z^`o?+;-T}NH3_eik^=@7nJ{&KH>NC>I8$+d06Es1h|Pqo^o{1;)^}_EW(|57 zyJj+53*y)m6e5F~AR#?Ia_O;t0+cCf@_;lqd9@>cWM%$cNkbgsDZ7Cp`OsmBv5a=TQADA0^??l-fO1^j=fqzmv>$Ik zsF<+b%&B*pk!HX9Wifnau{En>S<+**we#g+tIq++C!fFshl@IZ%_AS&j%yNkj=w#j zV1zL4>BCBv?8m!_A8vU5w_+jRJAUa*K$Sh=>u;o)@%gZm(Hl#>>H9yA=VDeWW`zerl}&-1icy~%Cs2WRZT1JiK;)SUZQ>Vwq?HIZ#4y{7%`Ht@uU9-2mT?U8mz zC94OXy-c}dfYYZ@TnK!7OnYwUnU#=S)k-Tj1Py{Y_*g>!$igUn_8Hg?Yd`YAZ|zO)ET;+xY)CD|&4M8hSGJ5rwlLozN)`xJkphmTWhnkH7R zp|GN?86tSl;KdX2OoQGhRYBxMNYX@MpSn5D7F}DSPf1*q`Ib#*a4Jg@qHh z`7qyVkKaMCcRemWNY651aHvi)Dt;N!*0nRH%gv3csv7=?{>O*|2rMzztJ4FC53iHh~I24S*ZN8u3B45qTO2k zV#a%2-hio? zIFEIohf8EYWRDv0QIK6XdRv9JD+t>+-4?eH^&08HLs(EaIj}>ufdPG-&FK`ox(hP) zSX*Zqbos^?mzT7`kU=2R(_sFto#;e1-jS!3{wMk2OMcoJ>~6zIk%mvT-Jh7Kvbt$B z8|rO?J^g2Xr^H3M{Vu`P<)l*|Vr*E1X<+$j`p8kgt6ScMbN952xjmdzc;`UuBmU19zH1 zdQm<7)we%}!ruutZS5wmd;bx?EJ416t*z8Mi{3Jr!!9It;_W3U$&c}W?2NupfPAbz zaEvS>tF=;!K5Ao~-wL{`AaKW`2vX9W!v);+3Ne%UcVx zb;L=lm)%rYtA=x^cwa@f^IsmG_fHBMF!yLCJ+BFOHR>7stJd)?=Nxz%8iP-Ve6eSZD~t{%G|HvhpWj*; za3=~ov&HyCmD2vW$N+mUE$10$G3&6M?QY&iR^o`>Vh|lw=YCxOOE?w`X@(U<9Y7~6 z)Fcq!<`YOUk`P*#e17Azvnu6Onjf2;iYsll!t!`CbngkGOAaC^m4^RW((d+S-n)L~ zTM!mauKzQ?74*h_S1@6)A_2|}RmHj8#A&~vV*Vg@W*Y<^Q_2%(ZD@hdlKyCe zl)xetJ8!pZ#}qf;Cj>*iNq*>30qx?euIoKYV8uSrbVuX;KB~UnQ#KvGL+w`BNcSS1 z;U~2{1T}vKDOh?GjZqA^@8P+OEsh={qVYmQ$vY&4jYp=IpNGGesr;aBWx6o41JoSQ z(}BH4cv2?sB~?BFm6;E1bvk7aC#n*P%Oi?dG5L^1-hlm5(P&r2+cnG+!{_XV`;L8< zl|p)Pedy^d3gl4Zq{eg%;hsN&VW1 z*YjjpggMwY-|~3Adr8jW^cl@Ov{4xMvHHP;dHlW{U@^uuI}B#!zEBT+oebadmu;(T zo?I5REG^zcKLB?tC^&z^j$_l$2Lu>djULQa(#{(k8C0@jcH@Y5plQC>XSdZR<%2Fn zC1CnY9?x1zI@i^uFuX5uMtLaq!#%??TkQR2I!ifI;x}j8 zfr`BP^Q6sA8vDu}yITqBe`9jn(s4p+U@XAi4YXGwT!~ej6K_%!Fo)U1FJx5?IX7s? znI|z&$~=$$T+LNGw@LY9(K6|S?R%;K9(2@!slJPxmJQWG-*CpPI!DGkfnTM3=U`@k zo*N7*koGrw`pli4^pJpjgSMLFVm&}>!aSM4cPn7hzsL14QkK>UK(EW*q=T~B>6G2r z3kc0PU=Gmf_i1!^$IwY;XsZc*z39uQZd1T0?3v{XK|jR#Tw@inoudHrzw!~8x`ZUL zP>9mhb4GJ95$7l35USY0dK*R}JR4u>ysHdTTaV{r`q%*N4gv7}Dp8PMMD8}ve;U>< zz?5tAj*Jp>e1)7Dm#5|^+uIQ)R zX62|+|J^j_h#O};zES66?fadp5IKr-?2tmw=@pHfATcp)iM6Rfhw?q^hF;g%B>Ngy zio;8u$*OB7`R;LZ8jGhZ+?gbNu(sYscLxZv$G)#thMhWlfXW2Q$W_rJ(Q!NDXH0+x zQ3s->rPUy=JY3Vfy|$uMz(uPW}@g0hNlv$ z8ijAn!zVyZm6Y}Z3dOh3D#DU@xDFGReL@V#ku=QZMao^QT&DAIy!9xSy^UP-`SW&!tYS7JG zFuK6m-6-0VSp-+>X2;maXQ{4IlvcA2;7P8*nSegnv|P;nf$F9NvbhM?*;a6o)S^Gb z(#qjN-*PB$lw~&sFU;|DeLP1Jbw(%3@f$Qif%2~O;`X-ZWzTE(*kP+j%s0<2)Gc{o zZK-afhs+SDT!8Ina4zgiAp9*+$_7H7)cTEKJW8+e^gJKxMz$6cypGY^89fs|HazKi z9n3p~+HR|@$_yMOa9sUnF;{1K)uoFj5JlS{O;LE*{bHusUdI3Tf@H8^QTqikAog%~ zKpdW@gb&u4i17=8{|9yEsYL~NCnUb3#Jq@Qp#7zhik~?7U0OP-<_c7yiHiuw$`g5h z4Dk+W4~Sojj=p;}luTuL6Lg+6F>9i|YRt#X8cuo(eUrk>Z>~;aJ7ZEaCnWA`MdBc) zfcc&Z3TO&v%@gFl5^ijq;B^ zvz8RN(2l6Y91W9g(>MrZChD2F_&#rCv~!t_YmXK2dn;Sfp`KiR*b4t{fjQf3Q%`r#62E zj5SJx>6Fh)rVp`o2&;!MR!DuBI_q1wKrBVwev-|v@UfT;AjKp)rCR(I^k*jgDeg(( zdIc?W4ny#lvCc_WrNwMjR|zJNNMLrso)T%|FFxc4pSXieYJ+Job9`0RJB;*H!b0G7 zyjcJul}ATXgRQD@Yuqc@Nx`3oT8^GKT7Y2wB1^J~i?05JS~|{5gv0O!nY8;jhq0iY zVPoNDo!<0;UZgQ{97H7O8$7r_f}$GyC*2ad(Cb5O_SsS6e2xlbCFI@169mKacNBKf zncO?#D0m>Z?KHU#0TyrHUQLXd?I=E6L`*jy4f(hrAVIealGr`&NqObgCPsaV$ z8;05!V_^4BID!xGSMV_+$cnGE^*&HvV`wNmYWa_4B{2+)8oakTZumHz++1AiUv>v2 z#nF>*L#C+#6)*VlrjjSHLTcbM41+%nJ9?1D{^dNxjG)t8k0`ncWIu@OM^XynqfH0G z=WwG`Md9|NH0e)Y7u}|NWi1mh^%BJSW&Nd4yG7L! zA@u}#ogp?Nh4ArWVO%kyr}loh$H1|nzQ_RWz(EfYHvCCq4=quN)z(Gd%sNZ1qRFGv z^hc>BnG`qrT+|>4Uw)fXDcX!5DHZN5M4oHh9*!Q7CqcvjL}A1_)JxPVR25u2+)p?i^lS|4 zjQzB!bd8Ey${wkDsmttcR2Kpl#CSw_%6N}-o^&?yFDaL)RVk|sp31*snxmUTn+rX1 zuLX`#W=*Z`t%|L_j&!B*r;5=rQZLcp$!;nKg+9Uml|yqxGeC1j^F_la5N8H5Q>wdb z2p1WZcd5uoTc?ikYU3_oEdZ)=wYDl{Dm^PsHT{bw%L~eaR3K8cGL})_vJVJrMQa6D zNmp~5gOA&f#-}&RAC)+jT~aqW16dJJ!<{1SBRwNC-+@s#0J0xpc8U*({ev?ecGPiyM}y+{LPI^Pz?Ji3a8#5efn?b(KWc-fBU|^ znzO>c4x)cqC;rQm)MvF;V?w20k|d9a4=;gCLFjI~FAkIXegCKr4lG7?rbLS=Ln@|L z3$L)>=Fje6xLl#+7Nq=-S)MTw-AEsaotO9R?|`NzO}OzLB(ed{M5IYv+ZmE2)-yjn z2;LdNB6l201nn}Usb78XPvsv(=a!oOv=Mt%G*z0SZdP*I7d0QUxQDKO-T~4G=ztAc z@B5-Vu`Zg*ttfNbRp&NiZ?^jV+^pKthCKh^v*imA8R6#*MAthXKqK*C3<_ro+!3&|sV3VO#qfx35<~sF#wVm#wXr zv7ndFub0-Mm+PsQd81c|xtyG^oTa>+{`$UVUrwz(!b9^**P7>RzFx_3TK;;vTtKm$ zGI}yV@QugpOa4lP@k+wRO1RicT=z;;;7ZanAOryr9S->N5fBdngwX{r(}c7_!*5CkfA>g#46{`oCAdW=8fv-O$1Et7)?S0IJTuYb}cw|G&rE{b=#ln zcJ1qS4CYi+WlZDI*ue}(LFN#t^cb$&^Ceg#i;iA!~bT6jrXc!gwoNoab7xphgg zb%h{ti7#=5-h273_iFgwj`wgXy8!hHIC13FsTn2m{qdX#eajU}YW!4kITQvWO?tT;Vf8g(x{~xTU8MmMO%erSx?CP6!SO0-5{u$k4 zCf4#NV_{_?ECrJF}4UgOzZ`I+?ZFg9Uc||hEIS~1iw|&Yk-GO)NhbQ mX4Rts - -

- -
- -
-
- -
-
- -
-
-
- -
- / -
-
- - - -
-
- -
-
- -
- -
- diff --git a/public/themes/default/blog.template.php b/public/themes/default/blog.template.php deleted file mode 100644 index d55da185..00000000 --- a/public/themes/default/blog.template.php +++ /dev/null @@ -1,31 +0,0 @@ - -
- -
- -
-
- -
-
- -
-
- -
-
-

Tags

- -
-
- -
-
- -
-
- -
- -
- diff --git a/public/themes/default/css/default.css b/public/themes/default/css/default.css index 09f91c26..c33faacf 100644 --- a/public/themes/default/css/default.css +++ b/public/themes/default/css/default.css @@ -1,195 +1,57 @@ -@font-face { - font-family: 'Glyphicons Halflings'; - - src: url('@site_url/public/assets/css/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), - url('@site_url/public/assets/css/fonts/glyphicons-halflings-regular.woff') format('woff'), - url('@site_url/public/assets/css/fonts/glyphicons-halflings-regular.ttf') format('truetype'), - url('@site_url/public/assets/css/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); - src: url('@site_url/public/assets/css/fonts/glyphicons-halflings-regular.eot'); -} - body { - background: #f5f5f5; -} - -a { - text-decoration: none; - - color: #4169e1; -} - -a:hover { - text-decoration: none; - - color: #dc143c; -} - -.error { - display: inline-block; - float: left; - - color: red; -} - -.success { - display: inline-block; - float: left; - - color: #9bba1c; -} - -.margin-top-1 { - margin-top: 1em; -} - -.margin-top-2 { - margin-top: 2em; -} - -.margin-bottom-1 { - margin-bottom: 1em; -} - -.margin-bottom-2 { - margin-bottom: 2em; -} - -/* Flat UI */ -.form-control, -.btn, -.dropdown-menu, -.modal-content, -.badge, -.label, -.input-group-addon, -code { - border-radius: 0; -} -.badge, -.label { - font-weight: normal; - - text-shadow: none; -} - -/* Blog */ -.monstra-blog-title { - margin-bottom: 0; -} - -.monstra-blog-title a { - color: #333; -} - -.monstra-blog-post { - margin-top: 10px; - margin-bottom: 10px; -} - -a.monstra-blog-tag { - float: left; - - padding: 5px; - - text-decoration: none; + background: #eeeeee; } -.masthead { - background: -webkit-linear-gradient(45deg, #412e4c, #a56365, #b39c68); - background: -moz-linear-gradient(45deg, #412e4c, #a56365, #b39c68); - background: -o-linear-gradient(45deg, #412e4c, #a56365, #b39c68); - background: linear-gradient(45deg, #412e4c, #a56365, #b39c68); +.headerbg { + padding: 8%; + background-image: url("../img/cover.png"); + background-size: cover; + background-position: 50% 50%; } -.navbar { - margin-bottom: 0; - - border: 0; - border-radius: 0; - background-color: transparent; - background-color: #fff; +.fixed { + position: fixed; + z-index: 9999; } -.navbar-nav { - float: right; +.text-inverse { + color: #ffffff; } -.icon-bar { - background: #333; -} - -.navbar-nav a { - color: #696969; -} - -.navbar-nav > li > a:hover { - color: #000; +.transparent { background: transparent; } -.navbar-nav a:hover { - color: #000; - background: transparent; -} - -.navbar-nav > li.active > a { - color: #000; - background: transparent; -} - -a.navbar-brand { - font-size: 36px; - - color: #000; -} - -.navbar .container { - margin-top: 20px; - margin-bottom: 20px; +.footer { + background-color: #333; } -.page-header { - margin-top: 0px; - margin-right: auto; - margin-bottom: 0px; - margin-left: auto; - padding-top: 5px; - padding-bottom: 5px; - - color: #fff; - border: none; - border-bottom: none; -} - -.page-header h1 { - font-size: 40px; - - margin-top: 20px; - margin-bottom: 20px; - - text-align: left; -} - -.tags .label { - font-size: 14px; -} - -.container-wide { - padding-top: 20px; - padding-bottom: 20px; - - background: #fff; -} - -footer { - margin-top: 20px; - margin-bottom: 20px; - - color: #aaa; -} - -@media (max-width: 600px) { - .navbar-nav { - float: left; - } -} +body { + background-color: #eee; +} + +.main { + padding: 5%; + margin-top: -10%; + background-color: white; + border-radius: 2px; + box-shadow: 0px 0px 5px gray; + margin-bottom: 5%; +} + +.pre-footer { + padding: 0%; + background-color: white; + border-radius: 2px; + margin-bottom: 5%; + text-align: center; +} + +h2, +h3, +h4, +h5, +h6 { + padding-bottom: 10px; + border-bottom: 1px solid #31708f; +} \ No newline at end of file diff --git a/public/themes/default/footer-links.chunk.php b/public/themes/default/footer-links.chunk.php deleted file mode 100644 index 17ec4c8b..00000000 --- a/public/themes/default/footer-links.chunk.php +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/themes/default/footer.chunk.php b/public/themes/default/footer.chunk.php index cd42ae36..cf6abfff 100644 --- a/public/themes/default/footer.chunk.php +++ b/public/themes/default/footer.chunk.php @@ -1,7 +1,15 @@ -
-
-
-
- + diff --git a/public/themes/default/header.chunk.php b/public/themes/default/header.chunk.php index 41814667..fbf9a74e 100644 --- a/public/themes/default/header.chunk.php +++ b/public/themes/default/header.chunk.php @@ -1,16 +1,14 @@ - + - - - - <?php echo Site::name() . ' - ' . Site::title(); ?> + + <?php echo Site::title() . ' - ' .Site::name(); ?> - + @@ -24,13 +22,26 @@ + + - + + + + + + + + + - + + + + @@ -43,50 +54,113 @@ - + -
- -