1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.
  2. Уважаемые пользователи!

    Если Вы ищите исполнителя и Вам обещают выполнить работу, но при этом требуют предоплату, будьте осторожны. Администрация не советует связываться с людьми, не имеющими толком на этом форуме сообщений, репутации, портфолио.

    Судя по всему, не каждому данные вещи очевидны, поэтому просто напоминаем - будьте бдительны!

Нужен плагин для импорта данных из csv в mysql

Тема в разделе "Есть работа. Ищу специалиста. Оплату гарантирую", создана пользователем BLEF, 30.01.2014.

Загрузка
  1. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    При импорте, для каждой позиции должна создаваться отдельная тема, с информацией взятой из csv (в том числе изображений).
     
  2. MegaYoda

    MegaYoda Заблокирован

    Регистрация:
    21.12.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.2.4
    Если не ошибаюсь программ для импорта csv в mysql просто куча. Зачем вам именно модуль для xf?
    Дайте более развернутое тз, иначе не ясно что вы именно хотите.
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Он же прямо указал - "должна создаваться тема". И это должно происходить "при импорте". Таким образом подразумевается какая-то частая процедура импорта каких-то данных из csv. Все вполне понятно. А нюансы, как я понимаю, будут уже с конкретным исполнителем.
     
    butik и BLEF нравится это.
  4. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Спустя год, возвращаюсь к этой теме...

    Вообщем нужен плагин для импорта данных из csv в mysql.

    В целом, плагин должен работать так: при расширенном редактировании сообщения, должна высвечиваться кнопка, например "Импорт". Сперва загружаются изображения (через загрузку файлов), потом делается импорт csv в котором есть информация о описании к загруженным изображениям. Таблицы для описания уже имеются в другом плагине.

    Только не могу понять, как совместить загрузку изображений и описаний к ним. Ведь при загрузке меняется имя.
    Есть предложения?
     
    Последнее редактирование: 05.01.2015
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Имя загруженного файла сохраняется. Также сохраняется его хеш, размер, дата загрузки, размеры картинки и превью. Все это добро находится в таблице xf_attachment_data. По ключу data_id и хешу формируется имя файла. Файлы хранятся в раздельных папках, где цифра папки обозначает количество тысяч. То есть, к примеру, файл с data_id=12829 и хешем 98d8dd023adbf138343fd66c7285e5c3 будет в папке 12 с именем файла 12829-98d8dd023adbf138343fd66c7285e5c3.data.
    Кстати, я бы посоветовал загружать картинки не по отдельности, а архивом. Для сервера это не будет большой нагрузкой, зато время на загрузке для пользователя сильно экономится. Но, естественно, для этого придется самостоятельно написать данную процедуру.
    Импорт из csv я делал так:
    Код:
    ...
    $import = XenForo_Upload::getUploadedFile('import_csv');
    $import_name = $import->getFileName();
    $import_tmp_file = $import->getTempFile();
    
    if (($handle_f = fopen($import_tmp_file, "r")) === FALSE) {
          throw $this->getErrorOrNoPermissionResponseException(new XenForo_Phrase('file_not_found'));
    }
    
    $is_not_header = false;
    while ( ($data_f = $this->customfgetcsv($handle_f))!== FALSE) {
       if($is_not_header) {
          // строка данных
          $item1 = $data_f[0];
          ...
       } else {
          // заголовок
          $is_not_header = true;
       }
    ...
    protected function customfgetcsv(&$handle, $separator = ';'){
       if (($buffer = fgets($handle)) !== false) {
          $tmpArray = explode($separator, iconv("CP1251", "UTF-8", $buffer));
          foreach($tmpArray as $key => $value)
          {
             if(mb_substr($value,0,1) === '"')
             {
                $value = mb_substr($value,1);
             }
             if(mb_substr($value,-1,1) === '"')
             {
                $value = mb_substr($value, 0, -1);
             }
             $tmpArray[$key] = $value;
          }
          return $tmpArray;
       }
       return false;
    }
    
    С аттачами в посте будет немного по другому, но смысл тот же.
     
    butik, Mirovinger и BLEF нравится это.
  6. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Эх... ещё бы знать куда это пихать...)
    infis, может быть поможешь в создании плагина?
     
  7. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Кстати по поводу загрузки изображений архивом...
    Зачем заморачиваться с архивированием, если можно выделить сразу все изображения в папке (Ctrl+A), тем самым загрузив всё одним кликом.
     
  8. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Мультизагрузку организовать сложнее, чем распаковку архива.
    Да я и так уже пол-плагина выложил :)
    А вообще я занят. И, видимо, надолго.

    Если хотите написать что-то, то сначала определитесь, что, где и как будет выглядеть. Затем концепт хотя бы в общих чертах сформулируйте в виде ТЗ. А дальше будет проще. Я из-за отсутствия ТЗ, например, вместо месяца убил пол-года на написание дополнение. Более того, до сих пор появляются новые задачи, которые изначально в общем-то отсутствовали. Единственное, что радует, так это то, что заказчиком является моя жена :)
     
    butik, Romchik®, Kolya groza morey и 2 другим нравится это.
  9. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    ТЗ:

    На форуме установлено дополнение позволяющее добавлять название и описание к загруженным изображениям.

    Нужно сделать плагин позволяющий импортировать информацию о названии и описании изображений через csv - одним нажатием.

    Как должен работать плагин:

    1) При расширенном редактировании уже написанного сообщения, !!!с уже загруженными изображениями!!! - (тем самым с сохранёнными в таблицу именами файлов этих изображений). У пользователей/группы пользователей которым даны права на использование, - должна появляться кнопка "Импорт".

    2) При нажатии на кнопку, появляется окно в котором через обзор выбирается необходимый файл c расширением csv. (если есть возможность использовать для выполнения задачи и другие форматы файлов, например xls(x) - добавить в выбор и их).

    3) Файл csv будет иметь следующий формат: имя изображения, название, описание. Так как имя загруженных изображений уже сохранено в таблицу, при импорте должно происходить сопоставление с именами в csv.(не знаю играет ли роль, но можно сверять и с id сообщения в котором происходит редактирование). Для того, чтобы к нужному изображению добавлялись необходимые название и описание.

    4) Так выглядит таблица xf_attachment:

    1.png

    Как видно на скрине, название и описание добавляется в столбец estad_data в формате BLOB.
    Изображения загружены в разные сообщения.

    Сразу вопрос: возможно ли в дальнейшем добавить в поиск на форуме, информацию из BLOB?

    5) Для информации: в сообщении название выводится под изображением, а описание всплывает при наведении на него.
    Пробовал напрямую добавлять название и описание в базу, при помощи SQL Maestro - BLOB сохраняется, но информация не выводится в самом сообщении и в описании.

    Т.е. помимо сохранения в базу, вывода в сообщение, информация должна добавляться и в "описание вложения" (скрин), для последующего редактирования при надобности.

    Сейчас добавление происходит через эту кнопку:

    3.png
    4.png

    П.с... Обращался к автору дополнения, чтобы добавить функцию в этот плагин. Но у него толи времени нет, толи желания. Ответа не дождёшься.
    Как то так...

    Оцениваю эту работу в 1000р
    Оплата на QIWI

    Жду предложений.
     
    Последнее редактирование: 10.01.2015
  10. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Я не возьмусь за эту работу, так как просто нет времени. Но Вы пишите, что нужен плагин, хотя по смыслу нужно в существующий плагин добавить эту функцию. Это несколько разные вещи.
     
  11. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Я понимаю что разные.
    Я рассматриваю как вариант, изменение существующего плагина. Этот вопрос будет обсуждатья с исполнителем.
     
  12. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Все богатые?
     
  13. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    Простите, конечно, но наверное причина в сумме (по нынешним меркам курса и в целом заявленному техзаданию). Разработка аддонов под XF стоит на пару порядков выше, простейшие аддоны из 1 контроллера на офф. форуме за 20$ продают, а у вас задание несколько сложнее будет. Разработка подобного аддона у Brivium, Waindigo будет от 50$ и выше.
     
    butik, Kolya groza morey и BLEF нравится это.
  14. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Обоснованно.
    Поднимаю оплату до 2000 рублей...
     
    Последнее редактирование: 11.01.2015
  15. Alfacker

    Alfacker Заблокирован за кидалово

    Регистрация:
    27.12.14
    Сообщения:
    10
    Симпатии:
    0
    Версия XF:
    1.4.3
    Exile, писал тс уже, насчет цены. Он не согласился работать за 3 000 рублей. Мол это дорого, тоже сказал про курс доллара, но ему по барабану.
     
  16. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Верно, мне совершенно по..р на курс доллара. Как я вам написал в ЛС, я ценю рубль.
    От того что ваш доллар растёт, вы больше телодвижений пальцами не делаете.

    3000 - да, дорого. За эту работу.
    Всё зависит от аппетитов исполнителя. Кто-то пятак запросит, а кому-то работа до такой степени нравится, что скажет - "сколько не жалко..." к таким людям и отношение другое и трёшку не жалко дать.

    - кто работает по предоплате с недельной регистрацией и 1 сообщением на тот момент?

    И вообще, вы сюда написали чтобы смуту посеять? Не устраивает цена - ходим мимо...
     
    Последнее редактирование: 13.01.2015
  17. Alfacker

    Alfacker Заблокирован за кидалово

    Регистрация:
    27.12.14
    Сообщения:
    10
    Симпатии:
    0
    Версия XF:
    1.4.3
    Есть гаранты, для подобного. Вам все уже стараются объяснить, что вы очень занижаете цену и похоже ищите "лоха" - который бы вам сделал все за так.
     
  18. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    "Есть гаранты, для подобного" - ну ка поподробнее с этого места...

    Что-то я ни слова не увидел про гаранта. Быть может это вы лоха ищите?
    --- добавлено : 13 янв 2015 в 20:29 ---
    Да и на вопрос ответьте: вы считаете что человек, который выполнит эту работу, за эти деньги - лох?
     
    Последнее редактирование модератором: 21.01.2015
  19. Alfacker

    Alfacker Заблокирован за кидалово

    Регистрация:
    27.12.14
    Сообщения:
    10
    Симпатии:
    0
    Версия XF:
    1.4.3
    за две тысячи да. Я сказал что по предоплате, пошел бы дальше разговор мы бы решили как поступить. Но для вас цена ОГРОМНАЯ! Давай не разводить холивар. Копайся в своих финансовых проблемах сам. Я высказал свое мнение насчет твоего предложения, а так же считаю что 3 000 эта цена и-то маленькая. Удачи!
     
    Последнее редактирование модератором: 21.01.2015
  20. BLEF

    BLEF Местный

    Регистрация:
    01.02.12
    Сообщения:
    466
    Симпатии:
    56
    Послушай-ка меня теперь ты, сынок. Ты мне не брат, не сват, тыкать другим будешь...
    Холивар... это ты пришёл сюда и начал плакать...

    Ты видать не сталкивался с такими ситуациями, когда человек берётся за любую работу лишь бы заработать лишнюю копейку. И говорить что он лох, - нужно быть полным ********* и судя по твоим взглядам на жизнь, им ты и являешься.
    У тебя всё благополучно? Рад за тебя.

    И тебе не хворать...
     
    butik и Romchik® нравится это.

Поделиться этой страницей