On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • Всем привет! smiley Вот по рабочим делам надо было переписать стандартный файл менеджер, и что-то так сильно увлёкся, что 4 дня не отходил от компа) Решил выложить на ваш суд содеянное, ну а теперь несколько фактов о моём файл менеджере:

    1 ) Реализована множественная загрузка файлов;
    2 ) Для редактирования изображений интегрирован модуль PIXLR;
    3 ) Можно создавать изображения сразу через PIXLR;
    4 ) Возможность включения функций уменьшения закачиваемых изображений и создания картинок пред-просмотра (помимо этого файл менеджер ещё сам создаёт картинки пред-просмотра для себя);
    5 ) Возможность выбирать, какую именно картинку вставить в TinyMCE (маленькую/большую);
    6 ) Быстрый поиск по каталогу (JSON парсинг);
    7 ) 3 вида сортировки файлов (имя/размер/формат);
    8 ) 3 вида представления содержимого папки;
    9 ) Поддержка мультиязычности;
    10 ) Функция "JSON коллекция" - ссылки на выбранные файлы сохраняются в формат JSON. С помощью этого можно очень просто создавать мини фотогалереи или слайдшоу;
    11 ) Стильный дизайн в стиле Windows Aero;
    12 ) Весь интерфейс выполнен на технологии AJAJ, отсутствуют перезагрузки страниц в принципе;
    13 ) Почти все события в JS делегированы, поэтому тормозов не будет и на большом количестве файлов;
    14 ) Кнопка "обновить" - пересоздаёт все картинки пред просмотра, а также сжимает, если нужно картинки оригинала;
    15 ) Автоматическая транслитизация русских названий.

    Скрины:
    http://img841.imageshack.us/i/28918188.jpg/
    http://img375.imageshack.us/i/98490894.jpg/
    http://img294.imageshack.us/i/73148703.jpg/

    Установка: удалите всё из папочки /manager/media/browser/mcpuk/ и залейте туда содержимое папки BasicManager-1-0-0-9 beta

    Возможные проблемы:

    • Не вставляется изображение из TV - отключите плагин Show Image TVs или отключите опцию в mm_widget_showimagetvs(); в настройках плагина ManagerManager;
    • Не сохраняются настройки менеджера или настройки отображения - дайте права 0755 файлам user_config_manager.xml, user_config.xml, а также папке tmp;
    • Для сжатия картинок используется библиотека GD, так что могут быть проблемы при закачке больших картинок - используйте для закачки больших картинок PIXLR (создать->изображение).

    Замечание: Для работы необходима библиотека GD 2 и интерпретатор PHP 5+, не работает без Javascript. Написано для TinyMCE MODx. Тестил на MODx EVO 1.0.4. Ставим на свой страх и риск smiley

    В разработке использовались: Jquery 1.4.3, Uploadify 2.1.1, PIXLR, остальное написано мною.

    Если скрипт понравится, то буду продолжать его разработку.

    Ссылка на скрипт:
    Basic Manager 1.0.0.8
    Basic Manager 1.0.0.9 beta
    (если архив открывается в виде каракуль, то используйте download менеджер)

    ЗЫ: типы закачиваемых файлов, объём, а также настройки кодировки настраивается в настройках MODx.
      Basic Manager
      Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

      Я в контакте
    • wow amazing work. I will give this script a try-out very soon. Thanks for sharing smiley
        Martin Sanders - Design & Web Development
      • Спасибо за лестные слова)
        ЗЫ: как залил сразу багу нашёл smiley исправил и перезалил.

        UPD: нашёл ещё 2 ошибки, утром исправлю)
          Basic Manager
          Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

          Я в контакте
        • pixlr rocks!
            Rico
            Genius is one percent inspiration and ninety-nine percent perspiration. Thomas A. Edison
            MODx is great, but knowing how to use it well makes it perfect!

            www.virtudraft.com

            Security, security, security! | Indonesian MODx Forum | MODx Revo's cheatsheets | MODx Evo's cheatsheets

            Author of Easy 2 Gallery 1.4.x, PHPTidy, spieFeed, FileDownload R, Upload To Users CMP, Inherit Template TV, LexRating, ExerPlan, Lingua, virtuNewsletter, Grid Class Key, SmartTag, prevNext

            Maintainter/contributor of Babel

            Because it's hard to follow all topics on the forum, PING ME ON TWITTER @_goldsky if you need my help.
          • Супер! Спасибо за проделанную работу! Будет время, обязательно себе поставлю, попробую и буду пользоваться. Скриншоты впечетляют:)
            • Спасибо за тёплые слова! smiley Очень приятно smiley Через часок выложу очередной баг фикс, завтра планирую выложить Jquery плагин для создания мини фотогалерей на основе Json коллекций.

              UPD: Залил новую версию, список исправлений:
              1 ) Теперь если нужного языкового файла нету – грузится файл по умолчанию (english);
              2 ) Языковой css файл вынесен в папку languages;
              3 ) Изменён вид Json коллекции, теперь он имеет вид: {"Elements": [{"Src":"ссылка на элемент","Thumb":"это поле будет создано, если есть картинка пред-просмотра, ссылка на картинку"}];
              4 ) Исправлен баг при переходе между разделами.

              UPD: Добавил английский язык (english), поставил его по умолчанию, если нету другого языка. В силу того, что я ходил пить пиво в школе вместо уроков английского, перевод кривой, так что если кто-нибудь подправит - буду очень рад (нужно редактировать файлы english.php и english.js в папке languages)
              Google Translate smiley: Add english language (english), set it by default if no exists other language. Due to the fact that I was drink beer in school instead of English lessons, translation of the curve, so that if someone write up - will be very happy (you need to edit files english.js and english.php in folder "languages")
                Basic Manager
                Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

                Я в контакте
              • Вещь нужная жалко тока по UTF я в основном cp1251 использую.
                • Если оч нуно могу cp-1251 сделать, прост народ не проявляет активность и следовательно я тоже) Я делал в первую очередь для себя, но захотелось поделится smiley А так если кто ставил, пишите что понравилось/не понравилось, что хотелось бы добавить и т.д.

                  UPD: Сейчас я приведу простой пример использования Json коллекций. Допустим нам нужно сделать, чтобы изображения выводились в определённом блоке с прокруткой и по нажатию увеличивались. Я буду использовать JS-фреймворк Jquery и плагин к нему Lightbox. Подключаем все необходимые элементы к шаблону (скачать jquery и lightbox не составит труда), а затем в теге head пишем:

                  <script type="text/javascript">
                  $(function(){
                  	$("a[title='gallery']").each(function(){
                  		var result = '<div class="gallery">';
                  		var $this = $(this);
                  		$.getJSON($this.attr("href"), function(json){
                  			$.each(json.Elements, function(){
                  				result += '<a href="' + this.Src + '" rel="lightbox"><img src="' + this.Thumb + '" /></a>';
                  			});
                  			result += '</div>';
                  			$this.replaceWith(result);
                  			$(".gallery a").lightBox();	
                  		});
                  	});
                  });
                  </script>


                  Разбор полётов: $("a[title=’gallery’]") - я прописал селектор ко всем ссылка содержащие атрибут title = "gallery" (вы можете использовать любой другой селектор) то есть для того чтобы указать скрипту, что именно нужно заменить мы сделали привязку по атрибуту title. Далее скрипт считывает отдельно каждую ссылку, дёргает атрибут href и грузит асинхронно Json файл, а затем парсит его в нужный нам вид и заменяет ссылку.

                  Я дал контейнеру (div-y) изображений класс gallery и теперь в css вы можете легко настроить внешний вид (разумеется вы можете назвать класс по другому, и вообще использовать другой шаблон для парсинга).

                  Для того, чтобы вставить галерею в нужное нам место, нам просто нужно в TinyMCE в нужное нам место вставить ссылку на Json коллекцию и прописать атрибут title равным gallery (в русском переводе title отображается в настройках ссылки как "заголовок").

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

                  Это простейший вариант реализации, но он даёт общие понятия работы с Json коллекциями.
                    Basic Manager
                    Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

                    Я в контакте
                  • Думаю cp1251 будет актуально для многих, всегда приятно когда есть выбор или utf или cp1251
                    • Хорошо, сегодня залью cp1251 версию + исправление найденных ошибок
                        Basic Manager
                        Хочешь ускорить развитие Basic Manager? Хочешь создавать невероятно красивые фотогалереи и слайдшоу за 1 клик? Пожертвуй деньги на развитие плагина, WMR: R148348561691. Помни, что даже 50 рублей являются стимуляцией к разработке.

                        Я в контакте