| 
| 
 | Вопрос # 3 398/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!ВОпрос таков: как взаимодействовать с ДЛЕ движком непосредственно из Делфи приложения?
 Как я опнимаю, ДЛЕ (Data LIfe Engine) статьи(новости), как и пользователи и т.д. хранятся в базах данных. Не подскажете как к ним подключиться и какие стандартные запросы для поиска новостей использовать?
 
 То есть если знать адрес *.db файла на сервере и к нему подрубаться, а далее работать с ним как с обычной БД?
 
 Заранее спасибо за ответ на вопрос с ответом :)))
 
|  |   Вопрос задал: Grin (статус: Посетитель)Вопрос отправлен: 13 ноября 2009, 02:02
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 11; последнее сообщение — 16 ноября 2009, 09:42; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 13 ноября 2009, 02:29 [#1]:Странный вопрос, но думаю, что я знаю на него полный ответ, но для начала хочу уточнить, что я правильно понял всё в вопросе. 1) DLE - это http://dle-news.ru/ ?
 2) сайт Ваш или произвольный, на котором Вы гость?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 13 ноября 2009, 20:17 [#2]:DLE использует базы данных MySQL, поэтому Вы можете доступаться из Delphi-приложения к этой базе, используя соответствующие компоненты. Вам также нужно будет знать сервер БД, имя БД, имя пользователя и пароль. |  
|   | Вадим К (статус: Академик), 13 ноября 2009, 20:31 [#3]:to  Косолапов Дмитрий Юрьевич я бы не спешил на Вашем месте с таким ответом. Даже если я угадал, что такое DLE, и там действительно MySQL, при правильной настройке сервера (а так оно обычно и есть), получить доступ к базе не получиться так как вы пишете.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 14 ноября 2009, 11:23 [#4]:to Вадим К 
 Цитата: при правильной настройке сервера (а так оно обычно и есть), получить доступ к базе не получиться так как вы пишете. Тоже верно, с этим замечанием согласен.
 |  
|   | Grin (статус: Посетитель), 14 ноября 2009, 14:24 [#5]:Спасибо за ответы. 
 <b>Вадим К:</b>
 Да, ДЛЕ я имел именно то что вы и думали.
 Да, я админ сайта и мне необходимо добавлять статьи на него не через онлаин-движок ДЛЕ, а непосредственно программой, которая генерирует новость.
 
 
 Но почему тогда к нему не получится получить доступ удаленно в БД, если я админ этого сайта и знаю пас\логин админки...?
 
 
 -------------
 Возможно можно скачивать сам файл базы данных всех новостей, с ним поработать (добавить\удалить новости) и закачать с заменой обратно на сервер...? о_О
 
 Проблема все равно в том что я не знаю где лежит эта база... как с ней работать думаю можно просто проанализировав записи базы и заодно выучив пару команд работы с базами данных...
 |  
|   | Вадим К (статус: Академик), 14 ноября 2009, 17:13 [#6]:Где лежит база вам знать не нужно. Более того, это вредно и вряд ли поможет. Во вторых, то что вы знаете имя/пароль - ещё ничего не значит. Многие такие базы доступны только локально. Либо с определенной машины.  И скорее всего, точно не с Вашей (Это была бы большая дыра в безопасности).
 Что же делать? тут есть одно красивое решение. Правда надо уметь программировать. Для этого на сайте пишется серия скриптов-прослойки, а программа уже работает через неё.
 Например результат select запроса может отдаваться в виде csv или xml. а сам запросе к серверу передаются имя таблицы, нужные поля и имя-пароль (не к базе!, а Ваши, специально сделаны для этого дела).
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 15 ноября 2009, 09:20 [#7]:Grin, пароль и логин админки здесь ни при чем, для доступа к БД используется совсем другая пара. Если есть доступ к сайту по FTP, то обычно эти сведения лежат в файле вида config.php. Однако если в качестве хоста БД указан localhost, то это то, о чем писал Вадим К - доступиться к базе не получится.
 
 Кстати, сколько новостей в день генерируется программой? Просто если мало, то проще "копипастить", по-моему.
 |  
|   | Grin (статус: Посетитель), 15 ноября 2009, 17:47 [#8]:Вадим К: "Правда надо уметь программировать"
 спасибо что вы такого лестного обо мне мнения
  
 Хм, если доступны локально то скрипт написанный мной и закинутый на сервер и будет локально обращаться к БД а я к скрипту уже внешне.. Красивое решение. Но требуется и правда повозиться....
 
 Косолапов Дмитрий Юрьевич:
 Погрылся на фтп. Единственное что вообще прописано в том файле "engine/data/congig.php" это:
 'smtp_host' => "localhost"
 больше вообще ни одной строки с адресом ни на локалку ни на адрес сайта. Других файлов конфига обнаружено не было...
 з.ы. Проблема не в том что нужно оооочень много копипастить. Проблема в том, что бы поставить дело на поток...
 О
  
 з.з.ы. А как тогда работает Веб-интерфейс ДЛЕ. Ведь зная логин/пас админский от кабинета ДЛЕ, я могу там создавать новости/заливать файлы... Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать ка ки этот веб-интерфейс.
 Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере, эмулируя работу ка в лок.сети.
 |  
|   | Вадим К (статус: Академик), 15 ноября 2009, 18:00 [#9]:Логин к базе запрятан где то в внутренностях. Где именно - надо искать. А пароль на админку и пароль на базу - это две разных, не связанных между собой сущности.
 
 "поставить на поток" - хочется написать готовый интерфейс к DLE, что бы любой мог его использовать?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Grin (статус: Посетитель), 15 ноября 2009, 18:26 [#10]:Нет, использовать буду только я, продукт домашнего пользования, так сказать. Просто программа работает в фоновом режиме как бы в идеале сама ищет материал,создает новости, их публикует и т.д. (первая часть поиска и создания материала почти готова, дкмал проще будет с ДЛЕ работать =/)
 
 Про пароль - понятно и так, что к серверу один пас, а к аккаунту БД - второй. А вот вы говорите про какой то третий.. "логин к базе" что за он поподробнее? о_О
 "логин к базе" - не тот ли пасс и акк, что я использую, когда работаю с веб-интерфейсом?
 |  
|   | Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 16 ноября 2009, 09:42 [#11]: Цитата (Grin): Явно этот веб-интерфейс работает с БД напрямую (но правда локально, т.к. он на сервере лежит). Так почему бы не создать программу, которая точно так же будет работать как и этот веб-интерфейс.Правда если удаленно так работать нельзя, то придется писать скрипты работы с БД и сливать их на сервер. Далее обращаясь из программы к ним как к функциям (передавая имя новости, ее содержимое и список прикрепленных фаилов), которые уже будут работать с БД непосредственно на сервере
 Да, так и есть. Осталось только выдрать параметры доступа к базе. Я бы даже сказал, эту доработку очень хорошо было бы оформить как модуль для DLE, тогда с доступом к базе проблемы должны решиться
 
 Единственный момент - про обращение к скриптам как функциям, скорее всего нужно будет посылать POST-запрос по HTTP.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |