1
0
mirror of https://github.com/monstra-cms/monstra.git synced 2025-08-05 04:37:51 +02:00

153 Commits

Author SHA1 Message Date
Awilum
783a1160ea Hot Fixes 2013-04-07 00:14:29 +03:00
Awilum
e439fc04f4 Merge remote-tracking branch 'refs/remotes/origin/dev' 2013-04-07 00:01:00 +03:00
Awilum
812acbe956 Monstra 2.2.1 2013-04-06 23:56:47 +03:00
Awilum
6496e1bad1 Merge remote-tracking branch 'refs/remotes/origin/master' into dev 2013-04-06 23:51:29 +03:00
Sergey Romanenko
928c12abc7 Merge pull request #113 from mbarzda/languages-fix
Lithuanian flag and other languages fixes
2013-04-06 13:43:37 -07:00
Awilum
e007040feb Remove turn off Error Handler for Production environment 2013-04-06 13:45:10 +03:00
Awilum
ee1fd08621 Update Gelato to 1.0.3 2013-04-04 19:03:37 +03:00
Martynas Barzda
08a61017f9 Lithuanian flag and other languages fixes 2013-04-01 11:00:40 +03:00
Martynas Barzda
f42a4ce42d Merge remote-tracking branch 'original/master'
Conflicts:
	plugins/box/system/system.admin.php
2013-04-01 10:21:14 +03:00
Awilum
f4f699b73a Missing Translation on Login Page - fixed #106 2013-03-29 22:46:04 +02:00
Awilum
68fed3a3e5 Pages Manager: fix translates #107 2013-03-28 22:29:03 +02:00
Awilum
be4c58d242 Localization: Farsi(fa) translations fixes. 2013-03-26 22:48:46 +02:00
Awilum
ad3c63a3d4 Merge remote-tracking branch 'refs/remotes/origin/dev' 2013-03-25 21:39:00 +02:00
Awilum
b180b797ee Monstra 2.2.0 2013-03-25 21:32:55 +02:00
Awilum
9d165d34f5 Monstra 2.2.0 2013-03-25 21:30:34 +02:00
Awilum
e2fff5db3c Changelog updates 2013-03-25 21:17:51 +02:00
Awilum
3d886007b3 Installer Updates. 2013-03-24 00:53:16 +02:00
Awilum
3dabdda2b8 Farsi flag added 2013-03-24 00:40:44 +02:00
Awilum
ce8aa7f921 Fix files encoding. 2013-03-23 10:55:39 +02:00
Awilum
b2c7eaeb14 Localization: Persian(fa) translations added. 2013-03-22 00:22:37 +02:00
Awilum
a01a304a83 Localization: Persian(fa) translations added. 2013-03-22 00:22:19 +02:00
Awilum
d626ae68be I18N: Persian(farsi) added 2013-03-22 00:21:25 +02:00
Awilum
5ee512a77b Translation Updates 2013-03-19 22:10:13 +02:00
Awilum
6257af8e71 Translation Updates 2013-03-19 22:08:02 +02:00
Awilum
dd84366820 Translation Updates 2013-03-19 22:05:40 +02:00
Awilum
b24cdaec96 Menus Manager: $menu_item_order_array set 40 items 2013-03-19 22:01:19 +02:00
Awilum
25a3e4df3d Readme updates 2013-03-16 14:07:22 +02:00
Awilum
946c1f79d5 Monstra 2.2.0 beta 3 2013-03-16 13:46:39 +02:00
Awilum
9db1ae1b15 Added missing flags 2013-03-16 13:45:40 +02:00
Awilum
abde9ff8fa Installer Fixes 2013-03-16 13:41:51 +02:00
Awilum
4e78ac015a Monstra 2.2.0 beta 3 2013-03-16 13:35:20 +02:00
Awilum
289e4d228a Gelato: fixes 2013-03-16 13:34:11 +02:00
Awilum
23024a9162 Gelato: ErrorHandler fixes 2013-03-16 13:33:26 +02:00
Awilum
6b9077ef35 Gelato: Minify fixes 2013-03-16 13:32:47 +02:00
Awilum
60929b17bf Gelato: ClassLoader add abb to work with php 5.2.3 2013-03-16 13:30:52 +02:00
Awilum
702efc6a11 Monstra requires PHP 5.2.3 or greater 2013-03-16 13:29:33 +02:00
Awilum
3936d266e7 Changelog updates 2013-03-16 11:24:58 +02:00
Awilum
7f7bcaef5f Installer Script: missing languages added. 2013-03-16 11:21:26 +02:00
Awilum
ad494c4dc9 Localization: Magyar(hu) translations added. 2013-03-16 11:18:30 +02:00
Awilum
8b1c3a7ba6 Changelog updates 2013-03-16 11:12:24 +02:00
Awilum
f3c304c5b7 Localization: Français(fr) translations added. 2013-03-16 11:09:58 +02:00
Awilum
bc1c7ffdee Installer Script: missing languages added. 2013-03-16 11:05:18 +02:00
Awilum
8f32e07721 Changelog updates 2013-03-15 00:14:13 +02:00
Awilum
9617d9e864 Localization: Spanish(es) translations added. 2013-03-15 00:11:50 +02:00
Awilum
15d9ad3500 Gelato Updates 2013-03-14 23:54:09 +02:00
Awilum
658031c004 Translation Updates 2013-03-09 00:24:37 +02:00
Awilum
599cf96199 Filesmanager: Bootstrap Lightbox added instead of default Modal Dialog. #100 2013-03-09 00:04:01 +02:00
Awilum
23f7fbf39f Filesmanager: Bootstrap Lightbox added instead of default Modal Dialog. #100 2013-03-09 00:02:59 +02:00
Awilum
cb973d3ea9 Filesmanager: Bootstrap Lightbox added instead of default Modal Dialog. #100 2013-03-09 00:01:41 +02:00
Awilum
d261be9b07 Changelog updates 2013-03-08 23:37:30 +02:00
Awilum
2c0fa8eb72 Pages Manager: added ability to quickly update status and access. 2013-03-08 23:36:33 +02:00
Awilum
a768bc31ed Default Theme: fix footer chunk 2013-03-05 23:51:05 +02:00
Awilum
7433dbd24c Update Gelato to 1.0.1 2013-03-05 23:15:28 +02:00
Awilum
a464d2bff5 Monstra 2.2.0 beta 2013-03-02 00:48:28 +02:00
Awilum
99ecf3774b Code fix 2013-03-02 00:47:54 +02:00
Awilum
29d6d8daf3 Translation Updates 2013-03-02 00:39:42 +02:00
Awilum
a5d19114cb Filesmanager: removed dir size for now 2013-03-02 00:14:20 +02:00
Awilum
6c8f9cad05 blocks folder 2013-03-02 00:13:09 +02:00
Awilum
28b3002ded TEMP CODE removed 2013-03-01 23:40:52 +02:00
Awilum
af4bc97bf2 Remove jQuery Migrate from project 2013-03-01 23:35:55 +02:00
Awilum
3ab9fcc1a8 Update MarkItUp! to 1.1.14 2013-03-01 23:33:00 +02:00
Awilum
4e389d4de2 Revert back Sandbox Manifest 2013-03-01 23:19:10 +02:00
Awilum
85c2849037 Translation Updates 2013-03-01 23:13:54 +02:00
Awilum
3cd0ec09dc Translation Updates 2013-03-01 23:12:44 +02:00
Awilum
614b876faf Translation Updates 2013-03-01 23:12:13 +02:00
Awilum
3cb31c2616 Code fix 2013-03-01 22:59:38 +02:00
Awilum
b0452c7932 Site Structure Updates 2013-03-01 22:54:51 +02:00
Awilum
03e10b4507 Update PHPMailer to 5.2.4 2013-03-01 22:54:09 +02:00
Awilum
207d6b4956 Update Twitter Bootstrap to 2.3.1 #95 2013-03-01 22:47:45 +02:00
Awilum
e55b1e3344 Site Structure Updates 2013-03-01 22:43:30 +02:00
Awilum
0d5e023887 Site Structure Updates 2013-03-01 22:36:50 +02:00
Awilum
42bd547365 Site Structure Updates 2013-03-01 22:31:54 +02:00
Awilum
0f39d039d0 Site Structure Updates 2013-03-01 22:29:57 +02:00
Awilum
af67698147 PagesPlugin: fix 2013-03-01 21:17:31 +02:00
Awilum
0a4eb5900a Site Structure Updates 2013-03-01 21:13:07 +02:00
Awilum
db8547c173 Site Structure Updates 2013-03-01 21:09:05 +02:00
Awilum
f112ec8ddd Site Structure Updates 2013-03-01 21:06:29 +02:00
Awilum
37f4faa2ff Gelato 1.1.0 2013-02-28 21:09:30 +02:00
Awilum
362ec1f2a2 Merge remote-tracking branch 'origin/dev' into dev 2013-02-28 20:22:59 +02:00
Awilum
00abeaba1b DropDown Menu for Mobile Devices - fixes 2013-02-28 20:21:57 +02:00
Sergey Romanenko
5b15c1c284 Update admin/themes/default/login.template.php 2013-02-27 14:02:26 +02:00
Sergey Romanenko
7c70d34552 Update admin/themes/default/index.template.php 2013-02-27 14:02:08 +02:00
Sergey Romanenko
4282ad853e Create jquery-migrate-1.1.1.js 2013-02-27 14:01:11 +02:00
Awilum
664e29b6dc Update Twitter Bootstrap to 2.3.0 #95 2013-02-25 21:25:47 +02:00
Awilum
29bc706fd7 Fix icons path again 2013-02-23 13:45:50 +02:00
Awilum
5ce635283e Readme.md fixes 2013-02-23 13:09:25 +02:00
Awilum
4e945e9b4e Changelog updates 2013-02-23 12:51:00 +02:00
Awilum
0ac1a1d44b Fix strange issue for menus manager plugin 2013-02-23 12:49:06 +02:00
Awilum
fafb50476b Update jQuey to 1.9.1 #96 2013-02-23 12:48:25 +02:00
Awilum
6e875be7ca Update Twitter Bootstrap to 2.3.0 #95 2013-02-23 12:43:36 +02:00
Awilum
0f68f836d3 Update Sandbox Manifest 2013-02-09 23:15:26 +02:00
Sergey Romanenko
30157ecb94 Update changelog.txt 2013-02-08 12:16:16 +02:00
Sergey Romanenko
8384465526 Update Idiorm to 1.3.0 #92 2013-02-08 12:12:28 +02:00
Awilum
356b4d3194 Update Sandbox Manifest 2013-02-02 00:16:34 +02:00
Awilum
daefb787f3 Update Sandbox Manifest 2013-02-01 22:52:05 +02:00
Awilum
05590c76b3 Merge remote-tracking branch 'origin/dev' into dev 2013-02-01 21:48:12 +02:00
Awilum
37d9d215c5 Pages Manager: page cloning problem #90 - fixed. 2013-02-01 21:42:19 +02:00
Sergey Romanenko
a3b46fb25f Update changelog.txt 2013-02-01 10:36:39 +02:00
Awilum
beda4326cb New Sandbox Plugin Manifest 2013-01-27 22:05:38 +02:00
Awilum
fd87b58bca Installer: Default Site Email #87 2013-01-27 20:58:05 +02:00
Awilum
5bac23c097 Installer: Default Site Email #87 2013-01-27 20:52:32 +02:00
Awilum
341ca86075 #64 Admin Responsive - Next Round 2013-01-27 20:48:17 +02:00
Awilum
70954e8cdb #64 Admin Responsive - Next Round 2013-01-27 20:43:04 +02:00
Awilum
aba5dda41b #64 Admin Responsive - Next Round 2013-01-27 20:42:14 +02:00
Awilum
ce75fde7a8 Code Fix 2013-01-26 01:06:24 +02:00
Awilum
2e1c8ebc0e Translation Updates 2013-01-26 00:45:55 +02:00
Awilum
13fb6babb7 Translation Updates 2013-01-26 00:11:19 +02:00
Awilum
572d64323e Translation Updates 2013-01-25 23:48:43 +02:00
Awilum
fa9f43227c Translation Updates 2013-01-25 22:40:56 +02:00
Awilum
4a5403e0c3 Translation Updates: Login Page 2013-01-25 22:27:33 +02:00
Awilum
aee0387649 Translation Updates: Login Page 2013-01-25 22:27:15 +02:00
Awilum
c506bbff08 Gelato ErrorHandler and Logger improvments 2013-01-25 21:49:28 +02:00
Awilum
0e5e21d5a3 Plugins Manager: use Monstra::cleanTmp() 2013-01-25 16:21:53 +02:00
Sergey Romanenko
d3ddd11ed9 Installer: Default Site Email #87 2013-01-25 10:41:43 +02:00
Awilum
027ae36e69 Improve Installer Usability. Flags Added. 2013-01-24 23:46:03 +02:00
Awilum
a0ab314424 Plugin Javascript Class: remove js minification for now. 2013-01-24 22:34:58 +02:00
Awilum
e25f5ba2f3 Plugins Manager: update Get More Plugins link. set plugins.monstra.org 2013-01-24 22:18:27 +02:00
Sergey Romanenko
bc037a6758 Engine Plugin: plugin system registration updates. 2013-01-24 15:48:43 +02:00
Sergey Romanenko
75fb5bfe92 Update install.php 2013-01-22 13:17:57 +02:00
Sergey Romanenko
ef47cbedff Update changelog.txt 2013-01-22 12:58:38 +02:00
Sergey Romanenko
8d04772473 Update changelog.txt 2013-01-22 10:44:32 +02:00
Awilum
537f1b999b XMLDB: Table Class - fix select method. Thanks to DmitriyMX 2013-01-21 23:20:53 +02:00
Awilum
cf1ce4b660 Engine Uri: code improvements 2013-01-21 10:58:16 +02:00
Awilum
f259e2e700 Installer: add sk and sr-yu 2013-01-20 17:50:32 +02:00
Awilum
5c7ce4f3a4 Languages fix de 2013-01-20 17:49:37 +02:00
Awilum
d322887f05 Slovenčina Language added. Thanks to Neri 2013-01-20 17:38:16 +02:00
Awilum
878aa46457 upd 2013-01-20 17:33:55 +02:00
Awilum
5315020c1e Use New Minify Classes! 2013-01-20 01:25:37 +02:00
Awilum
ded831e9a7 New Minify Classes! 2013-01-20 01:25:04 +02:00
Awilum
2f2ef57e9d Admin: PHPMailer class used. 2013-01-19 23:55:56 +02:00
Awilum
514815a559 Users Plugin: New html email template added. PHPMailer class used. 2013-01-19 23:55:20 +02:00
Awilum
b050af69d1 Update Monstra.php 2013-01-19 21:13:13 +02:00
Awilum
70a9286c33 PHPMailer added. 2013-01-19 20:36:48 +02:00
Awilum
d0c5296540 Gelato: remove email.php 2013-01-19 20:26:39 +02:00
Awilum
bd7591a3c9 Gelato: Token Class - updates. 2013-01-19 00:21:31 +02:00
Awilum
efc3dd429d Monstra Security: updates 2013-01-18 23:33:46 +02:00
Awilum
242930c425 Gelato: added Email class 2013-01-18 22:47:50 +02:00
Awilum
0a9ba78091 Gelato: default _logs folder added. 2013-01-18 00:04:19 +02:00
Awilum
5baddfa952 Monstra: use GELATO_DISPLAY_DEVELOPMENT constant. 2013-01-17 23:59:50 +02:00
Awilum
b9c2967b18 Gelato: ErrorHandler improvments for PRODUCTION Environment. 2013-01-17 23:59:09 +02:00
Awilum
0f47fd5d50 Gelato: Cache class updates 2013-01-17 23:19:39 +02:00
Awilum
6f97bf10e7 Gelato: general updates. 2013-01-17 23:18:23 +02:00
Awilum
33795d5267 Gelato: Log class added. 2013-01-17 23:15:31 +02:00
Awilum
58c0e1207d PSR - fix 2013-01-17 22:39:21 +02:00
Sergey Romanenko
fa5824e03c XMLDB: method _save() use utf-8 encoding. 2013-01-15 15:41:01 +02:00
Sergey Romanenko
b9471a505e Update plugins/box/system/system.admin.php 2013-01-15 14:12:12 +02:00
Sergey Romanenko
4e3802cde3 Update engine/Monstra.php
New static method cleanTmp() added.
2013-01-15 13:52:14 +02:00
Awilum
1018411068 Merge remote-tracking branch 'origin/dev' 2012-12-09 19:42:27 +02:00
Awilum
cebb6deac8 Merge remote-tracking branch 'origin/dev' 2012-12-05 21:57:15 +02:00
Awilum
38e53c08db Merge remote-tracking branch 'origin/dev' 2012-11-30 19:52:42 +02:00
Awilum
d2aab04430 Merge remote-tracking branch 'origin/dev' 2012-11-29 18:58:30 +02:00
Awilum
0f8103d6ae Merge remote-tracking branch 'origin/dev' 2012-11-29 18:33:16 +02:00
Martynas Barzda
27e355cd56 System Plugin: updated checkMonstraVersion function 2012-10-29 17:12:28 +02:00
247 changed files with 10749 additions and 2337 deletions

