Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

0 Пользователей и 1 Гость просматривают эту тему.
  • 63 Ответов
  • 2762 Просмотров
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #30 : 28.10.2016, 10:38:47 »
Филипп Сорокин:
Вы меня тоже извините. Спасибо за совет!
dmitry_stas:
Попробую, спасибо заранее!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #31 : 28.10.2016, 10:43:20 »
dmitry_stas: Спасибо! Работает! Вопрос с регуляркой конечно остается открытым... ибо хотелось бы оба варианта иметь "про запас".
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #32 : 28.10.2016, 10:55:23 »
Ну как? Культурно распарсить DOM, затем пройтись по скриптам, и также их распарсить.
зачем проходиться циклом, если парсинг нужного делается одной строкой без цикла?

Код
$files = json_decode(explode(';', explode('window.MODULE_CONFIG = ', $str)[1], 2)[0])->modules->clean->init_react->components[0]->props->contents->files;
сделает все, что нужно. потом делайте

foreach($files as $file){
   $href=$file->href;//ссылка
   $size=round($file->bytes/1024/1024,1);//размер
}
и выводите данные
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #33 : 28.10.2016, 16:53:16 »
Та нафиг тогда этот DOM придумали и циклы? Будем тяпляпом фигачить непойми как. Это по-нашему.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #34 : 28.10.2016, 16:59:05 »
Филипп, вы просто так, поговорить? :) DOM придумали для доступа к элементам дерева. циклы - когда надо обойти что то, что нужно либо все сразу, либо одно, но к чему нет прямого доступа. а когда нужно одно, к нему есть прямой доступ, и плюс к этому это "что то" не является элементом дерева, то "тяпляпом фигачить непойми как" - это использовать DOM вместе с циклом :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #35 : 28.10.2016, 18:11:33 »
Циклы и используют после получения коллекции элементов, что в JS, что и в других языках, которые поддерживают DOM. Но я не спорю :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #36 : 28.10.2016, 18:18:02 »
Но я не спорю :)
не, ну почему же? истина же интересна :) просто я либо не пойму вашей задумки, либо оно ну ни чуть не легче :) циклы это понятно. но... вот нашли вы допустим искомый элемент (скрипт) в дереве (что тоже вопрос - как нашли? проверяя что?). а дальше? регуляркой вырезаете кусок самого скрипта? покажите полностью решение.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

fsv

  • Живу я здесь
  • 2785
  • 413 / 2
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #37 : 28.10.2016, 18:18:21 »
Парсить. Регулярки. То работает, то не работает. А будет ли дальше работать на других ссылках?
API есть. Я понимаю, что
Есть почти готовое решение, проблема чуть поправить регулярку. А Вы предлагает всё заново начинать? Совсем нет времени. Это правда.
, но учитывая, что за 3,5 недели не сделали, можно было бы доки почитать и сделать нормально.
P.S. с API DropBox не работал, сейчас мельком взглянул, могу ошибаться, но вопрос решаемый.
Веб-разработка: заказ. Только новая разработка.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #38 : 28.10.2016, 18:23:49 »
API есть
ну это само собой самое верное решение. и в конечном итоге однозначно надо сделать так, когда во временем попроще будет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #39 : 28.10.2016, 20:14:30 »
Цитировать
не, ну почему же? истина же интересна Azn просто я либо не пойму вашей задумки

Всё то же самое, что писал Роберт, только поэтапно и через более надёжный метод DOM, который специально для этого предназначен. Затем, конечно же, содержимое элементов обрабатывается регулярками. И без JSON. Какой в нём смысл, если определить границы JSON-строки нереально? На точку с запятой ориентироваться? Так её может и не быть вовсе, или же она может присутствовать внутри JSON. Тогда обломушки.

Собственно, я бы сделал так:

