Skip to content
Browse files

Merge branch '2.1/develop' of github.com:pyrocms/pyrocms into feature…

…/user-fields
  • Loading branch information...
2 parents 690a44f + a64e01d commit 6590678017f3da82f89a9cedb16d3d386dbfd9db @adamfairholm adamfairholm committed Mar 19, 2012
View
34 system/cms/migrations/082_Add_cloud_files.php
@@ -52,6 +52,37 @@ public function up()
),
));
+ // change some constraints
+ $this->dbforge->modify_column('files', array(
+ 'name' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => 100,
+ 'default' => ''
+ ),
+ ));
+
+ $this->dbforge->modify_column('files', array(
+ 'description' => array(
+ 'type' => 'TEXT'
+ ),
+ ));
+
+ $this->dbforge->modify_column('files', array(
+ 'mimetype' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => 100,
+ 'default' => ''
+ ),
+ ));
+
+ $this->dbforge->modify_column('file_folders', array(
+ 'name' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => 100,
+ 'default' => ''
+ ),
+ ));
+
$files = $this->file_m->select('id, filename')->get_all();
foreach ($files as $file)
@@ -66,10 +97,13 @@ public function down()
$this->db->where('slug', 'files_enabled_providers')->delete('settings');
$this->db->where('slug', 'files_s3_access_key')->delete('settings');
$this->db->where('slug', 'files_s3_secret_key')->delete('settings');
+ $this->db->where('slug', 'files_s3_url')->delete('settings');
$this->db->where('slug', 'files_cf_username')->delete('settings');
$this->db->where('slug', 'files_cf_api_key')->delete('settings');
$this->dbforge->drop_column('file_folders', 'location');
+ $this->dbforge->drop_column('file_folders', 'remote_container');
$this->dbforge->drop_column('files', 'path');
+ $this->dbforge->drop_column('files', 'download_count');
}
}
View
1 system/cms/modules/files/controllers/admin.php
@@ -35,6 +35,7 @@ public function __construct()
pyro.lang.full_size = '".lang('files:full_size')."';
pyro.lang.cancel = '".lang('buttons.cancel')."';
pyro.lang.synchronization_started = '".lang('files:synchronization_started')."';
+ pyro.lang.untitled_folder = '".lang('files:untitled_folder')."';
pyro.files = { permissions : ".json_encode(Files::allowed_actions())." };
</script>");
}
View
32 system/cms/modules/files/css/files.css
@@ -2,8 +2,9 @@
.item { height: 450px; overflow: hidden; }
.sidebar { width: 20%; }
section.two_third { width: 60%; }
-section.two_third .no_data { margin: 20px; }
+section.two_third .no_data { margin: 40px 20px 20px 20px; }
+.folders-sidebar .no_data { margin-right: 20px; }
.folders-sidebar { height: 450px; border-right: 1px solid #d8d8d8; overflow-x: hidden; overflow-y: auto; }
.folders-sidebar ul { padding-left: 15px !important; }
.folders-sidebar li a { width: 80%; padding: 6px 3px 6px 3px; cursor: pointer; font-size: 14px; display: inline-block; }
@@ -40,9 +41,7 @@ section.two_third .no_data { margin: 20px; }
.console .success { color: #52914D }
.console .failure { color: #B72C2C; }
.console .info { color: #354F68; }
-.console li div.success { width: 20px; height: 20px; margin-right: 5px; float: left; background: url(../img/glyphicons-halflings-gray.png) no-repeat -71px -95px; }
-.console li div.failure { width: 20px; height: 20px; margin-right: 5px; float: left; background: url(../img/glyphicons-halflings-gray.png) no-repeat -47px -94px; }
-.console li div.info { width: 20px; height: 20px; margin-right: 5px; float: left; background: url(../img/glyphicons-halflings-gray.png) no-repeat -119px -95px; }
+.console li i { margin-right: 5px; float: left; }
li.right-title { padding-left: 0; }
li.right-title label { padding-left: 10px; }
li.right-title input { margin-left: 20px; width: 83%; }
@@ -64,11 +63,13 @@ li.right-title, li.right-title label { font-size: 14px; font-weight: bold; font-
border: 2px dashed #d0d0d0;
margin: 20px auto 30px;
min-height: 100px;
+ color: #585858;
+ width: 99%;
}
#files-uploader label.upload {
position: absolute;
left: 50%;
- top: 50%;
+ top: 20%;
display: block;
width: 200px;
height: 30px;
@@ -95,18 +96,21 @@ li.right-title, li.right-title label { font-size: 14px; font-weight: bold; font-
display: inline-block;
vertical-align: top;
}
+#files-uploader-queue li > div * {
+ vertical-align: middle;
+}
#files-uploader-queue .file_upload_preview {
border: 1px solid #ccc;
}
#files-uploader-queue .file_upload_preview div {
- width: 80px;
+ width: 50px;
height: 30px;
border: 5px solid #fff;
overflow: hidden;
background: #fff;
}
#files-uploader-queue .file_upload_preview img {
- width: 80px;
+ width: 50px;
}
#files-uploader-queue .filename {
width: 100px;
@@ -127,10 +131,22 @@ li.right-title, li.right-title label { font-size: 14px; font-weight: bold; font-
}
#files-uploader-queue .file_upload_cancel select {
margin-right: 10px;
+ max-width: 90px;
}
#files-uploader-queue .file_upload_cancel input {
margin-right: 10px;
}
-#files-uploader-queue .file_upload_cancel .button {
+.file_upload_cancel div.start-icon {
margin-left: 5px;
+ width: 30px;
+ height: 30px;
+ background: url(../img/upload.png) no-repeat 0 0;
+ display: inline-block;
+}
+.file_upload_cancel div.cancel-icon {
+ margin-left: 5px;
+ width: 30px;
+ height: 30px;
+ background: url(../img/cancel.png) no-repeat 0 0;
+ display: inline-block;
}
View
6 system/cms/modules/files/css/jquery.fileupload-ui.css
@@ -108,17 +108,17 @@ form.file_upload button,
.file_upload_progress div {
width: 150px;
- height: 17px;
+ height: 22px;
}
.file_upload_overall_progress div {
width: 350px;
- height: 17px;
+ height: 22px;
}
.file_upload_progress div div,
.file_upload_overall_progress div div {
- height: 15px;
+ height: 22px;
}
.file_upload .file_name {
View
8 system/cms/modules/files/details.php
@@ -75,12 +75,12 @@ public function install()
'folder_id' => array('type' => 'INT', 'constraint' => 11, 'default' => 0,),
'user_id' => array('type' => 'INT', 'constraint' => 11, 'default' => 1,),
'type' => array('type' => 'ENUM', 'constraint' => array('a', 'v', 'd', 'i', 'o'), 'null' => true, 'default' => null,),
- 'name' => array('type' => 'VARCHAR', 'constraint' => 255,),
+ 'name' => array('type' => 'VARCHAR', 'constraint' => 100,),
'filename' => array('type' => 'VARCHAR', 'constraint' => 255,),
'path' => array('type' => 'VARCHAR', 'constraint' => 255, 'default' => ''),
- 'description' => array('type' => 'VARCHAR', 'constraint' => 255,),
+ 'description' => array('type' => 'TEXT',),
'extension' => array('type' => 'VARCHAR', 'constraint' => 5,),
- 'mimetype' => array('type' => 'VARCHAR', 'constraint' => 255,),
+ 'mimetype' => array('type' => 'VARCHAR', 'constraint' => 50,),
'width' => array('type' => 'INT', 'constraint' => 5, 'null' => true,),
'height' => array('type' => 'INT', 'constraint' => 5, 'null' => true,),
'filesize' => array('type' => 'INT', 'constraint' => 11, 'default' => 0,),
@@ -92,7 +92,7 @@ public function install()
'id' => array('type' => 'INT', 'constraint' => 11, 'auto_increment' => true, 'primary' => true,),
'parent_id' => array('type' => 'INT', 'constraint' => 11, 'null' => true, 'default' => 0,),
'slug' => array('type' => 'VARCHAR', 'constraint' => 100,),
- 'name' => array('type' => 'VARCHAR', 'constraint' => 50,),
+ 'name' => array('type' => 'VARCHAR', 'constraint' => 100,),
'location' => array('type' => 'VARCHAR', 'constraint' => 20, 'default' => 'local',),
'remote_container' => array('type' => 'VARCHAR', 'constraint' => 100, 'default' => '',),
'date_added' => array('type' => 'INT', 'constraint' => 11,),
View
BIN system/cms/modules/files/img/cancel.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN system/cms/modules/files/img/upload.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
158 system/cms/modules/files/js/functions.js
@@ -13,18 +13,21 @@ jQuery(function($){
if (results.message > '') {
switch (results.status) {
case true:
- status_class = 'success'
+ li_status_class = 'success';
+ status_class = 'icon-ok-sign';
break;
case false:
- status_class = 'failure';
+ li_status_class = 'failure';
+ status_class = 'icon-remove-sign';
break;
default:
- status_class = 'info';
+ li_status_class = 'info';
+ status_class = 'icon-info-sign';
break;
}
- $('.console-title').after('<li class="'+status_class+'">'+
- '<div class="'+status_class+'"></div>'+results.message+
+ $('.console-title').after('<li class="'+li_status_class+'">'+
+ '<i class="'+status_class+'"></i>'+results.message+
'</li>');
}
});
@@ -51,7 +54,13 @@ jQuery(function($){
});
}
});
- }
+ } else {
+ $('.console .search-results').append(
+ '<li>'+
+ '<div class="info"></div>'+
+ results.message+
+ '</li>');
+ }
})
} else {
$('.console .search-results').empty();
@@ -75,7 +84,7 @@ jQuery(function($){
***************************************************************************/
$('.folders-center').on('dblclick', '.folder', function(e){
// store element so it can be accessed the same as if it was right clicked
- pyro.files.$last_r_click = $(e.target);
+ pyro.files.$last_r_click = $(e.target).closest('li');
$('.context-menu-source [data-menu="open"]').trigger('click');
});
@@ -177,7 +186,11 @@ jQuery(function($){
break;
case 'new-folder':
- pyro.files.new_folder(pyro.files.current_level);
+ $('.no_data').fadeOut(100);
+ // jQuery insists on adding the folder before no_data is removed. So we force it to wait
+ setTimeout(function(){
+ pyro.files.new_folder(pyro.files.current_level)
+ }, 150);
break;
case 'rename':
@@ -257,18 +270,19 @@ jQuery(function($){
$.post(SITE_URL + 'admin/files/order', { order : order }, function(data){
var results = $.parseJSON(data);
if (results.status) {
- // synchronize the left sidebar
- var after_id = $(e.target).prev('li').attr('data-id');
- var moved_id = $(e.target).attr('data-id');
- if (after_id === undefined && $(moved_id).parent('.folders-sidebar')) {
+ // synchronize the folders in the left sidebar
+ var after_id = $(e.target).prevAll('li.folder').attr('data-id');
+ var moved = '[data-id="'+$(e.target).attr('data-id')+'"]';
+
+ if (after_id === undefined && $(moved).parent().is('.folders-sidebar')) {
$('.folders-sidebar [data-id="0"]')
- .after($('.folders-sidebar [data-id="'+moved_id+'"]'));
- } else if (after_id === undefined && $(moved_id).parent('ul')) {
- $(moved_id).parent('ul')
- .prepend($('.folders-sidebar [data-id="'+moved_id+'"]'));
+ .after($('.folders-sidebar '+moved));
+ } else if (after_id === undefined && $(moved).parent().is('ul')) {
+ $('.folders-sidebar '+moved).parent('ul')
+ .prepend($('.folders-sidebar '+moved));
} else {
$('.folders-sidebar [data-id="'+after_id+'"]')
- .after($('.folders-sidebar [data-id="'+moved_id+'"]'));
+ .after($('.folders-sidebar '+moved));
}
}
@@ -319,7 +333,7 @@ jQuery(function($){
uploadTable : $('#files-uploader-queue'),
downloadTable : $('#files-uploader-queue'),
previewSelector : '.file_upload_preview div',
- cancelSelector : '.file_upload_cancel button.cancel',
+ cancelSelector : '.file_upload_cancel div.cancel-icon',
buildUploadRow : function(files, index, handler){
var resize = '';
var type = files[index]['type'];
@@ -333,16 +347,17 @@ jQuery(function($){
'<input name="ratio" type="checkbox" value="1"/>';
}
// build the upload html for this file
- return $('<li><div class="file_upload_preview ui-corner-all"><div class="ui-corner-all preview-container"></div></div>' +
- '<div class="filename"><label for="file-name">' + files[index].name + '</label>' +
- '<input class="file-name" type="hidden" name="name" value="'+files[index].name+'" />' +
- '</div>' +
- '<div class="file_upload_progress"><div></div></div>' +
- '<div class="file_upload_cancel buttons buttons-small">' +
- resize+
- '<button class="button start ui-helper-hidden-accessible"><span>' + pyro.lang.start + '</span></button>'+
- '<button class="button cancel"><span>' + pyro.lang.cancel + '</span></button>' +
- '</div>' +
+ return $('<li>'+
+ '<div class="file_upload_preview ui-corner-all"><div class="ui-corner-all preview-container"></div></div>' +
+ '<div class="filename"><label for="file-name">' + files[index].name + '</label>' +
+ '<input class="file-name" type="hidden" name="name" value="'+files[index].name+'" />' +
+ '</div>' +
+ '<div class="file_upload_progress"><div></div></div>' +
+ '<div class="file_upload_cancel">' +
+ resize+
+ '<div title="'+pyro.lang.start+'" class="start-icon ui-helper-hidden-accessible"></div>'+
+ '<div title="'+pyro.lang.cancel+'" class="cancel-icon"></div>' +
+ '</div>' +
'</li>');
},
buildDownloadRow: function(results){
@@ -352,7 +367,7 @@ jQuery(function($){
}
},
beforeSend: function(event, files, index, xhr, handler, callBack){
- handler.uploadRow.find('button.start').click(function(){
+ handler.uploadRow.find('div.start-icon').click(function(){
handler.formData = {
name: handler.uploadRow.find('input.file-name').val(),
width: handler.uploadRow.find('[name="width"]').val(),
@@ -365,33 +380,20 @@ jQuery(function($){
});
},
onComplete: function (event, files, index, xhr, handler){
- handler.onCompleteAll(files);
- },
- onCompleteAll: function (files){
- if ( ! files.uploadCounter)
- {
- files.uploadCounter = 1;
- }
- else
- {
- files.uploadCounter = files.uploadCounter + 1;
- }
-
- if (files.uploadCounter === files.length)
- {
+ if (files.length == index + 1) {
$('#files-uploader a.cancel-upload').click();
}
}
});
$form.on('click', '.start-upload', function(e){
e.preventDefault();
- $('#files-uploader-queue button.start').click();
+ $('#files-uploader-queue div.start-icon').click();
});
$form.on('click', '.cancel-upload', function(e){
e.preventDefault();
- $('#files-uploader-queue button.cancel').click();
+ $('#files-uploader-queue div.cancel-icon').click();
$.colorbox.close();
});
@@ -405,7 +407,7 @@ jQuery(function($){
***************************************************************************/
pyro.files.new_folder = function(parent, name)
{
- if (typeof(name) === 'undefined') name = 'Untitled Folder';
+ if (typeof(name) === 'undefined') name = pyro.lang.untitled_folder;
var new_class = Math.floor(Math.random() * 1000);
// add an editable one to the right pane
@@ -414,8 +416,6 @@ jQuery(function($){
.removeClass('new-folder')
.addClass('folder folder-' + new_class);
- $('.no_data').fadeOut('fast');
-
var data
var post = { parent : parent, name : name };
@@ -432,25 +432,25 @@ jQuery(function($){
.html(results.data.name)
.removeClass('folder-' + new_class);
- $parent_li = $('.folders-sidebar [data-id="'+parent+'"]');
+ $parent_li = $('.folders-sidebar .folder[data-id="'+parent+'"]');
if (parent === 0 || $parent_li.hasClass('places')) {
// this is a top level folder, we'll insert it after Places. Not really its parent
- $parent_li.after('<li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><a href="#">'+results.data.name+'</a></li>');
+ $parent_li.after('<li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><div></div><a href="#">'+results.data.name+'</a></li>');
} else if ($parent_li.has('ul').length > 0) {
// it already has children so we'll just append this li to its ul
$parent_li.children('ul')
- .append('<li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><a href="#">'+results.data.name+'</a></li>');
+ .append('<li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><div></div><a href="#">'+results.data.name+'</a></li>');
} else {
// it had no children, we'll have to add the <ul> and the icon class also
- $parent_li.append('<ul><li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><a href="#">'+results.data.name+'</a></li></ul>');
+ $parent_li.append('<ul><li class="folder" data-id="'+results.data.id+'" data-name="'+results.data.name+'"><div></div><a href="#">'+results.data.name+'</a></li></ul>');
$parent_li.addClass('close');
}
// save its data locally
$(window).data('folder_'+results.data.id, results.data);
// now they will want to rename it
- pyro.files.$last_r_click = $('[data-id="'+results.data.id+'"]');
+ pyro.files.$last_r_click = $('.folder[data-id="'+results.data.id+'"]');
$('.context-menu-source [data-menu="rename"]').trigger('click');
$(window).trigger('show-message', results);
@@ -556,6 +556,10 @@ jQuery(function($){
$input.keyup(function(e){
if(e.which == 13) {
$input.trigger('blur');
+ } else {
+ if ($(this).val().length > 49) {
+ $(this).val($(this).val().slice(0, 50));
+ }
}
})
@@ -564,22 +568,30 @@ jQuery(function($){
var item_data;
post[type+'_id'] = $item.parent('li').attr('data-id');
post['name'] = $input.val();
+ var item_data = $(window).data(type+'_'+post['folder_id']);
- $.post(SITE_URL + 'admin/files/rename_'+type, post, function(data){
- var results = $.parseJSON(data);
- $(window).trigger('show-message', results);
+ if (item_data == undefined || item_data.name !== post['name']) {
+ if (item_data == undefined) {
+ var item_data = {};
+ }
- // update the local data
- item_data = $(window).data('folder_'+post['folder_id']);
- item_data.name = results.data.name;
- item_data.slug = results.data.slug;
- $(window).data('folder_'+item_data.id, item_data);
+ $.post(SITE_URL + 'admin/files/rename_'+type, post, function(data){
+ var results = $.parseJSON(data);
+ $(window).trigger('show-message', results);
- // remove the input and place the text back in the span
- $('[name="rename"]').parent().html(results.data.name);
- $('.folders-sidebar [data-id="'+post.folder_id+'"] a').html(results.data.name);
- $('.folder[data-id="'+post[type+'_id']+'"]').attr('data-name', results.data.name);
- })
+ // update the local data
+ item_data.name = results.data.name;
+ item_data.slug = results.data.slug;
+ $(window).data(type+'_'+item_data.id, item_data);
+
+ // remove the input and place the text back in the span
+ $('[name="rename"]').parent().html(results.data.name);
+ $('.folders-sidebar').find('[data-id="'+post.folder_id+'"] > a').html(results.data.name);
+ $('.'+type+'[data-id="'+post[type+'_id']+'"]').attr('data-name', results.data.name);
+ })
+ }
+
+ $('[name="rename"]').parent().html($('[name="rename"]').val());
})
}
@@ -622,16 +634,22 @@ jQuery(function($){
if (results.status && type == 'file') {
// delete locally
$(window).removeData('file_'+id);
- $('.folders-center [data-id="'+id+'"]').remove();
+ $('.folders-center .file[data-id="'+id+'"]').remove();
}
if (results.status && type == 'folder') {
// delete locally
$(window).removeData('folder_'+id);
// remove it from the left and right panes
- $('[data-id="'+id+'"]').remove();
+ $('.folder[data-id="'+id+'"]').remove();
// adjust the parents
- $('[data-id="'+current_level+'"] ul:empty').remove();
- $('[data-id="'+current_level+'"]').removeClass('open close');
+ $('.folder[data-id="'+current_level+'"] ul:empty').remove();
+ $('.folder[data-id="'+current_level+'"]').removeClass('open close');
+
+ // if they are trying it out and created a folder and then removed it
+ // then we show the no data messages again
+ if ($('.folders-center li').length == 0) {
+ $('.no_data').fadeIn('fast');
+ }
}
});
}
View
7 system/cms/modules/files/language/english/files_lang.php
@@ -30,7 +30,7 @@
$lang['files:places'] = 'Places';
$lang['files:back'] = 'Back';
$lang['files:forward'] = 'Forward';
-$lang['files:start'] = 'Start';
+$lang['files:start'] = 'Start Upload';
$lang['files:details'] = 'Details';
$lang['files:name'] = 'Name';
$lang['files:slug'] = 'Slug';
@@ -52,6 +52,7 @@
$lang['files:search_message'] = 'Type and hit Enter';
$lang['files:search'] = 'Search';
$lang['files:synchronize'] = 'Synchronize';
+$lang['files:uploader'] = 'Drop files here <br />or<br />Click to select files';
// Context Menu
$lang['files:open'] = 'Open';
@@ -64,7 +65,8 @@
// Folders
-$lang['files:no_folders'] = 'Files and folders are managed much like they would be on your desktop. Right click in the area below this message to create, edit, and delete files and folders.';
+$lang['files:no_folders'] = 'Files and folders are managed much like they would be on your desktop. Right click in the area below this message to create your first folder. Then right click on the folder to rename, delete, upload files to it, or change details such as linking it to a cloud location.';
+$lang['files:no_folders_places'] = 'Folders that you create will show up here in a tree that can be expanded and collapsed. Click on "Places" to view the root folder.';
$lang['files:no_folders_wysiwyg'] = 'No folders have been created yet';
$lang['files:new_folder_name'] = 'Untitled Folder';
$lang['files:folder'] = 'Folder';
@@ -86,6 +88,7 @@
$lang['files:enable_cdn'] = 'You must enable CDN for "%s" via your Rackspace control panel before we can synchronize';
$lang['files:synchronization_started'] = 'Starting synchronization';
$lang['files:synchronization_complete'] = 'Synchronization for "%s" has been completed';
+$lang['files:untitled_folder'] = 'Untitled Folder';
// Files
$lang['files:no_files'] = 'No files found';
View
107 system/cms/modules/files/language/greek/files_lang.php
@@ -0,0 +1,107 @@
+<?php defined('BASEPATH') OR exit('No direct script access allowed');
+
+/**
+ * PyroCMS
+ *
+ * An open source CMS based on CodeIgniter
+ *
+ * @package PyroCMS
+ * @author Jerel Unruh - PyroCMS Dev Team
+ * @license Apache License v2.0
+ * @link http://pyrocms.com
+ * @since Version 1.0-dev
+ * @filesource
+ */
+
+// General
+$lang['files:fetching'] = 'Ανάκτηση δεδομένων...';
+$lang['files:fetch_completed'] = 'Ολοκληρώθηκε';
+$lang['files:save_failed'] = 'Οι αλλαγές δεν ήταν δυνατό να αποθηκευτούν';
+$lang['files:item_created'] = 'Το "%s" δημιουργήθηκε';
+$lang['files:item_updated'] = 'Το "%s" ενημερώθηκε';
+$lang['files:item_deleted'] = 'Το "%s" διαγράφηκε';
+$lang['files:item_not_deleted'] = 'Το "%s" δεν ήταν δυνατό να διαγραφεί';
+$lang['files:item_not_found'] = 'Το "%s" δεν βρέθηκε';
+$lang['files:sort_saved'] = 'Η σειρά ταξινόμησης αποθηκεύτηκε';
+$lang['files:no_permissions'] = 'Δεν έχετε τα απαραίτητα δικαιώματα';
+
+// Labels
+$lang['files:activity'] = 'Ενέργειες';
+$lang['files:places'] = 'Τοποθεσίες';
+$lang['files:back'] = 'Πίσω';
+$lang['files:forward'] = 'Εμπρός';
+$lang['files:start'] = 'Εκκίνηση';
+$lang['files:details'] = 'Λεπτομέρειες';
+$lang['files:name'] = 'Όνομα';
+$lang['files:slug'] = 'Σύντομο όνομα';
+$lang['files:path'] = 'Διαδρομή';
+$lang['files:added'] = 'Ημερομηνία προσθήκης';
+$lang['files:width'] = 'Πλάτος';
+$lang['files:height'] = 'Ύψος';
+$lang['files:ratio'] = 'Αναλογία';
+$lang['files:full_size'] = 'Πλήρες Μέγεθος';
+$lang['files:filename'] = 'Όνομα αρχείου';
+$lang['files:filesize'] = 'Μέγεθος αρχείου';
+$lang['files:download_count'] = 'Αριθμός μεταφορτώσεων';
+$lang['files:download'] = 'Λήψη';
+$lang['files:location'] = 'Τοποθεσία';
+$lang['files:description'] = 'Περιγραφή';
+$lang['files:container'] = 'Container';
+$lang['files:bucket'] = 'Bucket';
+$lang['files:check_container'] = 'Έλεγχος Εγκυρότητας';
+$lang['files:search_message'] = 'Εισάγετε όρο & Enter';
+$lang['files:search'] = 'Αναζήτηση';
+$lang['files:synchronize'] = 'Συγχρονισμός';
+$lang['files:uploader'] = 'Drop files here <br />or<br />Click to select files'; #translate
+
+// Context Menu
+$lang['files:open'] = 'Άνοιγμα';
+$lang['files:new_folder'] = 'Νέος Φάκελος';
+$lang['files:upload'] = 'Ανέβασμα';
+$lang['files:rename'] = 'Μετονομασία';
+$lang['files:delete'] = 'Διαγραφή';
+$lang['files:edit'] = 'Επεξεργασία';
+$lang['files:details'] = 'Λεπτομέρειες';
+
+// Folders
+
+$lang['files:no_folders'] = 'Η διαχείριση αρχείων και φακέλων γίνεται περίπου όπως και στον υπολογιστή σας. Κάντε δεξί κλικ στην περιοχή κάτω από αυτό το μήνυμα για να δημιουργήσετε τον πρώτο σας φάκελο. Στην συνέχεια μπορείτε να τον μετονομάσετε, αν ανεβάσετε σε αυτόν αρχεία ή και να τροποποιήσετε τις λεπτομέρειές του όπως για παράδειγμα να τον συνδέσετε με μια τοποθεσία στο cloud.';
+$lang['files:no_folders_places'] = 'Folders that you create will show up here in a tree that can be expanded and collapsed. Click on "Places" to view the root folder.';
+$lang['files:no_folders_places'] = 'Οι φάκελοι που θα δημιουργήσετε θα εμφανίζονται εδώ σε διάταξη δένδρου που μπορείτε να αναπτύξετε ή να συμπτύξετε. Κάντε κλικ στο "Τοποθεσίες" για να δείτε το αρχικό επίπεδο.';
+$lang['files:no_folders_wysiwyg'] = 'Δεν έχουν δημιουργηθεί ακόμη φάκελοι';
+$lang['files:new_folder_name'] = 'Φάκελος Χωρίς Όνομα';
+$lang['files:folder'] = 'Φάκελος';
+$lang['files:folders'] = 'Φάκελοι';
+$lang['files:select_folder'] = 'Επιλέξτε έναν φάκελο';
+$lang['files:subfolders'] = 'Υποφάκελοι';
+$lang['files:root'] = 'Αρχικός';
+$lang['files:no_subfolders'] = 'Χωρίς υποφακέλους';
+$lang['files:folder_not_empty'] = 'Πρέπει πρώτα να διαγράψετε τα περιεχόμενα του "%s"';
+$lang['files:mkdir_error'] = 'Δεν ήταν δυνατό να δημιουργηθεί ο φάκελος που θα αποθηκεύονται οι μεταφορτώσεις. Πρέπει να τον δημιουργήσετε χειρονακτικά';
+$lang['files:chmod_error'] = 'Ο φάκελος αποθήκευσης των μεταφορτώσεων δεν είναι εγγράψιμος. Πρέπει να έχει δικαιώματα 0777';
+$lang['files:location_saved'] = 'Η τοποθεσία του φακέλου σας αποθηκεύτηκε';
+$lang['files:container_exists'] = 'Το "%s" υπάρχει. Αποθηκεύστε για να συνδεθούν τα περιεχόμενά του με αυτόν τον φάκελο';
+$lang['files:container_not_exists'] = 'Το "%s" δεν υπάρχει στον λογαριασμό σας. Αποθηκεύστε και θα προσπαθήσουμε να το δημιουργήσουμε';
+$lang['files:error_container'] = 'Το "%s" δεν ήταν δυνατό να δημιουργηθεί και ο λόγος δεν μπορεί να προσδιοριστεί';
+$lang['files:container_created'] = 'Το "%s" δημιουργήθηκε και πλέον είναι συνδεδεμένο με αυτόν τον φάκελο';
+$lang['files:unwritable'] = 'Το "%s" δεν είναι εγγράψιμο, ορίστε τα δικαιώματά του σε 0777';
+$lang['files:specify_valid_folder'] = 'Πρέπει να ορίσετε έναν έγκυρο φάκελο όπου θα ανέβει και το αρχείο';
+$lang['files:enable_cdn'] = 'Πρέπει να ενεργοποιήσετε το CDN για "%s" μέσα από την περιοχή ελέγχου του Rackspace προτού να μπορείτε να συγχρονίσετε';
+$lang['files:synchronization_started'] = 'Εκκίνηση συγχρονισμού';
+$lang['files:synchronization_complete'] = 'Ο συγχρονισμός του φακέλου "%s" ολοκληρώθηκε';
+
+// Files
+$lang['files:no_files'] = 'Δεν βρέθηκαν αρχεία';
+$lang['files:file_uploaded'] = 'Το "%s" ανέβηκε';
+$lang['files:unsuccessful_fetch'] = 'Δεν ήταν δυνατό να πάρουμε το "%s". Είσαστε σίγουροι ότι είναι ένα δημόσια προσβάσιμο αρχείο;';
+$lang['files:invalid_container'] = 'Το "%s" δεν φαίνεται να είναι ένα έγκυρο container.';
+$lang['files:no_records_found'] = 'Δεν ήταν δυνατό να βρεθούν εγγραφές';
+$lang['files:invalid_extension'] = 'Το "%s" έχει μια μη αποδεκτή επέκταση αρχείου';
+$lang['files:upload_error'] = 'Η μεταφόρτωση του αρχείου απέτυχε';
+$lang['files:description_saved'] = 'Η περιγραφή του αρχείο αποθηκεύτηκε';
+$lang['files:file_moved'] = 'Το "%s" μεταφέρθηκε με επιτυχία';
+$lang['files:type_a'] = 'Ήχος';
+$lang['files:type_v'] = 'Video';
+$lang['files:type_d'] = 'Έγγραφο';
+$lang['files:type_i'] = 'Εικόνα';
+$lang['files:type_o'] = 'Άλλο';
View
29 system/cms/modules/files/language/greek/help_lang.php
@@ -0,0 +1,29 @@
+<?php defined('BASEPATH') OR exit('No direct script access allowed');
+
+// inline help html. Only 'help_body' is used.
+$lang['help_body'] = "
+<h4>Γενικά</h4><hr>
+<p>Το πρόσθετο Αρχεία παρέχει άριστη διαχείριση των αρχείων που χρησιμοποιούνται στον ιστότοπο.
+Εδώ αποθηκεύονται όλες οι εικόνες που εισάγονται σε σελίδες, σε γκαλερί και αναρτήσεις.
+Εικόνες για χρήση σε σελίδες μπορούν να ανέβουν είτε απευθείας από τον επεξεργαστή WYSIWYG, ή μπορείτε να τις ανεβάσετε εδώ και να τις εισάγετε μέσω WYSIWYG.</p>
+
+<h6>Διαχείριση Φακέλων</h6>
+<p>Αφού δημιουργήσετε έναν ή περισσότερου φακέλους στο αρχικό επίπεδο μπορείτε να δημιουργήσετε όσους υποφακέλους σας χρειάζονται. Όπως: blog/images/screenshots/image.jpg και pages/audio/sample.mp3.
+Τα ονόματα των φακέλων είναι μόνο για εσωτερική χρήση, το όνομα δεν εμφανίζεται στους συνδέσμους λήψης στον ιστότοπο.
+Για να επεξεργαστείτε έναν φάκελο, επιλέξτε Διαχείριση Φακέλων στην αριστερή στήλη και μετά κάντε κλικ στο Επεξεργασία στον αντίστοιχο φάκελο που θέλετε να τροποποιήσετε.</p>
+
+<h6>Διαχείριση Αρχείων</h6>
+<p>Για να διαχειριστείτε αρχεία επιλέξτε το όνομα του φακέλου στην αριστερή στήλη. Αν το αρχείο βρίσκεται σε κάποιον υποφάκελο απλά επιλέξτε τον φάκελο που ανήκει.
+Εφόσον βρίσκεστε στον φάκελο αυτό, μπορείτε να επιλέξετε τον υποφάκελο και να φιλτράρετε κατά τύπο αρχείου με τα αναδυόμενα μενού στην πάνω μεριά της οθόνης.
+Εφόσον βρίσκεστε στον επιθυμητό φάκελο μπορείτε να ανεβάσετε αρχεία πατώντας το κουμπί Ανέβασμα δίπλα από το πεδίο Φίλτρων.
+Σημειώστε ότι υπάρχουν δύο τρόποι να δείτε τα αρχεία σας: Λίστα και Πλέγμα. Η Λίστα προβάλλει τα αρχεία και τις λεπτομέρειές τους ενώ το Πλέγμα θα προβάλλει μια μικρογραφία των εικόνων.</p>
+
+<h6>Ανέβασμα Αρχείων</h6>
+<p>Αφότου κάνετε κλικ στο κουμπί Ανέβασμα ενώ βρίσκεστε στον επιθυμητό φάκελο, θα δείτε ένα διάλογο για το ανέβασμα αρχείων.
+Μπορείτε να προσθέσετε αρχεία είτε σέρνοντάς και αφήνοντάς τα στο πεδίο Ανέβασμα Αρχείων ή απλώς να κάνετε κλικ στο πεδίο αυτό και να διαλέξετε τα αρχεία από τον υπολογιστή σας χρησιμοποιώντας το σύνηθες παράθυρο διαλόγου.
+Τα επιλεγμένα αρχεία θα προβάλλονται σε λίστα στο κάτω μέρος της οθόνης.
+Τότε μπορείτε είτε να διαγράψετε τα αρχεία που δεν χρειάζεστε ή αν είσαστε ικανοποιημένοι να πατήσετε το Ανέβασμα για να ξεκινήσει η διαδικασία μεταφόρτωσης.
+Αν κάποια μεταφόρτωση δεν είναι επιτυχής, ελέγξτε το μέγεθος των αρχείων. Πολλοί hosts δεν επιτρέπουν το ανέβασμα αρχείων που είναι μεγαλύτερα από 2MB.
+Πολλές νέες φωτογραφικές μηχανές μπορούν να παράξουν αρχεία μεγαλύτερα από 5MB.
+Για να τακτοποιήσετε αυτόν τον περιορισμό μπορείτε είτε να ζητήσετε από τον host σας να σας αλλάξει το όριο για το ανέβασμα των αρχείων ή απλώς να σμικρύνετε τις εικόνες σας προτού τις ανεβάσετε.
+Η σμίκρυνση των εικόνων έχει το επιπρόσθετο αποτέλεσμα των γρηγορότερων μεταφορτώσεων.</p>";
View
14 system/cms/modules/files/language/greek/permission_lang.php
@@ -0,0 +1,14 @@
+<?php defined('BASEPATH') OR exit('No direct script access allowed');
+
+// Files Permissions
+$lang['files.role_wysiwyg'] = 'Διαχείριση Αρχείων Μέσω WYSIWYG';
+$lang['files.role_upload'] = 'Ανέβασμα Αρχείων';
+$lang['files.role_download_file'] = 'Λήψη Αρχείων';
+$lang['files.role_edit_file'] = 'Επεξεργασία Αρχείων';
+$lang['files.role_delete_file'] = 'Διαγραφή Αρχείων';
+
+$lang['files.role_create_folder'] = 'Δημιουργία Φακέλων';
+$lang['files.role_set_location'] = 'Ρύθμιση Παρόχου Cloud';
+$lang['files.role_synchronize'] = 'Συγχρονισμός Με το Cloud';
+$lang['files.role_edit_folder'] = 'Επεξεργασία Φακέλων';
+$lang['files.role_delete_folder'] = 'Διαγραφή Φακέλων';
View
6 system/cms/modules/files/libraries/Files.php
@@ -349,7 +349,7 @@ public static function upload($folder_id, $name = FALSE, $field = 'userfile', $w
$config['height'] = $height;
ci()->image_lib->initialize($config);
ci()->image_lib->resize();
- $this->image_lib->clear();
+ ci()->image_lib->clear();
}
$file_id = ci()->file_m->insert($data);
@@ -848,7 +848,7 @@ public static function search($search, $limit = 5)
return self::result(TRUE, NULL, NULL, $results);
}
- return self::result(FALSE, NULL, NULL, $results);
+ return self::result(FALSE, lang('files:no_records_found'));
}
// ------------------------------------------------------------------------
@@ -962,6 +962,8 @@ public static function error_handler($e_number, $error)
**/
protected static function create_slug($name)
{
+ $name = convert_accented_characters($name);
+
return strtolower(preg_replace('/-+/', '-', preg_replace('/[^a-zA-Z0-9]/', '-', $name)));
}
View
16 system/cms/modules/files/views/admin/index.php
@@ -6,6 +6,10 @@
<section class="sidebar">
<ul class="folders-sidebar">
<li class="folder places" data-id="0"><a href="#"><?php echo lang('files:places') ?></a></li>
+ <?php if ( ! $folders) : ?>
+ <li class="no_data"><?php echo lang('files:no_folders_places'); ?></li>
+ <?php endif; ?>
+
<?php if ($folder_tree) : ?>
<?php foreach ($folder_tree as $folder): ?>
<li class="folder"
@@ -24,11 +28,11 @@
</section>
<section class="two_third">
- <ul class="folders-center pane">
- <?php if ( ! $folders) : ?>
- <div class="no_data"><?php echo lang('files:no_folders'); ?></div>
- <?php endif; ?>
- </ul>
+ <?php if ( ! $folders) : ?>
+ <div class="no_data"><?php echo lang('files:no_folders'); ?></div>
+ <?php endif; ?>
+
+ <ul class="folders-center pane"></ul>
<ul class="context-menu-source">
<li data-applies-to="folder" data-menu="open"><?php echo lang('files:open'); ?></li>
@@ -60,7 +64,7 @@
<div class="files-uploader-browser">
<?php echo form_open_multipart('admin/files/upload'); ?>
- <label for="file" class="upload"><?php echo lang('files:upload'); ?></label>
+ <label for="file" class="upload"><?php echo lang('files:uploader'); ?></label>
<?php echo form_upload('file', NULL, 'multiple="multiple"'); ?>
<?php echo form_close(); ?>
<ul id="files-uploader-queue" class="ui-corner-all"></ul>
View
4 system/cms/themes/pyrocms/css/workless/application.css
@@ -478,9 +478,9 @@ footer {
background: #333333;
border-top: 1px solid #ececec;
width: 100%;
- min-height: 50px;
+ min-height: 60px;
color: #eeeeee;
- margin-top: -100px;
+ margin-top: -61px;
padding: 0;
float: left;
text-shadow: 0 -1px 0 #000000;
View
8 system/cms/themes/pyrocms/css/workless/responsive.css
@@ -417,6 +417,14 @@
margin: 3px 18px 0 18px;
}
+ footer p {
+ padding: 0px;
+ margin: 0px;
+ line-height: 60px;
+ width: 60%;
+ vertical-align: middle;
+ }
+
.alert {
width: 995px;
}

0 comments on commit 6590678

Please sign in to comment.
Something went wrong with that request. Please try again.