View File

@@ -19,7 +19,7 @@ Options -Indexes
# Setting rewrite rules. # Setting rewrite rules.
<IfModule mod_rewrite.c> <IfModule mod_rewrite.c>
RewriteEngine on RewriteEngine on
RewriteBase /projects/monstra-cms/ RewriteBase /%siteurlhere%/
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L] RewriteRule ^(.*)$ index.php [QSA,L]

View File

@@ -1,16 +1,13 @@
# Monstra CMS # Monstra CMS
Fast and small content management system written in PHP! Fast and small content management system written in PHP!
## System Requirements ## System Requirements
- UNIX/Linux host - UNIX/Linux host
- PHP 5.2.0 or higher - PHP 5.2.3 or higher
- SimpleXML Module - SimpleXML Module
- Apache Mod Rewrite - Apache Mod Rewrite
- Multibyte String - Multibyte String
## Steps to Install ## Steps to Install
1. [Download the latest version.](http://monstra.org/download) 1. [Download the latest version.](http://monstra.org/download)
2. Unzip the contents to a new folder on your local computer. 2. Unzip the contents to a new folder on your local computer.
@@ -19,21 +16,18 @@ Fast and small content management system written in PHP!
5. Also you may also need to recursively CHMOD the /install.php, /.htaccess and /sitemap.xml to 755(or 777) if your host doesn't set it implicitly. 5. Also you may also need to recursively CHMOD the /install.php, /.htaccess and /sitemap.xml to 755(or 777) if your host doesn't set it implicitly.
6. Type http://example.org/install.php in the browser. 6. Type http://example.org/install.php in the browser.
## Contributing ## Contributing
1. Help on the [Forum.](http://forum.monstra.org) 1. Help on the [Forum.](http://forum.monstra.org)
2. Donate to keep Monstra free. We will add you to Monstra [Sponsors Page.](http://monstra.org/about/sponsors) 2. Donate to keep Monstra free. We will add you to Monstra [Sponsors Page.](http://monstra.org/contribute/sponsors)
3. Develop a new plugin. 3. Develop a new plugin.
4. Create a new theme. 4. Create a new theme.
5. Find and [report issues.](https://github.com/Monstra/monstra-cms/issues) 5. Find and [report issues.](https://github.com/MonstraLab/monstra-cms/issues)
6. Link back to [Monstra](http://monstra.org). 6. Link back to [Monstra](http://monstra.org).
## Links ## Links
- [Site](http://monstra.org) - [Site](http://monstra.org)
- [Forum](http://forum.monstra.org) - [Forum](http://forum.monstra.org)
- [Documentation](http://monstra.org/documentation) - [Documentation](http://monstra.org/documentation)
- [Github Repository](https://github.com/Monstra/monstra-cms) - [Github Repository](https://github.com/MonstraLab/monstra-cms)
Copyright (C) 2012-2013 Romanenko Sergey / Awilum [awilum@msn.com] Copyright (C) 2012-2013 Romanenko Sergey / Awilum [awilum@msn.com]

View File

@@ -79,17 +79,22 @@ if (Request::post('reset_password_submit')) {
// Update user hash // Update user hash
$users->updateWhere("[login='" . $user_login . "']", array('hash' => $new_hash)); $users->updateWhere("[login='" . $user_login . "']", array('hash' => $new_hash));
// Message $mail = new PHPMailer();
$message = View::factory('box/users/views/frontend/reset_password_email') $mail->CharSet = 'utf-8';
$mail->ContentType = 'text/html';
$mail->SetFrom(Option::get('system_email'));
$mail->AddReplyTo(Option::get('system_email'));
$mail->AddAddress($user['email'], $user['login']);
$mail->Subject = __('Your login details for :site_name', 'users', array(':site_name' => $site_name));
$mail->MsgHTML(View::factory('box/users/views/emails/layout_email')
->assign('site_url', $site_url) ->assign('site_url', $site_url)
->assign('site_name', $site_name) ->assign('site_name', $site_name)
->assign('user_id', $user['id']) ->assign('user_id', $user['id'])
->assign('user_login', $user['login']) ->assign('user_login', $user['login'])
->assign('new_hash', $new_hash) ->assign('new_hash', $new_hash)
->render(); ->assign('view', 'reset_password_email')
->render());
// Send $mail->Send();
@mail($user['email'], __('Your login details for :site_name', 'users', array(':site_name' => $site_name)), $message);
// Set notification // Set notification
Notification::set('success', __('Your login details for :site_name has been sent', 'users', array(':site_name' => $site_name))); Notification::set('success', __('Your login details for :site_name has been sent', 'users', array(':site_name' => $site_name)));

View File

@@ -3,18 +3,17 @@
styles.css styles.css
************************************* *************************************
CONTENTS CONTENTS
1. GENERAL 1. GENERAL
2. HEADER 2. HEADER
3. CONTENT 3. CONTENT
4. LEFT MENU 4. LEFT MENU
5. AUTHORIZATION 5. AUTHORIZATION
6. MISC 6. MEDIA QUERIES
************************************* *************************************
1. GENERAL 1. GENERAL
*************************************/ *************************************/
body { body {
padding-top: 60px; padding-top: 60px;
margin: 0; margin: 0;
@@ -269,11 +268,46 @@ td, th {
padding: 20px 10px 10px; padding: 20px 10px 10px;
} }
.small-grey-text {
color:#333;
font-size: 10px;
}
.small-grey-text:hover {
color:#000;
}
.small-white-text {
color:#fff;
font-size: 10px;
}
.small-white-text:hover {
color:#fdfdfd;
}
.error-none {display:none;}
.error-field {border:1px solid red!important;}
.container-fluid {padding-left:0px;}
img {max-width:none;}
a.btn-expand{
color: #333;
font-weight:bold;
font-size:14px;
text-decoration: none;
padding-left:4px;
padding-right:4px;
}
footer a , footer{
color:#333;
font-size:10px;
}
/************************************** /**************************************
2. HEADER 2. HEADER
*************************************/ *************************************/
.monstra-header { .monstra-header {
top: 0; top: 0;
left: 0; left: 0;
@@ -319,16 +353,13 @@ td, th {
/************************************* /*************************************
3. CONTENT 3. CONTENT
*************************************/ *************************************/
.monstra-content { .monstra-content {
padding-top:20px; padding-top:20px;
} }
/************************************* /*************************************
4. LEFT MENU 4. LEFT MENU
*************************************/ *************************************/
.monstra-menu-category-separator { .monstra-menu-category-separator {
border: 0; border: 0;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
@@ -414,8 +445,6 @@ td, th {
background-color: #0088cc; background-color: #0088cc;
} }
/************************************* /*************************************
5. AUTHORIZATION 5. AUTHORIZATION
*************************************/ *************************************/
@@ -437,45 +466,65 @@ td, th {
} }
/************************************* /*************************************
6. MISC 6. MEDIA QUERIES
*************************************/ *************************************/
.small-grey-text { /* iPhone 4, iPhone5, Small Tablet, Tablet */
color:#333; @media (max-width: 800px) {
font-size: 10px;
.monstra-header .btn-small {
padding: 0px 7px;
}
.monstra-menu-sidebar {
background: url('@theme_admin_url/img/noisy_grid.png');
background-color:#ccc;
max-width: 100%!important;
min-width: 100%!important;
margin-bottom: 20px;
padding: 19px;
border:2px solid #ccc;
}
.container-fluid {
padding: 0px;
}
} }
.small-grey-text:hover { /* Small Tablet(Landscape), Tablet(Portrait) */
color:#000; @media (min-width: 768px) and (max-width: 800px) {
.row-fluid .span10 {
-moz-box-sizing: border-box;
display: block;
width: 94%;
}
footer a, footer {
color: #333333;
font-size: 10px;
margin-right: 10px;
}
} }
.small-white-text { /* iPhone 4 */
color:#fff; @media (max-width: 320px) {
font-size: 10px; .markItUpButton11,
} .markItUpButton12,
.markItUpButton13,
.small-white-text:hover { .markItUpButton14,
color:#fdfdfd; .markItUpButton15,
} .markItUpButton16,
.markItUpButton17,
.error-none {display:none;} .markItUpButton18 {
.error-field {border:1px solid red!important;} display: none;
.container-fluid {padding-left:0px;} }
img {max-width:none;} .markItUpSeparator{
display: none;
a.btn-expand{ }
color: #333;
font-weight:bold;
font-size:14px;
text-decoration: none;
padding-left:4px;
padding-right:4px;
}
footer a , footer{
color:#333;
font-size:10px;
}
#showImage {
min-width: 298px!important;
}
}

View File

@@ -10,14 +10,16 @@
<!-- Styles --> <!-- Styles -->
<?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?> <?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 2); ?> <?php Stylesheet::add('public/assets/css/bootstrap-lightbox.css', 'backend', 2); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 3); ?> <?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 3); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 4); ?>
<?php Stylesheet::load(); ?> <?php Stylesheet::load(); ?>
<!-- JavaScripts --> <!-- JavaScripts -->
<?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?> <?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?>
<?php Javascript::add('public/assets/js/bootstrap.js', 'backend', 2); ?> <?php Javascript::add('public/assets/js/bootstrap.js', 'backend', 2); ?>
<?php Javascript::add('admin/themes/default/js/default.js', 'backend', 3); ?> <?php Javascript::add('public/assets/js/bootstrap-lightbox.js', 'backend', 3); ?>
<?php Javascript::add('admin/themes/default/js/default.js', 'backend', 4); ?>
<?php Javascript::load(); ?> <?php Javascript::load(); ?>
<?php Action::run('admin_header'); ?> <?php Action::run('admin_header'); ?>
@@ -49,23 +51,40 @@
<div class="row-fluid"> <div class="row-fluid">
<!-- Block_sidebar --> <!-- Block_sidebar -->
<div class="span2 monstra-menu-sidebar hidden-phone">
<h3><?php echo __('Content', 'pages'); ?></h3> <div class="span2 monstra-menu-sidebar">
<ul>
<?php Navigation::draw('content'); ?> <div class="hidden-desktop">
</ul> <select class="input-block-level" name="sections" id="sections">
<div class="monstra-menu-category-separator"></div> <?php
<?php if (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin'))) { ?> Navigation::getDropdown('content');
<h3><?php echo __('Extends', 'system'); ?></h3> Navigation::getDropdown('extends');
<ul> Navigation::getDropdown('system');
<?php Navigation::draw('extends'); ?> ?>
</ul> </select>
<div class="monstra-menu-category-separator"></div> </div>
<?php } ?>
<h3><?php echo __('System', 'system'); ?></h3> <div class="hidden-phone hidden-tablet">
<ul>
<?php Navigation::draw('system'); ?> <h3><?php echo __('Content', 'pages'); ?></h3>
</ul> <ul>
<?php Navigation::draw('content'); ?>
</ul>
<div class="monstra-menu-category-separator"></div>
<?php if (Session::exists('user_role') && in_array(Session::get('user_role'), array('admin'))) { ?>
<h3><?php echo __('Extends', 'system'); ?></h3>
<ul>
<?php Navigation::draw('extends'); ?>
</ul>
<div class="monstra-menu-category-separator"></div>
<?php } ?>
<h3><?php echo __('System', 'system'); ?></h3>
<ul>
<?php Navigation::draw('system'); ?>
</ul>
</div>
</div> </div>
<!-- /Block_sidebar --> <!-- /Block_sidebar -->
@@ -96,10 +115,12 @@
<!-- Block_footer --> <!-- Block_footer -->
<footer> <footer>
<p align="right"> <p class="pull-right">
<span style="border-top:1px solid #E0E0E0; padding-top:10px;"> <span style="border-top:1px solid #E0E0E0; padding-top:10px;">
<span class="hidden-phone">
<a href="http://forum.monstra.org" target="_blank"><?php echo __('Official Support Forum', 'system'); ?></a> / <a href="http://forum.monstra.org" target="_blank"><?php echo __('Official Support Forum', 'system'); ?></a> /
<a href="http://monstra.org/documentation" target="_blank"><?php echo __('Documentation', 'system'); ?></a> / <a href="http://monstra.org/documentation" target="_blank"><?php echo __('Documentation', 'system'); ?></a> /
</span>
© 2012 - 2013 <a href="http://monstra.org" target="_blank">Monstra</a> <?php echo __('Version', 'system'); ?> <?php echo Monstra::VERSION; ?> © 2012 - 2013 <a href="http://monstra.org" target="_blank">Monstra</a> <?php echo __('Version', 'system'); ?> <?php echo Monstra::VERSION; ?>
</span> </span>
</p> </p>

View File

@@ -17,3 +17,10 @@
/* Confirm delete */ /* Confirm delete */
function confirmDelete(msg){var data=confirm(msg+" ?"); return data;} function confirmDelete(msg){var data=confirm(msg+" ?"); return data;}
$(document).ready(function() {
/* DropDown Menu for Mobile Devices */
$("#sections").change(function(){
window.location = $('#sections option:selected').attr('rel');
});
});

View File

@@ -10,14 +10,16 @@
<!-- Styles --> <!-- Styles -->
<?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?> <?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 2); ?> <?php Stylesheet::add('public/assets/css/bootstrap-lightbox.css', 'backend', 2); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 3); ?> <?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 3); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 4); ?>
<?php Stylesheet::load(); ?> <?php Stylesheet::load(); ?>
<!-- JavaScripts --> <!-- JavaScripts -->
<?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?> <?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?>
<?php Javascript::add('public/assets/js/bootstrap.js', 'backend', 2); ?> <?php Javascript::add('public/assets/js/bootstrap.js', 'backend', 2); ?>
<?php Javascript::add('admin/themes/default/js/default.js', 'backend', 3); ?> <?php Javascript::add('public/assets/js/bootstrap-lightbox.js', 'backend', 3); ?>
<?php Javascript::add('admin/themes/default/js/default.js', 'backend', 4); ?>
<?php Javascript::load(); ?> <?php Javascript::load(); ?>
<script type="text/javascript"> <script type="text/javascript">
$().ready(function () { $().ready(function () {
@@ -66,7 +68,7 @@
<input class="input-xlarge" name="password" type="password" /> <input class="input-xlarge" name="password" type="password" />
<br /> <br />
<?php if (isset($login_error) && $login_error !== '') { ?><div class="alert alert-error"><?php echo $login_error; ?></div><?php } ?> <?php if (isset($login_error) && $login_error !== '') { ?><div class="alert alert-error"><?php echo $login_error; ?></div><?php } ?>
<input type="submit" name="login_submit" class="btn" value="<?php echo __('Enter', 'users'); ?>" /> <input type="submit" name="login_submit" class="btn" value="<?php echo __('Log In', 'users'); ?>" />
</form> </form>
</div> </div>
</div> </div>

View File

@@ -1,3 +1,41 @@
Monstra 2.2.1, 2013-04-06
------------------------
- Update Gelato to 1.0.3
- Error Handler turned off for Production environment
- Localization: Farsi(fa) translations fixes.
- Pages Manager: fix translates #107
- Missing Translation on Login Page - fixed #106
- Lithuanian flag and other languages fixes. Thanks to mbarzda
Monstra 2.2.0, 2013-03-25
------------------------
- Mobile Ready! Monstra fully responsive for mobile devices, tablets, and normal computer screens.
- Improved Monstra Architecture!
- New Stand-alone Monstra Library (Gelato) was created! Totally improved old classes and added new classes!
- Monstra Library with new useful classes - ClassLoader, ErrorHandler, Log, MinifyJS, MinifyCSS, MinifyHTML, Token, Registry.
- Adopted PSR-0 PSR-1 PSR-2
- Localization: Farsi(fa), Magyar(hu), Français(fr), Spanish(es), Serbian(sr-yu), Slovakian(sk) translations added. Thanks to Abdulhalim, Lez, Neri, Mapadesign, Hugomano and Nakome.
- Idiorm Updated to 1.3.0
- jQuery Updated to 1.9.1
- Twitter Bootstrap Updated to 2.3.0
- Default Theme: Social Meta Tags - added.
- Default Theme: Hook "theme_meta" - added.
- Admin Default Theme: Added missing meta tags.
- Improve Installer Usability. Flags Added.
- Default Site Email added.
- PHPMailer added.
- Pages Manager: added ability to quickly update page status and page access.
- Intstaller Layout: Added missing meta tags.
- Filesmanager plugin: added ability to view images.
- Filesmanager Plugin: forbidden types array - updated.
- CSRF detection text - updated.
- Engine Uri: code improvements.
- XMLDB: Table Class - fixed select method. Thanks to DmitriyMX
- Bootstrap CSS: Icons url - fixed.
- Plugins Manager: buttons confirm dialog message - fixed.
- Pages Manager: page cloning problem - fixed.
- Localizations: translations fixes.
Monstra 2.1.3, 2012-12-09 Monstra 2.1.3, 2012-12-09
------------------------ ------------------------
- Pages Plugin: New shortcodes added - page_author, page_slug, page_url page_available, page_breadcrumbs, page_date, page_content. - Pages Plugin: New shortcodes added - page_author, page_slug, page_url page_available, page_breadcrumbs, page_date, page_content.
@@ -211,4 +249,4 @@ Monstra 1.0.1, 2012-04-26
Monstra 1.0.0, 2012-04-24 Monstra 1.0.0, 2012-04-24
------------------------ ------------------------
- Initial release - Initial release

View File

@@ -39,7 +39,7 @@ class Monstra
/** /**
* The version of Monstra * The version of Monstra
*/ */
const VERSION = '2.1.3'; const VERSION = '2.2.1';
/** /**
* Monstra environment * Monstra environment
@@ -113,9 +113,14 @@ class Monstra
* Set Gelato Display Errors to False for Production environment. * Set Gelato Display Errors to False for Production environment.
*/ */
if (Monstra::$environment == Monstra::PRODUCTION) { if (Monstra::$environment == Monstra::PRODUCTION) {
define('GELATO_DISPLAY_ERRORS', false); define('GELATO_DEVELOPMENT', false);
} }
/**
* Define Monstra Folder for Gelato Logs
*/
define ('GELATO_LOGS_PATH', LOGS);
/** /**
* Include Gelato Library * Include Gelato Library
*/ */
@@ -157,6 +162,9 @@ class Monstra
// Idiorm // Idiorm
'ORM' => ROOT . DS .'libraries'. DS . 'Idiorm'. DS .'ORM.php', 'ORM' => ROOT . DS .'libraries'. DS . 'Idiorm'. DS .'ORM.php',
// PHPMailer
'PHPMailer' => ROOT . DS .'libraries'. DS . 'PHPMailer'. DS .'PHPMailer.php',
)); ));
/** /**
@@ -177,12 +185,7 @@ class Monstra
* Auto cleanup if MONSTRA_DEBUG is TRUE * Auto cleanup if MONSTRA_DEBUG is TRUE
*/ */
if (Monstra::$environment == Monstra::DEVELOPMENT) { if (Monstra::$environment == Monstra::DEVELOPMENT) {
Monstra::cleanTmp();
// Cleanup minify
if (count($files = File::scan(MINIFY, array('css', 'js', 'php'))) > 0) foreach ($files as $file) File::delete(MINIFY . DS . $file);
// Cleanup cache
if (count($namespaces = Dir::scan(CACHE)) > 0) foreach ($namespaces as $namespace) Dir::delete(CACHE . DS . $namespace);
} }
/** /**
@@ -293,6 +296,18 @@ class Monstra
} }
/**
* Clean Monstra TMP folder.
*/
public static function cleanTmp()
{
// Cleanup minify
if (count($files = File::scan(MINIFY, array('css', 'js', 'php'))) > 0) foreach ($files as $file) File::delete(MINIFY . DS . $file);
// Cleanup cache
if (count($namespaces = Dir::scan(CACHE)) > 0) foreach ($namespaces as $namespace) Dir::delete(CACHE . DS . $namespace);
}
/** /**
* Initialize Monstra Engine * Initialize Monstra Engine
* *

View File

@@ -32,6 +32,7 @@ class I18n
'el' => 'Ελληνικά', 'el' => 'Ελληνικά',
'en' => 'English', 'en' => 'English',
'es' => 'Español', 'es' => 'Español',
'fa' => 'Farsi',
'fi' => 'Suomi', 'fi' => 'Suomi',
'fr' => 'Français', 'fr' => 'Français',
'gl' => 'Galego', 'gl' => 'Galego',

View File

@@ -110,4 +110,86 @@ class Navigation
} }
} }
/**
* Draw items
*
* <code>
* Navigation::draw('content');
* Navigation::draw('top', Navigation::TOP);
* <code>
*
* @param string $category Category
* @param integer $type Type. Default is LEFT
*/
public static function get($category, $type = Navigation::LEFT)
{
// Sort items by priority
$items = Arr::subvalSort(Navigation::$items, 'priority');
// Draw left navigation
if ($type == Navigation::LEFT) {
// Loop trough the items
foreach ($items as $item) {
// If current plugin id == selected item id then set class to current
if (Request::get('id') == $item['id'] && $item['external'] == false) $class = 'class = "current" '; else $class = '';
// If current category == item category and navigation type is left them draw this item
if ($item['category'] == $category && $item['type'] == Navigation::LEFT) {
// Is external item id or not ?
if ($item['external'] == false) {
echo '<li><a '.$class.'href="index.php?id='.$item['id'].'">'.$item['name'].'</a></li>';
} else {
echo '<li><a target="_blank" href="'.$item['id'].'">'.$item['name'].'</a></li>';
}
}
}
} elseif ($type == Navigation::TOP) {
// Draw top navigation
foreach ($items as $item) {
if ($item['category'] == $category && $item['type'] == Navigation::TOP) {
if ($item['external'] == false) {
echo '<a class="btn btn-small btn-inverse" href="index.php?id='.$item['id'].'">'.$item['name'].'</a>'.Html::nbsp(2);
} else {
echo '<a target="_blank" class="btn btn-small btn-inverse" href="'.$item['id'].'">'.$item['name'].'</a>'.Html::nbsp(2);
}
}
}
}
}
/**
* Draw dropdown items
*
* <code>
* Navigation::getDropdown('content');
* <code>
*
* @param string $category Category
*/
public static function getDropdown($category)
{
// Sort items by priority
$items = Arr::subvalSort(Navigation::$items, 'priority');
// Loop trough the items
foreach ($items as $item) {
// If current plugin id == selected item id then set class to current
if (Request::get('id') == $item['id'] && $item['external'] == false) $class = 'selected = "selected" '; else $class = '';
// If current category == item category and navigation type is left them draw this item
if ($item['category'] == $category && $item['type'] == Navigation::LEFT) {
// Is external item id or not ?
if ($item['external'] == false) {
echo '<option '.$class.'rel="index.php?id='.$item['id'].'">'.$item['name'].'</option>';
}
}
}
}
} }