Код: php
$dom = new DOMDocument;
$dom->loadHTML(file_get_contents('https://www.dropbox.com/sh/aev1ky5bjbk8cef/Eq9fDTTyZp'));
$scripts = $dom->getElementsByTagName('script');
$links = array();
foreach ($scripts as $script) {
    if(!empty($script->nodeValue) && preg_match_all('#"href"\s*:\s*"([^"]+)"#is', $script->nodeValue, $matches))
    {
        $links[] = $matches[1];
    }
}
var_dump($links);
« Последнее редактирование: 28.10.2016, 20:39:19 от Филипп Сорокин »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #40 : 28.10.2016, 21:05:27 »
Цитировать
Так её может и не быть вовсе
так тут чего угодно может не быть или не стать :) с таким успехом и href может через время не стать, поменяют структуру, и так далее. как сказал fsv единственное что будет хоть как то более менее долгоиграющее - это юзать API. а без него остается только работать с тем, что есть на данный момент.

в общем ладно :) для себя лично профита не увидел - имхо цикл лишний, регулярок 100500 штук, но может кому то больше понравится.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #41 : 28.10.2016, 21:23:04 »
Цитировать
юзать API
Золотые слова. Отблагодарим fsv репой :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #42 : 28.10.2016, 21:33:18 »
согласен :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #43 : 30.10.2016, 08:07:54 »
Прошу ещё немного помощи.
В Вашем коде:
Код
$files = json_decode(explode(';', explode('window.MODULE_CONFIG = ', $str)[1], 2)[0])->modules->clean->init_react->components[0]->props->contents->files;
Ругается на одном хостинге:
Код
Parse error: syntax error, unexpected '[' in ...php on line ...
На 3х остальных хостингах работает отлично!
Что может быть? Есть универсальное решение?
:)
Спасибо заранее за помощь!
« Последнее редактирование: 30.10.2016, 08:59:46 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #44 : 30.10.2016, 08:31:16 »
не понимает массив explode()[]. php версия не подходит, ниже чем нужно. по переменным explode разнести надо

Код
$str = explode('window.MODULE_CONFIG = ', $str);
$str = explode(';', $str[1], 2);
$files = json_decode($str[0])->modules->clean->init_react->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #45 : 30.10.2016, 09:05:36 »
Спасибо! Будем надеяться, что поймёт. ;-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #46 : 18.11.2016, 05:29:52 »
Dropbox опять поменял код. Коллеги, помогите, пожалуйста ещё раз поправить:
https://www.dropbox.com/sh/aev1ky5bjbk8cef/Eq9fDTTyZp
Пробовал менять код на:
Код
       $str = explode('mod.initialize_module', $str);
       $files = json_decode($str[0])->components[0]->props->contents->files;
Не помогает.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #47 : 18.11.2016, 08:10:14 »
А что в var_dump($str[0]); получается?
А вообще лучше всего воспользоваться https://www.dropbox.com/developers/documentation/http/documentation
« Последнее редактирование: 18.11.2016, 08:18:19 от Arkadiy »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #48 : 18.11.2016, 09:46:37 »
вроде бы
Код
$str = explode('mod.initialize_module(', $str);
$str = explode(')', $str[1], 2);
$files = json_decode($str[0])->modules->clean->init_react->components[0]->props->contents->files;

но вообще, как уже и говорили, это будет постоянно. надо принимать стратегическое решение перехода на API :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #49 : 18.11.2016, 09:58:40 »
Arkadiy:
Я ошибся. Надо $str[1], Такой код:
Код
       $str = explode('mod.initialize_module', $str);
