Хак Upload dialog - автозакрытие

Тема в разделе "DLE", создана пользователем mishiko, 4 апр 2013.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. mishiko

    mishiko Создатель

    Регистр.:
    5 сен 2011
    Сообщения:
    285
    Симпатии:
    122
    1364999821_1359204192_upload_dialog.png

    Актуально для DLE 9.7 версии, в которой ввели функцию автоматического закрытия окна загрузчика при вставке картинок в текст новости.
    Например для меня это очень не удобно стало при оформлении новости. Кому это также не нужно как и мне то давайте это исправим :)

    Автор хака - http://0-web.ru/user/MSW/
    Ссылка на оригинал статьи - http://0-web.ru/dle/hack-dle/298-fix-upload-dialog-avtozakrytie.html

    Исправляется это довольно просто:
    Файл: /engine/ajax/upload.php
    найти и удалить:
    Код:
    parent.$('#mediaupload').dialog('close');
    чищаем кеш дле и браузера.
    Всё, теперь автоматически само окошко загрузчика не закрывается после вставки картинок в текст новости :)
     
    Последнее редактирование: 6 янв 2014
  2. ramzes13

    ramzes13 Постоялец

    Регистр.:
    23 мар 2007
    Сообщения:
    120
    Симпатии:
    2
    Прошу прощения,а мне нужно чтоб наоборот окно закрывалось после вставки файла автоматически,а то в 10.1 убрали я так понял эту фишку,после чего теперь нужно вставить parent.$('#mediaupload').dialog('close'); ,и ещё вопрос,когда хочешь вставить ссылку через визуальный редактор,раньше подсвечивались http://... ,а теперь просто горит,приходится несколько раз тыркать мышью шоп выделить или стерать каждый раз,очень неудобно,как это исправить?
    И последний вопрос,как сделать чтоб было как у булки (если это конечно возможно),когда заключаешь текст в bb коды,чтоб текст,который выделяешь,так и оставался выделенным,пока ты сам его не закончишь вставлять его в bb коды!!!
    СПАСИБО! Жду ответов от профессионалов!!!
     
  3. mishiko

    mishiko Создатель

    Регистр.:
    5 сен 2011
    Сообщения:
    285
    Симпатии:
    122
    чтоб автоматом закрылось то попробуй прописать
    Код:
    setTimeout(function(){$("#DialogWindowId").close();},3000);
    где: DialogWindowId - id диалогового окна, 3000 - 3 секунд.
     
  4. ramzes13

    ramzes13 Постоялец

    Регистр.:
    23 мар 2007
    Сообщения:
    120
    Симпатии:
    2
    а после каких строк это надо в файле вставить?
    а по поводу подсвечивания http://...
     
  5. mishiko

    mishiko Создатель

    Регистр.:
    5 сен 2011
    Сообщения:
    285
    Симпатии:
    122
    в /engine/ajax/upload.php

    на счет подсвечивания пока в голову не приходит
     
  6. ramzes13

    ramzes13 Постоялец

    Регистр.:
    23 мар 2007
    Сообщения:
    120
    Симпатии:
    2
    вот что получилось:

    Ну что,не правильно что сделал?
     

    Вложения:

    Последнее редактирование модератором: 6 янв 2014
  7. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.236
    Симпатии:
    666
  8. ugunis

    ugunis Создатель

    Регистр.:
    31 дек 2013
    Сообщения:
    10
    Симпатии:
    8
    в файле /engine/classes/js/bbcodes.js найти:
    Код:
    <input type='text' name='dle-promt-url' id='dle-promt-url' class='ui-widget-content ui-corner-all' style='width:97%; padding: .4em;' value='"+b+"'/>
    
    заменяем на:
    Код:
    <input type='text' name='dle-promt-url' onfocus='this.select()' id='dle-promt-url' class='ui-widget-content ui-corner-all' style='width:97%; padding: .4em;' value='"+b+"'/>
    то есть добавляем туда onfocus='this.select()', после этого "подсвечивание" будет работать.
    как вариант еще можно поставить onmouseenter='this.select()' или onclick='this.select()', в общем кому что нравится
     
    Последнее редактирование: 9 янв 2014
    ramzes13 нравится это.
  9. ramzes13

    ramzes13 Постоялец

    Регистр.:
    23 мар 2007
    Сообщения:
    120
    Симпатии:
    2
    Вот ЧЕЛОВЕК...Вот СПАСИБО!!! стопицот пилюсоф тебе!!! а на счёт автоЗАКРВЫВАНИЯ окна не посмотришь? ;)
     
  10. ugunis

    ugunis Создатель

    Регистр.:
    31 дек 2013
    Сообщения:
    10
    Симпатии:
    8
    В файле /engine/ajax/upload.php

    находим две строчки:
    Код:
    insertcontent( content );
    после каждой из них ставим:
    Код:
    parent.$('#mediaupload').dialog('close');
    окно будет закрываться автоматически.
     
    serega1994s и ramzes13 нравится это.