View File

@@ -68,7 +68,7 @@ class Plugin
$plugins = new Table('plugins'); $plugins = new Table('plugins');
// Select all plugins // Select all plugins
$records = $plugins->select(null, 'all', null, array('location', 'frontend', 'backend', 'status', 'priority'), 'priority', 'ASC'); $records = $plugins->select(null, 'all', null, array('location', 'status', 'priority'), 'priority', 'ASC');
// Now include plugins from $records plugins array // Now include plugins from $records plugins array
// If plugin is active then load it to the system. // If plugin is active then load it to the system.

View File

@@ -96,7 +96,7 @@ class Stylesheet
} }
} }
$backend_buffer = Stylesheet::parseVariables($backend_buffer); $backend_buffer = Stylesheet::parseVariables($backend_buffer);
file_put_contents($backend_site_css_path, Minify::css($backend_buffer)); file_put_contents($backend_site_css_path, MinifyCSS::process($backend_buffer));
$backend_regenerate = false; $backend_regenerate = false;
} }
@@ -120,7 +120,7 @@ class Stylesheet
} }
} }
$frontend_buffer = Stylesheet::parseVariables($frontend_buffer); $frontend_buffer = Stylesheet::parseVariables($frontend_buffer);
file_put_contents($frontend_site_css_path, Minify::css($frontend_buffer)); file_put_contents($frontend_site_css_path, MinifyCSS::process($frontend_buffer));
$frontend_regenerate = false; $frontend_regenerate = false;
} }

View File

@@ -22,7 +22,7 @@ class Security
* *
* @var string * @var string
*/ */
public static $token_name = 'security_token'; protected static $token_name = 'security_token';
/** /**
* Protected constructor since this is a static class. * Protected constructor since this is a static class.

View File

@@ -176,7 +176,7 @@ class Site
if ( ! file_exists(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php') or if ( ! file_exists(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php') or
filemtime(THEMES_SITE . DS . $current_theme . DS . $template .'.template.php') > filemtime(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php')) { filemtime(THEMES_SITE . DS . $current_theme . DS . $template .'.template.php') > filemtime(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php')) {
$buffer = file_get_contents(THEMES_SITE. DS . $current_theme . DS . $template .'.template.php'); $buffer = file_get_contents(THEMES_SITE. DS . $current_theme . DS . $template .'.template.php');
$buffer = Minify::html($buffer); $buffer = MinifyHTML::process($buffer);
file_put_contents(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php', $buffer); file_put_contents(MINIFY . DS . 'theme.' . $current_theme . '.minify.' . $template . '.template.php', $buffer);
} }
@@ -185,7 +185,7 @@ class Site
if ( ! File::exists(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php') or if ( ! File::exists(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php') or
filemtime(THEMES_SITE . DS . $current_theme . DS . 'index.template.php') > filemtime(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php')) { filemtime(THEMES_SITE . DS . $current_theme . DS . 'index.template.php') > filemtime(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php')) {
$buffer = file_get_contents(THEMES_SITE . DS . $current_theme . DS . 'index.template.php'); $buffer = file_get_contents(THEMES_SITE . DS . $current_theme . DS . 'index.template.php');
$buffer = Minify::html($buffer); $buffer = MinifyHTML::process($buffer);
file_put_contents(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php', $buffer); file_put_contents(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php', $buffer);
} }

View File

@@ -137,14 +137,11 @@ class Uri
// param1/param2 // param1/param2
if ($uri[0] !== Uri::$default_component) { if ($uri[0] !== Uri::$default_component) {
if (isset($uri[1])) { if (isset($uri[1])) {
$data[0] = $uri[0];
$data[1] = $uri[1]; foreach ($uri as $part) {
// Some more uri parts :) $data[] = $part;
// site.ru/part1/part2/part3/part4/part5/part6/ }
if (isset($uri[2])) $data[2] = $uri[2];
if (isset($uri[3])) $data[3] = $uri[3];
if (isset($uri[4])) $data[4] = $uri[4];
if (isset($uri[5])) $data[5] = $uri[5];
} else { // default } else { // default
$data[0] = $uri[0]; $data[0] = $uri[0];
} }

View File

@@ -546,7 +546,7 @@ class Table
if ($order_by == 'id') { if ($order_by == 'id') {
$records[$count]['sort'] = (int) $vars['id']; $records[$count]['sort'] = (int) $vars['id'];
} else { } else {
$records[$count]['sort'] = (string) $value; $records[$count]['sort'] = (string) $vars[$order_by];
} }
} }
@@ -853,7 +853,7 @@ class Table
*/ */
protected static function _save($table) protected static function _save($table)
{ {
$dom = new DOMDocument('1.0'); $dom = new DOMDocument('1.0', 'utf-8');
$dom->preserveWhiteSpace = false; $dom->preserveWhiteSpace = false;
// Save new xml data to xml file only if loadXML successful. // Save new xml data to xml file only if loadXML successful.

View File

@@ -1,19 +1,10 @@
<?php defined('MONSTRA_ACCESS') or die('No direct script access.'); <?php defined('MONSTRA_ACCESS') or die('No direct script access.');
/** /**
* Report All Errors * Monstra requires PHP 5.2.3 or greater
*
* By setting error reporting to -1, we essentially force PHP to report
* every error, and this is guranteed to show every error on future
* releases of PHP. This allows everything to be fixed early!
*/ */
error_reporting(-1); if (version_compare(PHP_VERSION, "5.2.3", "<")) {
exit("Monstra requires PHP 5.2.3 or greater.");
/**
* Monstra requires PHP 5.2.0 or greater
*/
if (version_compare(PHP_VERSION, "5.2.0", "<")) {
exit("Monstra requires PHP 5.2.0 or greater.");
} }
/** /**
@@ -30,7 +21,16 @@ include ROOT . DS .'engine'. DS .'Monstra.php';
* Monstra::STAGING - The staging environment. * Monstra::STAGING - The staging environment.
* Monstra::PRODUCTION - The production environment. * Monstra::PRODUCTION - The production environment.
*/ */
Monstra::$environment = Monstra::DEVELOPMENT; Monstra::$environment = Monstra::PRODUCTION;
/**
* Report Errors
*/
if (Monstra::$environment == Monstra::PRODUCTION) {
error_reporting(0);
} else {
error_reporting(-1);
}
/** /**
* Initialize Monstra * Initialize Monstra

View File

@@ -21,16 +21,6 @@ define('ROOT', rtrim(dirname(__FILE__), '\\/'));
define('BACKEND', false); define('BACKEND', false);
define('MONSTRA_ACCESS', true); define('MONSTRA_ACCESS', true);
/* TEMP CODE BEGIN */
function byteFormat($size)
{
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size/pow(1024, ($i=floor(log($size, 1024)))), 2).' '.$unit[$i];
}
$_start = memory_get_usage();
/* TEMP CODE END */
// First check for installer then go // First check for installer then go
if (file_exists('install.php')) { if (file_exists('install.php')) {
if (isset($_GET['install'])) { if (isset($_GET['install'])) {
@@ -71,7 +61,3 @@ if (file_exists('install.php')) {
// Flush (send) the output buffer and turn off output buffering // Flush (send) the output buffer and turn off output buffering
ob_end_flush(); ob_end_flush();
} }
/* TEMP CODE BEGIN */
echo byteFormat(memory_get_usage() - $_start);
/* TEMP CODE END */

View File

@@ -10,9 +10,6 @@
if ( ! defined('BACKEND')) define('BACKEND', false); if ( ! defined('BACKEND')) define('BACKEND', false);
if ( ! defined('MONSTRA_ACCESS')) define('MONSTRA_ACCESS', true); if ( ! defined('MONSTRA_ACCESS')) define('MONSTRA_ACCESS', true);
// Set default timezone
$system_timezone = date_default_timezone_get();
// Load bootstrap file // Load bootstrap file
require_once(ROOT . DS . 'engine' . DS . '_init.php'); require_once(ROOT . DS . 'engine' . DS . '_init.php');
@@ -32,7 +29,7 @@
$dir_array = array('public', 'storage', 'backups', 'tmp'); $dir_array = array('public', 'storage', 'backups', 'tmp');
// Languages array // Languages array
$languages_array = array('en', 'ru', 'lt', 'it', 'de', 'pt-br', 'uk'); $languages_array = array('en', 'fr', 'de', 'it', 'es', 'lt', 'pt-br', 'ru', 'uk', 'hu', 'fa' , 'sk', 'sr-yu');
// Select Monstra language // Select Monstra language
if (Request::get('language')) { if (Request::get('language')) {
@@ -77,6 +74,7 @@
'slogan' => __('Site slogan', 'system'), 'slogan' => __('Site slogan', 'system'),
'defaultpage' => 'home', 'defaultpage' => 'home',
'timezone' => Request::post('timezone'), 'timezone' => Request::post('timezone'),
'system_email' => Request::post('email'),
'theme_site_name' => 'default', 'theme_site_name' => 'default',
'theme_admin_name' => 'default')); 'theme_admin_name' => 'default'));
@@ -123,11 +121,9 @@
} }
.install-languages { .install-languages {
margin: 0 auto; margin: 0 auto 15px;
float: none!important; text-align: center;
margin-bottom:5px; width: 390px;
padding-right:20px;
max-width: 300px;
} }
.install-block { .install-block {
@@ -169,26 +165,54 @@
color: #F74C18; color: #F74C18;
} }
.language-link { .install-languages a {
color:#7A7A7C; padding-left: 3px;
padding-right: 3px;
} }
.language-link+.language-link:before { .language-link img {
color: #ccc; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
content: ' | '; filter: alpha(opacity=30);
-moz-opacity:0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
} }
.language-link:hover { .language-link-current img{
color:#000; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
text-decoration: none; filter: alpha(opacity=100);
-moz-opacity:1.0;
-khtml-opacity: 1.0;
opacity: 1.0;
} }
.language-link-current { .install-languages a img:hover {
color:#000; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
font-weight: 700; filter: alpha(opacity=100);
-moz-opacity:1.0;
-khtml-opacity: 1.0;
opacity: 1.0;
} }
@media (max-width: 480px) {
.input-xlarge {
width: 100%;
}
.install-languages {
text-align: left;
}
.install-languages a {
padding: 0;
}
}
</style> </style>
<script type="text/javascript" src="<?php echo $site_url; ?>public/assets/js/jquery.js"></script>
<script type="text/javascript" src="<?php echo $site_url; ?>public/assets/js/bootstrap.js"></script>
</head> </head>
<body class="install-body"> <body class="install-body">
@@ -244,8 +268,8 @@
?> ?>
<div class="install-languages"> <div class="install-languages">
<?php foreach ($languages_array as $lang_code) {?> <?php foreach ($languages_array as $lang_code) { ?>
<a class="language-link<?php if (Option::get('language') == $lang_code) echo ' language-link-current';?>" href="<?php echo $site_url.'?language=' . $lang_code; ?>"><?php echo $lang_code?></a> <a data-placement="top" class="language-link<?php if (Option::get('language') == $lang_code) echo ' language-link-current';?>" title="<?php echo I18n::$locales[$lang_code]; ?>" href="<?php echo $site_url.'?language=' . $lang_code; ?>"><img src="<?php echo $site_url; ?>public/assets/img/flags/<?php echo $lang_code?>.png" alt="<?php echo $lang_code?>"></a>
<?php } ?> <?php } ?>
</div> </div>
<div class="install-block"> <div class="install-block">
@@ -264,10 +288,10 @@
<input type="hidden" name="backups" value="<?php echo $errors['backups']; ?>" /> <input type="hidden" name="backups" value="<?php echo $errors['backups']; ?>" />
<input type="hidden" name="tmp" value="<?php echo $errors['tmp']; ?>" /> <input type="hidden" name="tmp" value="<?php echo $errors['tmp']; ?>" />
<label><?php echo __('Site name', 'system'); ?></label> <label><?php echo __('Site Name', 'system'); ?></label>
<input class="input-xlarge" name="sitename" type="text" value="<?php if (Request::post('sitename')) echo Html::toText(Request::post('sitename')); ?>" /> <input class="input-xlarge" name="sitename" type="text" value="<?php if (Request::post('sitename')) echo Html::toText(Request::post('sitename')); ?>" />
<br /> <br />
<label><?php echo __('Site url', 'system'); ?></label> <label><?php echo __('Site Url', 'system'); ?></label>
<input class="input-xlarge" name="siteurl" type="text" value="<?php echo Html::toText($site_url); ?>" /> <input class="input-xlarge" name="siteurl" type="text" value="<?php echo Html::toText($site_url); ?>" />
<br /> <br />
<label><?php echo __('Username', 'users'); ?></label> <label><?php echo __('Username', 'users'); ?></label>
@@ -443,9 +467,13 @@
</div> </div>
</div> </div>
<div class="install-block-footer"> <div class="install-block-footer">
<div style="text-align:center"> <div style="text-align:center;">
<span class="small-grey-text">© 2012 - 2013 <a href="http://monstra.org" class="small-grey-text" target="_blank">Monstra</a> <?php echo __('Version', 'system'); ?> <?php echo Monstra::VERSION; ?></span> <span class="small-grey-text">© 2012 - 2013 <a href="http://monstra.org" class="small-grey-text" target="_blank">Monstra</a> <?php echo __('Version', 'system'); ?> <?php echo Monstra::VERSION; ?></span>
</div> </div>
</div> </div>
<script type="text/javascript">
$('.language-link').tooltip();
</script>
</body> </body>
</html> </html>

