diff --git a/admin/themes/default/css/default.css b/admin/themes/default/css/default.css index 667806a..97e5b86 100644 --- a/admin/themes/default/css/default.css +++ b/admin/themes/default/css/default.css @@ -240,23 +240,32 @@ h6 { /************************************* 5. AUTHORIZATION *************************************/ - -.authorization-block { - margin: 0 auto; - float: none!important; -} - -.authorization-block-footer { - margin: 0 auto; - float: none!important; - margin-top:10px; - margin-bottom:10px; -} - .login-body { background:#F2F2F2; } +.form-signin { + max-width: 290px; + padding: 19px 29px 29px; + margin: 0 auto 20px; + background-color: #fff; + border: 1px solid #e5e5e5; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.05); + box-shadow: 0 1px 2px rgba(0,0,0,.05); +} + +.form-signin input[type="text"], +.form-signin input[type="password"] { + font-size: 16px; + height: auto; + margin-bottom: 15px; + padding: 7px 9px; +} + /************************************* 6. TABLE *************************************/ @@ -450,4 +459,16 @@ td, th { .error-none {display:none;} .error-field {border:1px solid red!important;} .container-fluid {padding-left:0px;} -img {max-width:none;} \ No newline at end of file +img {max-width:none;} + +a.btn-expand{ + color: #333; + text-decoration: none; + padding-left:4px; + padding-right:4px; +} + +footer a , footer{ + color:#333; + font-size:10px; +} \ No newline at end of file diff --git a/admin/themes/default/index.template.php b/admin/themes/default/index.template.php index dff8454..78e05b1 100644 --- a/admin/themes/default/index.template.php +++ b/admin/themes/default/index.template.php @@ -95,7 +95,13 @@ diff --git a/admin/themes/default/login.template.php b/admin/themes/default/login.template.php index 66bbd97..bb6cf10 100644 --- a/admin/themes/default/login.template.php +++ b/admin/themes/default/login.template.php @@ -50,71 +50,66 @@ - -
-
-
-
-
-
-


-
- - + +
-
- -
-
-
-


- -
- - - - -
-
- +
+

- +


+
+ + + + + +
+
+ +
+
+
+ +
+
+
+


+ +
+ + + + +
+
+ +
+
+
+ - + ', 'system');?> + ', 'system');?>
-
- +
+ © 2012 Monstra
diff --git a/changelog.txt b/changelog.txt index 73495e8..646740b 100755 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,37 @@ +Monstra 2.1.0, xxxx-xx-xx +------------------------ +- Localization: PT-BR, UK translations added +- Default theme: hook "theme_header" added. +- System Plugin: new action "admin_system_extra_index_template_actions" added. +- Shortcodes API: delete() clear() exists() methods added. +- Options API: exists() method added. +- Core: new constant VERSION - added. +- Box Plugins: used Core::VERSION to compare Monstra CMS version. +- Installer: use version_compare() function to compare php versions. +- Admin Default Theme: general improvments. +- UsersPlugin: profile editing fixed. +- Shortcodes API: bug with similar shortcode names fixed. +- Pages Plugin: pages expand/collapse feature added. +- Pages Plugin: pages "access" feature added. +- Pages Table: "expand, "access" fields added. +- Pages Plugin: changed tab "seo" to "metadata" +- Information Plugin: add "Directory Permissions" tab. +- Twitter Bootstrap updated to Version 2.2.1 +- MarkitUp! updated to Version 1.1.13 +- Sitemap Plugin: links title issue fixed. +- Core: Init Site module on frontend only. +- Core: IDIORM optimization. +- Site Class: code optimization. +- Pages Plugin: code optimizations. +- Sitemap Plugin: priority bug fixed. +- Installer: Get system timezone with date_default_timezone_get() function. +- File .gitignore added. +- Monstra logo updated. +- Users Plugin: apply "content" filter for "about_me" field. +- Plugin API: Stylesheet and Javascript load() methods - fixed. +- Pages Plugin: Page editing date issue - fixed. +- Localization: EN, RU, IT, LT, DE translations fixed. + Monstra 2.0.1, 2012-10-18 ------------------------ - Localization: DE, LT, IT translations added diff --git a/install.php b/install.php index 5f98e54..5058822 100644 --- a/install.php +++ b/install.php @@ -1,17 +1,17 @@
- en | - it | - lt | - de | - pt | - ru + + +
@@ -404,9 +406,9 @@ } if (is_writable(__FILE__)){ - echo '
  • '.__('Install script writable', 'system').'
  • '; + echo '
  • '.__('Install script writable', 'system').'
  • '; } else { - echo '
  • '.__('Install script not writable', 'system').'
  • '; + echo '
  • '.__('Install script not writable', 'system').'
  • '; } if (is_writable('sitemap.xml')){ @@ -445,4 +447,4 @@ - + \ No newline at end of file diff --git a/monstra/engine/shortcodes.php b/monstra/engine/shortcodes.php index df0cddb..2454489 100644 --- a/monstra/engine/shortcodes.php +++ b/monstra/engine/shortcodes.php @@ -148,8 +148,8 @@ if ( ! Shortcode::$shortcode_tags) return $content; $shortcodes = implode('|', array_map('preg_quote', array_keys(Shortcode::$shortcode_tags))); - $pattern = "/(.?)\{($shortcodes)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)/s"; - + $pattern = "/(.?)\{([$shortcodes]+)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)/s"; + return preg_replace_callback($pattern, 'Shortcode::_handle', $content); } diff --git a/plugins/box/backup/languages/uk.lang.php b/plugins/box/backup/languages/uk.lang.php new file mode 100644 index 0000000..8b0ddc0 --- /dev/null +++ b/plugins/box/backup/languages/uk.lang.php @@ -0,0 +1,17 @@ + array( + 'Backups' => 'Бекапи', + 'Backup date' => 'Бекап', + 'Create backup' => 'Зробити бекап', + 'Delete' => 'Видалити', + 'storage' => 'дані', + 'public' => 'публічна', + 'plugins' => 'плагіни', + 'Size' => 'Розмір', + 'Actions' => 'Дії', + 'Delete backup: :backup' => 'Видалити бекап: :backup', + 'Creating...' => 'Створення...', + ) + ); \ No newline at end of file diff --git a/plugins/box/blocks/languages/uk.lang.php b/plugins/box/blocks/languages/uk.lang.php new file mode 100644 index 0000000..10fcd0d --- /dev/null +++ b/plugins/box/blocks/languages/uk.lang.php @@ -0,0 +1,25 @@ + array( + 'Blocks' => 'Блоки', + 'Blocks manager' => 'Менеджер блоків', + 'Delete' => 'Видалити', + 'Edit' => 'Редагувати', + 'New block' => 'Новий блок', + 'Create new block' => 'Створити новий блок', + 'Name' => 'Назва', + 'Edit block' => 'Редагування блоку', + 'Save' => 'Зберегти', + 'Actions' => 'Дії', + 'Save and exit' => 'Зберегти та вийти', + 'Required field' => 'Обов′язкове поле', + 'This block already exists' => 'Такий блок вже існує', + 'This block does not exist' => 'Такого блоку не існує', + 'Delete block: :block' => 'Видалити блок: :block', + 'Block content' => 'Вміст блоку', + 'Block :name deleted' => 'Сніппет :name вилучен', + 'Your changes to the block :name have been saved.' => 'Ваші зміни до блоку :name були збережені.', + 'Delete block: :block' => 'Видалити блок: :block', + ) + ); \ No newline at end of file diff --git a/plugins/box/blocks/views/backend/index.view.php b/plugins/box/blocks/views/backend/index.view.php index 3e7895b..7461d81 100755 --- a/plugins/box/blocks/views/backend/index.view.php +++ b/plugins/box/blocks/views/backend/index.view.php @@ -14,7 +14,7 @@ - + diff --git a/plugins/box/editor/languages/uk.lang.php b/plugins/box/editor/languages/uk.lang.php new file mode 100644 index 0000000..81e043f --- /dev/null +++ b/plugins/box/editor/languages/uk.lang.php @@ -0,0 +1,8 @@ + array( + 'Editor' => 'Редактор', + 'Editor plugin' => 'Редактор плагіну', + ) + ); \ No newline at end of file diff --git a/plugins/box/filesmanager/languages/uk.lang.php b/plugins/box/filesmanager/languages/uk.lang.php new file mode 100644 index 0000000..00eb895 --- /dev/null +++ b/plugins/box/filesmanager/languages/uk.lang.php @@ -0,0 +1,17 @@ + array( + 'Files' => 'Файли', + 'Files manager' => 'Менеджер файлів', + 'Name' => 'Назва', + 'Actions' => 'Дії', + 'Delete' => 'Видалити', + 'Upload' => 'Загрузити', + 'directory' => 'директорія', + 'Delete directory: :dir' => 'Видалити директорію: :dir', + 'Delete file: :file' => 'Видалити файл: :file', + 'Extension' => 'Розширення', + 'Size' => 'Розмір', + ) + ); \ No newline at end of file diff --git a/plugins/box/information/languages/de.lang.php b/plugins/box/information/languages/de.lang.php index 7ba7052..d4d8858 100644 --- a/plugins/box/information/languages/de.lang.php +++ b/plugins/box/information/languages/de.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'DOM Modul', 'Installed' => 'Installiert', 'Not Installed' => 'Nicht Installiert', - 'System version' => 'System Version', - 'System version ID' => 'System Versions ID', 'Security check results' => 'Sicherheits-Check Ergebnisse', 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => 'Die Konfigurationsdatei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte für defines.php auf Produktionssystemen zu entfernen.', @@ -29,5 +27,11 @@ 'Die Monstra index.php Datei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte zu entfernen.
    Du kannst dies auf Unix-Systemen ganz einfach mit: chmod a-w :path erledigen.', '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.' => 'Aufgrund der Art und Menge der Informationen kann ein Fehler Eindringlinge ergeben wenn Core::$environment = Core::DEVELOPMENT, wir raten dringend dazu folgendermaßen Core::PRODUCTION in Produktionssystemen einzustellen.', + 'Monstra version' => 'Monstra version', + 'Directory Permissions' => 'Directory Berechtigungen', + 'Directory' => 'Verzeichnis', + 'Writable' => 'Writable', + 'Unwritable' => 'Nicht beschreibbar', + 'Status' => 'Status', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/en.lang.php b/plugins/box/information/languages/en.lang.php index f264578..70772aa 100644 --- a/plugins/box/information/languages/en.lang.php +++ b/plugins/box/information/languages/en.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'DOM module', 'Installed' => 'Installed', 'Not Installed' => 'Not Installed', - 'System version' => 'System version', - 'System version ID' => 'System version ID', 'Security check results' => '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.' => 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.', @@ -29,5 +27,11 @@ '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', '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.' => '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.', + 'Monstra version' => 'Monstra version', + 'Directory Permissions' => 'Directory Permissions', + 'Directory' => 'Directory', + 'Writable' => 'Writable', + 'Unwritable' => 'Unwritable', + 'Status' => 'Status', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/it.lang.php b/plugins/box/information/languages/it.lang.php index 88671f1..e521338 100644 --- a/plugins/box/information/languages/it.lang.php +++ b/plugins/box/information/languages/it.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'Modulo DOM', 'Installed' => 'Installato', 'Not Installed' => 'Non installato', - 'System version' => 'Versione del sistema', - 'System version ID' => 'Versione del sistema ID', 'Security check results' => 'Risultato del controllo di sicurezza', 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => 'Il file di configurazione è scrivibile. Si consiglia di rimuovere le autorizzazioni di scrittura per defines.php file sul sito funzionante.', @@ -29,5 +27,11 @@ 'Principale file index.php è scrivibile. Si consiglia di rimuovere le autorizzazioni di scrittura per il file principale index.php.
    È possibile eseguire questa operazione su sistemi UNIX così: chmod -R 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.' => 'Il sistema opera con lo stato Core::DEVELOPMENT Si consiglia di impostare lo stato Core::PRODUCTION sul sito funzionante.', + 'Monstra version' => 'Monstra versione', + 'Directory Permissions' => 'Directory Autorizzazioni', + 'Directory' => 'Directory', + 'Writable' => 'Scrivibile', + 'Unwritable' => 'Non scrivibile', + 'Status' => 'Stato', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/lt.lang.php b/plugins/box/information/languages/lt.lang.php index b96fdcd..d2226fd 100644 --- a/plugins/box/information/languages/lt.lang.php +++ b/plugins/box/information/languages/lt.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'DOM modulis', 'Installed' => 'Įdiegta', 'Not Installed' => 'Neįdiegta', - 'System version' => 'Systemos versija', - 'System version ID' => 'Systemos versijos ID', 'Security check results' => 'Saugumo patikrinimo rezultatai', 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => 'Leidžiama perrašyti nustatymų bylą. Siūlome pašalinti visus rašymo leidimus sistemos bylai defines.php.', @@ -29,5 +27,11 @@ 'Monstra index.php bylą galima perrašyti. Siūlome pašalinti visus rašymo leidimus.
    Tai galite padaryti Unix sistemoje su: 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.' => 'Dėl įsilaužimų grėsmės atvaiduojant klaidų pranešimus Core::$environment = Core::DEVELOPMENT veiksenoje, rekomenduojame naudoti Core::PRODUCTION nustatymą nuolatinėje tinklapio veiksenoje.', + 'Monstra version' => 'Monstra versija', + 'Directory Permissions' => 'Katalogs Atļaujas', + 'Directory' => 'Katalogs', + 'Writable' => 'Rakstāms', + 'Unwritable' => 'Unwritable', + 'Status' => 'Status', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/pt-br.lang.php b/plugins/box/information/languages/pt-br.lang.php index ce84dd6..7f4203d 100644 --- a/plugins/box/information/languages/pt-br.lang.php +++ b/plugins/box/information/languages/pt-br.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'Módulo DOM', 'Installed' => 'Instalado', 'Not Installed' => 'Não instalado', - 'System version' => 'Versão do sistema', - 'System version ID' => 'ID (longo) da versão', 'Security check results' => 'Resultados da verificação de segurança', 'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' => 'O arquivo de configuração está com permissões de escrita. Para melhor segurança, você deve remover as permissões de escrita do arquivo defines.php em sistemas de produções.', @@ -29,5 +27,11 @@ 'O arquivo index.php do diretório de instalação do Monstra está com permissões de escrita. Para sua melhor segurança, você deve remover as permissões de escritas.
    Vocês pode fazer isso em sistemas UNIX com: 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.' => 'Devide ao tipo e quantidade de informações, um erro pode trazer possíveis intrusos se a variável Core::$environment for igual à Core::DEVELOPMENT, para isso nós recomendamos fortemente que você sete a variável para o seguinte valor: Core::PRODUCTION em sistemas de produção.', + 'Monstra version' => 'Monstra versão', + 'Directory Permissions' => 'Permissões de Diretório', + 'Directory' => 'Diretório', + 'Writable' => 'Gravável', + 'Unwritable' => 'Unwritable', + 'Status' => 'Estado', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/ru.lang.php b/plugins/box/information/languages/ru.lang.php index 0402b40..1134978 100644 --- a/plugins/box/information/languages/ru.lang.php +++ b/plugins/box/information/languages/ru.lang.php @@ -16,8 +16,6 @@ 'DOM module' => 'DOM модуль', 'Installed' => 'Установлен', 'Not Installed' => 'Не установлен', - 'System version' => 'Версия системы', - 'System version ID' => 'Версия системы ID', '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 на живом сайте.', @@ -29,5 +27,11 @@ 'Главный index.php файл доступен для записи. Мы рекомендуем вам удалить права записи на главный index.php файл.
    Вы можете сделать это на UNIX системах так: chmod -R 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.' => 'Система работает в режиме Core::DEVELOPMENT Мы рекомендуем вам установить режим Core::PRODUCTION на живом сайте.', + 'Monstra version' => 'Monstra Версия', + 'Directory Permissions' => 'Права доступа', + 'Directory' => 'Каталог', + 'Writable' => 'Доступна для записи', + 'Unwritable' => 'Недоступна для записи', + 'Status' => 'Статус', ) ); \ No newline at end of file diff --git a/plugins/box/information/languages/uk.lang.php b/plugins/box/information/languages/uk.lang.php new file mode 100644 index 0000000..4331624 --- /dev/null +++ b/plugins/box/information/languages/uk.lang.php @@ -0,0 +1,37 @@ + array( + 'Information' => 'Інформація', + 'Debugging' => 'Дебаггінг', + 'Name' => 'Назва', + 'Value' => 'Значення', + 'Security' => 'Безпека', + 'System' => 'Система', + 'on' => 'включений', + 'off'=> 'вимкнено', + 'Server' => 'Сервер', + 'PHP version' => 'Версія PHP', + 'SimpleXML module' => 'SimpleXML модуль', + 'DOM module' => 'DOM модуль', + 'Installed' => 'Встановлено', + '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 на живому сайті.', + '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', + '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', + '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', + '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.' => + 'Система працює в режимі Core::DEVELOPMENT Ми рекомендуємо вам встановити режим Core::PRODUCTION на живому сайті.', + 'Monstra version' => 'Monstra Версія', + 'Directory Permissions' => 'Права Доступу', + 'Directory' => 'Каталог', + 'Writable' => 'Доступна для запису', + 'Unwritable' => 'Недоступна для запису', + 'Status' => 'Статус', + ) + ); \ No newline at end of file diff --git a/plugins/box/information/views/backend/index.view.php b/plugins/box/information/views/backend/index.view.php index e33a6cd..f746c9e 100644 --- a/plugins/box/information/views/backend/index.view.php +++ b/plugins/box/information/views/backend/index.view.php @@ -5,6 +5,7 @@ @@ -20,14 +21,10 @@ - - + + - - - - @@ -80,6 +77,49 @@
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    diff --git a/plugins/box/menu/languages/uk.lang.php b/plugins/box/menu/languages/uk.lang.php new file mode 100644 index 0000000..739560e --- /dev/null +++ b/plugins/box/menu/languages/uk.lang.php @@ -0,0 +1,27 @@ + array( + 'Menu' => 'Меню', + 'Menu manager' => 'Менеджер меню', + 'Edit' => 'Редагувати', + 'Name' => 'Назва', + 'Delete' => 'Видалити', + 'Order' => 'Порядок', + 'Actions' => 'Дії', + 'Create new item' => 'Створити новий пункт меню', + 'New item' => 'Новий пункт меню', + 'Item name' => 'Назва', + 'Item order' => 'Порядок', + 'Item target' => 'Ціль', + 'Item link' => 'Ссылка', + 'Item category' => 'Категорія', + 'Save' => 'Зберегти', + 'Edit item' => 'Редагування пункту меню', + 'Delete item :name' => 'Видалити пункт меню :name', + 'Select page' => 'Вибрати сторінку', + 'Category' => 'Категорія', + 'Select category' => 'Вибрати категорію', + 'Required field' => 'Обов’язкове поле', + ) + ); \ No newline at end of file diff --git a/plugins/box/pages/languages/de.lang.php b/plugins/box/pages/languages/de.lang.php index cd73b9b..9f91190 100644 --- a/plugins/box/pages/languages/de.lang.php +++ b/plugins/box/pages/languages/de.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Seite :page wurde gelöscht', 'Search Engines Robots' => 'Suchmaschinen-Roboter', 'Page' => 'Seite', - 'SEO' => 'SEO', + 'Metadata' => 'Metadata', 'Settings' => 'Einstellungen', 'Required field' => 'Pflichtfeld', + 'Access' => 'Zugriff', + 'Public' => 'Öffentlichkeit', + 'Registered' => 'Eingetragen', ) ); \ No newline at end of file diff --git a/plugins/box/pages/languages/en.lang.php b/plugins/box/pages/languages/en.lang.php index eba9d93..5fc2951 100644 --- a/plugins/box/pages/languages/en.lang.php +++ b/plugins/box/pages/languages/en.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Page :page deleted', 'Search Engines Robots' => 'Search Engines Robots', 'Page' => 'Page', - 'SEO' => 'SEO', + 'Metadata' => 'Metadata', 'Settings' => 'Settings', 'Required field' => 'Required field', + 'Access' => 'Access', + 'Public' => 'Public', + 'Registered' => 'Registered', ) ); \ No newline at end of file diff --git a/plugins/box/pages/languages/it.lang.php b/plugins/box/pages/languages/it.lang.php index fc9f1c8..3264a8c 100644 --- a/plugins/box/pages/languages/it.lang.php +++ b/plugins/box/pages/languages/it.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Pagina :page è stata cancellata', 'Search Engines Robots' => 'Robot dei motori di ricerca', 'Page' => 'Pagina', - 'SEO' => 'SEO', + 'Metadata' => 'Metadata', 'Settings' => 'Impostazioni', 'Required field' => 'Campo obbligatorio', + 'Access' => 'Accesso', + 'Public' => 'Pubblico', + 'Registered' => 'Registrato', ), ); \ No newline at end of file diff --git a/plugins/box/pages/languages/lt.lang.php b/plugins/box/pages/languages/lt.lang.php index e92a83e..ff37907 100644 --- a/plugins/box/pages/languages/lt.lang.php +++ b/plugins/box/pages/languages/lt.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Puslapis :page ištrintas', 'Search Engines Robots' => 'Paieškos variklių robotai', 'Page' => 'Puslapis', - 'SEO' => 'SEO', + 'Metadata' => 'Metadata', 'Settings' => 'Nustatymai', 'Required field' => 'Privalomas laukas', + 'Access' => 'Pieeja', + 'Public' => 'Valsts', + 'Registered' => 'Reģistrēta', ) ); \ No newline at end of file diff --git a/plugins/box/pages/languages/pt-br.lang.php b/plugins/box/pages/languages/pt-br.lang.php index ee81dff..53003e8 100644 --- a/plugins/box/pages/languages/pt-br.lang.php +++ b/plugins/box/pages/languages/pt-br.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Página :page deletada', 'Search Engines Robots' => 'Crawlers de sistemas de buscas.', 'Page' => 'Página', - 'SEO' => 'SEO', + 'Metadata' => 'Metadata', 'Settings' => 'Configurações', 'Required field' => 'Campo requerido', + 'Access' => 'Acesso', + 'Public' => 'Público', + 'Registered' => 'Registrado', ) ); \ No newline at end of file diff --git a/plugins/box/pages/languages/ru.lang.php b/plugins/box/pages/languages/ru.lang.php index 427bd42..c1bcf72 100644 --- a/plugins/box/pages/languages/ru.lang.php +++ b/plugins/box/pages/languages/ru.lang.php @@ -44,8 +44,11 @@ 'Page :page deleted' => 'Страница :page удалена', 'Search Engines Robots' => 'Поисковые роботы', 'Page' => 'Страница', - 'SEO' => 'SEO', + 'Metadata' => 'Метаданные', 'Settings' => 'Настройки', 'Required field' => 'Обязательное поле', + 'Access' => 'Доступ', + 'Public' => 'Публичный', + 'Registered' => 'Зарегистрированным', ), ); \ No newline at end of file diff --git a/plugins/box/pages/languages/uk.lang.php b/plugins/box/pages/languages/uk.lang.php new file mode 100644 index 0000000..d159f78 --- /dev/null +++ b/plugins/box/pages/languages/uk.lang.php @@ -0,0 +1,54 @@ + array( + 'Pages' => 'Сторінки', + 'Pages manager' => 'Менеджер сторінок', + 'Content' => 'Контент', + 'Create new page' => 'Створити нову сторінку', + 'New page' => 'Нова сторінка', + 'Edit page' => 'Редагування сторінки', + 'Date' => 'Дата', + 'Clone' => 'Клонувати', + 'Edit' => 'Редагувати', + 'Delete' => 'Видалити', + 'Delete page: :page' => 'Видалити сторінку: :page', + 'Title' => 'Заголовок', + 'Name' => 'Назва', + 'Author' => 'Автор', + 'Name (slug)' => 'Назва (slug)', + 'Description' => 'Опис', + 'Keywords' => 'Ключові слова', + 'Parent' => 'Родитель', + 'Template' => 'Шаблон', + 'Year' => 'Рік', + 'Day' => 'День', + 'Month' => 'Місяц', + 'Hours' => 'Час', + 'Minute' => 'Мінута', + 'Second' => 'Секунда', + 'This field should not be empty' => 'Це поле не може бути пустим', + 'This page already exists' => 'Така сторінка вже існує', + 'Extra' => 'Додатково', + 'Save' => 'Зберегти', + 'Save and exit' => 'Зберегти и вийти', + 'Your changes to the page :page have been saved.' => 'Ваші зміни до сторінки :page були збережені.', + 'The page :page cloned.' => 'Сторінка :page клонована.', + 'Status' => 'Статус', + 'Actions' => 'Дії', + 'Add' => 'Додати', + 'Published' => 'Опубліковано', + 'Draft' => 'Чернетка', + 'Published on' => 'Опубліковано', + 'Edit 404 page' => 'Редагувати сторінку 404', + 'Page :page deleted' => 'Сторінка :page видалена', + 'Search Engines Robots' => 'Пошукові роботи', + 'Page' => 'Сторінка', + 'Metadata' => 'Метадані', + 'Settings' => 'Налаштування', + 'Required field' => 'Обов’язкове поле', + 'Access' => 'Доступ', + 'Public' => 'Публічний', + 'Registered' => 'Зареєстрованим', + ), + ); \ No newline at end of file diff --git a/plugins/box/pages/pages.admin.php b/plugins/box/pages/pages.admin.php index 83bfda9..ff7c5d2 100755 --- a/plugins/box/pages/pages.admin.php +++ b/plugins/box/pages/pages.admin.php @@ -1,10 +1,65 @@ updateWhere('[slug="'.Request::post('slug').'"]', array('expand' => Request::post('expand'))); + Request::shutdown(); + } else { die('csrf detected!'); } + } + } + + + /** + * _themeHeaders + */ + public static function _themeHeaders() { + echo (''); + } + /** * Pages admin function @@ -19,6 +74,8 @@ $errors = array(); $pages = new Table('pages'); + PagesAdmin::$pages = $pages; + $users = new Table('users'); $user = $users->select('[id='.Session::get('user_id').']', null); @@ -39,6 +96,11 @@ $status_array = array('published' => __('Published', 'pages'), 'draft' => __('Draft', 'pages')); + + // Access array + $access_array = array('public' => __('Public', 'pages'), + 'registered' => __('Registered', 'pages')); + // Check for get actions // --------------------------------------------- @@ -68,6 +130,7 @@ 'robots_index' => $orig_page['robots_index'], 'robots_follow'=> $orig_page['robots_follow'], 'status' => $orig_page['status'], + 'access' => $orig_page['access'], 'title' => $rand_page_name, 'description' => $orig_page['description'], 'keywords' => $orig_page['keywords'], @@ -137,6 +200,7 @@ 'template' => Request::post('templates'), 'parent' => $parent_page, 'status' => Request::post('status'), + 'access' => Request::post('access'), 'robots_index' => $robots_index, 'robots_follow'=> $robots_follow, 'title' => Request::post('page_title'), @@ -190,6 +254,8 @@ if (Request::post('page_description')) $post_description = Request::post('page_description'); else $post_description = ''; if (Request::post('editor')) $post_content = Request::post('editor'); else $post_content = ''; if (Request::post('templates')) $post_template = Request::post('templates'); else $post_template = 'index'; + if (Request::post('status')) $post_status = Request::post('status'); else $post_status = 'published'; + if (Request::post('access')) $post_access = Request::post('access'); else $post_access = 'public'; if (Request::post('pages')) $parent_page = Request::post('pages'); else if(Request::get('parent_page')) $parent_page = Request::get('parent_page'); else $parent_page = ''; if (Request::post('robots_index')) $post_robots_index = true; else $post_robots_index = false; if (Request::post('robots_follow')) $post_robots_follow = true; else $post_robots_follow = false; @@ -212,7 +278,10 @@ ->assign('parent_page', $parent_page) ->assign('templates_array', $templates_array) ->assign('post_template', $post_template) + ->assign('post_status', $post_status) + ->assign('post_access', $post_access) ->assign('status_array', $status_array) + ->assign('access_array', $access_array) ->assign('date', $date) ->assign('post_robots_index', $post_robots_index) ->assign('post_robots_follow', $post_robots_follow) @@ -253,6 +322,8 @@ if (Request::post('page_description')) $post_description = Request::post('page_description'); else $post_description = ''; if (Request::post('editor')) $post_content = Request::post('editor'); else $post_content = ''; if (Request::post('templates')) $post_template = Request::post('templates'); else $post_template = 'index'; + if (Request::post('status')) $post_status = Request::post('status'); else $post_status = 'published'; + if (Request::post('access')) $post_access = Request::post('access'); else $post_access = 'public'; if (Request::post('robots_index')) $post_robots_index = true; else $post_robots_index = false; if (Request::post('robots_follow')) $post_robots_follow = true; else $post_robots_follow = false; //-------------- @@ -284,6 +355,7 @@ 'robots_index' => $robots_index, 'robots_follow'=> $robots_follow, 'status' => Request::post('status'), + 'access' => Request::post('ascess'), 'date' => $date, 'author' => $author))) { @@ -306,6 +378,7 @@ 'robots_index' => $robots_index, 'robots_follow'=> $robots_follow, 'status' => Request::post('status'), + 'access' => Request::post('access'), 'date' => $date, 'author' => $author))) { @@ -385,6 +458,7 @@ } if (Request::post('templates')) $template = Request::post('templates'); else $template = $page['template']; if (Request::post('status')) $status = Request::post('status'); else $status = $page['status']; + if (Request::post('access')) $access = Request::post('access'); else $access = $page['access']; // Generate date $date = Request::post('date') ? Request::post('date') : Date::format($page['date'], 'Y-m-d H:i:s'); @@ -404,7 +478,9 @@ ->assign('templates_array', $templates_array) ->assign('template', $template) ->assign('status_array', $status_array) + ->assign('access_array', $access_array) ->assign('status', $status) + ->assign('access', $access) ->assign('date', $date) ->assign('post_robots_index', $post_robots_index) ->assign('post_robots_follow', $post_robots_follow) @@ -428,7 +504,12 @@ // Delete page and update fields if ($pages->deleteWhere('[slug="'.$page['slug'].'" ]')) { - $pages->updateWhere('[parent="'.$page['slug'].'"]', array('parent' => '')); + + $_pages = $pages->select('[parent="'.$page['slug'].'"]', 'all'); + foreach($_pages as $_page) { + $pages->updateWhere('[slug="'.$_page['slug'].'"]', array('parent' => '')); + } + File::delete(STORAGE . DS . 'pages' . DS . $page['id'] . '.page.txt'); Notification::set('success', __('Page :page deleted', 'pages', array(':page' => Html::toText($page['title'])))); } @@ -458,7 +539,7 @@ $count = 0; // Get pages - $pages_list = $pages->select(null, 'all', null, array('slug', 'title', 'status', 'date', 'author', 'parent')); + $pages_list = $pages->select(null, 'all', null, array('slug', 'title', 'status', 'date', 'author', 'expand', 'access', 'parent')); // Loop foreach ($pages_list as $page) { @@ -466,8 +547,10 @@ $pages_array[$count]['title'] = $page['title']; $pages_array[$count]['parent'] = $page['parent']; $pages_array[$count]['status'] = $status_array[$page['status']]; + $pages_array[$count]['access'] = isset($access_array[$page['access']]) ? $access_array[$page['access']] : $access_array['public']; // hack for old Monstra Versions $pages_array[$count]['date'] = $page['date']; $pages_array[$count]['author'] = $page['author']; + $pages_array[$count]['expand'] = $page['expand']; $pages_array[$count]['slug'] = $page['slug']; if (isset($page['parent'])) { diff --git a/plugins/box/pages/pages.plugin.php b/plugins/box/pages/pages.plugin.php index 3bc43b7..6a50d18 100644 --- a/plugins/box/pages/pages.plugin.php +++ b/plugins/box/pages/pages.plugin.php @@ -114,13 +114,30 @@ // Check is child_parent -> request parent if ($c_p == $data[0]) { - // Checking only for the parent and one child, the remaining issue 404 - if (count($data) < 3) { - $id = $data[1]; // Get real request page + + if (count($data) < 3) { // Checking only for the parent and one child, the remaining issue 404 + + if ((($child_page['status'] == 'published') or + (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin', 'editor')))) and + ($child_page['access'] == 'public')) { + + $id = $data[1]; + + } elseif (($child_page['access'] == 'registered') and + (Session::exists('user_id')) and + ($child_page['status'] == 'published')) { + + $id = $data[1]; + + } else { + $id = 'error404'; + Response::status(404); + } } else { $id = 'error404'; Response::status(404); } + } else { $id = 'error404'; Response::status(404); @@ -129,6 +146,7 @@ $id = 'error404'; Response::status(404); } + } else { // Only parent page come if(empty($data[0])) { @@ -151,14 +169,26 @@ // Check if this page has parent if ($c_p !== '') { + if ($c_p == $data[0]) { - if (count(Pages::$pages->select('[slug="'.$data[0].'"]', null)) != 0) { - if (($current_page['status'] == 'published') or (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin', 'editor')))) { + if (count(Pages::$pages->select('[slug="'.$data[0].'"]', null)) != 0) { + + if ((($current_page['status'] == 'published') or + (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin', 'editor')))) and + ($current_page['access'] == 'public')) { + $id = $data[0]; + + } elseif (($current_page['access'] == 'registered') and + (Session::exists('user_id')) and + ($current_page['status'] == 'published')) { + + $id = $data[0]; + } else { $id = 'error404'; Response::status(404); - } + } } else { $id = 'error404'; Response::status(404); @@ -168,9 +198,20 @@ Response::status(404); } } else { + if (count(Pages::$pages->select('[slug="'.$data[0].'"]', null)) != 0) { - if (($current_page['status'] == 'published') or (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin', 'editor')))) { + if ((($current_page['status'] == 'published') or + (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin', 'editor')))) and + ($current_page['access'] == 'public')) { + $id = $data[0]; + + } elseif (($current_page['access'] == 'registered') and + (Session::exists('user_id')) and + ($current_page['status'] == 'published')) { + + $id = $data[0]; + } else { $id = 'error404'; Response::status(404); diff --git a/plugins/box/pages/views/backend/add.view.php b/plugins/box/pages/views/backend/add.view.php index b3c23d5..196ca5d 100644 --- a/plugins/box/pages/views/backend/add.view.php +++ b/plugins/box/pages/views/backend/add.view.php @@ -15,7 +15,7 @@ @@ -39,7 +39,7 @@ ?>
    -
    +
    -
    +
    -
    +
    -
    +
    +
    +
    +
    diff --git a/plugins/box/pages/views/backend/edit.view.php b/plugins/box/pages/views/backend/edit.view.php index 7150e9d..6e7976f 100644 --- a/plugins/box/pages/views/backend/edit.view.php +++ b/plugins/box/pages/views/backend/edit.view.php @@ -18,7 +18,7 @@ @@ -50,7 +50,7 @@ if (isset($errors['pages_exists'])) echo Html::nbsp(3).''.$errors['pages_exists'].''; ?>
    -
    +
    -
    +
    -
    +
    @@ -103,7 +103,7 @@ echo Form::hidden('status', $status); } else { ?> -
    +
    + +
    + +
    +
    diff --git a/plugins/box/pages/views/backend/index.view.php b/plugins/box/pages/views/backend/index.view.php index ce7687c..d0ab2f9 100755 --- a/plugins/box/pages/views/backend/index.view.php +++ b/plugins/box/pages/views/backend/index.view.php @@ -18,9 +18,11 @@ + + @@ -32,12 +34,28 @@ if ($page['parent'] != '') { $dash = Html::arrow('right').'  '; } else { $dash = ""; } ?> - + select('[slug="'.(string)$page['parent'].'"]', null); + if ($page['parent'] !== '' && isset($expand['expand']) && $expand['expand'] == '1') { $visibility = 'style="display:none;"'; } else { $visibility = ''; } + ?> + rel="children_" > + + @@ -68,6 +89,7 @@ + array( + 'Plugins' => 'Плагіни', + 'Installed' => 'Установлені', + 'Install New' => 'Установити нові', + 'Actions' => 'Дії', + 'Name' => 'Назва', + 'Description' => 'Опис', + 'Delete' => 'Видалити', + 'Delete plugin :plugin' => 'Видалити плагін :plugin', + 'This plugin does not exist' => 'Такого плагіна не існує', + 'Version' => 'Версія', + 'Author' => 'Автор', + 'Get More Plugins' => 'Завантажити інші плагіни', + 'Install' => 'Установити', + 'Uninstall' => 'Видалити', + ) + ); \ No newline at end of file diff --git a/plugins/box/sitemap/languages/uk.lang.php b/plugins/box/sitemap/languages/uk.lang.php new file mode 100644 index 0000000..f543d01 --- /dev/null +++ b/plugins/box/sitemap/languages/uk.lang.php @@ -0,0 +1,7 @@ + array( + 'Sitemap' => 'Карта сайту', + ) + ); \ No newline at end of file diff --git a/plugins/box/sitemap/sitemap.plugin.php b/plugins/box/sitemap/sitemap.plugin.php index 4bcf4a9..83c9858 100644 --- a/plugins/box/sitemap/sitemap.plugin.php +++ b/plugins/box/sitemap/sitemap.plugin.php @@ -151,7 +151,7 @@ if (count(Plugin::$components) > 0) { foreach (Plugin::$components as $component) { - if ($component !== 'pages' && $component !== 'sitemap') $components[] = ucfirst($component); + if ($component !== 'pages' && $component !== 'sitemap') $components[] = __(ucfirst($component), $component); } } diff --git a/plugins/box/snippets/languages/uk.lang.php b/plugins/box/snippets/languages/uk.lang.php new file mode 100644 index 0000000..9e8b6c2 --- /dev/null +++ b/plugins/box/snippets/languages/uk.lang.php @@ -0,0 +1,25 @@ + array( + 'Snippets' => 'Сніппети', + 'Snippets manager' => 'Менеджер сніппетів', + 'Actions' => 'Дії', + 'Delete' => 'Видалити', + 'Edit' => 'Редагувати', + 'New snippet' => 'Новий сніппет', + 'Create new snippet' => 'Створити новий сніппет', + 'Name' => 'Назва', + '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', + 'Required field' => 'Обов’язкове поле', + ) + ); \ No newline at end of file diff --git a/plugins/box/snippets/views/backend/index.view.php b/plugins/box/snippets/views/backend/index.view.php index eb7936c..c9c031e 100755 --- a/plugins/box/snippets/views/backend/index.view.php +++ b/plugins/box/snippets/views/backend/index.view.php @@ -14,7 +14,7 @@
    + select('[parent="'.(string)$page['slug'].'"]', 'all')) > 0) { + if (isset($page['expand']) && $page['expand'] == '1') { + echo '+'; + } else { + echo '-'; + } + } + ?> + '_blank')); + echo $dash.Html::anchor(Html::toText($page['title']), $site_url.$parent.$page['slug'], array('target' => '_blank', 'rel' => 'children_'.$_parent)); ?> @@ -46,6 +64,9 @@ + +
    - + diff --git a/plugins/box/system/languages/de.lang.php b/plugins/box/system/languages/de.lang.php index 3289f97..0af5f2e 100644 --- a/plugins/box/system/languages/de.lang.php +++ b/plugins/box/system/languages/de.lang.php @@ -75,5 +75,7 @@ 'Sitemap file not writable' => 'Sitemap-Datei ist nicht beschreibbar', 'Main .htaccess file writable' => 'Haupt .htaccess-Datei ist beschreibbar', 'Main .htaccess file not writable' => 'Haupt .htaccess-Datei ist nicht beschreibbar', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/en.lang.php b/plugins/box/system/languages/en.lang.php index f8a74dd..85a69c8 100644 --- a/plugins/box/system/languages/en.lang.php +++ b/plugins/box/system/languages/en.lang.php @@ -76,5 +76,7 @@ 'Sitemap file not writable' => 'Sitemap file not writable', 'Main .htaccess file writable' => 'Main .htaccess file writable', 'Main .htaccess file not writable' => 'Main .htaccess file not writable', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/it.lang.php b/plugins/box/system/languages/it.lang.php index 86c3116..2abbc3d 100644 --- a/plugins/box/system/languages/it.lang.php +++ b/plugins/box/system/languages/it.lang.php @@ -76,5 +76,7 @@ 'Sitemap file not writable' => 'Sitemap file non è scrivibile', 'Main .htaccess file writable' => 'Principale file .htaccess è scrivibile', 'Main .htaccess file not writable' => 'Principale file .htaccess non è scrivibile', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/lt.lang.php b/plugins/box/system/languages/lt.lang.php index 26419fd..4e69dc4 100644 --- a/plugins/box/system/languages/lt.lang.php +++ b/plugins/box/system/languages/lt.lang.php @@ -75,5 +75,7 @@ 'Sitemap file not writable' => 'Negalima rašyti į sitemap bylą', 'Main .htaccess file writable' => 'Galima rašyti į pagrindinę .htaccess bylą', 'Main .htaccess file not writable' => 'Negalima rašyti į pagrindinę .htaccess bylą', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/pt-br.lang.php b/plugins/box/system/languages/pt-br.lang.php index b00b1e6..b1bb78b 100644 --- a/plugins/box/system/languages/pt-br.lang.php +++ b/plugins/box/system/languages/pt-br.lang.php @@ -74,5 +74,7 @@ 'Sitemap file not writable' => 'O arquivo \'sitemap.xml\' não tem permissões de escrita', 'Main .htaccess file writable' => 'O arquivo .htaccess principal tem permissões de escrita', 'Main .htaccess file not writable' => 'O arquivo .htacces principal não tem permissões de escrita', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/ru.lang.php b/plugins/box/system/languages/ru.lang.php index 0f2ca57..70c5c0b 100644 --- a/plugins/box/system/languages/ru.lang.php +++ b/plugins/box/system/languages/ru.lang.php @@ -76,5 +76,7 @@ 'Sitemap file not writable' => 'Карта сайта не доступна для записи', 'Main .htaccess file writable' => 'Главный .htaccess файл доступен для записи', 'Main .htaccess file not writable' => 'Главный .htaccess файл не доступен для записи', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', ) ); \ No newline at end of file diff --git a/plugins/box/system/languages/uk.lang.php b/plugins/box/system/languages/uk.lang.php new file mode 100644 index 0000000..5880086 --- /dev/null +++ b/plugins/box/system/languages/uk.lang.php @@ -0,0 +1,82 @@ + array( + 'System' => 'Система', + 'Published a new version of the :monstra' => 'Опублікована нова версія :monstra', + 'Sitemap created' => 'Карта сайту створена', + 'Create sitemap' => 'Створити карту сайту', + 'on' => 'включено', + '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' => 'Тимчасова зона', + 'Language' => 'Мова', + 'Save' => 'Зберегти', + 'Site' => 'Сайт', + 'System version' => 'Версія системи', + 'System version ID' => 'Версія системи ID', + 'GZIP' => 'Стиснення GZIP', + 'Debugging' => 'Дебаггінг', + 'Plugin API' => 'Плагін API', + 'Plugins active' => 'Підключені плагіни', + 'Actions registered' => 'Зареєстровані екшени', + 'Filters registered' => 'Зареєстровані фітри', + 'logout' => 'вихід', + 'site' => 'Сайт', + 'Core' => 'Ядро', + 'Delete temporary files' => 'Видалити тимчасові файли', + 'Download the latest version' => 'Завантажити останню версію', + 'Powered by' => 'Працює на', + 'Administration' => 'Адміністрування', + 'Settings' => 'Налаштування', + 'Temporary files deleted' => 'Тимчасові файли видалені', + 'Extends' => 'Розширення', + 'View site' => 'Сайт', + 'Welcome, :username' => 'Ласкаво просимо, :username', + 'Reset Password' => 'Скидання пароля', + '< Back to Website' => '< Повернутися на сайт', + 'Forgot your password? >' => 'Не пам’ятаєте пароль? >', + 'Administration >' => 'Адміністрування >', + 'Send New Password' => 'Надіслати новий пароль', + 'This user does not exist' => 'Такого користувача не існує', + 'Version' => 'Версія', + 'Plugin does not exist' => 'Такого плагіна не існує', + + 'Install script writable' => 'Інсталяційний скрипт доступний для запису', + 'Install script not writable' => 'Інсталяційний скрипт не доступний для запису', + 'Directory: :dir writable' => 'Директорія :dir доступна для запису', + 'Directory: :dir not writable' => 'Директорія :dir не доступна для запису', + 'PHP Version' => 'Версія PHP', + 'Module DOM is installed' => 'Модуль DOM встановлено', + 'Module DOM is required' => 'Потрібен DOM модуль', + 'Module Mod Rewrite is installed' => 'Модуль Mod Rewrite встановлено', + 'Module SimpleXML is installed' => 'Модуль SimpleXML встановлено', + 'PHP 5.2 or greater is required' => 'PHP 5.2 або вище', + 'Apache Mod Rewrite is required' => 'Потрібен Apache Mod Rewrite', + 'SimpleXML module is required' => 'Потрібен SimpleXML модуль', + 'Field "Site name" is empty' => 'Поле "Назва сайту" не заповнено', + 'Field "Email" is empty' => 'Поле "Эл. пошта" не заповнено', + 'Field "Username" is empty' => 'Поле "Ім’я користувача" не заповнено', + 'Field "Password" is empty' => 'Поле "Пароль" не заповнено', + 'Field "Site url" is empty' => 'Поле "Адреса сайту" не заповнено', + 'Email not valid' => 'Эл. пошта недійсна', + 'Install' => 'Інсталювати', + '...Monstra says...' => '... Monstra каже ...', + 'Sitemap file writable' => 'Карта сайту доступна для запису', + 'Sitemap file not writable' => 'Карта сайту не доступна для запису', + 'Main .htaccess file writable' => 'Головний .htaccess файл - доступний для запису', + 'Main .htaccess file not writable' => 'Головний .htaccess файл - не доступний для запису', + 'Official Support Forum' => 'Official Support Forum', + 'Documentation' => 'Documentation', + ) + ); \ No newline at end of file diff --git a/plugins/box/system/views/backend/index.view.php b/plugins/box/system/views/backend/index.view.php index 7208b43..423c361 100755 --- a/plugins/box/system/views/backend/index.view.php +++ b/plugins/box/system/views/backend/index.view.php @@ -45,7 +45,7 @@ Form::label('system_language', __('Language', 'system')). Form::select('system_language', $languages_array, Option::get('language'), array('class' => 'span3')). Html::br(). Form::label('site_maintenance_message', __('Maintenance Mode', 'system')). - Form::textarea('site_maintenance_message', Html::toText(Option::get('maintenance_message')), array('style' => 'width:640px;height:160px;')). Html::br(2) + Form::textarea('site_maintenance_message', Html::toText(Option::get('maintenance_message')), array('class' => 'span7', 'style' => 'height:160px;')). Html::br(2) ); ?> diff --git a/plugins/box/themes/languages/uk.lang.php b/plugins/box/themes/languages/uk.lang.php new file mode 100644 index 0000000..c849ce9 --- /dev/null +++ b/plugins/box/themes/languages/uk.lang.php @@ -0,0 +1,51 @@ + array( + 'Themes' => 'Темы', + 'Themes manager' => 'Менеджер тем', + 'Select theme' => 'Вибрати тему', + 'Save' => 'Зберегти', + 'Name' => 'Назва', + 'Save and exit' => 'Зберегти та вийти', + 'Create new template' => 'Створити новий шаблон', + 'New template' => 'Новий шаблон', + 'Delete template: :name' => 'Видалити шаблон: :name', + 'Delete chunk: :name' => 'Видалити чанк: :name', + 'Delete styles: :name' => 'Видалити стилі: :name', + 'Templates' => 'Шаблони', + 'Clone' => 'Клонувати', + 'Edit' => 'Редагувати', + 'Delete' => 'Видалити', + 'Actions' => 'Дії', + 'Create new chunk' => 'Створити новий чанк', + 'New chunk' => 'Новый чанк', + 'Chunks' => 'Чанки', + 'Create new styles' => 'Створити нові стилі', + 'New styles' => 'Нові стилі', + 'Styles' => 'Стилі', + 'Template content' => 'Вміст шаблону', + 'Styles content' => 'Вміст стилів', + 'Chunk content' => 'Вміст чанка', + 'Edit template' => 'Редагування шаблону', + 'Edit chunk' => 'Редагування чанка', + 'Edit styles' => 'Редагування стилів', + 'Site theme' => 'Тема сайту', + 'Admin theme' => 'Тема адмінки', + 'Current site theme' => 'Поточна тема сайтау', + 'Current admin theme' => 'Поточна тема адмінки', + 'This template already exists' => 'Цей шаблон вже існує', + 'This chunk already exists' => 'Цей чанк вже існує', + 'This styles already exist' => 'Цей стиль вже існує', + 'Components templates' => 'Шаблони компонентів', + '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 були збережені', + 'Required field' => 'Обов’язкове поле', + 'Scripts' => 'Скрипти', + 'Create new script' => 'Створити новий скрипт', + 'Script content' => 'Вміст скрипта', + 'New script' => 'Новий скрипт', + 'Edit script' => 'Редагування скрипту', + ) + ); \ No newline at end of file diff --git a/plugins/box/users/languages/uk.lang.php b/plugins/box/users/languages/uk.lang.php new file mode 100644 index 0000000..6a0d24b --- /dev/null +++ b/plugins/box/users/languages/uk.lang.php @@ -0,0 +1,65 @@ + array( + 'Users' => 'Користувачі', + 'Login' => 'Вхід', + 'Password' => 'Пароль', + 'Email' => 'Эл. пошта', + 'Registered' => 'Зареєстрований', + 'Role' => 'Роль', + 'Roles' => 'Ролі', + 'Actions' => 'Дії', + 'Edit' => 'Редагувати', + 'Delete' => 'Видалити', + 'Enter' => 'Вхід', + 'Logout' => 'Вихід', + 'New User Registration' => 'Реєстрація нового користувача', + 'Register new user' => 'Реєстрація нового користувача', + 'Delete user: :user' => 'Видалити користувача: :user', + 'User :user have been deleted.' => 'Користувача :user вилучено.', + 'This user already exists' => 'Такий користувач вже існує', + 'This email already exists' => 'Така ел. пошта вже існує', + 'Changes saved' => 'Зміни збережені', + 'Wrong old password' => 'Невірний старий пароль', + 'Admin' => 'Адміністратор', + 'User' => 'Користувач', + 'Editor' => 'Редактор', + 'Register' => 'Реєстрація', + 'Edit profile' => 'Редагування профілю користувача', + 'Save' => 'Зберегти', + 'Firstname' => 'Ім’я', + 'Lastname' => 'Прізвище', + 'Old password' => 'Старий пароль', + 'New password' => 'Новий пароль', + 'Welcome' => 'Ласкаво просимо', + 'Wrong login or password' => 'Неправильний логін або пароль', + 'Your changes have been saved.' => 'Ваші зміни були збережені.', + 'New user have been registered.' => 'Новий користувач був зареєстрований.', + 'Captcha' => 'Каптча', + 'Registration' => 'Реєстрація', + 'Username' => 'Ім’я користувача', + 'User email is invalid' => 'Эл. пошта є недійсною', + 'Reset Password' => 'Скинути пароль', + 'Send New Password' => 'Відправити пароль', + 'Users - Profile' => 'Користувачі - Профіль', + 'Users - Edit Profile' => 'Користувачі - Редагування профілю', + 'Users - Login' => 'Користувачі - Вхід', + 'Users - Registration' => 'Користувачі - Реєстрація', + 'Users - Password Recover' => 'Користувачі - Відновлення пароля', + 'New Password' => 'Новий пароль', + 'Forgot your password?' => 'Забули пароль?', + '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' => 'Невірний код каптчі', + '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' => 'Профіль', + ) + ); \ No newline at end of file diff --git a/plugins/markitup/markitup.plugin.php b/plugins/markitup/markitup.plugin.php index f7b5ffc..ea3322b 100644 --- a/plugins/markitup/markitup.plugin.php +++ b/plugins/markitup/markitup.plugin.php @@ -18,8 +18,7 @@ __('MarkItUp! universal markup jQuery editor', 'markitup'), '1.0.0', 'Awilum', - 'http://monstra.org/', - null); + 'http://monstra.org/'); // Add hooks @@ -34,7 +33,7 @@ */ public static function headers() { echo (' - + @@ -44,15 +43,7 @@ '); - echo (' - - '); + echo (''); } } \ No newline at end of file diff --git a/plugins/markitup/markitup/jquery.markitup.js b/plugins/markitup/markitup/jquery.markitup.js index ef34603..2f4eb78 100644 --- a/plugins/markitup/markitup/jquery.markitup.js +++ b/plugins/markitup/markitup/jquery.markitup.js @@ -1 +1 @@ -(function($){$.fn.markItUp=function(settings,extraSettings){var options,ctrlKey,shiftKey,altKey;ctrlKey=shiftKey=altKey=false;options={id:"",nameSpace:"",root:"",previewInWindow:"",previewAutoRefresh:true,previewPosition:"after",previewTemplatePath:"~/templates/preview.html",previewParser:false,previewParserPath:"",previewParserVar:"data",resizeHandle:true,beforeInsert:"",afterInsert:"",onEnter:{},onShiftEnter:{},onCtrlEnter:{},onTab:{},markupSet:[{}]};$.extend(options,settings,extraSettings);if(!options.root){$("script").each(function(a,b){miuScript=$(b).get(0).src.match(/(.*)jquery\.markitup(\.pack)?\.js$/);if(miuScript!==null){options.root=miuScript[1]}})}return this.each(function(){function keyPressed(a){shiftKey=a.shiftKey;altKey=a.altKey;ctrlKey=!(a.altKey&&a.ctrlKey)?a.ctrlKey||a.metaKey:false;if(a.type==="keydown"){if(ctrlKey===true){li=$('a[accesskey="'+String.fromCharCode(a.keyCode)+'"]',header).parent("li");if(li.length!==0){ctrlKey=false;setTimeout(function(){li.triggerHandler("mouseup")},1);return false}}if(a.keyCode===13||a.keyCode===10){if(ctrlKey===true){ctrlKey=false;markup(options.onCtrlEnter);return options.onCtrlEnter.keepDefault}else if(shiftKey===true){shiftKey=false;markup(options.onShiftEnter);return options.onShiftEnter.keepDefault}else{markup(options.onEnter);return options.onEnter.keepDefault}}if(a.keyCode===9){if(shiftKey==true||ctrlKey==true||altKey==true){return false}if(caretOffset!==-1){get();caretOffset=$$.val().length-caretOffset;set(caretOffset,0);caretOffset=-1;return false}else{markup(options.onTab);return options.onTab.keepDefault}}}}function writeInPreview(a){if(previewWindow.document){try{sp=previewWindow.document.documentElement.scrollTop}catch(b){sp=0}previewWindow.document.open();previewWindow.document.write(a);previewWindow.document.close();previewWindow.document.documentElement.scrollTop=sp}}function renderPreview(){var a;if(options.previewParser&&typeof options.previewParser==="function"){var b=options.previewParser($$.val());writeInPreview(localize(b,1))}else if(options.previewParserPath!==""){$.ajax({type:"POST",dataType:"text",global:false,url:options.previewParserPath,data:options.previewParserVar+"="+encodeURIComponent($$.val()),success:function(a){writeInPreview(localize(a,1))}})}else{if(!template){$.ajax({url:options.previewTemplatePath,dataType:"text",global:false,success:function(a){writeInPreview(localize(a,1).replace(//g,$$.val()))}})}}return false}function refreshPreview(){renderPreview()}function preview(){if(!previewWindow||previewWindow.closed){if(options.previewInWindow){previewWindow=window.open("","preview",options.previewInWindow);$(window).unload(function(){previewWindow.close()})}else{iFrame=$('');if(options.previewPosition=="after"){iFrame.insertAfter(footer)}else{iFrame.insertBefore(header)}previewWindow=iFrame[iFrame.length-1].contentWindow||frame[iFrame.length-1]}}else if(altKey===true){if(iFrame){iFrame.remove()}else{previewWindow.close()}previewWindow=iFrame=false}if(!options.previewAutoRefresh){refreshPreview()}if(options.previewInWindow){previewWindow.focus()}}function get(){textarea.focus();scrollPosition=textarea.scrollTop;if(document.selection){selection=document.selection.createRange().text;if($.browser.msie){var a=document.selection.createRange(),b=a.duplicate();b.moveToElementText(textarea);caretPosition=-1;while(b.inRange(a)){b.moveStart("character");caretPosition++}}else{caretPosition=textarea.selectionStart}}else{caretPosition=textarea.selectionStart;selection=textarea.value.substring(caretPosition,textarea.selectionEnd)}return selection}function set(a,b){if(textarea.createTextRange){if($.browser.opera&&$.browser.version>=9.5&&b==0){return false}range=textarea.createTextRange();range.collapse(true);range.moveStart("character",a);range.moveEnd("character",b);range.select()}else if(textarea.setSelectionRange){textarea.setSelectionRange(a,a+b)}textarea.scrollTop=scrollPosition;textarea.focus()}function insert(a){if(document.selection){var b=document.selection.createRange();b.text=a}else{textarea.value=textarea.value.substring(0,caretPosition)+a+textarea.value.substring(caretPosition+selection.length,textarea.value.length)}}function fixIeBug(a){if($.browser.msie){return a.length-a.replace(/\r*/g,"").length}return 0}function fixOperaBug(a){if($.browser.opera){return a.length-a.replace(/\n*/g,"").length}return 0}function markup(a){var b,c,d,e;hash=clicked=a;get();$.extend(hash,{line:"",root:options.root,textarea:textarea,selection:selection||"",caretPosition:caretPosition,ctrlKey:ctrlKey,shiftKey:shiftKey,altKey:altKey});prepare(options.beforeInsert);prepare(clicked.beforeInsert);if(ctrlKey===true&&shiftKey===true||a.multiline===true){prepare(clicked.beforeMultiInsert)}$.extend(hash,{line:1});if(ctrlKey===true&&shiftKey===true){lines=selection.split(/\r?\n/);for(c=0,d=lines.length,e=0;e"),i=0;$("li:hover > ul",ul).css("display","block");$.each(markupSet,function(){var button=this,t="",title,li,j;title=button.key?(button.name||"")+" [Ctrl+"+button.key+"]":button.name||"";key=button.key?'accesskey="'+button.key+'"':"";if(button.separator){li=$('
  • '+(button.separator||"")+"
  • ").appendTo(ul)}else{i++;for(j=levels.length-1;j>=0;j--){t+=levels[j]+"-"}li=$('
  • '+(button.name||"")+"
  • ").bind("contextmenu",function(){return false}).click(function(){return false}).bind("focusin",function(){$$.focus()}).mouseup(function(){if(button.call){eval(button.call)()}setTimeout(function(){markup(button)},1);return false}).hover(function(){$("> ul",this).show();$(document).one("click",function(){$("ul ul",header).hide()})},function(){$("> ul",this).hide()}).appendTo(ul);if(button.dropMenu){levels.push(i);$(li).addClass("markItUpDropMenu").append(dropMenus(button.dropMenu))}}});levels.pop();return ul}function init(){id="";nameSpace="";if(options.id){id='id="'+options.id+'"'}else if($$.attr("id")){id='id="markItUp'+$$.attr("id").substr(0,1).toUpperCase()+$$.attr("id").substr(1)+'"'}if(options.nameSpace){nameSpace='class="'+options.nameSpace+'"'}$$.wrap("
    ");$$.wrap("
    ');$$.wrap('
    ');$$.addClass("markItUpEditor");header=$('
    ').insertBefore($$);$(dropMenus(options.markupSet)).appendTo(header);footer=$('
    ').insertAfter($$);if(options.resizeHandle===true&&$.browser.safari!==true){resizeHandle=$('
    ').insertAfter($$).bind("mousedown",function(a){var b=$$.height(),c=a.clientY,d,e;d=function(a){$$.css("height",Math.max(20,a.clientY+b-c)+"px");return false};e=function(a){$("html").unbind("mousemove",d).unbind("mouseup",e);return false};$("html").bind("mousemove",d).bind("mouseup",e)});footer.append(resizeHandle)}$$.keydown(keyPressed).keyup(keyPressed);$$.bind("insertion",function(a,b){if(b.target!==false){get()}if(textarea===$.markItUp.focused){markup(b)}});$$.focus(function(){$.markItUp.focused=this})}function localize(a,b){if(b){return a.replace(/("|')~\//g,"$1"+options.root)}return a.replace(/^~\//,options.root)}var $$,textarea,levels,scrollPosition,caretPosition,caretOffset,clicked,hash,header,footer,previewWindow,template,iFrame,abort;$$=$(this);textarea=this;levels=[];abort=false;scrollPosition=caretPosition=0;caretOffset=-1;options.previewParserPath=localize(options.previewParserPath);options.previewTemplatePath=localize(options.previewTemplatePath);init()})};$.fn.markItUpRemove=function(){return this.each(function(){var a=$(this).unbind().removeClass("markItUpEditor");a.parent("div").parent("div.markItUp").parent("div").replaceWith(a)})};$.markItUp=function(a){var b={target:false};$.extend(b,a);if(b.target){return $(b.target).each(function(){$(this).focus();$(this).trigger("insertion",[b])})}else{$("textarea").trigger("insertion",[b])}}})(jQuery) \ No newline at end of file +(function($){$.fn.markItUp=function(settings,extraSettings){var method,params,options,ctrlKey,shiftKey,altKey;ctrlKey=shiftKey=altKey=false;if(typeof settings=="string"){method=settings;params=extraSettings}options={id:"",nameSpace:"",root:"",previewHandler:false,previewInWindow:"",previewInElement:"",previewAutoRefresh:true,previewPosition:"after",previewTemplatePath:"~/templates/preview.html",previewParser:false,previewParserPath:"",previewParserVar:"data",resizeHandle:true,beforeInsert:"",afterInsert:"",onEnter:{},onShiftEnter:{},onCtrlEnter:{},onTab:{},markupSet:[{}]};$.extend(options,settings,extraSettings);if(!options.root){$("script").each(function(e,t){miuScript=$(t).get(0).src.match(/(.*)jquery\.markitup(\.pack)?\.js$/);if(miuScript!==null){options.root=miuScript[1]}})}return this.each(function(){function localize(e,t){if(t){return e.replace(/("|')~\//g,"$1"+options.root)}return e.replace(/^~\//,options.root)}function init(){id="";nameSpace="";if(options.id){id='id="'+options.id+'"'}else if($$.attr("id")){id='id="markItUp'+$$.attr("id").substr(0,1).toUpperCase()+$$.attr("id").substr(1)+'"'}if(options.nameSpace){nameSpace='class="'+options.nameSpace+'"'}$$.wrap("
    ");$$.wrap("
    ');$$.wrap('
    ');$$.addClass("markItUpEditor");header=$('
    ').insertBefore($$);$(dropMenus(options.markupSet)).appendTo(header);footer=$('
    ').insertAfter($$);if(options.resizeHandle===true&&$.browser.safari!==true){resizeHandle=$('
    ').insertAfter($$).bind("mousedown.markItUp",function(e){var t=$$.height(),n=e.clientY,r,i;r=function(e){$$.css("height",Math.max(20,e.clientY+t-n)+"px");return false};i=function(e){$("html").unbind("mousemove.markItUp",r).unbind("mouseup.markItUp",i);return false};$("html").bind("mousemove.markItUp",r).bind("mouseup.markItUp",i)});footer.append(resizeHandle)}$$.bind("keydown.markItUp",keyPressed).bind("keyup",keyPressed);$$.bind("insertion.markItUp",function(e,t){if(t.target!==false){get()}if(textarea===$.markItUp.focused){markup(t)}});$$.bind("focus.markItUp",function(){$.markItUp.focused=this});if(options.previewInElement){refreshPreview()}}function dropMenus(markupSet){var ul=$("
      "),i=0;$("li:hover > ul",ul).css("display","block");$.each(markupSet,function(){var button=this,t="",title,li,j;title=button.key?(button.name||"")+" [Ctrl+"+button.key+"]":button.name||"";key=button.key?'accesskey="'+button.key+'"':"";if(button.separator){li=$('
    • '+(button.separator||"")+"
    • ").appendTo(ul)}else{i++;for(j=levels.length-1;j>=0;j--){t+=levels[j]+"-"}li=$('
    • '+(button.name||"")+"
    • ").bind("contextmenu.markItUp",function(){return false}).bind("click.markItUp",function(){return false}).bind("focusin.markItUp",function(){$$.focus()}).bind("mouseup",function(){if(button.call){eval(button.call)()}setTimeout(function(){markup(button)},1);return false}).bind("mouseenter.markItUp",function(){$("> ul",this).show();$(document).one("click",function(){$("ul ul",header).hide()})}).bind("mouseleave.markItUp",function(){$("> ul",this).hide()}).appendTo(ul);if(button.dropMenu){levels.push(i);$(li).addClass("markItUpDropMenu").append(dropMenus(button.dropMenu))}}});levels.pop();return ul}function magicMarkups(e){if(e){e=e.toString();e=e.replace(/\(\!\(([\s\S]*?)\)\!\)/g,function(e,t){var n=t.split("|!|");if(altKey===true){return n[1]!==undefined?n[1]:n[0]}else{return n[1]===undefined?"":n[0]}});e=e.replace(/\[\!\[([\s\S]*?)\]\!\]/g,function(e,t){var n=t.split(":!:");if(abort===true){return false}value=prompt(n[0],n[1]?n[1]:"");if(value===null){abort=true}return value});return e}return""}function prepare(e){if($.isFunction(e)){e=e(hash)}return magicMarkups(e)}function build(e){var t=prepare(clicked.openWith);var n=prepare(clicked.placeHolder);var r=prepare(clicked.replaceWith);var i=prepare(clicked.closeWith);var s=prepare(clicked.openBlockWith);var o=prepare(clicked.closeBlockWith);var u=clicked.multiline;if(r!==""){block=t+r+i}else if(selection===""&&n!==""){block=t+n+i}else{e=e||selection;var a=[e],f=[];if(u===true){a=e.split(/\r?\n/)}for(var l=0;l=9.5&&t==0){return false}range=textarea.createTextRange();range.collapse(true);range.moveStart("character",e);range.moveEnd("character",t);range.select()}else if(textarea.setSelectionRange){textarea.setSelectionRange(e,e+t)}textarea.scrollTop=scrollPosition;textarea.focus()}function get(){textarea.focus();scrollPosition=textarea.scrollTop;if(document.selection){selection=document.selection.createRange().text;if($.browser.msie){var e=document.selection.createRange(),t=e.duplicate();t.moveToElementText(textarea);caretPosition=-1;while(t.inRange(e)){t.moveStart("character");caretPosition++}}else{caretPosition=textarea.selectionStart}}else{caretPosition=textarea.selectionStart;selection=textarea.value.substring(caretPosition,textarea.selectionEnd)}return selection}function preview(){if(typeof options.previewHandler==="function"){previewWindow=true}else if(options.previewInElement){previewWindow=$(options.previewInElement)}else if(!previewWindow||previewWindow.closed){if(options.previewInWindow){previewWindow=window.open("","preview",options.previewInWindow);$(window).unload(function(){previewWindow.close()})}else{iFrame=$('');if(options.previewPosition=="after"){iFrame.insertAfter(footer)}else{iFrame.insertBefore(header)}previewWindow=iFrame[iFrame.length-1].contentWindow||frame[iFrame.length-1]}}else if(altKey===true){if(iFrame){iFrame.remove()}else{previewWindow.close()}previewWindow=iFrame=false}if(!options.previewAutoRefresh){refreshPreview()}if(options.previewInWindow){previewWindow.focus()}}function refreshPreview(){renderPreview()}function renderPreview(){var e;if(options.previewHandler&&typeof options.previewHandler==="function"){options.previewHandler($$.val())}else if(options.previewParser&&typeof options.previewParser==="function"){var t=options.previewParser($$.val());writeInPreview(localize(t,1))}else if(options.previewParserPath!==""){$.ajax({type:"POST",dataType:"text",global:false,url:options.previewParserPath,data:options.previewParserVar+"="+encodeURIComponent($$.val()),success:function(e){writeInPreview(localize(e,1))}})}else{if(!template){$.ajax({url:options.previewTemplatePath,dataType:"text",global:false,success:function(e){writeInPreview(localize(e,1).replace(//g,$$.val()))}})}}return false}function writeInPreview(e){if(options.previewInElement){$(options.previewInElement).html(e)}else if(previewWindow&&previewWindow.document){try{sp=previewWindow.document.documentElement.scrollTop}catch(t){sp=0}previewWindow.document.open();previewWindow.document.write(e);previewWindow.document.close();previewWindow.document.documentElement.scrollTop=sp}}function keyPressed(e){shiftKey=e.shiftKey;altKey=e.altKey;ctrlKey=!(e.altKey&&e.ctrlKey)?e.ctrlKey||e.metaKey:false;if(e.type==="keydown"){if(ctrlKey===true){li=$('a[accesskey="'+(e.keyCode==13?"\\n":String.fromCharCode(e.keyCode))+'"]',header).parent("li");if(li.length!==0){ctrlKey=false;setTimeout(function(){li.triggerHandler("mouseup")},1);return false}}if(e.keyCode===13||e.keyCode===10){if(ctrlKey===true){ctrlKey=false;markup(options.onCtrlEnter);return options.onCtrlEnter.keepDefault}else if(shiftKey===true){shiftKey=false;markup(options.onShiftEnter);return options.onShiftEnter.keepDefault}else{markup(options.onEnter);return options.onEnter.keepDefault}}if(e.keyCode===9){if(shiftKey==true||ctrlKey==true||altKey==true){return false}if(caretOffset!==-1){get();caretOffset=$$.val().length-caretOffset;set(caretOffset,0);caretOffset=-1;return false}else{markup(options.onTab);return options.onTab.keepDefault}}}}function remove(){$$.unbind(".markItUp").removeClass("markItUpEditor");$$.parent("div").parent("div.markItUp").parent("div").replaceWith($$);$$.data("markItUp",null)}var $$,textarea,levels,scrollPosition,caretPosition,caretOffset,clicked,hash,header,footer,previewWindow,template,iFrame,abort;$$=$(this);textarea=this;levels=[];abort=false;scrollPosition=caretPosition=0;caretOffset=-1;options.previewParserPath=localize(options.previewParserPath);options.previewTemplatePath=localize(options.previewTemplatePath);if(method){switch(method){case"remove":remove();break;case"insert":markup(params);break;default:$.error("Method "+method+" does not exist on jQuery.markItUp")}return}init()})};$.fn.markItUpRemove=function(){return this.each(function(){$(this).markItUp("remove")})};$.markItUp=function(e){var t={target:false};$.extend(t,e);if(t.target){return $(t.target).each(function(){$(this).focus();$(this).trigger("insertion",[t])})}else{$("textarea").trigger("insertion",[t])}}})(jQuery) \ No newline at end of file diff --git a/public/assets/css/bootstrap-responsive.css b/public/assets/css/bootstrap-responsive.css index 9259d26..82fa9ca 100644 --- a/public/assets/css/bootstrap-responsive.css +++ b/public/assets/css/bootstrap-responsive.css @@ -1,5 +1,5 @@ /*! - * Bootstrap Responsive v2.1.1 + * Bootstrap Responsive v2.2.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -215,6 +215,9 @@ .row-fluid [class*="span"]:first-child { margin-left: 0; } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } .row-fluid .span12 { width: 100%; *width: 99.94680851063829%; @@ -562,6 +565,9 @@ .row-fluid [class*="span"]:first-child { margin-left: 0; } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.7624309392265194%; + } .row-fluid .span12 { width: 100%; *width: 99.94680851063829%; @@ -814,6 +820,7 @@ margin-left: 0; } [class*="span"], + .uneditable-input[class*="span"], .row-fluid [class*="span"] { display: block; float: none; @@ -830,6 +837,9 @@ -moz-box-sizing: border-box; box-sizing: border-box; } + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } .input-large, .input-xlarge, .input-xxlarge, @@ -862,8 +872,11 @@ width: auto; margin: 0; } + .modal.fade { + top: -100px; + } .modal.fade.in { - top: auto; + top: 20px; } } @@ -895,6 +908,16 @@ padding-right: 10px; padding-left: 10px; } + .media .pull-left, + .media .pull-right { + display: block; + float: none; + margin-bottom: 10px; + } + .media-object { + margin-right: 0; + margin-left: 0; + } .modal { top: 10px; right: 10px; @@ -979,6 +1002,10 @@ .nav-collapse .dropdown-menu a:hover { background-color: #f2f2f2; } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } .navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .dropdown-menu a:hover { background-color: #111111; @@ -991,7 +1018,7 @@ position: static; top: auto; left: auto; - display: block; + display: none; float: none; max-width: none; padding: 0; @@ -1005,6 +1032,9 @@ -moz-box-shadow: none; box-shadow: none; } + .nav-collapse .open > .dropdown-menu { + display: block; + } .nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:after { display: none; diff --git a/public/assets/css/bootstrap.css b/public/assets/css/bootstrap.css index a68e473..1b519e2 100644 --- a/public/assets/css/bootstrap.css +++ b/public/assets/css/bootstrap.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.1.1 + * Bootstrap v2.2.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -75,7 +75,8 @@ img { -ms-interpolation-mode: bicubic; } -#map_canvas img { +#map_canvas img, +.google-maps img { max-width: none; } @@ -101,7 +102,7 @@ input::-moz-focus-inner { } button, -input[type="button"], +html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; @@ -355,6 +356,10 @@ a:hover { margin-left: 0; } +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.127659574468085%; +} + .row-fluid .span12 { width: 100%; *width: 99.94680851063829%; @@ -614,18 +619,34 @@ cite { color: #c09853; } +a.text-warning:hover { + color: #a47e3c; +} + .text-error { color: #b94a48; } +a.text-error:hover { + color: #953b39; +} + .text-info { color: #3a87ad; } +a.text-info:hover { + color: #2d6987; +} + .text-success { color: #468847; } +a.text-success:hover { + color: #356635; +} + h1, h2, h3, @@ -635,7 +656,7 @@ h6 { margin: 10px 0; font-family: inherit; font-weight: bold; - line-height: 1; + line-height: 20px; color: inherit; text-rendering: optimizelegibility; } @@ -651,42 +672,42 @@ h6 small { color: #999999; } -h1 { - font-size: 36px; +h1, +h2, +h3 { line-height: 40px; } +h1 { + font-size: 38.5px; +} + h2 { - font-size: 30px; - line-height: 40px; + font-size: 31.5px; } h3 { - font-size: 24px; - line-height: 40px; + font-size: 24.5px; } h4 { - font-size: 18px; - line-height: 20px; + font-size: 17.5px; } h5 { font-size: 14px; - line-height: 20px; } h6 { - font-size: 12px; - line-height: 20px; + font-size: 11.9px; } h1 small { - font-size: 24px; + font-size: 24.5px; } h2 small { - font-size: 18px; + font-size: 17.5px; } h3 small { @@ -779,7 +800,8 @@ hr { border-bottom: 1px solid #ffffff; } -abbr[title] { +abbr[title], +abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } @@ -968,13 +990,14 @@ input[type="color"], display: inline-block; height: 20px; padding: 4px 6px; - margin-bottom: 9px; + margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; } input, @@ -1128,14 +1151,14 @@ textarea::-webkit-input-placeholder { .radio, .checkbox { - min-height: 18px; - padding-left: 18px; + min-height: 20px; + padding-left: 20px; } .radio input[type="radio"], .checkbox input[type="checkbox"] { float: left; - margin-left: -18px; + margin-left: -20px; } .controls > .radio:first-child, @@ -1302,10 +1325,16 @@ textarea.span1, clear: both; } -.controls-row [class*="span"] { +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { float: left; } +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + input[disabled], select[disabled], textarea[disabled], @@ -1540,6 +1569,17 @@ select:focus:required:invalid:focus { white-space: nowrap; } +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu { + font-size: 14px; +} + .input-append input, .input-prepend input, .input-append select, @@ -1549,11 +1589,10 @@ select:focus:required:invalid:focus { position: relative; margin-bottom: 0; *margin-left: 0; - font-size: 14px; vertical-align: top; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; } .input-append input:focus, @@ -1604,29 +1643,38 @@ select:focus:required:invalid:focus { .input-prepend .add-on:first-child, .input-prepend .btn:first-child { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; } .input-append input, .input-append select, .input-append .uneditable-input { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input + .btn-group .btn, +.input-append select + .btn-group .btn, +.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; } .input-append .add-on, -.input-append .btn { +.input-append .btn, +.input-append .btn-group { margin-left: -1px; } .input-append .add-on:last-child, .input-append .btn:last-child { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; } .input-prepend.input-append input, @@ -1637,20 +1685,32 @@ select:focus:required:invalid:focus { border-radius: 0; } +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + .input-prepend.input-append .add-on:first-child, .input-prepend.input-append .btn:first-child { margin-right: -1px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; } .input-prepend.input-append .add-on:last-child, .input-prepend.input-append .btn:last-child { margin-left: -1px; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; } input.search-query { @@ -1944,7 +2004,7 @@ table { .table-bordered colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; - -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; } .table-striped tbody tr:nth-child(odd) td, @@ -1957,157 +2017,99 @@ table { background-color: #f5f5f5; } -table [class*=span], -.row-fluid table [class*=span] { +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0; } -.table .span1 { +.table td.span1, +.table th.span1 { float: none; width: 44px; margin-left: 0; } -.table .span2 { +.table td.span2, +.table th.span2 { float: none; width: 124px; margin-left: 0; } -.table .span3 { +.table td.span3, +.table th.span3 { float: none; width: 204px; margin-left: 0; } -.table .span4 { +.table td.span4, +.table th.span4 { float: none; width: 284px; margin-left: 0; } -.table .span5 { +.table td.span5, +.table th.span5 { float: none; width: 364px; margin-left: 0; } -.table .span6 { +.table td.span6, +.table th.span6 { float: none; width: 444px; margin-left: 0; } -.table .span7 { +.table td.span7, +.table th.span7 { float: none; width: 524px; margin-left: 0; } -.table .span8 { +.table td.span8, +.table th.span8 { float: none; width: 604px; margin-left: 0; } -.table .span9 { +.table td.span9, +.table th.span9 { float: none; width: 684px; margin-left: 0; } -.table .span10 { +.table td.span10, +.table th.span10 { float: none; width: 764px; margin-left: 0; } -.table .span11 { +.table td.span11, +.table th.span11 { float: none; width: 844px; margin-left: 0; } -.table .span12 { +.table td.span12, +.table th.span12 { float: none; width: 924px; margin-left: 0; } -.table .span13 { - float: none; - width: 1004px; - margin-left: 0; -} - -.table .span14 { - float: none; - width: 1084px; - margin-left: 0; -} - -.table .span15 { - float: none; - width: 1164px; - margin-left: 0; -} - -.table .span16 { - float: none; - width: 1244px; - margin-left: 0; -} - -.table .span17 { - float: none; - width: 1324px; - margin-left: 0; -} - -.table .span18 { - float: none; - width: 1404px; - margin-left: 0; -} - -.table .span19 { - float: none; - width: 1484px; - margin-left: 0; -} - -.table .span20 { - float: none; - width: 1564px; - margin-left: 0; -} - -.table .span21 { - float: none; - width: 1644px; - margin-left: 0; -} - -.table .span22 { - float: none; - width: 1724px; - margin-left: 0; -} - -.table .span23 { - float: none; - width: 1804px; - margin-left: 0; -} - -.table .span24 { - float: none; - width: 1884px; - margin-left: 0; -} - .table tbody tr.success td { background-color: #dff0d8; } @@ -2149,7 +2151,7 @@ table [class*=span], *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("@site_urlpublic/assets/img/glyphicons-halflings.png"); + background-image: url("../img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; } @@ -2157,8 +2159,6 @@ table [class*=span], /* White icons with optional class, or on hover/active states of certain elements */ .icon-white, -.nav-tabs > .active > a > [class^="icon-"], -.nav-tabs > .active > a > [class*=" icon-"], .nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class*=" icon-"], .nav-list > .active > a > [class^="icon-"], @@ -2168,7 +2168,9 @@ table [class*=span], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], -.dropdown-menu > .active > a > [class*=" icon-"] { +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { background-image: url("../img/glyphicons-halflings-white.png"); } @@ -2806,7 +2808,7 @@ table [class*=span], border-bottom: 1px solid #ffffff; } -.dropdown-menu a { +.dropdown-menu li > a { display: block; padding: 3px 20px; clear: both; @@ -2821,7 +2823,6 @@ table [class*=span], .dropdown-submenu:hover > a { color: #ffffff; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); @@ -2829,23 +2830,22 @@ table [class*=span], background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); } .dropdown-menu .active > a, .dropdown-menu .active > a:hover { - color: #ffffff; + color: #333333; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; - background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; outline: 0; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); } .dropdown-menu .disabled > a, @@ -2857,6 +2857,7 @@ table [class*=span], text-decoration: none; cursor: default; background-color: transparent; + background-image: none; } .open { @@ -2904,6 +2905,16 @@ table [class*=span], display: block; } +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + .dropdown-submenu > a:after { display: block; float: right; @@ -2922,6 +2933,18 @@ table [class*=span], border-left-color: #ffffff; } +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + .dropdown .dropdown-menu .nav-header { padding-right: 20px; padding-left: 20px; @@ -3023,7 +3046,7 @@ button.close { .btn { display: inline-block; *display: inline; - padding: 4px 14px; + padding: 4px 12px; margin-bottom: 0; *margin-left: .3em; font-size: 14px; @@ -3036,22 +3059,22 @@ button.close { cursor: pointer; background-color: #f5f5f5; *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-repeat: repeat-x; border: 1px solid #bbbbbb; *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); *zoom: 1; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); @@ -3121,32 +3144,37 @@ button.close { } .btn-large { - padding: 9px 14px; - font-size: 16px; - line-height: normal; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; } -.btn-large [class^="icon-"] { +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { margin-top: 2px; } .btn-small { - padding: 3px 9px; - font-size: 12px; - line-height: 18px; + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; } -.btn-small [class^="icon-"] { +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { margin-top: 0; } .btn-mini { - padding: 2px 6px; - font-size: 11px; - line-height: 17px; + padding: 1px 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; } .btn-block { @@ -3188,16 +3216,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006dcc; *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-repeat: repeat-x; border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-primary:hover, @@ -3220,16 +3248,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #faa732; *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-repeat: repeat-x; border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-warning:hover, @@ -3252,16 +3280,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4f49; *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); - background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-repeat: repeat-x; border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-danger:hover, @@ -3284,16 +3312,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb75b; *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); - background-image: -moz-linear-gradient(top, #62c462, #51a351); background-repeat: repeat-x; border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-success:hover, @@ -3316,16 +3344,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); - background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-repeat: repeat-x; border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-info:hover, @@ -3348,16 +3376,16 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; *background-color: #222222; + background-image: -moz-linear-gradient(top, #444444, #222222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); background-image: linear-gradient(to bottom, #444444, #222222); - background-image: -moz-linear-gradient(top, #444444, #222222); background-repeat: repeat-x; border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .btn-inverse:hover, @@ -3437,10 +3465,13 @@ input[type="submit"].btn.btn-mini { .btn-group { position: relative; + display: inline-block; + *display: inline; *margin-left: .3em; font-size: 0; white-space: nowrap; vertical-align: middle; + *zoom: 1; } .btn-group:first-child { @@ -3457,14 +3488,6 @@ input[type="submit"].btn.btn-mini { font-size: 0; } -.btn-toolbar .btn-group { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; -} - .btn-toolbar .btn + .btn, .btn-toolbar .btn-group + .btn, .btn-toolbar .btn + .btn-group { @@ -3633,8 +3656,7 @@ input[type="submit"].btn.btn-mini { } .dropup .btn-large .caret { - border-top: 0; - border-bottom: 5px solid #000000; + border-bottom-width: 5px; } .btn-primary .caret, @@ -3807,7 +3829,8 @@ input[type="submit"].btn.btn-mini { background-color: #0088cc; } -.nav-list [class^="icon-"] { +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { margin-right: 2px; } @@ -4165,7 +4188,7 @@ input[type="submit"].btn.btn-mini { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); *zoom: 1; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); @@ -4189,6 +4212,7 @@ input[type="submit"].btn.btn-mini { .nav-collapse.collapse { height: auto; + overflow: visible; } .navbar .brand { @@ -4305,7 +4329,6 @@ input[type="submit"].btn.btn-mini { .navbar-static-top { position: static; - width: 100%; margin-bottom: 0; } @@ -4354,9 +4377,9 @@ input[type="submit"].btn.btn-mini { .navbar-fixed-top .navbar-inner, .navbar-static-top .navbar-inner { - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); } .navbar-fixed-bottom { @@ -4364,9 +4387,9 @@ input[type="submit"].btn.btn-mini { } .navbar-fixed-bottom .navbar-inner { - -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); } .navbar .nav { @@ -4426,16 +4449,16 @@ input[type="submit"].btn.btn-mini { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); - background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); background-repeat: repeat-x; border-color: #e5e5e5 #e5e5e5 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); @@ -4572,7 +4595,7 @@ input[type="submit"].btn.btn-mini { background-image: linear-gradient(to bottom, #222222, #111111); background-repeat: repeat-x; border-color: #252525; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); } .navbar-inverse .brand, @@ -4674,16 +4697,16 @@ input[type="submit"].btn.btn-mini { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); - background-image: -moz-linear-gradient(top, #151515, #040404); background-repeat: repeat-x; border-color: #040404 #040404 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .navbar-inverse .btn-navbar:hover, @@ -4728,7 +4751,6 @@ input[type="submit"].btn.btn-mini { } .pagination { - height: 40px; margin: 20px 0; } @@ -4737,9 +4759,9 @@ input[type="submit"].btn.btn-mini { *display: inline; margin-bottom: 0; margin-left: 0; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; *zoom: 1; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); @@ -4753,8 +4775,8 @@ input[type="submit"].btn.btn-mini { .pagination ul > li > a, .pagination ul > li > span { float: left; - padding: 0 14px; - line-height: 38px; + padding: 4px 12px; + line-height: 20px; text-decoration: none; background-color: #ffffff; border: 1px solid #dddddd; @@ -4784,16 +4806,22 @@ input[type="submit"].btn.btn-mini { .pagination ul > li:first-child > a, .pagination ul > li:first-child > span { border-left-width: 1px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; } .pagination ul > li:last-child > a, .pagination ul > li:last-child > span { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; } .pagination-centered { @@ -4804,6 +4832,68 @@ input[type="submit"].btn.btn-mini { text-align: right; } +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} + +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.pagination-mini ul > li:first-child > a, +.pagination-small ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > span { + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; +} + +.pagination-mini ul > li:last-child > a, +.pagination-small ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; +} + +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} + +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 1px 6px; + font-size: 10.5px; +} + .pager { margin: 20px 0; text-align: center; @@ -4826,8 +4916,8 @@ input[type="submit"].btn.btn-mini { display: inline; } -.pager a, -.pager span { +.pager li > a, +.pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; @@ -4837,44 +4927,29 @@ input[type="submit"].btn.btn-mini { border-radius: 15px; } -.pager a:hover { +.pager li > a:hover { text-decoration: none; background-color: #f5f5f5; } -.pager .next a, -.pager .next span { +.pager .next > a, +.pager .next > span { float: right; } -.pager .previous a { +.pager .previous > a, +.pager .previous > span { float: left; } -.pager .disabled a, -.pager .disabled a:hover, -.pager .disabled span { +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > span { color: #999999; cursor: default; background-color: #fff; } -.modal-open .modal .dropdown-menu { - z-index: 2050; -} - -.modal-open .modal .dropdown.open { - *z-index: 2050; -} - -.modal-open .modal .popover { - z-index: 2060; -} - -.modal-open .modal .tooltip { - z-index: 2080; -} - .modal-backdrop { position: fixed; top: 0; @@ -4902,7 +4977,6 @@ input[type="submit"].btn.btn-mini { z-index: 1050; width: 560px; margin: -250px 0 0 -280px; - overflow: auto; background-color: #ffffff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.3); @@ -4910,6 +4984,7 @@ input[type="submit"].btn.btn-mini { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; + outline: none; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); @@ -4989,6 +5064,10 @@ input[type="submit"].btn.btn-mini { margin-left: -1px; } +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + .tooltip { position: absolute; z-index: 1030; @@ -5096,7 +5175,7 @@ input[type="submit"].btn.btn-mini { } .popover.top { - margin-bottom: 10px; + margin-top: -10px; } .popover.right { @@ -5108,7 +5187,7 @@ input[type="submit"].btn.btn-mini { } .popover.left { - margin-right: 10px; + margin-left: -10px; } .popover-title { @@ -5272,8 +5351,47 @@ a.thumbnail:hover { color: #555555; } +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media .pull-left { + margin-right: 10px; +} + +.media .pull-right { + margin-left: 10px; +} + +.media-list { + margin-left: 0; + list-style: none; +} + .label, .badge { + display: inline-block; + padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; @@ -5285,14 +5403,14 @@ a.thumbnail:hover { } .label { - padding: 1px 4px 2px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .badge { - padding: 1px 9px 2px; + padding-right: 9px; + padding-left: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; @@ -5425,7 +5543,7 @@ a.badge:hover { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); @@ -5446,7 +5564,7 @@ a.badge:hover { background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); @@ -5495,7 +5613,7 @@ a.badge:hover { background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); } .progress-danger.progress-striped .bar, @@ -5517,7 +5635,7 @@ a.badge:hover { background-image: -o-linear-gradient(top, #62c462, #57a957); background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); } .progress-success.progress-striped .bar, @@ -5539,7 +5657,7 @@ a.badge:hover { background-image: -o-linear-gradient(top, #5bc0de, #339bb9); background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); } .progress-info.progress-striped .bar, @@ -5561,7 +5679,7 @@ a.badge:hover { background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); } .progress-warning.progress-striped .bar, @@ -5728,6 +5846,10 @@ a.badge:hover { .hero-unit { padding: 60px; margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; @@ -5742,11 +5864,8 @@ a.badge:hover { color: inherit; } -.hero-unit p { - font-size: 18px; - font-weight: 200; +.hero-unit li { line-height: 30px; - color: inherit; } .pull-right { diff --git a/public/assets/js/bootstrap.js b/public/assets/js/bootstrap.js index f73fcb8..c753bd6 100644 --- a/public/assets/js/bootstrap.js +++ b/public/assets/js/bootstrap.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.1.1 + * bootstrap-transition.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. @@ -20,14 +20,14 @@ !function ($) { + "use strict"; // jshint ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + $(function () { - "use strict"; // jshint ;_; - - - /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) - * ======================================================= */ - $.support.transition = (function () { var transitionEnd = (function () { @@ -58,7 +58,7 @@ }) }(window.jQuery);/* ========================================================== - * bootstrap-alert.js v2.1.1 + * bootstrap-alert.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. @@ -142,12 +142,10 @@ /* ALERT DATA-API * ============== */ - $(function () { - $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) - }) + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) }(window.jQuery);/* ============================================================ - * bootstrap-button.js v2.1.1 + * bootstrap-button.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -233,16 +231,14 @@ /* BUTTON DATA-API * =============== */ - $(function () { - $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - }) + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') }) }(window.jQuery);/* ========================================================== - * bootstrap-carousel.js v2.1.1 + * bootstrap-carousel.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -337,9 +333,7 @@ , direction = type == 'next' ? 'left' : 'right' , fallback = type == 'next' ? 'first' : 'last' , that = this - , e = $.Event('slide', { - relatedTarget: $next[0] - }) + , e this.sliding = true @@ -347,6 +341,10 @@ $next = $next.length ? $next : this.$element.find('.item')[fallback]() + e = $.Event('slide', { + relatedTarget: $next[0] + }) + if ($next.hasClass('active')) return if ($.support.transition && this.$element.hasClass('slide')) { @@ -406,18 +404,16 @@ /* CAROUSEL DATA-API * ================= */ - $(function () { - $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { - var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) - $target.carousel(options) - e.preventDefault() - }) + $(document).on('click.carousel.data-api', '[data-slide]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() }) }(window.jQuery);/* ============================================================= - * bootstrap-collapse.js v2.1.1 + * bootstrap-collapse.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -561,20 +557,18 @@ /* COLLAPSIBLE DATA-API * ==================== */ - $(function () { - $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - , target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - , option = $(target).data('collapse') ? 'toggle' : $this.data() - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - $(target).collapse(option) - }) + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) }) }(window.jQuery);/* ============================================================ - * bootstrap-dropdown.js v2.1.1 + * bootstrap-dropdown.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -675,8 +669,9 @@ } function clearMenus() { - getParent($(toggle)) - .removeClass('open') + $(toggle).each(function () { + getParent($(this)).removeClass('open') + }) } function getParent($this) { @@ -713,17 +708,14 @@ /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ - $(function () { - $('html') - .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) - $('body') - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) - .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) - }) + $(document) + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) }(window.jQuery);/* ========================================================= - * bootstrap-modal.js v2.1.1 + * bootstrap-modal.js v2.2.1 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -773,8 +765,6 @@ if (this.isShown || e.isDefaultPrevented()) return - $('body').addClass('modal-open') - this.isShown = true this.escape() @@ -796,13 +786,12 @@ that.$element .addClass('in') .attr('aria-hidden', false) - .focus() that.enforceFocus() transition ? - that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : - that.$element.trigger('shown') + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') }) } @@ -820,8 +809,6 @@ this.isShown = false - $('body').removeClass('modal-open') - this.escape() $(document).off('focusin.modal') @@ -891,9 +878,11 @@ this.$backdrop = $('