1
0
mirror of https://github.com/monstra-cms/monstra.git synced 2025-08-04 12:17:42 +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.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /projects/monstra-cms/
RewriteBase /%siteurlhere%/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

View File

@@ -1,16 +1,13 @@
# Monstra CMS
Fast and small content management system written in PHP!
## System Requirements
- UNIX/Linux host
- PHP 5.2.0 or higher
- PHP 5.2.3 or higher
- SimpleXML Module
- Apache Mod Rewrite
- Multibyte String
## Steps to Install
1. [Download the latest version.](http://monstra.org/download)
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.
6. Type http://example.org/install.php in the browser.
## Contributing
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.
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).
## Links
- [Site](http://monstra.org)
- [Forum](http://forum.monstra.org)
- [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]

View File

@@ -79,17 +79,22 @@ if (Request::post('reset_password_submit')) {
// Update user hash
$users->updateWhere("[login='" . $user_login . "']", array('hash' => $new_hash));
// Message
$message = View::factory('box/users/views/frontend/reset_password_email')
$mail = new PHPMailer();
$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_name', $site_name)
->assign('user_id', $user['id'])
->assign('user_login', $user['login'])
->assign('new_hash', $new_hash)
->render();
// Send
@mail($user['email'], __('Your login details for :site_name', 'users', array(':site_name' => $site_name)), $message);
->assign('view', 'reset_password_email')
->render());
$mail->Send();
// Set notification
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
*************************************
CONTENTS
1. GENERAL
2. HEADER
3. CONTENT
4. LEFT MENU
5. AUTHORIZATION
6. MISC
1. GENERAL
2. HEADER
3. CONTENT
4. LEFT MENU
5. AUTHORIZATION
6. MEDIA QUERIES
*************************************
1. GENERAL
*************************************/
body {
padding-top: 60px;
margin: 0;
@@ -269,11 +268,46 @@ td, th {
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
*************************************/
.monstra-header {
top: 0;
left: 0;
@@ -319,16 +353,13 @@ td, th {
/*************************************
3. CONTENT
*************************************/
.monstra-content {
padding-top:20px;
}
/*************************************
4. LEFT MENU
*************************************/
.monstra-menu-category-separator {
border: 0;
border-bottom: 1px solid #ccc;
@@ -414,8 +445,6 @@ td, th {
background-color: #0088cc;
}
/*************************************
5. AUTHORIZATION
*************************************/
@@ -437,45 +466,65 @@ td, th {
}
/*************************************
6. MISC
6. MEDIA QUERIES
*************************************/
.small-grey-text {
color:#333;
font-size: 10px;
/* iPhone 4, iPhone5, Small Tablet, Tablet */
@media (max-width: 800px) {
.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 {
color:#000;
/* Small Tablet(Landscape), Tablet(Portrait) */
@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 {
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;
}
/* iPhone 4 */
@media (max-width: 320px) {
.markItUpButton11,
.markItUpButton12,
.markItUpButton13,
.markItUpButton14,
.markItUpButton15,
.markItUpButton16,
.markItUpButton17,
.markItUpButton18 {
display: none;
}
.markItUpSeparator{
display: none;
}
#showImage {
min-width: 298px!important;
}
}

View File

@@ -10,14 +10,16 @@
<!-- Styles -->
<?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 2); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 3); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-lightbox.css', 'backend', 2); ?>
<?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(); ?>
<!-- JavaScripts -->
<?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?>
<?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 Action::run('admin_header'); ?>
@@ -49,23 +51,40 @@
<div class="row-fluid">
<!-- Block_sidebar -->
<div class="span2 monstra-menu-sidebar hidden-phone">
<h3><?php echo __('Content', 'pages'); ?></h3>
<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 class="span2 monstra-menu-sidebar">
<div class="hidden-desktop">
<select class="input-block-level" name="sections" id="sections">
<?php
Navigation::getDropdown('content');
Navigation::getDropdown('extends');
Navigation::getDropdown('system');
?>
</select>
</div>
<div class="hidden-phone hidden-tablet">
<h3><?php echo __('Content', 'pages'); ?></h3>
<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>
<!-- /Block_sidebar -->
@@ -96,10 +115,12 @@
<!-- Block_footer -->
<footer>
<p align="right">
<p class="pull-right">
<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://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; ?>
</span>
</p>

View File

@@ -17,3 +17,10 @@
/* Confirm delete */
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 -->
<?php Stylesheet::add('public/assets/css/bootstrap.css', 'backend', 1); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-responsive.css', 'backend', 2); ?>
<?php Stylesheet::add('admin/themes/default/css/default.css', 'backend', 3); ?>
<?php Stylesheet::add('public/assets/css/bootstrap-lightbox.css', 'backend', 2); ?>
<?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(); ?>
<!-- JavaScripts -->
<?php Javascript::add('public/assets/js/jquery.js', 'backend', 1); ?>
<?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(); ?>
<script type="text/javascript">
$().ready(function () {
@@ -66,7 +68,7 @@
<input class="input-xlarge" name="password" type="password" />
<br />
<?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>
</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
------------------------
- 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
------------------------
- Initial release
- Initial release

View File

@@ -39,7 +39,7 @@ class Monstra
/**
* The version of Monstra
*/
const VERSION = '2.1.3';
const VERSION = '2.2.1';
/**
* Monstra environment
@@ -113,9 +113,14 @@ class Monstra
* Set Gelato Display Errors to False for Production environment.
*/
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
*/
@@ -157,6 +162,9 @@ class Monstra
// Idiorm
'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
*/
if (Monstra::$environment == Monstra::DEVELOPMENT) {
// 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);
Monstra::cleanTmp();
}
/**
@@ -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
*

View File

@@ -32,6 +32,7 @@ class I18n
'el' => 'Ελληνικά',
'en' => 'English',
'es' => 'Español',
'fa' => 'Farsi',
'fi' => 'Suomi',
'fr' => 'Français',
'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');
// 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
// If plugin is active then load it to the system.

View File

@@ -96,7 +96,7 @@ class Stylesheet
}
}
$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;
}
@@ -120,7 +120,7 @@ class Stylesheet
}
}
$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;
}

View File

@@ -22,7 +22,7 @@ class Security
*
* @var string
*/
public static $token_name = 'security_token';
protected static $token_name = 'security_token';
/**
* 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
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 = Minify::html($buffer);
$buffer = MinifyHTML::process($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
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 = Minify::html($buffer);
$buffer = MinifyHTML::process($buffer);
file_put_contents(MINIFY . DS . 'theme.' . $current_theme . '.' . 'minify.index.template.php', $buffer);
}

View File

@@ -137,14 +137,11 @@ class Uri
// param1/param2
if ($uri[0] !== Uri::$default_component) {
if (isset($uri[1])) {
$data[0] = $uri[0];
$data[1] = $uri[1];
// Some more uri parts :)
// 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];
foreach ($uri as $part) {
$data[] = $part;
}
} else { // default
$data[0] = $uri[0];
}

View File

@@ -546,7 +546,7 @@ class Table
if ($order_by == 'id') {
$records[$count]['sort'] = (int) $vars['id'];
} else {
$records[$count]['sort'] = (string) $value;
$records[$count]['sort'] = (string) $vars[$order_by];
}
}
@@ -853,7 +853,7 @@ class Table
*/
protected static function _save($table)
{
$dom = new DOMDocument('1.0');
$dom = new DOMDocument('1.0', 'utf-8');
$dom->preserveWhiteSpace = false;
// 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.');
/**
* Report All Errors
*
* 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!
* Monstra requires PHP 5.2.3 or greater
*/
error_reporting(-1);
/**
* 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.");
if (version_compare(PHP_VERSION, "5.2.3", "<")) {
exit("Monstra requires PHP 5.2.3 or greater.");
}
/**
@@ -30,7 +21,16 @@ include ROOT . DS .'engine'. DS .'Monstra.php';
* Monstra::STAGING - The staging 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

View File

@@ -21,16 +21,6 @@ define('ROOT', rtrim(dirname(__FILE__), '\\/'));
define('BACKEND', false);
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
if (file_exists('install.php')) {
if (isset($_GET['install'])) {
@@ -71,7 +61,3 @@ if (file_exists('install.php')) {
// Flush (send) the output buffer and turn off output buffering
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('MONSTRA_ACCESS')) define('MONSTRA_ACCESS', true);
// Set default timezone
$system_timezone = date_default_timezone_get();
// Load bootstrap file
require_once(ROOT . DS . 'engine' . DS . '_init.php');
@@ -32,7 +29,7 @@
$dir_array = array('public', 'storage', 'backups', 'tmp');
// 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
if (Request::get('language')) {
@@ -77,6 +74,7 @@
'slogan' => __('Site slogan', 'system'),
'defaultpage' => 'home',
'timezone' => Request::post('timezone'),
'system_email' => Request::post('email'),
'theme_site_name' => 'default',
'theme_admin_name' => 'default'));
@@ -123,11 +121,9 @@
}
.install-languages {
margin: 0 auto;
float: none!important;
margin-bottom:5px;
padding-right:20px;
max-width: 300px;
margin: 0 auto 15px;
text-align: center;
width: 390px;
}
.install-block {
@@ -169,26 +165,54 @@
color: #F74C18;
}
.language-link {
color:#7A7A7C;
.install-languages a {
padding-left: 3px;
padding-right: 3px;
}
.language-link+.language-link:before {
color: #ccc;
content: ' | ';
.language-link img {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=30);
-moz-opacity:0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
}
.language-link:hover {
color:#000;
text-decoration: none;
.language-link-current img{
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
-moz-opacity:1.0;
-khtml-opacity: 1.0;
opacity: 1.0;
}
.language-link-current {
color:#000;
font-weight: 700;
.install-languages a img:hover {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
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>
<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>
<body class="install-body">
@@ -244,8 +268,8 @@
?>
<div class="install-languages">
<?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>
<?php foreach ($languages_array as $lang_code) { ?>
<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 } ?>
</div>
<div class="install-block">
@@ -264,10 +288,10 @@
<input type="hidden" name="backups" value="<?php echo $errors['backups']; ?>" />
<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')); ?>" />
<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); ?>" />
<br />
<label><?php echo __('Username', 'users'); ?></label>
@@ -443,9 +467,13 @@
</div>
</div>
<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>
</div>
</div>
<script type="text/javascript">
$('.language-link').tooltip();
</script>
</body>
</html>

View File

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

View File

@@ -58,7 +58,7 @@ class ClassLoader
/**
* Add class to mapping.
*
*
* <code>
* ClassLoader::mapClass('ClassName', 'path/to/class');
* </code>
@@ -74,7 +74,7 @@ class ClassLoader
/**
* Add multiple classes to mapping.
*
*
* <code>
* ClassLoader::mapClasses(array('ClassName' => 'path/to/class','ClassName' => 'path/to/class'));
* </code>
@@ -91,7 +91,7 @@ class ClassLoader
/**
* Adds a PSR-0 directory path.
*
*
* <code>
* ClassLoader::directory('path/to/classes');
* </code>
@@ -106,7 +106,7 @@ class ClassLoader
/**
* Registers a namespace.
*
*
* <code>
* ClassLoader::registerNamespace('Namespace', '/path/to/namespace/');
* </code>
@@ -122,9 +122,9 @@ class ClassLoader
/**
* Set an alias for a class.
*
*
* <code>
* ClassLoader::registerNamespace('ClassNameAlias', 'ClassName');
* ClassLoader::alias('ClassNameAlias', 'ClassName');
* </code>
*
* @access public
@@ -171,7 +171,7 @@ class ClassLoader
/**
* Autoloader.
*
*
* <code>
* ClassLoader::load();
* </code>
@@ -222,4 +222,15 @@ class ClassLoader
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
{
/**
* 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.
*
@@ -80,11 +99,35 @@ class ErrorHandler
* @param integer $line The line number where the error occurred
* @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 ((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
@@ -170,7 +213,7 @@ class ErrorHandler
if (isset($entry['file'])) {
$location['file'] = $entry['file'];
$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();
@@ -210,70 +253,54 @@ class ErrorHandler
public static function exception($exception)
{
try {
// Empty output buffers
// Empty output buffers
while(ob_get_level() > 0) ob_end_clean();
// Get exception info
$error['code'] = $exception->getCode();
$error['message'] = $exception->getMessage();
$error['file'] = $exception->getFile();
$error['line'] = $exception->getLine();
// Determine error type
if ($exception instanceof ErrorException) {
$error['type'] = 'ErrorException: ';
$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';
$error['type'] .= in_array($error['code'], array_keys(ErrorHandler::$levels)) ? ErrorHandler::$levels[$error['code']] : 'Unknown Error';
} else {
$error['type'] = get_class($exception);
}
// @todo Write to error log
/*if () {
Write here
}*/
// Write to log
Log::write("{$error['type']}: {$error['message']} in {$error['file']} at line {$error['line']}");
// Send headers and output
@header('Content-Type: text/html; charset=UTF-8');
if (GELATO_DISPLAY_ERRORS) {
if (GELATO_DEVELOPMENT) {
$error['backtrace'] = $exception->getTrace();
if ($exception instanceof ErrorException) {
$error['backtrace'] = array_slice($error['backtrace'], 1); //Remove call to error handler from backtrace
}
$error['backtrace'] = static::formatBacktrace($error['backtrace']);
$error['highlighted'] = static::highlightCode($error['file'], $error['line']);
$error['backtrace'] = self::formatBacktrace($error['backtrace']);
$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';
} else {
Response::status(500);
@header('HTTP/1.1 500 Internal Server Error');
include 'Resources/Views/Errors/production.php';
}
} catch (Exception $e) {
// Empty output buffers
while(ob_get_level() > 0) ob_end_clean();
echo $e->getMessage() . ' in ' . $e->getFile() . ' (line ' . $e->getLine() . ').';

View File

@@ -11,6 +11,16 @@
font-size:14px;
font-family:Verdana, Arial, Helvetica, "Nimbus Sans", FreeSans, Malayalam, sans-serif;
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 {
@@ -31,6 +41,13 @@
font-size:24px;
font-weight:700;
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 {

View File

@@ -18,22 +18,46 @@
/**
* 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 ?
*/
if ( ! defined('GELATO_DISPLAY_ERRORS')) {
define('GELATO_DISPLAY_ERRORS', true);
if ( ! defined('GELATO_DEVELOPMENT')) {
define('GELATO_DEVELOPMENT', true);
}
/**
* Display Gelato Autoloader or not ?
* Use Gelato Class Loader or not ?
*/
if ( ! defined('GELATO_AUTOLOADER')) {
define('GELATO_AUTOLOADER', true);
if ( ! defined('GELATO_CLASS_LOADER')) {
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
*/
@@ -42,12 +66,12 @@ require_once __DIR__ . '/ErrorHandler/ErrorHandler.php';
/**
* Set Error Handler
*/
set_error_handler('ErrorHandler::errorHandler');
set_error_handler('ErrorHandler::error');
/**
* Set Fatal Error Handler
*/
register_shutdown_function('ErrorHandler::fatalErrorHandler');
register_shutdown_function('ErrorHandler::fatal');
/**
* Set Exception Handler
@@ -76,7 +100,9 @@ ClassLoader::mapClasses(array(
'Html' => __DIR__.'/Html/Html.php',
'Image' => __DIR__.'/Image/Image.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',
'Number' => __DIR__.'/Number/Number.php',
'Registry' => __DIR__.'/Registry/Registry.php',
@@ -91,8 +117,8 @@ ClassLoader::mapClasses(array(
));
/**
* Register Gelato Autoloader
* Register Gelato Class Loader
*/
if (GELATO_AUTOLOADER) {
spl_autoload_register('ClassLoader::load');
if (GELATO_CLASS_LOADER) {
ClassLoader::register();
}

View File

@@ -28,6 +28,13 @@ class Html
'accept', 'tabindex', 'accesskey', 'alt', 'title', 'class',
'style', 'selected', 'checked', 'readonly', 'disabled',
);
/**
* The registered custom macros.
*
* @var array
*/
public static $macros = array();
/**
* 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);
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

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
- [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.
*
*
* <code>
* if (Registry::exists('var')) {
* // Do something...
@@ -44,7 +44,7 @@ class Registry
/**
* Registers a given value under a given name.
*
*
* <code>
* Registry::set('var', 'value');
* </code>
@@ -69,7 +69,7 @@ class Registry
/**
* Fetch an item from the registry.
*
*
* <code>
* $var = Registry::get('var', 'value');
* </code>

View File

@@ -22,7 +22,7 @@ class Token
*
* @var string
*/
public static $token_name = 'security_token';
protected static $token_name = 'security_token';
/**
* 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(
'backup' => array(
'Backups' => 'Backups',
'Backup date' => 'Backup Datum',
'Create backup' => 'Erstelle Backup',
'Backup' => 'Backup',
'Create Backup' => 'Erstelle Backup',
'Delete' => 'Löschen',
'storage' => 'Speicher',
'public' => 'Öffentliche',

View File

@@ -2,10 +2,10 @@
return array(
'backup' => array(
'Backups' => 'Backups',
'Backup date' => 'Backup date',
'Create backup' => 'Create backup',
'Delete' => 'Delete',
'Backups' => 'Backups',
'Backup Date' => 'Backup Date',
'Create Backup' => 'Create Backup',
'Delete' => 'Delete',
'storage' => 'storage',
'public' => 'public',
'plugins' => 'plugins',
@@ -14,4 +14,4 @@
'Delete backup: :backup' => 'Delete backup: :backup',
'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(
'backup' => array(
'Backups' => 'Backup',
'Backup date' => 'Backup',
'Create backup' => 'Crea backup',
'Backup' => 'Backup',
'Create Backup' => 'Crea Backup',
'Delete' => 'Elimina',
'storage' => 'dati',
'public' => 'pubblica',

View File

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

View File

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

View File

@@ -3,8 +3,8 @@
return array(
'backup' => array(
'Backups' => 'Бекапы',
'Backup date' => 'Бекап',
'Create backup' => 'Сделать бекап',
'Backup' => 'Бекап',
'Create Backup' => 'Сделать бекап',
'Delete' => 'Удалить',
'storage' => 'данные',
'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(
'backup' => array(
'Backups' => 'Bekapovi',
'Backup date' => 'Backup datum',
'Create backup' => 'Kreiraj Bekap',
'Backup' => 'Backup',
'Create Backup' => 'Kreiraj Bekap',
'Delete' => 'Obriši',
'storage' => 'lokacija arhive',
'public' => 'Javno',

View File

@@ -3,8 +3,8 @@
return array(
'backup' => array(
'Backups' => 'Бекапи',
'Backup date' => 'Бекап',
'Create backup' => 'Зробити бекап',
'Backup' => 'Бекап',
'Create Backup' => 'Зробити бекап',
'Delete' => 'Видалити',
'storage' => 'дані',
'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_public_folder') . ' ' . __('public', '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()
);
?>
@@ -23,7 +23,7 @@ $().ready(function(){$('[name=create_backup]').click(function(){$(this).button('
<table class="table table-bordered">
<thead>
<tr>
<th><?php echo __('Backup date', 'backup'); ?></th>
<th><?php echo __('Backup', 'backup'); ?></th>
<th><?php echo __('Size', 'backup'); ?></th>
<th></th>
</tr>

View File

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

View File

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

View File

@@ -7,11 +7,11 @@
'Delete' => 'Delete',
'Edit' => 'Edit',
'Name' => 'Name',
'Create new block' => 'Create new block',
'New block' => 'New block',
'Edit block' => 'Edit block',
'Create New Block' => 'Create New Block',
'New Block' => 'New Block',
'Edit Block' => 'Edit Block',
'Save' => 'Save',
'Save and exit' => 'Save and exit',
'Save and Exit' => 'Save and Exit',
'Actions' => 'Actions',
'Required field' => 'Required field',
'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',
'Delete' => 'Elimina',
'Edit' => 'Modifica',
'New block' => 'Nuovo blocco',
'Create new block' => 'Crea nuovo blocco',
'New Block' => 'Nuovo blocco',
'Create New Block' => 'Crea nuovo blocco',
'Name' => 'Nome',
'Edit block' => 'Modifica blocco',
'Edit Block' => 'Modifica blocco',
'Save' => 'Salva',
'Actions' => 'Azioni',
'Save and exit' => 'Salva ed esci',
'Save and Exit' => 'Salva ed esci',
'Required field' => 'Campo obbligatorio',
'This block already exists' => 'Tale blocco già esistente',
'This block does not exist' => 'Tale blocco non esiste',

View File

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

View File

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

View File

@@ -6,13 +6,13 @@
'Blocks manager' => 'Менеджер блоков',
'Delete' => 'Удалить',
'Edit' => 'Редактировать',
'New block' => 'Новый блок',
'Create new block' => 'Создать новый блок',
'New Block' => 'Новый блок',
'Create New Block' => 'Создать новый блок',
'Name' => 'Название',
'Edit block' => 'Редактирование блока',
'Edit Block' => 'Редактирование блока',
'Save' => 'Сохранить',
'Actions' => 'Действия',
'Save and exit' => 'Сохранить и выйти',
'Save and Exit' => 'Сохранить и выйти',
'Required field' => 'Обязательное поле',
'This block already exists' => 'Такой блок уже существует',
'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(
'blocks' => array(
'Blocks' => 'Blokovi',
'Blocks manager' => 'Menadžer blokova',
'Blocks manager' => 'Menadžer blokova',
'Delete' => 'Obriši',
'Edit' => 'Izmeni',
'Name' => 'Ime',
'Create new block' => 'Kreiraj novi blok',
'New block' => 'Novi blok',
'Edit block' => 'Izmeni blok',
'Save' => 'Sačuvaj',
'Save and exit' => 'Sačuvaj i izađi',
'Actions' => 'Akcije',
'Edit block' => 'Izmeni blok',
'Save' => 'Sačuvaj',
'Save and exit' => 'Sačuvaj i izađi',
'Actions' => 'Akcije',
'Required field' => 'Potrebno polje',
'This block already exists' => 'Ovaj Blok već 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.',
'Delete block: :block' => 'Obriši blok: :block',
'View Embed Code' => 'Vidi embed kod',
'Embed Code' => 'Embed Kod',
'Embed Code' => 'Embed Kod',
'Shortcode' => 'Kratak kod',
'PHP Code' => 'PHP kod',
)
);
);

View File

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

View File

@@ -5,7 +5,7 @@
<?php
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(
'Editor' => array(
'Editor' => 'Editor',
'Editor plugin' => 'Editor dodatak',
'Editor plugin' => 'Editor dodatak',
)
);
);

View File

@@ -8,21 +8,7 @@ $.monstra.filesmanager = {
showImage: function() {
$('.image').find('a').on('click', function() {
var src = $(this).attr('href');
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;
$('#previewLightbox').lightbox('show').find('img').attr('src', $(this).attr('rel'));
});
}
};

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(
'Files' => 'Fajlovi',
'Files manager' => 'Menadžer fajlova',
'Name' => 'Ime',
'Name' => 'Ime',
'Actions' => 'Akcije',
'Delete' => 'Obriši',
'Upload' => 'Dodaj',
'directory' => 'Direktorijum',
'Delete directory: :dir' => 'Obriši direktorijum: :dir',
'Delete directory: :dir' => 'Obriši direktorijum: :dir',
'Delete file: :file' => 'Obriši fajl :file',
'Extension' => 'Extenzija',
'Size' => 'Veličina',
)
);
);

View File

@@ -40,8 +40,8 @@
<thead>
<tr>
<th><?php echo __('Name', 'filesmanager'); ?></th>
<th><?php echo __('Extension', 'filesmanager'); ?></th>
<th><?php echo __('Size', 'filesmanager'); ?></th>
<th class="hidden-phone"><?php echo __('Extension', 'filesmanager'); ?></th>
<th class="hidden-phone"><?php echo __('Size', 'filesmanager'); ?></th>
<th></th>
</tr>
</thead>
@@ -55,7 +55,7 @@
</td>
<td>
<?php echo Number::byteFormat(Dir::size(UPLOADS . DS . $dir)); ?>
<!-- Dir Size -->
</td>
<td>
<div class="pull-right">
@@ -71,12 +71,16 @@
<?php if ( ! in_array($ext, $forbidden_types)) { ?>
<tr>
<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 class="hidden-phone">
<?php echo $ext; ?>
</td>
<td>
<td class="hidden-phone">
<?php echo Number::byteFormat(filesize($files_path. DS .$file)); ?>
</td>
<td>
@@ -92,12 +96,11 @@
</tbody>
</table>
<div id="showImage" class="modal hide fade">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3><?php echo __('Image:', 'filesmanager')?> <span></span></h3>
<div id="previewLightbox" class="lightbox hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class='lightbox-header'>
<button type="button" class="close" data-dismiss="lightbox" aria-hidden="true">&times;</button>
</div>
<div class="modal-body">
<p align="center"><img /></p>
<div class='lightbox-content'>
<img />
</div>
</div>

View File

@@ -19,7 +19,6 @@
'Security check results' => 'Sicherheits-Check Ergebnisse',
'The configuration file has been found to be writable. We would advise you to remove all write permissions on defines.php on production systems.' =>
'Die Konfigurationsdatei wurde als beschreibbar entdeckt. Wir empfehlen alle Schreibrechte für defines.php auf Produktionssystemen zu entfernen.',
'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>' =>
'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>' =>

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',
'System' => 'Sistem',
'on' => 'uključeno',
'off'=> 'isključeno',
'off'=> 'isključeno',
'Server' => 'Server',
'PHP version' => 'PHP Verzija',
'SimpleXML module' => 'SimpleXML modul',
@@ -17,9 +17,9 @@
'Installed' => 'Instalirano',
'Not Installed' => 'Nije instalirano',
'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.',
'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>',
'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>' =>
@@ -36,4 +36,4 @@
'Web Server' => 'Web Server',
'WebServer to PHP Interface' => 'WebServer to PHP Interface',
)
);
);

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@
'Delete' => 'Удалить',
'Order' => 'Порядок',
'Actions' => 'Действия',
'Create new item' => 'Создать новый пункт меню',
'Create New Item' => 'Создать новый пункт меню',
'New item' => 'Новый пункт меню',
'Item name' => 'Название',
'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(
'menu' => array(
'Menu' => 'Menu',
'Menu' => 'Menu',
'Menu manager' => 'Menu menadžer',
'Edit' => 'Izmeni',
'Name' => 'Ime',
@@ -24,4 +24,4 @@
'Select category' => 'Odaberi kategoriju',
'Required field' => 'Polje je potrebno',
)
);
);

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