Перейти к публикации

Рекомендованные сообщения

Хорошую тему подняли, собственно прочитав на сайте про апи, зарегистрировался на форуме :)

Но вот, собственно какой вопрос.

Может я конечно буду выглядеть глупо, но мне кажется что проблема в непонимании АПИ еще и в этом. Я не имел опыта работы с АПИ, и подобные вещи обычно пишу к определенному скрипту/сайту своими руками. Но вот что не понятно: ЧЕМ ВСЕ ТАКИ ОТЛИЧАЕТСЯ КОНСТРУКЦИЯ АПИ, от конструкции стандартных КЛАССОВ которые уже присутствуют в дле?

Если непонятно спросил, то я имел виду вот это, (запрос от фонаря):

$db->query( "UPDATE " . PREFIX . "_post SET autor='$autor' WHERE autor='admin'" );
VS
$dle_api->api_query ($admin, $select, $where)

// и в случаее чего все же придется писать sql запрос

Или я может что то недопонимаю?

Разница в методе, если ты разбираешься в классах дле то текущий API тебе ничего нового недаст, кроме разве что уменьшения кода, но как я понял основная цель api это упрощение написание модулей стороними разработчиками, тоесть теми кто не знает классов ДЛЕ, им будет гораздо проще изучить один класс API чем как сейчас ковыряться в коде ДЛЕ. Хотелоь бы конечно видеть и упрощенную установку, но увы к API это не имеет отношения.

Ссылка на сообщение
Поделиться на других сайтах

dlehack, во многом не согласен, но идея интересна, мне допустим нравится как контент разделяется по категориям в Joomla 1.5, хотя все же нынешний метод имеет свои преимущества.

какие если не секрет

Ссылка на сообщение
Поделиться на других сайтах

dlehack, во многом не согласен, но идея интересна, мне допустим нравится как контент разделяется по категориям в Joomla 1.5, хотя все же нынешний метод имеет свои преимущества.

какие если не секрет

например те что статическая страница это именно страница а не папка, поле content моглобы пригодиться только для вывода в начале категории её описания, но это мало кому нужно, и это можно реализовать через шаблон.

Ссылка на сообщение
Поделиться на других сайтах

Извиняюсь за нубский вопрос).

Планирую в будущем сделать возможность авторизации через OpenID и возможно даже OpenID провайдер для своих пользователей.

Думаю не будет, и я чесно говоря не вижу смысла в openid на дле.

API может как-нибудь облегчить установку и стабильную работу на последующих версиях DLE ?

Установку нет, cтабильную работу да :)

Почему? например есть несколько модулей типа: сам сайт, форум, фотогаллерея, чат и т.д. Вместо того чтобы заставлять человека регистрироваться везде дать ему один OpenID и все. Можно конечно устроить общую базу для всех модулей, но если я правильно понял, то при взламывании одного из модулей можно будет попасть и на другие?

Ссылка на сообщение
Поделиться на других сайтах

Можно конечно устроить общую базу для всех модулей, но если я правильно понял, то при взламывании одного из модулей можно будет попасть и на другие?

учитывая, что каждый второй выкладываемый модуль под дле имеет уязвимости, то нет, вы не правы)))

форум, фотогаллерея, чат

такие модули врядли будут писать новички. А вот мелкие фичи, что в большом количестве прикручиваются к самому сайту - возможно)

Ссылка на сообщение
Поделиться на других сайтах

На днях будет новый релиз с дополнительными полями. Глянем что из этого получится.

Ссылка на сообщение
Поделиться на других сайтах

Насчёт OpenID подумаю.

Возможно реализацию WM_Auth (Протокол авторизации через WebMoney).

А дальше видно будет. Так как интереса к этому расширению никакого и идей никто не подает, то дальнейшее развитие будет временно прекращено.

У меня банально кончились идеи.

Ссылка на сообщение
Поделиться на других сайтах

IT-Security,

попробуй включить в апи метод сопоставления старого массива авторизации админки с мембер_ид. Не могу на 100% утверждать, что кому-то пригодится, но всё возможно, пару месяцев назад было актуально для быстрой адаптации модов...

Ссылка на сообщение
Поделиться на других сайтах

Напишите что-ли кто-нибудь применял ли он API на практике и в каких случаях.

Плохо то, что API в текущем состоянии является всего лишь некой внешней оболочкой, средой для взаимодействия с базой дле.

И я правда не понимаю что он мне даст, какие преимущества - пока не вижу.

А чего действительно мне хотелось бы, так это реально того, что нужно.

Вот, например, мне надо чтобы страницы некоего модуля не индексировались поисковиками, для этого надо добавить в <head> соответствующий тег. Как это сделать, если $metatags жёстко задаётся, а использовать ради одной строчки отдельный файл шаблона не вижу смысла.

Вот и было бы здорово чтобы API могло бы заменять стандартные жёсткие конструкции на свои. Такие дела, парни!

Ссылка на сообщение
Поделиться на других сайтах

Ну во первых здравствуете, а во вторых мне кажется что этим модулем не интересуются новички т.к. там не очень понятный readme.txt что бы все понять нужно открывать сам файл API и смотреть что как сделано что бы потом это использовать.... А говорю я это так как сам делаю свой первый полноценный модуль и мне достаточно тяжело понять как что работает... надеюсь я понятно выразил свои мысли?)