View File

@@ -22,14 +22,14 @@ class Cache
* *
* @var string * @var string
*/ */
public static $cache_dir = ''; protected static $cache_dir = '';
/** /**
* Cache file ext * Cache file ext
* *
* @var string * @var string
*/ */
public static $cache_file_ext = 'txt'; protected static $cache_file_ext = 'txt';
/** /**
* Cache life time (in seconds) * Cache life time (in seconds)

View File

@@ -58,7 +58,7 @@ class ClassLoader
/** /**
* Add class to mapping. * Add class to mapping.
* *
* <code> * <code>
* ClassLoader::mapClass('ClassName', 'path/to/class'); * ClassLoader::mapClass('ClassName', 'path/to/class');
* </code> * </code>
@@ -74,7 +74,7 @@ class ClassLoader
/** /**
* Add multiple classes to mapping. * Add multiple classes to mapping.
* *
* <code> * <code>
* ClassLoader::mapClasses(array('ClassName' => 'path/to/class','ClassName' => 'path/to/class')); * ClassLoader::mapClasses(array('ClassName' => 'path/to/class','ClassName' => 'path/to/class'));
* </code> * </code>
@@ -91,7 +91,7 @@ class ClassLoader
/** /**
* Adds a PSR-0 directory path. * Adds a PSR-0 directory path.
* *
* <code> * <code>
* ClassLoader::directory('path/to/classes'); * ClassLoader::directory('path/to/classes');
* </code> * </code>
@@ -106,7 +106,7 @@ class ClassLoader
/** /**
* Registers a namespace. * Registers a namespace.
* *
* <code> * <code>
* ClassLoader::registerNamespace('Namespace', '/path/to/namespace/'); * ClassLoader::registerNamespace('Namespace', '/path/to/namespace/');
* </code> * </code>
@@ -122,9 +122,9 @@ class ClassLoader
/** /**
* Set an alias for a class. * Set an alias for a class.
* *
* <code> * <code>
* ClassLoader::registerNamespace('ClassNameAlias', 'ClassName'); * ClassLoader::alias('ClassNameAlias', 'ClassName');
* </code> * </code>
* *
* @access public * @access public
@@ -171,7 +171,7 @@ class ClassLoader
/** /**
* Autoloader. * Autoloader.
* *
* <code> * <code>
* ClassLoader::load(); * ClassLoader::load();
* </code> * </code>
@@ -222,4 +222,15 @@ class ClassLoader
return false; return false;
} }
/**
* Register the Gelato ClassLoader to the SPL autoload stack.
*
* @return void
*/
public static function register()
{
spl_autoload_register('ClassLoader::load', true);
}
} }

View File

