Skip to content

Commit fbf37ad

Browse files
committed
Версия 1.1.4
1 parent f3845b5 commit fbf37ad

File tree

21 files changed

+363
-109
lines changed

21 files changed

+363
-109
lines changed

administrator/components/com_quantummanager/config.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@
3939
<option value="0">JNO</option>
4040
</field>
4141

42+
<field name="dropareahidden"
43+
type="radio"
44+
label="COM_QUANTUMMANAGER_CONFIG_GENERAL_DROPAREAHIDDEN_LABEL"
45+
required="true"
46+
class="btn-group"
47+
default="0">
48+
<option value="1">JYES</option>
49+
<option value="0">JNO</option>
50+
</field>
51+
52+
4253
<field name="help"
4354
type="radio"
4455
label="COM_QUANTUMMANAGER_CONFIG_GENERAL_HELP_LABEL"

administrator/components/com_quantummanager/controllers/quantumviewfiles.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,20 @@ public function getMetaFile()
6363
$app = Factory::getApplication();
6464
$data = $app->input->getArray();
6565

66-
if(!isset($data['path']) || !isset($data['name']))
66+
if(!isset($data['path']))
6767
{
6868
$app->close();
6969
}
7070

71+
$name = '';
72+
73+
if(isset($data['name']))
74+
{
75+
$name = $data['name'];
76+
}
77+
7178
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
72-
echo QuantummanagerFileSystemLocal::getMetaFile($data['path'], $data['name']);
79+
echo QuantummanagerFileSystemLocal::getMetaFile($data['path'], $name);
7380

7481
$app->close();
7582
}
@@ -128,14 +135,19 @@ public function generatePreviewImage()
128135
try {
129136
$app = Factory::getApplication();
130137
$data = $app->input->getArray();
138+
$file = '';
131139

132-
if(!isset($data['path']) || !isset($data['file']))
140+
if(!isset($data['path']))
133141
{
134142
$app->close();
135143
}
136144

137145
$path = $data['path'];
138-
$file = $data['file'];
146+
147+
if(isset($data['file']))
148+
{
149+
$file = $data['file'];
150+
}
139151

140152
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
141153
QuantummanagerFileSystemLocal::generatePreviewImage($path, $file);

administrator/components/com_quantummanager/fields/quantumcombine.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,8 @@ public function getInput()
160160
}
161161

162162
}
163-
catch (Exception $e) {
163+
catch (Exception $e)
164+
{
164165
echo $e->getMessage();
165166
}
166167
}