Ссылка на сообщение
Поделиться на других сайтах

по поводу ридми - согласен, возьмём пример

					// Получение пользователей по группе

					// Users group - int

					// Return Array or false

						$dle_api->take_users_by_group($group_id);

Серёг, а где в коде "Users group", которое int? Это мелочи, но если и делать доки то чёткие! Спасибо)

Ссылка на сообщение
Поделиться на других сайтах

Сразу к делу:

  1. Себе сделал, хорошо было бы добавить по-умолчанию. При успешном добавлении любой информации в БД, выводить не 1, а id, который был присвоен.
    ...
    
    $q = $this->db->query( "insert into " . USERPREFIX . "_users (email, password, name, user_group, reg_date) VALUES ('$email', '$password', '$login', '$group', '$now')" );
    
    return $this->db->insert_id($q);
    
    ...


  2. Идеи для функций:
    • Загрузка файлов (т.е. загрузка в папку '/upload/files/' и добавление его в базу данных с 'news_id'='0')
    • Вывод массива путей (относительных или абсолютных) к файлам, загруженных для определенного поста (как вариант: фильтр по типу, расширению)
    • Вывод массива комментариев к новости (кто-то писал)
    • Измение/удаление комментария
    • Изменение/удаление новости
    • Check if user exist - вынести в отдульную функцию

продолжение следует

Изменено пользователем pleomax
Ссылка на сообщение
Поделиться на других сайтах

// Отправка PM пользователю

// $id - ID пользователя

// $subject - тема сообщения

// $text - тело сообщения

// $from - от кого (имя)

// Return: 

// 1 - All OK

// -1 - No user

// 0 - DB Error

$dle_api->send_pm_to_user ($user_id, $subject, $text, $from);

А можно пример этого кода?

Ссылка на сообщение
Поделиться на других сайтах

2 pleomax

Соберите в одном месте свои мысли и вечером посмотрю

2 Bad_Bos

Да, конечно

$to = 1; // ID юзера КОТОРОМУ СЛАТЬ

$subject = 'Пробное сообщение';

$text = 'Здесь пробное сообщение';

$from = 'МегаАдмин';

$res = $dle_api->send_pm_to_user ($to, $subject, $text, $from);

if ($res == 1) echo 'Отправлено';

elseif ($res == -1) echo 'нет такого пользователя';

else echo 'Ошибка базы данных';

Ссылка на сообщение
Поделиться на других сайтах

2 pleomax

Соберите в одном месте свои мысли и вечером посмотрю

2 Bad_Bos

Да, конечно

$to = 1; // ID юзера КОТОРОМУ СЛАТЬ

$subject = 'Пробное сообщение';

$text = 'Здесь пробное сообщение';

$from = 'МегаАдмин';

$res = $dle_api->send_pm_to_user ($to, $subject, $text, $from);

if ($res == 1) echo 'Отправлено';

elseif ($res == -1) echo 'нет такого пользователя';

else echo 'Ошибка базы данных';

Большое спасибо)

Ссылка на сообщение
Поделиться на других сайтах

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

Такая же ситуация, делаю под заказ модуль и посмотрев 0.05 версию решил исправить код под использование api класса. Так, что в инсталяторе добавилась роверка 8.0 версии DLE и api класса.

To IT-Security. Даже если прекратиш разработку класса, все равно уже есть кое, что, что сокращает код и уменьшает количество своих запросов. Так, что полезное дело делаешь. Спасибо большое. Следующие модули так же буду делать с твоим классом, а если чего то не будет хватать каждый сможет дописать самостоятельно.

Ссылка на сообщение
Поделиться на других сайтах

Дали крупный заказ, сейчас изучаю какой движок взять за основу. Поковырял Ваш - оч понравился. Единственное что убило - xfields есть а функций поиска/фильтрации/сортировки по ним нет. В особенности очень жду API функцию фильтрации новостей по xfields. Как только появится, сразу закупаюсь у вас. почитал форумы, народ реально извращается без этой фитчи.

Ссылка на сообщение
Поделиться на других сайтах

В особенности очень жду API функцию фильтрации новостей по xfields.

:) представляю себе фильтрацию новостей по xfields

Изменено пользователем dlehack
Ссылка на сообщение
Поделиться на других сайтах

представляю себе фильтрацию новостей по xfields

Смотря что за поля и сколько их будет. А так действительно приходится народу извращаться.

Ссылка на сообщение
Поделиться на других сайтах

У API будут свои xfields.

Доступно будет до 255 символов.

Выборка будет по ID поля и ID модуля.

Тоесть:

$dle_api->load_field($mod_id, $field_id);

либо можно вообще только по $field_id если он будет уникальным.

Сейчас это продумываю как раз.

Связать можно будет и по ID новости и по автору и по чему угодно.

Для полей будет отдельная таблица вида:

id

name

Ссылка на сообщение
Поделиться на других сайтах

не получиться, если критерий поиска задётся больше чем по 1 полю и на точное совпадение, то сделать нереально. Я уже продумывал такой вариант.

Ссылка на сообщение
Поделиться на других сайтах

Не совсем понимаю что Вы имеете в виду.

select * from PREFIX_api_field_values where field_id = $id AND field_value like %value%

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...