@@ -18,6 +18,25 @@
class ErrorHandler class ErrorHandler
{ {
/**
* Error Levels
*/
public static $levels = array (
E_ERROR => 'Fatal Error',
E_PARSE => 'Parse Error',
E_COMPILE_ERROR => 'Compile Error',
E_COMPILE_WARNING => 'Compile Warning',
E_STRICT => 'Strict Mode Error',
E_NOTICE => 'Notice',
E_WARNING => 'Warning',
E_RECOVERABLE_ERROR => 'Recoverable Error',
E_USER_NOTICE => 'Notice',
E_USER_WARNING => 'Warning',
E_USER_ERROR => 'Error',
/*E_DEPRECATED => 'Deprecated',*/ /* PHP 5.3 only */
/*E_USER_DEPRECATED => 'Deprecated'*/ /* PHP 5.3 only */
);
/** /**
* Protected constructor since this is a static class. * Protected constructor since this is a static class.
* *
@@ -80,11 +99,35 @@ class ErrorHandler
* @param integer $line The line number where the error occurred * @param integer $line The line number where the error occurred
* @return boolean * @return boolean
*/ */
public static function errorHandler($code, $message, $file, $line) public static function error($code, $message, $file, $line)
{ {
// If isset error_reporting and $code then throw new error exception // If isset error_reporting and $code then throw new error exception
if ((error_reporting() & $code) !== 0) { if ((error_reporting() & $code) !== 0) {
throw new ErrorException($message, $code, 0, $file, $line);
/**
* Dont thow NOTICE exception for PRODUCTION Environment. Just write to log.
*/
if (GELATO_DEVELOPMENT == false && $code == 8) {
// Get exception info
$error['code'] = $code;
$error['message'] = $message;
$error['file'] = $file;
$error['line'] = $line;
$error['type'] = 'ErrorException: ';
$codes = array (
E_USER_NOTICE => 'Notice',
);
$error['type'] .= in_array($error['code'], array_keys($codes)) ? $codes[$error['code']] : 'Unknown Error';
// Write to log
Log::write("{$error['type']}: {$error['message']} in {$error['file']} at line {$error['line']}");
} else {
throw new ErrorException($message, $code, 0, $file, $line);
}
} }
// Don't execute PHP internal error handler // Don't execute PHP internal error handler
@@ -170,7 +213,7 @@ class ErrorHandler
if (isset($entry['file'])) { if (isset($entry['file'])) {
$location['file'] = $entry['file']; $location['file'] = $entry['file'];
$location['line'] = $entry['line']; $location['line'] = $entry['line'];
$location['code'] = static::highlightCode($entry['file'], $entry['line']); $location['code'] = self::highlightCode($entry['file'], $entry['line']);
} }
/** /**
@@ -188,9 +231,9 @@ class ErrorHandler
} }
/** /**
* Convert errors not caught by the errorHandler to ErrorExceptions. * Convert errors not caught by the error handler to ErrorExceptions.
*/ */
public static function fatalErrorHandler() public static function fatal()
{ {
$e = error_get_last(); $e = error_get_last();
@@ -210,70 +253,54 @@ class ErrorHandler
public static function exception($exception) public static function exception($exception)
{ {
try { try {
// Empty output buffers
// Empty output buffers
while(ob_get_level() > 0) ob_end_clean(); while(ob_get_level() > 0) ob_end_clean();
// Get exception info // Get exception info
$error['code'] = $exception->getCode(); $error['code'] = $exception->getCode();
$error['message'] = $exception->getMessage(); $error['message'] = $exception->getMessage();
$error['file'] = $exception->getFile(); $error['file'] = $exception->getFile();
$error['line'] = $exception->getLine(); $error['line'] = $exception->getLine();
// Determine error type // Determine error type
if ($exception instanceof ErrorException) { if ($exception instanceof ErrorException) {
$error['type'] = 'ErrorException: '; $error['type'] = 'ErrorException: ';
$error['type'] .= in_array($error['code'], array_keys(ErrorHandler::$levels)) ? ErrorHandler::$levels[$error['code']] : 'Unknown Error';
$codes = array
(
E_ERROR => 'Fatal Error',
E_PARSE => 'Parse Error',
E_COMPILE_ERROR => 'Compile Error',
E_COMPILE_WARNING => 'Compile Warning',
E_STRICT => 'Strict Mode Error',
E_NOTICE => 'Notice',
E_WARNING => 'Warning',
E_RECOVERABLE_ERROR => 'Recoverable Error',
/*E_DEPRECATED => 'Deprecated',*/
E_USER_NOTICE => 'Notice',
E_USER_WARNING => 'Warning',
E_USER_ERROR => 'Error',
/*E_USER_DEPRECATED => 'Deprecated'*/
);
$error['type'] .= in_array($error['code'], array_keys($codes)) ? $codes[$error['code']] : 'Unknown Error';
} else { } else {
$error['type'] = get_class($exception); $error['type'] = get_class($exception);
} }
// @todo Write to error log // Write to log
Log::write("{$error['type']}: {$error['message']} in {$error['file']} at line {$error['line']}");
/*if () {
Write here
}*/
// Send headers and output // Send headers and output
@header('Content-Type: text/html; charset=UTF-8'); @header('Content-Type: text/html; charset=UTF-8');
if (GELATO_DISPLAY_ERRORS) { if (GELATO_DEVELOPMENT) {
$error['backtrace'] = $exception->getTrace(); $error['backtrace'] = $exception->getTrace();
if ($exception instanceof ErrorException) { if ($exception instanceof ErrorException) {
$error['backtrace'] = array_slice($error['backtrace'], 1); //Remove call to error handler from backtrace $error['backtrace'] = array_slice($error['backtrace'], 1); //Remove call to error handler from backtrace
} }
$error['backtrace'] = static::formatBacktrace($error['backtrace']); $error['backtrace'] = self::formatBacktrace($error['backtrace']);
$error['highlighted'] = static::highlightCode($error['file'], $error['line']); $error['highlighted'] = self::highlightCode($error['file'], $error['line']);
Response::status(500); @header('HTTP/1.1 500 Internal Server Error');
include 'Resources/Views/Errors/exception.php'; include 'Resources/Views/Errors/exception.php';
} else { } else {
Response::status(500);
@header('HTTP/1.1 500 Internal Server Error');
include 'Resources/Views/Errors/production.php'; include 'Resources/Views/Errors/production.php';
} }
} catch (Exception $e) { } catch (Exception $e) {
// Empty output buffers
while(ob_get_level() > 0) ob_end_clean(); while(ob_get_level() > 0) ob_end_clean();
echo $e->getMessage() . ' in ' . $e->getFile() . ' (line ' . $e->getLine() . ').'; echo $e->getMessage() . ' in ' . $e->getFile() . ' (line ' . $e->getLine() . ').';

View File

@@ -11,6 +11,16 @@
font-size:14px; font-size:14px;
font-family:Verdana, Arial, Helvetica, "Nimbus Sans", FreeSans, Malayalam, sans-serif; font-family:Verdana, Arial, Helvetica, "Nimbus Sans", FreeSans, Malayalam, sans-serif;
margin:20px auto; margin:20px auto;
-webkit-box-shadow: 1px 1px 18px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 1px 1px 18px rgba(50, 50, 50, 0.75);
box-shadow: 1px 1px 18px rgba(50, 50, 50, 0.75);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
} }
#gelato-error pre { #gelato-error pre {
@@ -31,6 +41,13 @@
font-size:24px; font-size:24px;
font-weight:700; font-weight:700;
padding:10px; padding:10px;
-moz-border-radius-topleft: 5px;
-webkit-border-top-left-radius: 5px;
border-top-left-radius: 5px;
-moz-border-radius-topright: 5px;
-webkit-border-top-right-radius: 5px;
border-top-right-radius: 5px;
} }
#gelato-error .body { #gelato-error .body {

View File

@@ -18,22 +18,46 @@
/** /**
* The version of Gelato * The version of Gelato
*/ */
define('GELATO_VERSION', '1.0.0'); define('GELATO_VERSION', '1.0.3');
/**
* Define __DIR__ constant for PHP 5.2.x
*/
if ( ! defined('__DIR__')) {
define('__DIR__', dirname(__FILE__));
}
/** /**
* Display Gelato Errors or not ? * Display Gelato Errors or not ?
*/ */
if ( ! defined('GELATO_DISPLAY_ERRORS')) { if ( ! defined('GELATO_DEVELOPMENT')) {
define('GELATO_DISPLAY_ERRORS', true); define('GELATO_DEVELOPMENT', true);
} }
/** /**
* Display Gelato Autoloader or not ? * Use Gelato Class Loader or not ?
*/ */
if ( ! defined('GELATO_AUTOLOADER')) { if ( ! defined('GELATO_CLASS_LOADER')) {
define('GELATO_AUTOLOADER', true); define('GELATO_CLASS_LOADER', true);
} }
/**
* Load Gelato Logger
*/
require_once __DIR__ . '/Log/Log.php';
/**
* Use Gelato Logger default path or not ?
*/
if ( ! defined('GELATO_LOGS_PATH')) {
define('GELATO_LOGS_PATH', __DIR__. '/_logs');
}
/**
* Configure Gelato Logger
*/
Log::configure('path', GELATO_LOGS_PATH);
/** /**
* Load Gelato Error Handler * Load Gelato Error Handler
*/ */
@@ -42,12 +66,12 @@ require_once __DIR__ . '/ErrorHandler/ErrorHandler.php';
/** /**
* Set Error Handler * Set Error Handler
*/ */
set_error_handler('ErrorHandler::errorHandler'); set_error_handler('ErrorHandler::error');
/** /**
* Set Fatal Error Handler * Set Fatal Error Handler
*/ */
register_shutdown_function('ErrorHandler::fatalErrorHandler'); register_shutdown_function('ErrorHandler::fatal');
/** /**
* Set Exception Handler * Set Exception Handler
@@ -76,7 +100,9 @@ ClassLoader::mapClasses(array(
'Html' => __DIR__.'/Html/Html.php', 'Html' => __DIR__.'/Html/Html.php',
'Image' => __DIR__.'/Image/Image.php', 'Image' => __DIR__.'/Image/Image.php',
'Inflector' => __DIR__.'/Inflector/Inflector.php', 'Inflector' => __DIR__.'/Inflector/Inflector.php',
'Minify' => __DIR__.'/Minify/Minify.php', 'MinifyCSS' => __DIR__.'/Minify/MinifyCSS.php',
'MinifyHTML' => __DIR__.'/Minify/MinifyHTML.php',
'MinifyJS' => __DIR__.'/Minify/MinifyJS.php',
'Notification' => __DIR__.'/Notification/Notification.php', 'Notification' => __DIR__.'/Notification/Notification.php',
'Number' => __DIR__.'/Number/Number.php', 'Number' => __DIR__.'/Number/Number.php',
'Registry' => __DIR__.'/Registry/Registry.php', 'Registry' => __DIR__.'/Registry/Registry.php',
@@ -91,8 +117,8 @@ ClassLoader::mapClasses(array(
)); ));
/** /**
* Register Gelato Autoloader * Register Gelato Class Loader
*/ */
if (GELATO_AUTOLOADER) { if (GELATO_CLASS_LOADER) {
spl_autoload_register('ClassLoader::load'); ClassLoader::register();
} }

View File

@@ -28,6 +28,13 @@ class Html
'accept', 'tabindex', 'accesskey', 'alt', 'title', 'class', 'accept', 'tabindex', 'accesskey', 'alt', 'title', 'class',
'style', 'selected', 'checked', 'readonly', 'disabled', 'style', 'selected', 'checked', 'readonly', 'disabled',
); );
/**
* The registered custom macros.
*
* @var array
*/
public static $macros = array();
/** /**
* Protected constructor since this is a static class. * Protected constructor since this is a static class.
@@ -279,7 +286,56 @@ class Html
$attributes['alt'] = (isset($attributes['alt'])) ? $attributes['alt'] : pathinfo($file, PATHINFO_FILENAME); $attributes['alt'] = (isset($attributes['alt'])) ? $attributes['alt'] : pathinfo($file, PATHINFO_FILENAME);
return '<img'.Html::attributes($attributes).' />'; return '<img'.Html::attributes($attributes).' />';
} }
/**
* Obfuscate an e-mail address to prevent spam-bots from sniffing it.
*
* <code>
* echo Html::email('gelato@monstra.org');
* </code>
*
* @param string $email
* @return string
*/
public static function email($email)
{
return str_replace('@', '&#64;', Html::obfuscate($email));
}
/**
* Obfuscate a string to prevent spam-bots from sniffing it.
*
* This method obfuscate the value, randomly convert each
* letter to its entity or hexadecimal representation, keeping a
* bot from sniffing the randomly obfuscated letters.
*
* <code>
* echo Html::obfuscate('gelato@monstra.org');
* </code>
*
* @param string $value
* @return string
*/
public static function obfuscate($value)
{
$safe = '';
foreach (str_split($value) as $letter) {
switch (rand(1, 3)) {
case 1:
$safe .= '&#'.ord($letter).';';
break;
case 2:
$safe .= '&#x'.dechex(ord($letter)).';';
break;
case 3:
$safe .= $letter;
}
}
return $safe;
}
/** /**
* Convert html to plain text * Convert html to plain text

View File

@@ -0,0 +1,63 @@
<?php
/**
* Gelato Library
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
*
* @package Gelato
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Log
{
/**
* Path to the logs.
*
* @var string
*/
protected static $path = '';
/**
* Protected constructor since this is a static class.
*
* @access protected
*/
protected function __construct()
{
// Nothing here
}
/**
* Configure Log
*
* @access public
* @param string $setting The setting
* @param string $value The value
*/
public static function configure($setting, $value)
{
if (property_exists("log", $setting)) Log::$$setting = $value;
}
/**
* Writes message to log.
*
* @access public
* @param string $message The message to write to the log
* @return boolean
*/
public static function write($message)
{
return (bool) file_put_contents(rtrim(Log::$path, '/') . '/' . gmdate('Y_m_d') . '.log',
'[' . gmdate('d-M-Y H:i:s') . '] ' . $message . PHP_EOL,
FILE_APPEND);
}
}

View File

@@ -1,93 +0,0 @@
<?php
/**
* Gelato Library
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
*
* @package Gelato
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Minify
{
/**
* Protected constructor since this is a static class.
*
* @access protected
*/
protected function __construct()
{
// Nothing here
}
/**
* Minify html
*
* <code>
* echo Minify::html($buffer);
* </code>
*
* @param string $buffer html
* @return string
*/
public static function html($buffer)
{
return preg_replace('/^\\s+|\\s+$/m', '', $buffer);
}
/**
* Minify css
*
* <code>
* echo Minify::css($buffer);
* </code>
*
* @param string $buffer css
* @return string
*/
public static function css($buffer)
{
// Remove comments
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
// Remove tabs, spaces, newlines, etc.
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
// Preserve empty comment after '>' http://www.webdevout.net/css-hacks#in_css-selectors
$buffer = preg_replace('@>/\\*\\s*\\*/@', '>/*keep*/', $buffer);
// Preserve empty comment between property and value
// http://css-discuss.incutio.com/?page=BoxModelHack
$buffer = preg_replace('@/\\*\\s*\\*/\\s*:@', '/*keep*/:', $buffer);
$buffer = preg_replace('@:\\s*/\\*\\s*\\*/@', ':/*keep*/', $buffer);
// Remove ws around { } and last semicolon in declaration block
$buffer = preg_replace('/\\s*{\\s*/', '{', $buffer);
$buffer = preg_replace('/;?\\s*}\\s*/', '}', $buffer);
// Remove ws surrounding semicolons
$buffer = preg_replace('/\\s*;\\s*/', ';', $buffer);
// Remove ws around urls
$buffer = preg_replace('/url\\(\\s*([^\\)]+?)\\s*\\)/x', 'url($1)', $buffer);
// Remove ws between rules and colons
$buffer = preg_replace('/\\s*([{;])\\s*([\\*_]?[\\w\\-]+)\\s*:\\s*(\\b|[#\'"])/x', '$1$2:$3', $buffer);
// Minimize hex colors
$buffer = preg_replace('/([^=])#([a-f\\d])\\2([a-f\\d])\\3([a-f\\d])\\4([\\s;\\}])/i', '$1#$2$3$4$5', $buffer);
// Replace any ws involving newlines with a single newline
$buffer = preg_replace('/[ \\t]*\\n+\\s*/', "\n", $buffer);
return $buffer;
}
}

View File

@@ -0,0 +1,255 @@
<?php
/**
* Gelato Library
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
*
* @package Gelato
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @author Stephen Clay <steve@mrclay.org>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class MinifyCSS
{
/**
* @var array
*/
protected $_options = null;
/**
* Are we "in" a hack? I.e. are some browsers targetted until the next comment?
*
* @var bool
*/
protected $_inHack = false;
/**
* Constructor
*
* @param array $options (currently ignored)
*/
private function __construct($options)
{
$this->_options = $options;
}
/**
* Minify a CSS string
*
* @param string $css
*
* @param array $options (currently ignored)
*
* @return string
*/
public static function process($css, $options = array())
{
$obj = new MinifyCSS($options);
return $obj->_process($css);
}
/**
* Minify a CSS string
*
* @param string $css
*
* @return string
*/
protected function _process($css)
{
$css = str_replace("\r\n", "\n", $css);
// preserve empty comment after '>'
// http://www.webdevout.net/css-hacks#in_css-selectors
$css = preg_replace('@>/\\*\\s*\\*/@', '>/*keep*/', $css);
// preserve empty comment between property and value
// http://css-discuss.incutio.com/?page=BoxModelHack
$css = preg_replace('@/\\*\\s*\\*/\\s*:@', '/*keep*/:', $css);
$css = preg_replace('@:\\s*/\\*\\s*\\*/@', ':/*keep*/', $css);
// apply callback to all valid comments (and strip out surrounding ws
$css = preg_replace_callback('@\\s*/\\*([\\s\\S]*?)\\*/\\s*@'
,array($this, '_commentCB'), $css);
// remove ws around { } and last semicolon in declaration block
$css = preg_replace('/\\s*{\\s*/', '{', $css);
$css = preg_replace('/;?\\s*}\\s*/', '}', $css);
// remove ws surrounding semicolons
$css = preg_replace('/\\s*;\\s*/', ';', $css);
// remove ws around urls
$css = preg_replace('/
url\\( # url(
\\s*
([^\\)]+?) # 1 = the URL (really just a bunch of non right parenthesis)
\\s*
\\) # )
/x', 'url($1)', $css);
// remove ws between rules and colons
$css = preg_replace('/
\\s*
([{;]) # 1 = beginning of block or rule separator
\\s*
([\\*_]?[\\w\\-]+) # 2 = property (and maybe IE filter)
\\s*
:
\\s*
(\\b|[#\'"-]) # 3 = first character of a value
/x', '$1$2:$3', $css);
// remove ws in selectors
$css = preg_replace_callback('/
(?: # non-capture
\\s*
[^~>+,\\s]+ # selector part
\\s*
[,>+~] # combinators
)+
\\s*
[^~>+,\\s]+ # selector part
{ # open declaration block
/x'
,array($this, '_selectorsCB'), $css);
// minimize hex colors
$css = preg_replace('/([^=])#([a-f\\d])\\2([a-f\\d])\\3([a-f\\d])\\4([\\s;\\}])/i'
, '$1#$2$3$4$5', $css);
// remove spaces between font families
$css = preg_replace_callback('/font-family:([^;}]+)([;}])/'
,array($this, '_fontFamilyCB'), $css);
$css = preg_replace('/@import\\s+url/', '@import url', $css);
// replace any ws involving newlines with a single newline
$css = preg_replace('/[ \\t]*\\n+\\s*/', "\n", $css);
// separate common descendent selectors w/ newlines (to limit line lengths)
$css = preg_replace('/([\\w#\\.\\*]+)\\s+([\\w#\\.\\*]+){/', "$1\n$2{", $css);
// Use newline after 1st numeric value (to limit line lengths).
$css = preg_replace('/
((?:padding|margin|border|outline):\\d+(?:px|em)?) # 1 = prop : 1st numeric value
\\s+
/x'
,"$1\n", $css);
// prevent triggering IE6 bug: http://www.crankygeek.com/ie6pebug/
$css = preg_replace('/:first-l(etter|ine)\\{/', ':first-l$1 {', $css);
return trim($css);
}
/**
* Replace what looks like a set of selectors
*
* @param array $m regex matches
*
* @return string
*/
protected function _selectorsCB($m)
{
// remove ws around the combinators
return preg_replace('/\\s*([,>+~])\\s*/', '$1', $m[0]);
}
/**
* Process a comment and return a replacement
*
* @param array $m regex matches
*
* @return string
*/
protected function _commentCB($m)
{
$hasSurroundingWs = (trim($m[0]) !== $m[1]);
$m = $m[1];
// $m is the comment content w/o the surrounding tokens,
// but the return value will replace the entire comment.
if ($m === 'keep') {
return '/**/';
}
if ($m === '" "') {
// component of http://tantek.com/CSS/Examples/midpass.html
return '/*" "*/';
}
if (preg_match('@";\\}\\s*\\}/\\*\\s+@', $m)) {
// component of http://tantek.com/CSS/Examples/midpass.html
return '/*";}}/* */';
}
if ($this->_inHack) {
// inversion: feeding only to one browser
if (preg_match('@
^/ # comment started like /*/
\\s*
(\\S[\\s\\S]+?) # has at least some non-ws content
\\s*
/\\* # ends like /*/ or /**/
@x', $m, $n)) {
// end hack mode after this comment, but preserve the hack and comment content
$this->_inHack = false;
return "/*/{$n[1]}/**/";
}
}
if (substr($m, -1) === '\\') { // comment ends like \*/
// begin hack mode and preserve hack
$this->_inHack = true;
return '/*\\*/';
}
if ($m !== '' && $m[0] === '/') { // comment looks like /*/ foo */
// begin hack mode and preserve hack
$this->_inHack = true;
return '/*/*/';
}
if ($this->_inHack) {
// a regular comment ends hack mode but should be preserved
$this->_inHack = false;
return '/**/';
}
// Issue 107: if there's any surrounding whitespace, it may be important, so
// replace the comment with a single space
return $hasSurroundingWs // remove all other comments
? ' '
: '';
}
/**
* Process a font-family listing and return a replacement
*
* @param array $m regex matches
*
* @return string
*/
protected function _fontFamilyCB($m)
{
// Issue 210: must not eliminate WS between words in unquoted families
$pieces = preg_split('/(\'[^\']+\'|"[^"]+")/', $m[1], null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$out = 'font-family:';
while (null !== ($piece = array_shift($pieces))) {
if ($piece[0] !== '"' && $piece[0] !== "'") {
$piece = preg_replace('/\\s+/', ' ', $piece);
$piece = preg_replace('/\\s?,\\s?/', ',', $piece);
}
$out .= $piece;
}
return $out . $m[2];
}
}

View File

@@ -0,0 +1,47 @@
<?php
/**
* Gelato Library
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
*
* @package Gelato
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class MinifyHTML
{
/**
* Minify html
*
* <code>
* echo MinifyHTML::process($html);
* </code>
*
* @param string $buffer html
* @return string
*/
public static function process($html)
{
// Remove HTML comments (not containing IE conditional comments).
$html = preg_replace_callback('/<!--([\\s\\S]*?)-->/', 'MinifyHTML::_comments', $html);
// Trim each line.
$html = preg_replace('/^\\s+|\\s+$/m', '', $html);
// Return HTML
return $html;
}
protected static function _comments($m)
{
return (0 === strpos($m[1], '[') || false !== strpos($m[1], '<![')) ? $m[0] : '';
}
}

View File

@@ -0,0 +1,50 @@
<?php
/**
* Gelato Library
*
* This source file is part of the Gelato Library. More information,
* documentation and tutorials can be found at http://gelato.monstra.org
*
* @package Gelato
*
* @author Romanenko Sergey / Awilum <awilum@msn.com>
* @copyright 2012-2013 Romanenko Sergey / Awilum <awilum@msn.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class MinifyJS
{
/**
* Minify js
*
* <code>
* echo MinifyJS::process($js);
* </code>
*
* @param string $buffer html
* @return string
*/
public static function process($js)
{
// newlines > linefeed
$js = str_replace(array("\r\n", "\r", "\n"), "\n", $js);
// empty lines > collapse
$js = preg_replace('/^[ \t]*|[ \t]*$/m', '', $js);
$js = preg_replace('/\n+/m', "\n", $js);
$js = trim($js);
// redundant whitespace > remove
$js = preg_replace('/(?<=[{}\[\]\(\)=><&\|;:,\?!\+-])[ \t]*|[ \t]*(?=[{}\[\]\(\)=><&\|;:,\?!\+-])/i', '', $js);
$js = preg_replace('/[ \t]+/', ' ', $js);
// redundant semicolons (followed by another semicolon or closing curly bracket) > remove
$js = preg_replace('/;\s*(?=[;}])/s', '', $js);
// Return JS
return $js;
}
}

View File

@@ -4,6 +4,6 @@ Gelato is a PHP5 library for kickass Web Applications.
## Links ## Links
- [Site](http://gelato.monstra.org) - [Site](http://gelato.monstra.org)
- [Github Repository](https://github.com/Monstra/gelato-library) - [Github Repository](https://github.com/MonstrLab/gelato)
Copyright (C) 2012-2013 Romanenko Sergey / Awilum [awilum@msn.com] Copyright (C) 2013 Romanenko Sergey / Awilum [awilum@msn.com]

View File

@@ -27,7 +27,7 @@ class Registry
/** /**
* Checks if an object with this name is in the registry. * Checks if an object with this name is in the registry.
* *
* <code> * <code>
* if (Registry::exists('var')) { * if (Registry::exists('var')) {
* // Do something... * // Do something...
@@ -44,7 +44,7 @@ class Registry
/** /**
* Registers a given value under a given name. * Registers a given value under a given name.
* *
* <code> * <code>
* Registry::set('var', 'value'); * Registry::set('var', 'value');
* </code> * </code>
@@ -69,7 +69,7 @@ class Registry
/** /**
* Fetch an item from the registry. * Fetch an item from the registry.
* *
* <code> * <code>
* $var = Registry::get('var', 'value'); * $var = Registry::get('var', 'value');
* </code> * </code>

View File

@@ -22,7 +22,7 @@ class Token
* *
* @var string * @var string
*/ */
public static $token_name = 'security_token'; protected static $token_name = 'security_token';
/** /**
* Protected constructor since this is a static class. * Protected constructor since this is a static class.

View File

View File

@@ -1,3 +1,21 @@
Gelato 1.0.0, XXXX-XX-XX Gelato 1.0.3, 2013-04-03
------------------------ ------------------------
- Initial release - Html Class: obfuscate() method added.
- Html Class: email() method added.
- Html Class: missing $macros var added.
Gelato 1.0.2, 2013-03-17
------------------------
- Added support for PHP 5.2.3
Gelato 1.0.1, 2013-03-05
------------------------
- New constant GELATO_CLASS_LOADER instead of GELATO_AUTOLOADER
- ErrorHanler Class Improvements.
- Log Class Improvements.
- ClassLoader: new method register() added.
- Define __DIR__ constant for PHP 5.2.x
Gelato 1.0.0, 2013-02-26
------------------------
- Initial release

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Backups', 'Backups' => 'Backups',
'Backup date' => 'Backup Datum', 'Backup' => 'Backup',
'Create backup' => 'Erstelle Backup', 'Create Backup' => 'Erstelle Backup',
'Delete' => 'Löschen', 'Delete' => 'Löschen',
'storage' => 'Speicher', 'storage' => 'Speicher',
'public' => 'Öffentliche', 'public' => 'Öffentliche',

View File

@@ -2,10 +2,10 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Backups', 'Backups' => 'Backups',
'Backup date' => 'Backup date', 'Backup Date' => 'Backup Date',
'Create backup' => 'Create backup', 'Create Backup' => 'Create Backup',
'Delete' => 'Delete', 'Delete' => 'Delete',
'storage' => 'storage', 'storage' => 'storage',
'public' => 'public', 'public' => 'public',
'plugins' => 'plugins', 'plugins' => 'plugins',
@@ -14,4 +14,4 @@
'Delete backup: :backup' => 'Delete backup: :backup', 'Delete backup: :backup' => 'Delete backup: :backup',
'Creating...' => 'Creating...', 'Creating...' => 'Creating...',
) )
); );

View File

@@ -0,0 +1,17 @@
<?php
return array(
'backup' => array(
'Backups' => 'Backup',
'Backup date' => 'Backup dia',
'Create Backup' => 'Crear Backup',
'Delete' => 'Borrar',
'storage' => 'Almacen',
'public' => 'publico',
'plugins' => 'plugins',
'Size' => 'Tamaño',
'Actions' => 'Acciones',
'Delete backup: :backup' => 'Borrar Backup: :backup',
'Creating...' => 'Creando...',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'backup' => array(
'Backups' => 'پشتیبان گیری',
'Backup Date' => 'تاریخ پشتیبان گیری',
'Create Backup' => 'ایجاد نسخه پشتیبان',
'Delete' => 'حذف',
'storage' => 'ذخیره سازی',
'public' => 'عمومی',
'plugins' => 'پلاگین',
'Size' => 'اندازه',
'Actions' => 'عملیات',
'Delete backup: :backup' => 'حذف نسخه پشتیبان: :backup',
'Creating...' => 'ایجاد...',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'backup' => array(
'Backups' => 'Sauvegardes',
'Backup date' => 'Date de la sauvegarde',
'Create backup' => 'Créer une sauvegarde',
'Delete' => 'Supprimer',
'storage' => 'stockage',
'public' => 'public',
'plugins' => 'plugins',
'Size' => 'Taille',
'Actions' => 'Actions',
'Delete backup: :backup' => 'Supprimer la sauvegarde: :backup',
'Creating...' => 'Création...',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'backup' => array(
'Backups' => 'Biztonsági mentések',
'Backup date' => 'Biztonsági mentés dátuma',
'Create Backup' => 'Biztonsági mentés készítése',
'Delete' => 'Töröl',
'storage' => 'tárol',
'public' => 'nyilvános',
'plugins' => 'pluginok',
'Size' => 'Méret',
'Actions' => 'Műveletek',
'Delete backup: :backup' => 'Biztonsági mentés törlése: :backup',
'Creating...' => 'Készítés...',
)
);

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Backup', 'Backups' => 'Backup',
'Backup date' => 'Backup', 'Backup' => 'Backup',
'Create backup' => 'Crea backup', 'Create Backup' => 'Crea Backup',
'Delete' => 'Elimina', 'Delete' => 'Elimina',
'storage' => 'dati', 'storage' => 'dati',
'public' => 'pubblica', 'public' => 'pubblica',

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Atsarginės kopijos', 'Backups' => 'Atsarginės kopijos',
'Backup date' => 'Atsarginės kopijos data', 'Backup' => 'Atsarginės kopijos data',
'Create backup' => 'Sukurti atsarginę kopiją', 'Create Backup' => 'Sukurti atsarginę kopiją',
'Delete' => 'Ištrinti', 'Delete' => 'Ištrinti',
'storage' => 'storage', 'storage' => 'storage',
'public' => 'public', 'public' => 'public',

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Backups', 'Backups' => 'Backups',
'Backup date' => 'Data do backup', 'Backup' => 'Backup',
'Create backup' => 'Criar', 'Create Backup' => 'Criar Backup',
'Delete' => 'Deletar', 'Delete' => 'Deletar',
'storage' => 'storage', 'storage' => 'storage',
'public' => 'public', 'public' => 'public',

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Бекапы', 'Backups' => 'Бекапы',
'Backup date' => 'Бекап', 'Backup' => 'Бекап',
'Create backup' => 'Сделать бекап', 'Create Backup' => 'Сделать бекап',
'Delete' => 'Удалить', 'Delete' => 'Удалить',
'storage' => 'данные', 'storage' => 'данные',
'public' => 'публичная', 'public' => 'публичная',

View File

@@ -0,0 +1,17 @@
<?php
return array(
'backup' => array(
'Backups' => 'Zálohy',
'Backup' => 'Zálohy',
'Create Backup' => 'Vytvoriť Zálohu',
'Delete' => 'Vymazať',
'storage' => 'Storage/Obsah diskového miesta',
'public' => 'Verejné',
'plugins' => 'Pluginy',
'Size' => 'Veľkosť',
'Actions' => 'Akcie',
'Delete backup: :backup' => 'Vymazať zálohu: :backup',
'Creating...' => 'Vytváram...',
)
);

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Bekapovi', 'Backups' => 'Bekapovi',
'Backup date' => 'Backup datum', 'Backup' => 'Backup',
'Create backup' => 'Kreiraj Bekap', 'Create Backup' => 'Kreiraj Bekap',
'Delete' => 'Obriši', 'Delete' => 'Obriši',
'storage' => 'lokacija arhive', 'storage' => 'lokacija arhive',
'public' => 'Javno', 'public' => 'Javno',

View File

@@ -3,8 +3,8 @@
return array( return array(
'backup' => array( 'backup' => array(
'Backups' => 'Бекапи', 'Backups' => 'Бекапи',
'Backup date' => 'Бекап', 'Backup' => 'Бекап',
'Create backup' => 'Зробити бекап', 'Create Backup' => 'Зробити бекап',
'Delete' => 'Видалити', 'Delete' => 'Видалити',
'storage' => 'дані', 'storage' => 'дані',
'public' => 'публічна', 'public' => 'публічна',

View File

@@ -14,7 +14,7 @@ $().ready(function(){$('[name=create_backup]').click(function(){$(this).button('
Form::checkbox('add_storage_folder', null, true, array('disabled' => 'disabled')) . ' ' . __('storage', 'backup') . ' ' . Html::nbsp(2) . Form::checkbox('add_storage_folder', null, true, array('disabled' => 'disabled')) . ' ' . __('storage', 'backup') . ' ' . Html::nbsp(2) .
Form::checkbox('add_public_folder') . ' ' . __('public', 'backup') . ' ' . Html::nbsp(2) . Form::checkbox('add_public_folder') . ' ' . __('public', 'backup') . ' ' . Html::nbsp(2) .
Form::checkbox('add_plugins_folder') . ' ' . __('plugins', 'backup') . ' ' . Html::nbsp(2) . Form::checkbox('add_plugins_folder') . ' ' . __('plugins', 'backup') . ' ' . Html::nbsp(2) .
Form::submit('create_backup', __('Create backup', 'backup'), array('class' => 'btn', 'data-loading-text' => __('Creating...', 'backup'))). Form::submit('create_backup', __('Create Backup', 'backup'), array('class' => 'btn', 'data-loading-text' => __('Creating...', 'backup'))).
Form::close() Form::close()
); );
?> ?>
@@ -23,7 +23,7 @@ $().ready(function(){$('[name=create_backup]').click(function(){$(this).button('
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
<th><?php echo __('Backup date', 'backup'); ?></th> <th><?php echo __('Backup', 'backup'); ?></th>
<th><?php echo __('Size', 'backup'); ?></th> <th><?php echo __('Size', 'backup'); ?></th>
<th></th> <th></th>
</tr> </tr>

View File

@@ -66,7 +66,7 @@ class BlocksAdmin extends Backend
->display(); ->display();
break; break;
// Edit block // Edit Block
// ------------------------------------- // -------------------------------------
case "edit_block": case "edit_block":
// Save current block action // Save current block action

View File

@@ -7,11 +7,11 @@
'Delete' => 'Löschen', 'Delete' => 'Löschen',
'Edit' => 'Bearbeiten', 'Edit' => 'Bearbeiten',
'Name' => 'Name', 'Name' => 'Name',
'Create new block' => 'Erstelle einen neuen Block', 'Create New Block' => 'Erstelle einen neuen Block',
'New block' => 'Neuer Block', 'New Block' => 'Neuer Block',
'Edit block' => 'Bearbeite Block', 'Edit Block' => 'Bearbeite Block',
'Save' => 'Save', 'Save' => 'Save',
'Save and exit' => 'Speichern und Schließen', 'Save and Exit' => 'Speichern und Schließen',
'Actions' => 'Aktionen', 'Actions' => 'Aktionen',
'Required field' => 'Erforderliches Feld', 'Required field' => 'Erforderliches Feld',
'This block already exists' => 'Dieser Block existiert bereits', 'This block already exists' => 'Dieser Block existiert bereits',

View File

@@ -7,11 +7,11 @@
'Delete' => 'Delete', 'Delete' => 'Delete',
'Edit' => 'Edit', 'Edit' => 'Edit',
'Name' => 'Name', 'Name' => 'Name',
'Create new block' => 'Create new block', 'Create New Block' => 'Create New Block',
'New block' => 'New block', 'New Block' => 'New Block',
'Edit block' => 'Edit block', 'Edit Block' => 'Edit Block',
'Save' => 'Save', 'Save' => 'Save',
'Save and exit' => 'Save and exit', 'Save and Exit' => 'Save and Exit',
'Actions' => 'Actions', 'Actions' => 'Actions',
'Required field' => 'Required field', 'Required field' => 'Required field',
'This block already exists' => 'This block already exists', 'This block already exists' => 'This block already exists',

View File

@@ -0,0 +1,29 @@
<?php
return array(
'blocks' => array(
'Blocks' => 'Bloques',
'Blocks manager' => 'Administrar bloques',
'Delete' => 'Borrar',
'Edit' => 'Editar',
'Name' => 'Nombre',
'Create New Block' => 'Crear nuevo bloque',
'New block' => 'Nuevo bloque',
'Edit block' => 'Editar bloque',
'Save' => 'Guardar',
'Save and Exit' => 'Guardar y salir',
'Actions' => 'Acciones',
'Required field' => 'Dato requerido',
'This block already exists' => 'Este bloque ya esiste',
'This block does not exist' => 'Este bloque no esiste',
'Delete block: :block' => 'Borrar bloque: :block',
'Block content' => 'Contenido del bloque',
'Block <i>:name</i> deleted' => 'bloque <i>:name</i> borrdo',
'Your changes to the block <i>:name</i> have been saved.' => 'Tus cambios en el bloque <i>:name</i> han sido guardados.',
'Delete block: :block' => 'Borrar bloque: :block',
'View Embed Code' => 'Ver codigo para incrustar',
'Embed Code' => 'Codigo para incrustar',
'Shortcode' => 'Codigo corto',
'PHP Code' => 'Codigo PHP',
)
);

View File

@@ -0,0 +1,29 @@
<?php
return array(
'blocks' => array(
'Blocks' => 'بلوک',
'Blocks manager' => 'مدیریت بلوک',
'Delete' => 'حذف',
'Edit' => 'ویرایش',
'Name' => 'نام',
'Create New Block' => 'ایجاد بلوک جدید',
'New Block' => 'بلوک جدید',
'Edit Block' => 'ویرایش بلوک',
'Save' => 'ذخیره',
'Save and Exit' => 'ذخیره و خروج',
'Actions' => 'عملیات',
'Required field' => 'کادر الزامی',
'This block already exists' => 'این بلوک در حال حاضر وجود دارد',
'This block does not exist' => 'این بلوک وجود ندارد',
'Delete block: :block' => 'Delete block: :block',
'Block content' => 'حذف بلوک: :block',
'Block <i>:name</i> deleted' => 'بلوک <i>:name</i> حذف شد',
'Your changes to the block <i>:name</i> have been saved.' => 'تغییرات شما بر روی بلوک <i>:name</i> ذخیره شد.',
'Delete block: :block' => 'حذف بلوک: :block',
'View Embed Code' => 'نمایش کد درج شده',
'Embed Code' => 'کد درج شده',
'Shortcode' => 'کدکوتاه',
'PHP Code' => 'کد PHP',
)
);

View File

@@ -0,0 +1,29 @@
<?php
return array(
'blocks' => array(
'Blocks' => 'Blocs',
'Blocks manager' => 'Gestionnaire des blocs',
'Delete' => 'Supprimer',
'Edit' => 'Editer',
'Name' => 'Nom',
'Create new block' => 'Créer un nouveau bloc',
'New block' => 'Nouveau bloc',
'Edit block' => 'Editer le bloc',
'Save' => 'Enregistrer',
'Save and exit' => 'Enregistrer et sortir',
'Actions' => 'Actions',
'Required field' => 'Champ requis',
'This block already exists' => 'Ce bloc existe déjà',
'This block does not exist' => 'Ce bloc n\'existe pas',
'Delete block: :block' => 'Supprimer le bloc: :block',
'Block content' => 'Contenu du bloc',
'Block <i>:name</i> deleted' => 'Bloc <i>:name</i> supprimé',
'Your changes to the block <i>:name</i> have been saved.' => 'Vos changements pour le bloc <i>:name</i> ont été sauvegardés.',
'Delete block: :block' => 'Supprimer le bloc: :block',
'View Embed Code' => 'Voir le code intégré',
'Embed Code' => 'Code intégré',
'Shortcode' => 'Code court',
'PHP Code' => 'Code PHP',
)
);

View File

@@ -0,0 +1,29 @@
<?php
return array(
'blocks' => array(
'Blocks' => 'Blokkok',
'Blocks manager' => 'Blokk-kezelő',
'Delete' => 'Törlés',
'Edit' => 'Szerkesztés',
'Name' => 'Név',
'Create New Block' => 'Új blokk készítése',
'New Block' => 'Új blokk',
'Edit Block' => 'Blokk szerkesztése',
'Save' => 'Mentés',
'Save and Exit' => 'Mentés és Kilépés',
'Actions' => 'Műveletek',
'Required field' => 'Kötelező mező',
'This block already exists' => 'Ez a blokk már létezik',
'This block does not exist' => 'Ez a blokk nem létezik',
'Delete block: :block' => 'Blokk törlése: :block',
'Block content' => 'Blokk tartalma',
'Block <i>:name</i> deleted' => 'A <i>:name</i> blokk törölve',
'Your changes to the block <i>:name</i> have been saved.' => 'A <i>:name</i> blokk változtatásai elmentve.',
'Delete block: :block' => 'Blokk törlése: :block',
'View Embed Code' => 'Beágyazott kód mutatása',
'Embed Code' => 'Beágyazott kód',
'Shortcode' => 'Shortcode',
'PHP Code' => 'PHP Code',
)
);

View File

@@ -6,13 +6,13 @@
'Blocks manager' => 'Gestione blocchi', 'Blocks manager' => 'Gestione blocchi',
'Delete' => 'Elimina', 'Delete' => 'Elimina',
'Edit' => 'Modifica', 'Edit' => 'Modifica',
'New block' => 'Nuovo blocco', 'New Block' => 'Nuovo blocco',
'Create new block' => 'Crea nuovo blocco', 'Create New Block' => 'Crea nuovo blocco',
'Name' => 'Nome', 'Name' => 'Nome',
'Edit block' => 'Modifica blocco', 'Edit Block' => 'Modifica blocco',
'Save' => 'Salva', 'Save' => 'Salva',
'Actions' => 'Azioni', 'Actions' => 'Azioni',
'Save and exit' => 'Salva ed esci', 'Save and Exit' => 'Salva ed esci',
'Required field' => 'Campo obbligatorio', 'Required field' => 'Campo obbligatorio',
'This block already exists' => 'Tale blocco già esistente', 'This block already exists' => 'Tale blocco già esistente',
'This block does not exist' => 'Tale blocco non esiste', 'This block does not exist' => 'Tale blocco non esiste',

View File

@@ -7,11 +7,11 @@
'Delete' => 'Ištrinti', 'Delete' => 'Ištrinti',
'Edit' => 'Redaguoti', 'Edit' => 'Redaguoti',
'Name' => 'Pavadinimas', 'Name' => 'Pavadinimas',
'Create new block' => 'Sukurti naują bloką', 'Create New Block' => 'Sukurti naują bloką',
'New block' => 'Naujas blokas', 'New Block' => 'Naujas blokas',
'Edit block' => 'Redaguoti bloką', 'Edit Block' => 'Redaguoti bloką',
'Save' => 'Išsaugoti', 'Save' => 'Išsaugoti',
'Save and exit' => 'Išsaugoti ir išeiti', 'Save and Exit' => 'Išsaugoti ir išeiti',
'Actions' => 'Veiksmai', 'Actions' => 'Veiksmai',
'Required field' => 'Privalomas laukas', 'Required field' => 'Privalomas laukas',
'This block already exists' => 'Toks blokas jau yra', 'This block already exists' => 'Toks blokas jau yra',

View File

@@ -7,11 +7,11 @@
'Delete' => 'Deletar', 'Delete' => 'Deletar',
'Edit' => 'Editar', 'Edit' => 'Editar',
'Name' => 'Nome', 'Name' => 'Nome',
'Create new block' => 'Criar novo bloco', 'Create New Block' => 'Criar novo bloco',
'New block' => 'Novo bloco', 'New Block' => 'Novo bloco',
'Edit block' => 'Editar bloco', 'Edit Block' => 'Editar bloco',
'Save' => 'Salvar', 'Save' => 'Salvar',
'Save and exit' => 'Salvar e sair', 'Save and Exit' => 'Salvar e sair',
'Actions' => 'Ações', 'Actions' => 'Ações',
'Required field' => 'Campo requerido', 'Required field' => 'Campo requerido',
'This block already exists' => 'Este bloco já existe', 'This block already exists' => 'Este bloco já existe',

View File

@@ -6,13 +6,13 @@
'Blocks manager' => 'Менеджер блоков', 'Blocks manager' => 'Менеджер блоков',
'Delete' => 'Удалить', 'Delete' => 'Удалить',
'Edit' => 'Редактировать', 'Edit' => 'Редактировать',
'New block' => 'Новый блок', 'New Block' => 'Новый блок',
'Create new block' => 'Создать новый блок', 'Create New Block' => 'Создать новый блок',
'Name' => 'Название', 'Name' => 'Название',
'Edit block' => 'Редактирование блока', 'Edit Block' => 'Редактирование блока',
'Save' => 'Сохранить', 'Save' => 'Сохранить',
'Actions' => 'Действия', 'Actions' => 'Действия',
'Save and exit' => 'Сохранить и выйти', 'Save and Exit' => 'Сохранить и выйти',
'Required field' => 'Обязательное поле', 'Required field' => 'Обязательное поле',
'This block already exists' => 'Такой блок уже существует', 'This block already exists' => 'Такой блок уже существует',
'This block does not exist' => 'Такого блока не существует', 'This block does not exist' => 'Такого блока не существует',

View File

@@ -0,0 +1,29 @@
<?php
return array(
'blocks' => array(
'Blocks' => 'Bloky',
'Blocks manager' => 'Manažér blokov',
'Delete' => 'Vymazať',
'Edit' => 'Editovať',
'Name' => 'Názov',
'Create New Block' => 'Vytvoriť nový blok',
'New Block' => 'Nový blok',
'Edit Block' => 'Editovať blok',
'Save' => 'Uložiť',
'Save and Exit' => 'Uložiť a ukončiť',
'Actions' => 'Akcie',
'Required field' => 'Povinné políčko',
'This block already exists' => 'Tento blok už existuje',
'This block does not exist' => 'Tento blok neexistuje',
'Delete block: :block' => 'Vymazať blok: :block',
'Block content' => 'Obsah bloku',
'Block <i>:name</i> deleted' => 'Blok <i>:name</i> bol vymazaný',
'Your changes to the block <i>:name</i> have been saved.' => 'Vaše zmeny v bloku <i>:name</i> boli uložené.',
'Delete block: :block' => 'Vymazať blok: :block',
'View Embed Code' => 'Pozrieť vložený kód',
'Embed Code' => 'Vložený kód',
'Shortcode' => 'Skrátený kód',
'PHP Code' => 'PHP kód',
)
);

View File

@@ -3,16 +3,16 @@
return array( return array(
'blocks' => array( 'blocks' => array(
'Blocks' => 'Blokovi', 'Blocks' => 'Blokovi',
'Blocks manager' => 'Menadžer blokova', 'Blocks manager' => 'Menadžer blokova',
'Delete' => 'Obriši', 'Delete' => 'Obriši',
'Edit' => 'Izmeni', 'Edit' => 'Izmeni',
'Name' => 'Ime', 'Name' => 'Ime',
'Create new block' => 'Kreiraj novi blok', 'Create new block' => 'Kreiraj novi blok',
'New block' => 'Novi blok', 'New block' => 'Novi blok',
'Edit block' => 'Izmeni blok', 'Edit block' => 'Izmeni blok',
'Save' => 'Sačuvaj', 'Save' => 'Sačuvaj',
'Save and exit' => 'Sačuvaj i izađi', 'Save and exit' => 'Sačuvaj i izađi',
'Actions' => 'Akcije', 'Actions' => 'Akcije',
'Required field' => 'Potrebno polje', 'Required field' => 'Potrebno polje',
'This block already exists' => 'Ovaj Blok već postoji', 'This block already exists' => 'Ovaj Blok već postoji',
'This block does not exist' => 'Ovaj blok ne postoji', 'This block does not exist' => 'Ovaj blok ne postoji',
@@ -22,8 +22,8 @@
'Your changes to the block <i>:name</i> have been saved.' => 'Tvoje promene na bloku <i>:name</i> su sačuvane.', 'Your changes to the block <i>:name</i> have been saved.' => 'Tvoje promene na bloku <i>:name</i> su sačuvane.',
'Delete block: :block' => 'Obriši blok: :block', 'Delete block: :block' => 'Obriši blok: :block',
'View Embed Code' => 'Vidi embed kod', 'View Embed Code' => 'Vidi embed kod',
'Embed Code' => 'Embed Kod', 'Embed Code' => 'Embed Kod',
'Shortcode' => 'Kratak kod', 'Shortcode' => 'Kratak kod',
'PHP Code' => 'PHP kod', 'PHP Code' => 'PHP kod',
) )
); );

View File

@@ -6,13 +6,13 @@
'Blocks manager' => 'Менеджер блоків', 'Blocks manager' => 'Менеджер блоків',
'Delete' => 'Видалити', 'Delete' => 'Видалити',
'Edit' => 'Редагувати', 'Edit' => 'Редагувати',
'New block' => 'Новий блок', 'New Block' => 'Новий блок',
'Create new block' => 'Створити новий блок', 'Create New Block' => 'Створити новий блок',
'Name' => 'Назва', 'Name' => 'Назва',
'Edit block' => 'Редагування блоку', 'Edit Block' => 'Редагування блоку',
'Save' => 'Зберегти', 'Save' => 'Зберегти',
'Actions' => 'Дії', 'Actions' => 'Дії',
'Save and exit' => 'Зберегти та вийти', 'Save and Exit' => 'Зберегти та вийти',
'Required field' => 'Обов&prime;язкове поле', 'Required field' => 'Обов&prime;язкове поле',
'This block already exists' => 'Такий блок вже існує', 'This block already exists' => 'Такий блок вже існує',
'This block does not exist' => 'Такого блоку не існує', 'This block does not exist' => 'Такого блоку не існує',

View File

@@ -5,7 +5,7 @@
<?php <?php
echo ( echo (
Html::anchor(__('Create New Block', 'blocks'), 'index.php?id=blocks&action=add_block', array('title' => __('Create new block', 'blocks'), 'class' => 'btn default btn-small')). Html::nbsp(3) Html::anchor(__('Create New Block', 'blocks'), 'index.php?id=blocks&action=add_block', array('title' => __('Create New Block', 'blocks'), 'class' => 'btn default btn-small')). Html::nbsp(3)
); );
?> ?>

View File

@@ -0,0 +1,8 @@
<?php
return array(
'Editor' => array(
'Editor' => 'Editor',
'Editor plugin' => 'Plugin editor',
)
);

View File

@@ -0,0 +1,8 @@
<?php
return array(
'Editor' => array(
'Editor' => 'ویرایشگر',
'Editor plugin' => 'پلاگین ویرایشگر',
)
);

View File

@@ -0,0 +1,8 @@
<?php
return array(
'Editor' => array(
'Editor' => 'Editeur',
'Editor plugin' => 'Plugin éditeur',
)
);

View File

@@ -0,0 +1,8 @@
<?php
return array(
'Editor' => array(
'Editor' => 'Szerkesztő',
'Editor plugin' => 'Szerkesztő bővítmény',
)
);

View File

@@ -0,0 +1,8 @@
<?php
return array(
'Editor' => array(
'Editor' => 'Editor',
'Editor plugin' => 'Editor plugin',
)
);

View File

@@ -4,6 +4,6 @@
return array( return array(
'Editor' => array( 'Editor' => array(
'Editor' => 'Editor', 'Editor' => 'Editor',
'Editor plugin' => 'Editor dodatak', 'Editor plugin' => 'Editor dodatak',
) )
); );

View File

@@ -8,21 +8,7 @@ $.monstra.filesmanager = {
showImage: function() { showImage: function() {
$('.image').find('a').on('click', function() { $('.image').find('a').on('click', function() {
var src = $(this).attr('href'); $('#previewLightbox').lightbox('show').find('img').attr('src', $(this).attr('rel'));
var file = $(src.split('/')).last();
var image = new Image();
image.src = src;
$(image).load(function() {
$('#showImage')
.modal('show')
.css({"min-width": 632})
.find('img')
.attr('src', src);
$('#showImage').find('h3 span').text(file[0]);
$('#showImage').find('img').css({"max-width": 600});
$('#showImage').find('img').attr('alt', file[0]);
});
return false;
}); });
} }
}; };

View File

@@ -0,0 +1,17 @@
<?php
return array(
'filesmanager' => array(
'Files' => 'Archivos',
'Files manager' => 'Administrar archivos',
'Name' => 'Nombre',
'Actions' => 'Acciones',
'Delete' => 'Borrar',
'Upload' => 'Subir',
'directory' => 'directorio',
'Delete directory: :dir' => 'Borrar directorio: :dir',
'Delete file: :file' => 'Borrar archivo :file',
'Extension' => 'Extension',
'Size' => 'Tamaño',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'filesmanager' => array(
'Files' => 'فایلها',
'Files manager' => 'مدیریت فایلها',
'Name' => 'نام',
'Actions' => 'عملیات',
'Delete' => 'حذف',
'Upload' => 'آپلود',
'directory' => 'شاخه',
'Delete directory: :dir' => 'حذف شاخه: :dir',
'Delete file: :file' => 'حذف فایل :file',
'Extension' => 'پسوند',
'Size' => 'اندازه',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'filesmanager' => array(
'Files' => 'Fichiers',
'Files manager' => 'Gestionnaire de fichiers',
'Name' => 'Nom',
'Actions' => 'Actions',
'Delete' => 'Supprimer',
'Upload' => 'Upload',
'directory' => 'Répertoire',
'Delete directory: :dir' => 'Supprimer le répertoire: :dir',
'Delete file: :file' => 'Supprimer le fichier :file',
'Extension' => 'Extension',
'Size' => 'Taille',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'filesmanager' => array(
'Files' => 'Fájlok',
'Files manager' => 'Fájlkezelő',
'Name' => 'Név',
'Actions' => 'Műveletek',
'Delete' => 'Törlés',
'Upload' => 'Feltöltés',
'directory' => 'directory',
'Delete directory: :dir' => 'Directory törlése: :dir',
'Delete file: :file' => 'Fájl törlése :file',
'Extension' => 'Bővítmény',
'Size' => 'Méret',
)
);

View File

@@ -0,0 +1,17 @@
<?php
return array(
'filesmanager' => array(
'Files' => 'Súbory',
'Files manager' => 'Manažér súborov',
'Name' => 'Názov',
'Actions' => 'Akcie',
'Delete' => 'Vymazať',
'Upload' => 'Nahrať',
'directory' => 'priečinok',
'Delete directory: :dir' => 'Vymazať priečinok: :dir',
'Delete file: :file' => 'Vymazať súbor :file',
'Extension' => 'Rozšírenie',
'Size' => 'Veľkosť',
)
);

View File

@@ -4,14 +4,14 @@
'filesmanager' => array( 'filesmanager' => array(
'Files' => 'Fajlovi', 'Files' => 'Fajlovi',
'Files manager' => 'Menadžer fajlova', 'Files manager' => 'Menadžer fajlova',
'Name' => 'Ime', 'Name' => 'Ime',
'Actions' => 'Akcije', 'Actions' => 'Akcije',
'Delete' => 'Obriši', 'Delete' => 'Obriši',
'Upload' => 'Dodaj', 'Upload' => 'Dodaj',
'directory' => 'Direktorijum', 'directory' => 'Direktorijum',
'Delete directory: :dir' => 'Obriši direktorijum: :dir', 'Delete directory: :dir' => 'Obriši direktorijum: :dir',
'Delete file: :file' => 'Obriši fajl :file', 'Delete file: :file' => 'Obriši fajl :file',
'Extension' => 'Extenzija', 'Extension' => 'Extenzija',
'Size' => 'Veličina', 'Size' => 'Veličina',
) )
); );

View File

@@ -40,8 +40,8 @@
<thead> <thead>
<tr> <tr>
<th><?php echo __('Name', 'filesmanager'); ?></th> <th><?php echo __('Name', 'filesmanager'); ?></th>
<th><?php echo __('Extension', 'filesmanager'); ?></th> <th class="hidden-phone"><?php echo __('Extension', 'filesmanager'); ?></th>
<th><?php echo __('Size', 'filesmanager'); ?></th> <th class="hidden-phone"><?php echo __('Size', 'filesmanager'); ?></th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@@ -55,7 +55,7 @@
</td> </td>
<td> <td>
<?php echo Number::byteFormat(Dir::size(UPLOADS . DS . $dir)); ?> <!-- Dir Size -->
</td> </td>
<td> <td>
<div class="pull-right"> <div class="pull-right">
@@ -71,12 +71,16 @@
<?php if ( ! in_array($ext, $forbidden_types)) { ?> <?php if ( ! in_array($ext, $forbidden_types)) { ?>
<tr> <tr>
<td<?php if (isset(File::$mime_types[$ext]) && preg_match('/image/', File::$mime_types[$ext])) echo ' class="image"'?>> <td<?php if (isset(File::$mime_types[$ext]) && preg_match('/image/', File::$mime_types[$ext])) echo ' class="image"'?>>
<?php echo Html::anchor(File::name($file), $site_url.'public/' . $path.$file, array('target'=>'_blank'));?> <?php if (isset(File::$mime_types[$ext]) && preg_match('/image/', File::$mime_types[$ext])) { ?>
<?php echo Html::anchor(File::name($file), '#', array('rel' => $site_url.'public/' . $path.$file));?>
<?php } else { ?>
<?php echo Html::anchor(File::name($file), $site_url.'public/' . $path.$file, array('target'=>'_blank'));?>
<?php } ?>
</td> </td>
<td> <td class="hidden-phone">
<?php echo $ext; ?> <?php echo $ext; ?>
</td> </td>
<td> <td class="hidden-phone">
<?php echo Number::byteFormat(filesize($files_path. DS .$file)); ?> <?php echo Number::byteFormat(filesize($files_path. DS .$file)); ?>
</td> </td>
<td> <td>
@@ -92,12 +96,11 @@
</tbody> </tbody>
</table> </table>
<div id="showImage" class="modal hide fade"> <div id="previewLightbox" class="lightbox hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-header"> <div class='lightbox-header'>
<a class="close" data-dismiss="modal">×</a> <button type="button" class="close" data-dismiss="lightbox" aria-hidden="true">&times;</button>
<h3><?php echo __('Image:', 'filesmanager')?> <span></span></h3>
</div> </div>
<div class="modal-body"> <div class='lightbox-content'>
<p align="center"><img /></p> <img />
</div> </div>
</div> </div>

View File

@@ -19,7 +19,6 @@
'Security check results' => 'Sicherheits-Check Ergebnisse', '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.' => '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.', 'Die Konfigurationsdatei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte für defines.php auf Produktionssystemen zu entfernen.',
'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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' => 'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'Die Monstra .htaccess Datei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte zu entfernen. <br/>Du kannst dies auf Unix-Systemen ganz einfach mit: <code>chmod a-w :path</code> erledigen.', 'Die Monstra .htaccess Datei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte zu entfernen. <br/>Du kannst dies auf Unix-Systemen ganz einfach mit: <code>chmod a-w :path</code> erledigen.',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' => 'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>

View File

@@ -0,0 +1,40 @@
<?php
return array(
'information' => array(
'Information' => 'Información',
'Debugging' => 'Depuración',
'Name' => 'Nombre',
'Value' => 'Valor',
'Security' => 'Seguridad',
'System' => 'Sistema',
'on' => 'Encendido',
'off'=> 'Apagado',
'Server' => 'Servidor',
'PHP version' => 'Version PHP',
'SimpleXML module' => 'SimpleXML modulo',
'DOM module' => 'DOM modulo',
'Installed' => 'Instalado',
'Not Installed' => 'No instalado',
'Security check results' => 'Resultados de control de seguridad',
'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' =>
'El archivo de configuración se ha encontrado ser de escritura. Les recomendamos quitar todos los permisos de escritura en defines.php en los sistemas de producción.',
'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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'El directorio núcleo Monstra (":path") y / o los archivos por debajo de ella se ha encontrado para tener permisos de escritura. Les recomendamos quitar todos los permisos de escritura. <br/> Usted puede hacer esto en sistemas Unix con: <code> chmod-R aw: path </code>',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'El Monstra. Htaccess se ha encontrado para tener permisos de escritura. Les recomendamos quitar todos los permisos de escritura. <br/> Usted puede hacer esto en sistemas Unix con: <code>chmod a-w :path</code>',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'El archivo index.php Monstra se ha encontrado ser de escritura. Les recomendamos quitar todos los permisos de escritura. <br/> Usted puede hacer esto en sistemas Unix con: <code>chmod a-w :path</code>',
'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.' =>
'Debido al tipo y cantidad de información que un error podría dar a los intrusos cuando Core::$environment = Core::DEVELOPMENT,le recomendamos ajuste Core::PRODUCTION en sistemas de producción.',
'Monstra version' => 'Monstra version',
'Directory Permissions' => 'Permisos de directorios',
'Directory' => 'Directorio',
'Writable' => 'Adcesible',
'Unwritable' => 'No adcesible',
'Status' => 'Estado',
'PHP Built On' => 'PHP Construido En',
'Web Server' => 'Servidor Web',
'WebServer to PHP Interface' => 'Servidor web en PHP Interface',
)
);

View File

@@ -0,0 +1,40 @@
<?php
return array(
'information' => 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.' =>
'فایل پیکربندی قابل نوشتن میباشد . توصیه میکنیم همه مجوزهای نوشتن را در define.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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'شاخه هسته مونسترا (":path") و/ یا فایلهایی درون آن قابل نوشتن میباشند . توصیه میکنیم همه مجوزهای نوشتن را حذف کنید. <br/>در سیستمهای یونیکس میتوانید با دستور : <code>chmod -R a-w :path</code> انجام دهید',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'فایل .htaccess مونسترا قابل نوشتن میباشند . توصیه میکنیم همه مجوزهای نوشتن را حذف کنید. <br/>در سیستمهای یونیکس میتوانید با دستور : <code>chmod -R a-w :path</code> انجام دهید',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'فایل index.php مونسترا قابل نوشتن میباشند . توصیه میکنیم همه مجوزهای نوشتن را حذف کنید. <br/>در سیستمهای یونیکس میتوانید با دستور : <code>chmod -R a-w :path</code> انجام دهید',
'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::$environment = Core::DEVELOPMENT خطایی رخ بدهد ، ما شدیداً Core::PRODUCTION را د رسیستم تولید توصیه میکنیم ',
'Monstra version' => 'نسخه مونسترا',
'Directory Permissions' => 'مجوزهای شاخه',
'Directory' => 'شاخه',
'Writable' => 'قابل نوشتن',
'Unwritable' => 'غیرقابل نوشتن',
'Status' => 'وضعیت',
'PHP Built On' => 'ساخته شده باPHP',
'Web Server' => 'وب سرور',
'WebServer to PHP Interface' => 'وب سرور به رابط PHP',
)
);

View File

@@ -0,0 +1,40 @@
<?php
return array(
'information' => array(
'Information' => 'Information',
'Debugging' => 'Débogage',
'Name' => 'Nom',
'Value' => 'Valeur',
'Security' => 'Sécurité',
'System' => 'Système',
'on' => 'on',
'off'=> 'off',
'Server' => 'Serveur',
'PHP version' => 'Version PHP',
'SimpleXML module' => 'Module SimpleXML',
'DOM module' => 'Module DOM',
'Installed' => 'Installé',
'Not Installed' => 'Non installé',
'Security check results' => 'Résultats du contrôle de sécurité',
'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' =>
'Le fichier de configuration a été trouvé pour être accessible en écriture. Nous vous conseillons de supprimer toutes les autorisations d\'écriture sur defines.php lors de la mise en production.',
'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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'Le répertoire de base Monstra (":path") et/ou les fichiers inclus, ont été trouvés accessible en écriture. Nous vous conseillons de supprimer toutes les permissions d\'écriture. <br/> Vous pouvez le faire sur les systèmes Unix avec: <code> chmod-R a-w :chemin </code>',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'Le fichier ". Htaccess" a été trouvé accessible en écriture. Nous vous conseillons de supprimer toutes les permissions d\'écriture. <br/> Vous pouvez le faire sur les systèmes Unix avec: <code>chmod a-w :chemin</ code>',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'Le fichier index.php de Monstra a été trouvé pour être accessible en écriture. Nous vous conseillons de supprimer toutes les permissions d\'écriture. <br/> Vous pouvez le faire sur les systèmes Unix avec: <code>chmod a-w :chemin </code>',
'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.' =>
'En raison du type et de la quantité d\'informations se peut qu\'une erreur peut être des intrusions lorsque Core::$environment = Core::DEVELOPMENT, nous vous conseillons vivement la mise de Core::PRODUCTION dans les systèmes de production.',
'Monstra version' => 'Monstra version',
'Directory Permissions' => 'Directory Permissions',
'Directory' => 'Répertoire',
'Writable' => 'Accessible en écriture',
'Unwritable' => 'Pas accessible en écriture',
'Status' => 'Statut',
'PHP Built On' => 'PHP construit sur',
'Web Server' => 'Serveur Web',
'WebServer to PHP Interface' => 'Interface PHP du serveur web',
)
);

View File

@@ -0,0 +1,40 @@
<?php
return array(
'information' => array(
'Information' => 'Információk',
'Debugging' => 'Hibakeresés',
'Name' => 'Név',
'Value' => 'Érték',
'Security' => 'Biztonság',
'System' => 'Rendszer',
'on' => 'be',
'off'=> 'ki',
'Server' => 'Szerver',
'PHP version' => 'PHP verzió',
'SimpleXML module' => 'SimpleXML modul',
'DOM module' => 'DOM modul',
'Installed' => 'Telepítve',
'Not Installed' => 'Nincs Telepítve',
'Security check results' => 'Biztonsági ellenőrzés eredményei',
'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' =>
'A konfigurációs fájl írható. Azt javasoljuk, hogy távolítsa el az összes írási jogosultságot itt: 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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'A Monstra core directory (":path") és/vagy fájlok írhatók. Azt javasoljuk, hogy távolítsa el az összes írási jogosultságot. <br/>Unix rendszeren: <code>chmod -R a-w :path</code>',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'A Monstra .htaccess fájl írható. Azt javasoljuk, hogy távolítsa el az összes írási jogosultságot. <br/>Unix rendszeren: <code>chmod a-w :path</code>',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'A Monstra index.php fájl írható. Azt javasoljuk, hogy távolítsa el az összes írási jogosultságot. <br/>Unix rendszeren: <code>chmod a-w :path</code>',
'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 verzió',
'Directory Permissions' => 'Kategória Jogosultságok',
'Directory' => 'Kategória',
'Writable' => 'Írható',
'Unwritable' => 'Nem Írható',
'Status' => 'Státusz',
'PHP Built On' => 'PHP Built On',
'Web Server' => 'Web Szerver',
'WebServer to PHP Interface' => 'WebServer to PHP Interface',
)
);

View File

@@ -0,0 +1,40 @@
<?php
return array(
'information' => array(
'Information' => 'Informácie',
'Debugging' => 'Ladenie',
'Name' => 'Názov',
'Value' => 'Hodnota',
'Security' => 'Bezpečnosť',
'System' => 'System',
'on' => 'zapnuté',
'off'=> 'vypnuté',
'Server' => 'Server',
'PHP version' => 'Verzia PHP',
'SimpleXML module' => 'Modul SimpleXML',
'DOM module' => 'Modul DOM',
'Installed' => 'Nainštalované',
'Not Installed' => 'Nenainštalované',
'Security check results' => 'Výsledky bezpečnostnej kontroly',
'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' =>
'Konfiguračný súbor je zapisovateľný. Odporúčame Vám odstrániť oprávnenie akéhokoľvek zápisu pre defines.php na produkčných systémoch.',
'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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'Základný Monstra priečinok (":path") a/alebo súbory sú zapisovateľné. Odporúčame Vám odstrániť oprávnenie akéhokoľvek zápisu. <br/>Na Unix systémoch prevediete opravu príkazom: <code>chmod -R a-w :path</code>',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'Monstra .htaccess súbor je zapisovateľný. Odporúčame Vám odstrániť oprávnenie akéhokoľvek zápisu. <br/>Na Unix systémoch prevediete opravu príkazom: <code>chmod a-w :path</code>',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
'Monstra index.php súbor je zapisovateľný. Odporúčame Vám odstrániť oprávnenie akéhokoľvek zápisu. <br/>Na Unix systémoch prevediete opravu príkazom: <code>chmod a-w :path</code>',
'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.' =>
'Vzhľadom na druh a množstvo informácií, chyby možno odhaliť nastavením: Core::$environment = Core::DEVELOPMENT, na produkčných systémoch dôrazne odporúčame nastaviť Core::PRODUCTION.',
'Monstra version' => 'Verzia Monstra',
'Directory Permissions' => 'Práva priečinkov',
'Directory' => 'Priečinok',
'Writable' => 'Zapisovateľný',
'Unwritable' => 'Nezapisovateľný',
'Status' => 'Status',
'PHP Built On' => 'PHP Built On',
'Web Server' => 'Web Server',
'WebServer to PHP Interface' => 'WebServer to PHP Interface',
)
);

View File

@@ -9,7 +9,7 @@
'Security' => 'Sigurnost', 'Security' => 'Sigurnost',
'System' => 'Sistem', 'System' => 'Sistem',
'on' => 'uključeno', 'on' => 'uključeno',
'off'=> 'isključeno', 'off'=> 'isključeno',
'Server' => 'Server', 'Server' => 'Server',
'PHP version' => 'PHP Verzija', 'PHP version' => 'PHP Verzija',
'SimpleXML module' => 'SimpleXML modul', 'SimpleXML module' => 'SimpleXML modul',
@@ -17,9 +17,9 @@
'Installed' => 'Instalirano', 'Installed' => 'Instalirano',
'Not Installed' => 'Nije instalirano', 'Not Installed' => 'Nije instalirano',
'Security check results' => 'Sigurnosna provera rezultata', 'Security check results' => 'Sigurnosna provera rezultata',
'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.' =>
'Konfiguracioni fajl je nadjen da može biti upisan. Mi vas savetujemo da uklonite dozvole na fajlu defines.php ukoliko vam je svanični sajt.', 'Konfiguracioni fajl je nadjen da može biti upisan. Mi vas savetujemo da uklonite dozvole na fajlu defines.php ukoliko vam je svanični sajt.',
'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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' => '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. <br/>You can do this on unix systems with: <code>chmod -R a-w :path</code>' =>
'Monstra direktorijum je (":path") i/ili fajlovi unutar toga su nadjeni da mogu biti zapisani. Mi vas savetujemo da uklonite te dozvole zapisivanja. <br/>Na unix sistemima možete to uraditi sa: <code>chmod -R a-w :path</code>', 'Monstra direktorijum je (":path") i/ili fajlovi unutar toga su nadjeni da mogu biti zapisani. Mi vas savetujemo da uklonite te dozvole zapisivanja. <br/>Na unix sistemima možete to uraditi sa: <code>chmod -R a-w :path</code>',
'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' => 'Monstra je .htaccess fajlu našla mogućnost upisivanja. Mi vas savetujemo da promenite te dozvole. <br/>Na unix sistemima možete to uraditi sa: <code>chmod a-w :path</code>', 'The Monstra .htaccess file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' => 'Monstra je .htaccess fajlu našla mogućnost upisivanja. Mi vas savetujemo da promenite te dozvole. <br/>Na unix sistemima možete to uraditi sa: <code>chmod a-w :path</code>',
'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' => 'The Monstra index.php file has been found to be writable. We would advise you to remove all write permissions. <br/>You can do this on unix systems with: <code>chmod a-w :path</code>' =>
@@ -36,4 +36,4 @@
'Web Server' => 'Web Server', 'Web Server' => 'Web Server',
'WebServer to PHP Interface' => 'WebServer to PHP Interface', 'WebServer to PHP Interface' => 'WebServer to PHP Interface',
) )
); );

View File

@@ -9,7 +9,7 @@
'Delete' => 'Löschen', 'Delete' => 'Löschen',
'Order' => 'Reihenfolge', 'Order' => 'Reihenfolge',
'Actions' => 'Aktionen', 'Actions' => 'Aktionen',
'Create new item' => 'Erstellen neuen Eintrag', 'Create New Item' => 'Erstellen neuen Eintrag',
'New item' => 'Neuer Eintrag', 'New item' => 'Neuer Eintrag',
'Item name' => 'Eintrags Name', 'Item name' => 'Eintrags Name',
'Item order' => 'Eintrags Reihenfolge', 'Item order' => 'Eintrags Reihenfolge',

View File

@@ -9,7 +9,7 @@
'Delete' => 'Delete', 'Delete' => 'Delete',
'Order' => 'Order', 'Order' => 'Order',
'Actions' => 'Actions', 'Actions' => 'Actions',
'Create new item' => 'Create new item', 'Create New Item' => 'Create new item',
'New item' => 'New item', 'New item' => 'New item',
'Item name' => 'Item name', 'Item name' => 'Item name',
'Item order' => 'Item order', 'Item order' => 'Item order',

View File

@@ -0,0 +1,27 @@
<?php
return array(
'menu' => array(
'Menu' => 'Menu',
'Menu Manager' => 'Administrar menu',
'Edit' => 'Editar',
'Name' => 'Nombre',
'Delete' => 'Borrar',
'Order' => 'Orden',
'Actions' => 'Acciones',
'Create New Item' => 'Crear nuevo item',
'New Item' => 'Nuevo item',
'Item name' => 'Nombre item',
'Item order' => 'Orden item',
'Item target' => 'target de item',
'Item link' => 'Enlace item',
'Item category' => 'categoría del item',
'Save' => 'Guardar',
'Edit Item' => 'Editar item',
'Delete Item :name' => 'Borrar item :name',
'Select page' => 'Seleccionar pagina',
'Category' => 'Categoria',
'Select category' => 'Seleccionar categoria',
'Required Field' => 'Dato requerido',
)
);

View File

@@ -0,0 +1,27 @@
<?php
return array(
'menu' => 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' => 'کادر الزامی',
)
);

View File

@@ -0,0 +1,27 @@
<?php
return array(
'menu' => array(
'Menu' => 'Menu',
'Menu manager' => 'Gestionnaire du menu',
'Edit' => 'Editer',
'Name' => 'Nom',
'Delete' => 'Supprimer',
'Order' => 'Ordre',
'Actions' => 'Actions',
'Create new item' => 'Créer un nouvel item',
'New item' => 'Nouveau item',
'Item name' => 'Nom de l\'item',
'Item order' => 'Ordre de l\'item',
'Item target' => 'Cible de l\'item',
'Item link' => 'Lien de l\'item',
'Item category' => 'Catégorie de l\'item',
'Save' => 'Enregistrer',
'Edit item' => 'Editer l\'item',
'Delete item :name' => 'Supprimer l\'item :name',
'Select page' => 'Sélectionner la page',
'Category' => 'Catégorie',
'Select category' => 'Sélectionner une catégorie',
'Required field' => 'Champ requis',
)
);

View File

@@ -0,0 +1,27 @@
<?php
return array(
'menu' => array(
'Menu' => 'Menü',
'Menu manager' => 'Menükezelő',
'Edit' => 'Szerkeszt',
'Name' => 'Név',
'Delete' => 'Töröl',
'Order' => 'Rendezés',
'Actions' => 'Műveletek',
'Create New Item' => 'Új menü készítése',
'New item' => 'Új menü',
'Item name' => 'Menü neve',
'Item order' => 'Menü rendezés',
'Item target' => 'Menü célpont',
'Item link' => 'Menü link',
'Item category' => 'Menü kategória',
'Save' => 'Mentés',
'Edit item' => 'Menü szerkesztése',
'Delete item :name' => 'Menü törlése :name',
'Select page' => 'Válassza ki az oldalt',
'Category' => 'Kategória',
'Select category' => 'Válassza ki a kategóriát',
'Required field' => 'Kötelező mező',
)
);

View File

@@ -9,7 +9,7 @@
'Delete' => 'Elimina', 'Delete' => 'Elimina',
'Order' => 'Ordine', 'Order' => 'Ordine',
'Actions' => 'Azioni', 'Actions' => 'Azioni',
'Create new item' => 'Crea nuova voce', 'Create New Item' => 'Crea nuova voce',
'New item' => 'Nuova voce', 'New item' => 'Nuova voce',
'Item name' => 'Nome', 'Item name' => 'Nome',
'Item order' => 'Ordine', 'Item order' => 'Ordine',

View File

@@ -9,7 +9,7 @@
'Delete' => 'Trinti', 'Delete' => 'Trinti',
'Order' => 'Eiliškumas', 'Order' => 'Eiliškumas',
'Actions' => 'Veiksmai', 'Actions' => 'Veiksmai',
'Create new item' => 'Sukurti naują nuorodą', 'Create New Item' => 'Sukurti naują nuorodą',
'New item' => 'Nauja nuoroda', 'New item' => 'Nauja nuoroda',
'Item name' => 'Pavadinimas', 'Item name' => 'Pavadinimas',
'Item order' => 'Eiliškumas', 'Item order' => 'Eiliškumas',

View File

@@ -9,7 +9,7 @@
'Delete' => 'Deletar', 'Delete' => 'Deletar',
'Order' => 'Ordem', 'Order' => 'Ordem',
'Actions' => 'Ações', 'Actions' => 'Ações',
'Create new item' => 'Criar novo item', 'Create New Item' => 'Criar novo item',
'New item' => 'Novo item', 'New item' => 'Novo item',
'Item name' => 'Nome do item', 'Item name' => 'Nome do item',
'Item order' => 'ordem do item', 'Item order' => 'ordem do item',

View File

@@ -9,7 +9,7 @@
'Delete' => 'Удалить', 'Delete' => 'Удалить',
'Order' => 'Порядок', 'Order' => 'Порядок',
'Actions' => 'Действия', 'Actions' => 'Действия',
'Create new item' => 'Создать новый пункт меню', 'Create New Item' => 'Создать новый пункт меню',
'New item' => 'Новый пункт меню', 'New item' => 'Новый пункт меню',
'Item name' => 'Название', 'Item name' => 'Название',
'Item order' => 'Порядок', 'Item order' => 'Порядок',

View File

@@ -0,0 +1,27 @@
<?php
return array(
'menu' => array(
'Menu' => 'Menu',
'Menu manager' => 'Manažér menu',
'Edit' => 'Editovať',
'Name' => 'Názov',
'Delete' => 'Vymazať',
'Order' => 'Poradie',
'Actions' => 'Akcie',
'Create New Item' => 'Vytvoriť novú položku',
'New item' => 'Nová položka',
'Item name' => 'Názov položky',
'Item order' => 'Poradie položky',
'Item target' => 'Cieľ položky',
'Item link' => 'Odkaz položky',
'Item category' => 'Kategória položky',
'Save' => 'Uložiť',
'Edit item' => 'Editovať položku',
'Delete item :name' => 'Vymazať položku :name',
'Select page' => 'Vybrať stránku',
'Category' => 'Kategória',
'Select category' => 'Vybrať kategóriu',
'Required field' => 'Povinné políčko',
)
);

View File

@@ -2,7 +2,7 @@
return array( return array(
'menu' => array( 'menu' => array(
'Menu' => 'Menu', 'Menu' => 'Menu',
'Menu manager' => 'Menu menadžer', 'Menu manager' => 'Menu menadžer',
'Edit' => 'Izmeni', 'Edit' => 'Izmeni',
'Name' => 'Ime', 'Name' => 'Ime',
@@ -24,4 +24,4 @@
'Select category' => 'Odaberi kategoriju', 'Select category' => 'Odaberi kategoriju',
'Required field' => 'Polje je potrebno', 'Required field' => 'Polje je potrebno',
) )
); );

Some files were not shown because too many files have changed in this diff Show More