administrator/components/com_quantummanager/fields/quantumviewfiles.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ protected function getLayoutPaths()
5252
*/
5353
protected function getLayoutData()
5454
{
55+
JLoader::register('QuantummanagerHelper', JPATH_SITE . '/administrator/components/com_quantummanager/helpers/quantummanager.php');
56+
5557
return array_merge(parent::getLayoutData(),
5658
[
5759
'directory' => $this->directory,

administrator/components/com_quantummanager/filesystem/local.php

Lines changed: 135 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ public static function upload()
238238
* @param $path
239239
* @param $file
240240
*
241+
* @return string
241242
*
242243
* @since version
243244
*/
@@ -247,104 +248,161 @@ public static function getMetaFile($path, $file)
247248
$path = QuantummanagerHelper::preparePath($path);
248249
$directory = JPATH_ROOT . DIRECTORY_SEPARATOR . $path;
249250
$filePath = $directory . DIRECTORY_SEPARATOR . $file;
250-
$meta = [
251-
'preview' => [
252-
'link' => 'index.php?' . http_build_query([
253-
'option' => 'com_quantummanager',
254-
'task' => 'quantumviewfiles.generatePreviewImage',
255-
'file' => $file,
256-
'path' => $sourcePath,
257-
'v' => rand(111111, 999999),
258-
])
259-
],
260-
'global' => [],
261-
'find' => [],
262-
];
251+
$meta = [];
263252

264253
if(file_exists($filePath))
265254
{
266-
$splitFile = explode('.', $file);
267-
$exs = mb_strtolower(array_pop($splitFile));
268255

269-
$globalInfo[] = [
270-
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILENAME'),
271-
'value' => implode('.', $splitFile),
272-
];
256+
if(is_file($filePath))
257+
{
258+
$meta = [
259+
'preview' => [
260+
'link' => 'index.php?' . http_build_query([
261+
'option' => 'com_quantummanager',
262+
'task' => 'quantumviewfiles.generatePreviewImage',
263+
'file' => $file,
264+
'path' => $sourcePath,
265+
'v' => rand(111111, 999999),
266+
])
267+
],
268+
'global' => [],
269+
'find' => [],
270+
];
273271

274-
$stat = stat($filePath);
275272

276-
if($stat !== false)
277-
{
278-
if(isset($stat['mtime']))
279-
{
280-
$globalInfo[] = [
281-
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILEDATETIME'),
282-
'value' => date(Text::_('DATE_FORMAT_LC5'), $stat['mtime'])
283-
];
273+
$splitFile = explode('.', $file);
274+
$exs = mb_strtolower(array_pop($splitFile));
275+
276+
$globalInfo[] = [
277+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILENAME'),
278+
'value' => implode('.', $splitFile),
279+
];
280+
281+
$stat = stat($filePath);
282+
283+
if ($stat !== false) {
284+
if (isset($stat['mtime'])) {
285+
$globalInfo[] = [
286+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILEDATETIME'),
287+
'value' => date(Text::_('DATE_FORMAT_LC5'), $stat['mtime'])
288+
];
289+
}
290+
291+
if (isset($stat['size'])) {
292+
$globalInfo[] = [
293+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILESIZE'),
294+
'value' => QuantummanagerHelper::formatFileSize((int)$stat['size'])
295+
];
296+
}
297+
284298
}
285299

286-
if(isset($stat['size']))
287-
{
300+
if (in_array($exs, ['jpg', 'jpeg', 'png', 'gif'])) {
301+
list($width, $height, $type, $attr) = getimagesize($filePath);
302+
288303
$globalInfo[] = [
289-
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILESIZE'),
290-
'value' => QuantummanagerHelper::formatFileSize((int)$stat['size'])
304+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_RESOLUTION'),
305+
'value' => $width . ' x ' . $height
291306
];
292307
}
293308

294-
}
295-
296-
if(in_array($exs, ['jpg', 'jpeg', 'png', 'gif']))
297-
{
298-
list($width, $height, $type, $attr) = getimagesize($filePath);
299309

300-
$globalInfo[] = [
301-
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_RESOLUTION'),
302-
'value' => $width . ' x ' . $height
303-
];
304-
}
305-
306-
if(in_array($exs, ['jpg', 'jpeg']))
307-
{
308310

311+
if (in_array($exs, ['jpg', 'jpeg'])) {
309312

310-
$tmp = exif_read_data($filePath);
311-
foreach ($tmp as $key => $section)
312-
{
313-
if(is_array($section))
313+
try
314314
{
315-
foreach ($section as $name => $val)
316-
{
317-
$meta['find'][] = [
318-
'key' => $key . '.' . $name,
319-
'value' => $val
320-
];
315+
$tmp = exif_read_data($filePath);
316+
foreach ($tmp as $key => $section) {
317+
if (is_array($section)) {
318+
foreach ($section as $name => $val) {
319+
$meta['find'][] = [
320+
'key' => $key . '.' . $name,
321+
'value' => $val
322+
];
323+
}
324+
} else {
325+
326+
if (!in_array(mb_strtolower($key), [
327+
'filename',
328+
'filedatetime',
329+
'filesize',
330+
'filetype',
331+
'mimetype',
332+
])) {
333+
$meta['find'][] = [
334+
'key' => $key,
335+
'value' => $section,
336+
];
337+
}
338+
339+
}
321340
}
322341
}
323-
else
342+
catch (Exception $e)
324343
{
325-
326-
if(!in_array(mb_strtolower($key), [
327-
'filename',
328-
'filedatetime',
329-
'filesize',
330-
'filetype',
331-
'mimetype',
332-
])) {
333-
$meta['find'][] = [
334-
'key' => $key,
335-
'value' => $section,
336-
];
337-
}
338-
344+
echo $e->getMessage();
339345
}
346+
340347
}
348+
349+
$meta['global'] = array_merge($meta['global'], $globalInfo);
350+
341351
}
352+
else
353+
{
342354

343-
$meta['global'] = array_merge($meta['global'], $globalInfo);
355+
$meta = [
356+
'preview' => [
357+
'link' => 'index.php?' . http_build_query([
358+
'option' => 'com_quantummanager',
359+
'task' => 'quantumviewfiles.generatePreviewImage',
360+
'file' => $file,
361+
'path' => $sourcePath,
362+
'v' => rand(111111, 999999),
363+
])
364+
],
365+
'global' => [],
366+
'find' => [],
367+
];
368+
369+
$splitDirectory = explode(DIRECTORY_SEPARATOR, $directory);
370+
$directoryName = array_pop($splitDirectory);
371+
$files = Folder::files($directory, '');
372+
$directories = Folder::folders($directory);
373+
$size = 0;
374+
375+
foreach($files as $file)
376+
{
377+
$size += filesize($directory . DIRECTORY_SEPARATOR . $file);
378+
}
379+
380+
$meta['global'] = [
381+
[
382+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_DIRECTORYNAME'),
383+
'value' => $directoryName
384+
],
385+
[
386+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_COUNTDORECTORIES'),
387+
'value' => count($directories)
388+
],
389+
[
390+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_COUNTFILES'),
391+
'value' => count($files)
392+
],
393+
[
394+
'key' => Text::_('COM_QUANTUMMANAGER_FILE_METAINFO_FILESSIZE'),
395+
'value' => QuantummanagerHelper::formatFileSize($size)
396+
]
397+
];
398+
399+
400+
}
344401

345402
}
346403

347-
return json_encode($meta);
404+
405+
return json_encode($meta, JSON_INVALID_UTF8_IGNORE);
348406

349407
}
350408

@@ -596,6 +654,11 @@ public static function generatePreviewImage($path, $file)
596654
$mediaIconsPath = 'media/com_quantummanager/images/icons/';
597655
$siteUrl = Uri::root();
598656

657+
if(empty($file))
658+
{
659+
$app->redirect($siteUrl . $mediaIconsPath . 'folder.svg');
660+
}
661+
599662
if(in_array($exs, ['jpg', 'jpeg', 'png', 'gif']))
600663
{
601664
JLoader::register('JInterventionimage', JPATH_LIBRARIES . DIRECTORY_SEPARATOR . 'jinterventionimage' . DIRECTORY_SEPARATOR . 'jinterventionimage.php');

administrator/components/com_quantummanager/language/en-GB/en-GB.com_quantummanager.ini

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ COM_QUANTUMMANAGER_CONFIG_GENERAL_MAXSIZE_LABEL="Maximum file size for downloadi
1212
COM_QUANTUMMANAGER_CONFIG_GENERAL_POSTFIX_LABEL="Add postfix to file names"
1313
COM_QUANTUMMANAGER_CONFIG_GENERAL_POSTFIX_DESC=""
1414
COM_QUANTUMMANAGER_CONFIG_GENERAL_METAFILE_LABEL="Meta tags for files"
15+
COM_QUANTUMMANAGER_CONFIG_GENERAL_DROPAREAHIDDEN_LABEL="Hide loading area <br/> There will be only a button"
1516
COM_QUANTUMMANAGER_CONFIG_GENERAL_HELP_LABEL="Show links to feedback"
1617
COM_QUANTUMMANAGER_CONFIG_GENERAL_MIMETYPE_LABEL="Allowed mime file types"
1718
COM_QUANTUMMANAGER_CONFIG_GENERAL_MIMETYPE_DESC=""
@@ -49,6 +50,10 @@ COM_QUANTUMMANAGER_ERROR_UPLOAD_ACCESS="Not allowed file type"
4950
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_DRAG_DROP="Drop files into download area"
5051
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_DROP="Drag and drop files to download"
5152
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_SELECT="Select on your device."
53+
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_ERROR_FILE="File "
54+
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_ERROR_MEGABITE=" megabyte."
55+
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_ERROR_MAXSIZE=" must not exceed "
56+
COM_QUANTUMMANAGER_FIELDS_QUANTUMUPLOAD_UPLOAD_ERROR_EXS=" must have an extension."
5257

5358
COM_QUANTUMMANAGER_FIELDS_QUANTUMVIEWFILES_LOADING="Download"
5459
COM_QUANTUMMANAGER_FIELDS_QUANTUMVIEWFILES_EMPTY="There are no files."
@@ -97,10 +102,15 @@ COM_QUANTUMMANAGER_FIELDS_QUANTUMCROPPERJS_LABEL_SAVE_RATIO="Save proportions"
97102
COM_QUANTUMMANAGER_HELP_QUESTIONS="Any questions?"
98103
COM_QUANTUMMANAGER_HELP_QUESTIONS_CREATE="Ask"
99104
COM_QUANTUMMANAGER_HELP_QUESTIONS_SHOW="View all"
105+
COM_QUANTUMMANAGER_HELP_AUTHOR="Contact with the author"
100106

101107
COM_QUANTUMMANAGER_WINDOW_CLOSE="Close"
102108
COM_QUANTUMMANAGER_WINDOW_INSERT="Insert file"
103109

110+
COM_QUANTUMMANAGER_FILE_METAINFO_DIRECTORYNAME="Folder Name"
111+
COM_QUANTUMMANAGER_FILE_METAINFO_COUNTDORECTORIES="Folders"
112+
COM_QUANTUMMANAGER_FILE_METAINFO_COUNTFILES="Files"
113+
COM_QUANTUMMANAGER_FILE_METAINFO_FILESSIZE="File Size"
104114
COM_QUANTUMMANAGER_FILE_METAINFO_FILENAME="File Name"
105115
COM_QUANTUMMANAGER_FILE_METAINFO_FILEDATETIME="Change Time"
106116
COM_QUANTUMMANAGER_FILE_METAINFO_FILESIZE="File Size"

0 commit comments

Comments
 (0)