В $str[1] заносит:
Цитировать
({"components": [{"module_name": "modules/clean/react/shared_link_folder/app", "install_hot_reloading_attrs": false, "props": {"fileViewTarget": 1, "showSyncCoachmark": false, "activityContext": 1, "openImmediatelyInApp": false, "accountMenuOptions": {"accountPhotoUrl": null, "showProUpgradeLink": false, "showBusinessUpgradeLink": false, "isPagelet": false, "showNameOnButton": true, "showProGiftingLink": false, "isMaestroDesign": false, "isToolbarAccountPhotoEnabled": false}, "folderShareToken": {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "music", "isPackage": false, "subPath": "", "secureHash": "Eq9fDTTyZp"}, "fileViewOrigin": 16, "membershipRequestOptions": null, "user": null, "folderSharedLinkInfo": {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAh0-dAGBcFoiSzUKQBU9Zra?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, "folderSharePermission": {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, "folder": {"open_in_app_data": null, "is_dir": true, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAh0-dAGBcFoiSzUKQBU9Zra?dl=0", "shared_folder_id": null, "filename": "music"}, "takedownRequestType": null, "contents": {"files": [{"beacon_context": "AAAi0KAWXIcpEOmiB3-fz8JQFN2wImea1Po", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABuk3EGJBK5KDaJRPaEZWEba/Avicii_-_Levels.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAWA", "is_dir": false, "filename": "Avicii_-_Levels.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/JNgff7Sa9VDW9nOrkkKxZCVaP4PSQtn02MpMCVSzCkVfi6xsqU1v5nNLXbKbCcMX/file?dl=0", "bytes": 5342591, "ts": 1343275200, "preview_type": "audio", "sjid": 600, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AACKWEs_2soW_86uFxDWYRhbOZGnQ2MRAUg", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABFNLda_o8FbKHMPdna9I0za/Elka_-_Na_bolshom_vozdushnom_share.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVw", "is_dir": false, "filename": "Elka_-_Na_bolshom_vozdushnom_share.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/y4bX3ddlyPkRJEp1pFif5EoQP54EucC9qkoEoln7aIosQ3RFHCF6TVnMfkIAcWnG/file?dl=0", "bytes": 7703274, "ts": 1343275413, "preview_type": "audio", "sjid": 601, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABNug88BxPMeWVvTT9hZ8F97MytPTws5xU", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAClbr7-M-MhQLH8W0iw6e8va/Fly_project_-_Musica.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVg", "is_dir": false, "filename": "Fly_project_-_Musica.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/VoFHOXwvIJRH0Z63MPExR37Tz8mSqxTspMahx4VP8kVK7Vr1DQCkI7YcgACQMCBG/file?dl=0", "bytes": 8773280, "ts": 1343275612, "preview_type": "audio", "sjid": 602, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADSY3-2HCt4d9jgweUPDtlDVFt4tARTg8I", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACiK9iSmHZEsSm2udEgsb1oa/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVQ", "is_dir": false, "filename": "Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/UKs42PzhXwBbbLRhntJqRTlwmF5H0ubBfETC87MPvgreXMwSUUQlDhs2NMSsYjtG/file?dl=0", "bytes": 8054350, "ts": 1343275796, "preview_type": "audio", "sjid": 603, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABmN52qlgbg5nokiqNeLaLhh-S22QqOeMo", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADL6Fzzl2KR8UM79LR8HHKKa/Michel_Telo_-_Barabarabara_bereberebere.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVA", "is_dir": false, "filename": "Michel_Telo_-_Barabarabara_bereberebere.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/V2RJTSIt1cM3e7Gk9yxcIE81VVRRAMWS5bfbldKThkb1T66nTdtA5524Uu4stjxX/file?dl=0", "bytes": 7100800, "ts": 1343278355, "preview_type": "audio", "sjid": 604, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AAASkLdMB8Nh-BHg7jVD7X5NsJ-IcEmFyLM", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAhLbTZZ89aU-FoITwkk85Ya/Quest_Pistols_-_Ty_tak_krasiva.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUw", "is_dir": false, "filename": "Quest_Pistols_-_Ty_tak_krasiva.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/cqNc7sqGYTZYBcrk00khJEdUqF04J52EaubCYTYtFLdQmQ9q8EmNPT0oPARKRzf8/file?dl=0", "bytes": 6939435, "ts": 1343278697, "preview_type": "audio", "sjid": 605, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADmwOWGWMPM5Q9fHEsUx_nX1PQWrD4zEc0", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADW-_YrNqY1OK8qz_qElKy1a/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUg", "is_dir": false, "filename": "Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/3ps63d6IFSQPLIKPA2OP5tgzYQWkeEY4fiyf0BPepP8PCNLOrqB3uzLc9jOzKdQp/file?dl=0", "bytes": 6037277, "ts": 1343278849, "preview_type": "audio", "sjid": 606, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABIwWycm2tBL_yJg0PegXY79342MZl0NAo", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABZtc3Cllei6ICPEEMSxt7ca/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUQ", "is_dir": false, "filename": "Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/HDIS7gEHWTJr8xBIyn49BIa8Zl8J5jcNxsEPwxu6kxOsR4VzuS18oDH271m7yJpp/file?dl=0", "bytes": 8432413, "ts": 1343279071, "preview_type": "audio", "sjid": 607, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AAD6PQigzQf0P8egGRnnuxmXZYvfQLT5rpQ", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACoEi4uj50D_w9hdNaDS1qua/Wonder_Girls_-_Nobody.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUA", "is_dir": false, "filename": "Wonder_Girls_-_Nobody.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/atlDHJBywqGLed4fLMRQtBPT5vHoPDHpLdCrwtm7w0N3Pa4N1rKjx0lH5nLJvrfg/file?dl=0", "bytes": 8604053, "ts": 1343279319, "preview_type": "audio", "sjid": 608, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADlFqkeXFGuM9y2E30K7AYRO0GPqK2nHYk", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABzEaLDdEg-LKxm5AbzCpj7a/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAATw", "is_dir": false, "filename": "Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/nc8F7EEcpq80eTItu9B4C4dLo2daxpagIZs2ilHRCkh0KUANTzdXboYW3xVyezLi/file?dl=0", "bytes": 10830272, "ts": 1343279586, "preview_type": "audio", "sjid": 609, "thumbnail_url_tmpl": null, "ns_id": 73437149}], "folders": [], "fileSharedLinkInfos": [{"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABuk3EGJBK5KDaJRPaEZWEba/Avicii_-_Levels.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABFNLda_o8FbKHMPdna9I0za/Elka_-_Na_bolshom_vozdushnom_share.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAClbr7-M-MhQLH8W0iw6e8va/Fly_project_-_Musica.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACiK9iSmHZEsSm2udEgsb1oa/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADL6Fzzl2KR8UM79LR8HHKKa/Michel_Telo_-_Barabarabara_bereberebere.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAhLbTZZ89aU-FoITwkk85Ya/Quest_Pistols_-_Ty_tak_krasiva.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADW-_YrNqY1OK8qz_qElKy1a/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABZtc3Cllei6ICPEEMSxt7ca/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACoEi4uj50D_w9hdNaDS1qua/Wonder_Girls_-_Nobody.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABzEaLDdEg-LKxm5AbzCpj7a/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}], "fileSharePermissions": [{"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}], "fileShareTokens": [{"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Avicii_-_Levels.mp3", "isPackage": false, "subPath": "/Avicii_-_Levels.mp3", "secureHash": "AABuk3EGJBK5KDaJRPaEZWEba"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Elka_-_Na_bolshom_vozdushnom_share.mp3", "isPackage": false, "subPath": "/Elka_-_Na_bolshom_vozdushnom_share.mp3", "secureHash": "AABFNLda_o8FbKHMPdna9I0za"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Fly_project_-_Musica.mp3", "isPackage": false, "subPath": "/Fly_project_-_Musica.mp3", "secureHash": "AAClbr7-M-MhQLH8W0iw6e8va"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "isPackage": false, "subPath": "/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "secureHash": "AACiK9iSmHZEsSm2udEgsb1oa"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Michel_Telo_-_Barabarabara_bereberebere.mp3", "isPackage": false, "subPath": "/Michel_Telo_-_Barabarabara_bereberebere.mp3", "secureHash": "AADL6Fzzl2KR8UM79LR8HHKKa"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Quest_Pistols_-_Ty_tak_krasiva.mp3", "isPackage": false, "subPath": "/Quest_Pistols_-_Ty_tak_krasiva.mp3", "secureHash": "AAAhLbTZZ89aU-FoITwkk85Ya"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "isPackage": false, "subPath": "/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "secureHash": "AADW-_YrNqY1OK8qz_qElKy1a"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "isPackage": false, "subPath": "/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "secureHash": "AABZtc3Cllei6ICPEEMSxt7ca"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Wonder_Girls_-_Nobody.mp3", "isPackage": false, "subPath": "/Wonder_Girls_-_Nobody.mp3", "secureHash": "AACoEi4uj50D_w9hdNaDS1qua"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "isPackage": false, "subPath": "/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "secureHash": "AABzEaLDdEg-LKxm5AbzCpj7a"}]}, "outOfQuota": false}, "elem_id": "component9114370474989968945", "component_name": "SharedLinkFolderApp"}]}); })],[["modules/clean/legacy_pyxl_controllers/tabbable"], (function(mod){ var init =
И почему это не работает, не понятно:
Код
$files = json_decode($str[1])->components[0]->props->contents->files;
dmitry_stas: Ваш вариант к сожалнию не помог
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #50 : 18.11.2016, 10:07:15 »
Потому, что к json примешиваются ненужные символы. Во первых ( в начале совершенно лишняя, во вторых в конце наверняка тоже много лишнего. На первый взляд это )],[["modules/clean/legacy_pyxl_controllers/tabbable"], (function(mod){ var init =
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #51 : 18.11.2016, 10:09:56 »
Честно говоря, вообще не до конца понимаю, какая д.б. структура для JSON и что вырезать в итоге (старею, занят другой деятельностью)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #52 : 18.11.2016, 10:14:34 »
Внутри текста есть объект. В json он находится внутри {}, внутри объекта есть свойства, они могут быть объектами {}, массивами [], строками "" или числами. Других видов данных я не припомню. Названия свойств заключаются в двойные кавычки, через двоеточие идет значение свойства ("property": 1), свойства разделяются запятыми. Вот вроде и все примудрости.
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #53 : 18.11.2016, 10:18:05 »
Кто-нибудь может сказатЬ, какой должен быть код, чтобы получить нужный массив $files?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #54 : 18.11.2016, 10:21:41 »
$files = json_decode($str[0])->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #55 : 18.11.2016, 10:24:04 »
dmitry_stas:
$str[0] вообще не содержит даже подобие JSON, он в $str[1] и то с мусором. :-(
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #56 : 18.11.2016, 10:35:14 »
я написал как надо сделать. вопрос был только в последней строке, которую исправил позже.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #57 : 18.11.2016, 11:00:26 »
Для начала надо подготовить валидный json, потом его декодировать, иначе ничего не получится.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #58 : 18.11.2016, 11:17:09 »
он и подготовлен :) тот код, который я написал, полностью рабочий. с учетом последней правки
Код
$files = json_decode($str[0])->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #59 : 18.11.2016, 11:37:37 »
dmitry_stas:
Спасибо! Всё действительно работает!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужно править редирект компонента FAQ book Pro

Автор cantsave

Ответов: 0
Просмотров: 903
Последний ответ 12.06.2017, 15:53:08
от cantsave
Безопасность, был взлом

Автор Dmitriy M

Ответов: 2
Просмотров: 881
Последний ответ 25.02.2017, 21:55:44
от voland
необходим ряд доработок для VirtueMart 3

Автор winni-pyx

Ответов: 9
Просмотров: 1098
Последний ответ 21.12.2016, 12:01:40
от dmitry_stas
Странное поведение is_dir

Автор ecolora

Ответов: 23
Просмотров: 902
Последний ответ 01.11.2016, 07:48:21
от Филипп Сорокин