Форум русской поддержки Joomla!® CMS
05.12.2016, 18:32:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Элемент "file upload" + имя пользователя

 (Прочитано 3054 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« : 20.06.2012, 11:48:53 »

Здравствуйте!
есть проблема
    -Сделал форму для загрузки файла на сайт в папку /upload/имя_пользователя
    -Создал элемент "file upload" в Upload Directory указал /upload/{$my->name}
Fabrik 2.0
Доступ к форме таблице и элементам для зарегистрированных пользователей

папка {$my->name} не создается все падает в upload хотя регистрация проходит 100%,
{$my->id} выдает 0 как будто не пользователь не зареген. Sad

...и еще в форме {$my->name} выводится нормально
...опытным путём выяснилось что включенном AJAX upload папка {$my->name} не создается
...обновил элемент, терь с включенным AJAX работает!
...но все файлы (точнее те что имеют название на кирилице) на сервак попадают с именами типа  _________________.pdf
« Последнее редактирование: 21.06.2012, 16:58:02 от tlsea » Записан
ovenm
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101


Мы все сможем, если захотим


« Ответ #1 : 22.06.2012, 11:44:19 »

Я тожу с этим  возился. Нужна транслитерация в латиницу
Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #2 : 22.06.2012, 11:56:30 »

вот нашел где переименовывается
/components/com_fabrik/plugins/element/fabrikfileupload/adaptors/filesystemstorage.php

    $filename_o = preg_replace( '#[^a-zA-Z0-9_\-\.]#', '_', $filename);

сделал чтоб в форме имя файла (с включенным AJAX Upload) сохранялось на русском,
но на сервак файл попадает с исправленным/изковерканнным именем (похоже апач бьет кодировку)
.htaccess c CharsetDisable on  и  CharsetRecodeMultipartForms Off не помогли
Записан
ovenm
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101


Мы все сможем, если захотим


« Ответ #3 : 22.06.2012, 13:34:39 »

utf 8 надобно везде, чтоб было

сравни код со своим, может поможет

function createFolder($path)
   {
      if (JFolder::create($path)) {
         return $this->createIndexFile($path);
      }
      return false;
   }

   function clean($path)
   {
      return JPath::clean($path);
   }

   function cleanName($filename, $repeatCounter)
   {
      // replace any non-alnum chars (except _ and - and .) with _
      $filename_o = preg_replace( '#[^a-zA-Z0-9_\-\.]#', '_', $filename);
      // $$$peamak: add random filename
      $params =& $this->getParams();
      if ($params->get('random_filename') == 1) {
         $length = $params->get('length_random_filename');
         $key = "";
         $possible = "0123456789bcdfghjkmnpqrstvwxyzBCDFGHJKLMNPQRTVWXYZ";
         $i = 0;
         while ($i < $length) {
            $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
            $key .= $char;
            $i++;
         }
         $file_e = JFile::getExt($filename_o);
         $file_f = preg_replace('/.'.$file_e.'$/', '', $filename_o);
         $filename = $file_f.'_'.$key.'.'.$file_e;
      } else {
         $filename = $filename_o;
      }
      return $filename;
   }
« Последнее редактирование: 22.06.2012, 13:44:46 от ovenm » Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #4 : 27.06.2012, 14:46:02 »

Еще вопрос про File upload:
    Как сделать кликабельным название файла при включенном AJAX (опция Link to file = Да не помогает)
Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #5 : 30.06.2012, 17:38:59 »

Еще вопрос про File upload:
    Как сделать кликабельным название файла при включенном AJAX (опция Link to file = Да не помогает)
Где не кликабельно? В списке или в форме?
Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #6 : 03.07.2012, 18:19:57 »

не кликабельно в форме вот тут >>


*Сори большая картинка получилась

И еще замечен глюк: если в списке (в форме) уже есть файлы (например 3) то еще один не прикрепляется  Angry
« Последнее редактирование: 03.07.2012, 18:49:52 от tlsea » Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #7 : 03.07.2012, 22:42:46 »

Делаем такой хак:

в файле \plugins\fabrik_element\fileupload\fileupload.js

находим

var filename = new Element('div', {
       'class' : 'plupload_file_name'
}).adopt([ new Element('span').set('text', file.name ), new Element('div', {
       'class' : 'plupload_resize',
       style : 'display:none'
}).adopt(a) ]);


меняем на

var filename = new Element('div', {
        'class' : 'plupload_file_name'
}).adopt([ new Element('a',{'href' : file.url, 'class' : 'plupload_file_url' }).set('text', file.name), new Element('div', {
        'class' : 'plupload_resize',
        style : 'display:none'
}).adopt(a) ]);

в файле \plugins\fabrik_element\fileupload\lib\plupload\css\plupload.queue.css

добавляем

a.plupload_file_url {
    background: none !important;
}


или копируем прикрепленные файлы в соответствующие папки ..
(zip распаковываем предварительно)

[вложение удалено Администратором]
Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #8 : 03.07.2012, 22:46:27 »

И еще замечен глюк: если в списке (в форме) уже есть файлы (например 3) то еще один не прикрепляется  Angry

В настройках элемента правим Max files на необходимое кол-во.
Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #9 : 04.07.2012, 18:08:10 »

Спасибо тебе, добрый человек, за хак!

ЗЫ: Я как выяснилось не в ту сторону вообще копал Azn

Видимо хак был для другой версии потому как у меня названия и расположения фалов немного отличались Azn

Рискуя показаться наглым, но 4-ый файл не прикрепляется все равно при макс файлс = 10 (Run times   = html5 )
« Последнее редактирование: 04.07.2012, 18:14:19 от tlsea » Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #10 : 04.07.2012, 18:31:49 »

Рискуя показаться наглым, но 4-ый файл не прикрепляется все равно при макс файлс = 10 (Run times   = html5 )
А какое нибудь сообщение есть по поводу "не прикрепления"?
Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #11 : 05.07.2012, 09:20:38 »

никакой реакции от браузера (опытным путём замечено что файлы прикрепляются до тех пор пока не зарыта форма, после повторного открытия формы с прикрепленными файлами/ом файл не прикрепляется)

и еще одна проблемка - после хака файлы из списка формы по нажатию зелёной галочки перестали удалятся (та же картинка сверху)

 Sad
« Последнее редактирование: 05.07.2012, 12:35:56 от tlsea » Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #12 : 05.07.2012, 14:14:53 »

никакой реакции от браузера (опытным путём замечено что файлы прикрепляются до тех пор пока не зарыта форма, после повторного открытия формы с прикрепленными файлами/ом файл не прикрепляется)

и еще одна проблемка - после хака файлы из списка формы по нажатию зелёной галочки перестали удалятся (та же картинка сверху)

 Sad

посмотрю сегодня... этот AJAX upload у них сыроватый еще ... 
Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #13 : 05.07.2012, 18:49:20 »

спасибо за помощь в любом случае  Cheesy
Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #14 : 05.07.2012, 23:50:52 »

 Smiley
Держи!
Вернул span.

var filename = new Element('div', {
                  'class' : 'plupload_file_name'
               }).adopt([ new Element('span').adopt(new Element('a',{'href' : file.url, 'class' : 'plupload_file_url' }).set('text', file.name)), new Element('div', {
                  'class' : 'plupload_resize',
                  style : 'display:none'
               }).adopt(a) ]);

Пока разбирался, обнаружил еще проблему -
если удалить из списка еще не загруженные файлы - остается активной кнопка - start upload ...
И при сохранении формы - просит сохранить файлы которых в списке нет ..

P.S. В архиве два файла


[вложение удалено Администратором]
« Последнее редактирование: 05.07.2012, 23:55:27 от pirks » Записан
tlsea
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8



« Ответ #15 : 06.07.2012, 10:02:58 »

Спасибо!  Cheesy Приятно иметь дело с профи!
Записан
pirks
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 115


« Ответ #16 : 06.07.2012, 11:39:36 »

С кнопкой Start Upload разобрался, но остался такой баг:

Если добавить файл в список и нажать Start Upload, а потом удалить его из списка и сохранить форму, то файл удаляется,
но при открытии формы мы видим его в списке, и ссылку на файл которого нет.
Если удалить файл из списка, до его загрузки, то,  все ОК.

Следы ведут в fileupload.php ...

Записан
Gorilla
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #17 : 02.03.2016, 12:10:10 »

Спасибо большое, за некоторые решения, очень помогли, хотя все равно, не совсем то что хотелось. Удалось сделать так чтобы запись происходила в папку автора, в которой автоматически создается папка с датой загрузки и уже в нее записываются все файлы загрузки  Yes! Но также хотелось решить еще одну проблему, например, если я как редактор захожу под своим логином и паролем и удаляю файлы, а потом записываю (использую id), то они записываются в папку с моим id, а хотелось бы чтобы в папку именно автора.

Может кто знает как решить другие проблемы при загрузке файлов, если добавлять zip файлы то невозможно добавить zip файл более 1 Мб, как сделать больше, в php.ini и в настройках медиа менеджера стоит 20Мб? Также проблема с удалением, если удаляю запись, то файлы в папке, а также пути в базе данных  все равно остаются, как это можно исправить?
« Последнее редактирование: 02.03.2016, 20:40:26 от Gorilla » Записан
Gorilla
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #18 : 03.03.2016, 13:40:57 »

Удалось решить проблему с zip архивами (можно загружать любого размера, лишь бы почта позволяла столько отсылать и памяти хватало). Осталось проблема записи в нужную папку при редактировании редактором и почему не удаляются файлы с сервера и в базе данных. Вроде и людей много кто работал в этом компоненте и никто ничего не пишет
Записан
Gorilla
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #19 : 03.03.2016, 21:52:16 »

Проблема с удалением файлов решена
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet