

spam
-
Публикации
700 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
3
Сообщения, опубликованные пользователем spam
-
-
Можешь попробовать lordhost.org, держу там сайт с тучей модулей и все работает хорошо, в свое время с лидерхоста пришлось съехать, так как все его "тарифы" банально не держали сайт, хотя процессорную нагрузку тарифа не превышал.
Порт 100 мегабит.
-
Есть два файла test.php и test2.php
подключаем их в шаблоне main.tpl
{include file="test.php"}
и
{include file="test2.php"}
файлы заливаем в корень
вот содержимое этих файлов
test.php
<?phpif(!defined('DATALIFEENGINE')) {
die("Hacking attempt!");
}
include_once (ENGINE_DIR."/api/api.class.php");
$row = $dle_api->load_table("dle_post", "id", "approve='1'", false, 0, 1, "id");
echo($row["id"]);
?>
test2.php
<?phpif(!defined('DATALIFEENGINE')) {
die("Hacking attempt!");
}
include_once (ENGINE_DIR."/api/api.class.php");
$row = $dle_api->load_table("dle_post", "title", "approve='1'", false, 0, 1, "id");
echo($row["title"]);
?>
отдает
Fatal error: Call to a member function load_table() on a non-object in Y:\home\dle\www\test2.php on line 6 Call Stack: 0,9970 136328 1. {main}() Y:\home\dle\www\index.php:0 1,7002 1051496 2. dle_template->load_template() Y:\home\dle\www\index.php:45 1,7043 1089992 3. preg_replace() Y:\home\dle\www\engine\classes\templates.class.php:77 1,7300 1383904 4. preg_replace() Y:\home\dle\www\engine\classes\templates.class.php:77 1,7300 1383904 5. dle_template->load_file() Y:\home\dle\www\engine\classes\templates.class.php(77) : regexp code:1 1,7367 1430128 6. include('Y:\home\dle\www\test2.php') Y:\home\dle\www\engine\classes\templates.class.php:130это на денвере
если подключение второго модуля убрать все впорядке
Где ошибка?
include_once (ENGINE_DIR."/api/api.class.php");Не думайте только о себе, думайте о тех кто будет пользоваться вашим модулем, такой вот мелочью вы просто необоснованно увеличиваете нагрузку на сервер пользователей. Заставляя файлы подключать тогда когда это не нужно
Разумеется, я привел тестовый код, хотя спсибо что обратили на это внимание.
-
$dle_api = new DLE_API ();
Левая строчка, где написано в документации что ее нужно писать? Нигде. http://dle-news.ru/extras/online/index.html?api.html
Без нее отдает
Fatal error: Call to a member function load_table() on a non-object in /*****/mymod.php on line 4Убрал вторй вызов файла АПИ (из инит файла), и все заработало.
Спасибо за подсказку направления поиска ошибки.
Если два модуля со строкой include (ENGINE_DIR.'/api/api.class.php'); то ругается на Call to a member function load_table()
если подключения api только в одном модуле то все впорядке, в общем не знаю в чем трабл, вернл старый код без API и все работает нормально.
-
Чтобы API получил глобальную поддержку необходимо в init.php вставить класс api...
include_once (ENGINE_DIR."/api/api.class.php");
для чего? Не нужно этого, что в API нехватает, он подключит автоматически. Просто в моде куда автор выше подключает API, уже есть переопределение стандартных классов, в часности объявлено $db.
Нужно читать документацию по скрипту, не зря же она написана, там четко перечислены все классы, а также четко написано:
Внимание: Ваш модуль должен только читать данные из данных переменных, внесение изменений в значения переменных повлечет сбои в работе стандартных возможностей скрипта и дальнейшей его некорректной работе.http://dle-news.ru/extras/online/index.htm...es_include.html
вот код модуля
<?phpinclude (ENGINE_DIR.'/api/api.class.php');
$dle_api = new DLE_API ();
$row = $dle_api->load_table("prefix_post", "id", "approve='1'", false, 0, 1, "id");
echo($row["id"]);
?>
Где тут ошибка?
Допускаю ошибка в "хаках" но не найду где, все остальное работает нормально, где нужно искать ошибку?
-
Fatal error: Call to a member function query() on a non-object in /****/engine/api/api.class.php on line 359
Вот такая ошибка при подключении снипета со строкой вызывающую функцию load_table
-
Ну чтож
8.2 вышла, а модулей на API я так и не увидел
Не так быстро
, у меня например стоит сорок с лишним сторонних модулей, сначала у себя обновление закончить нужно, а учитывая сколько у меня хаков стоит.... это будет не быстро (думаю неделю, так как еще и работать нужно...), если к тому времни никто не почешится на новые модули то выложу часть тех что переделаю под API для своего сайта
-
Я наверно тебя разачарую но за такой хак я бы пнул разработчика как следует, вернее даже не за хак а за мануал, мануал вида "заменить все на это" это не мануал, он просто не пригоден в случае обновления движка на новую версию, короче говоря, простите но мануал гавно, даже тестить нет смысла.
-
в api есть функция load_table
в комменте к ней указано что она сервисная, у меня вопрос, когда дле перейдет на php5 будет ли эта функция ограничена (private)?
например можно ли её использовать вместо $db->query?
-
dlehack, во многом не согласен, но идея интересна, мне допустим нравится как контент разделяется по категориям в Joomla 1.5, хотя все же нынешний метод имеет свои преимущества.
какие если не секрет
например те что статическая страница это именно страница а не папка, поле content моглобы пригодиться только для вывода в начале категории её описания, но это мало кому нужно, и это можно реализовать через шаблон.
-
Хорошую тему подняли, собственно прочитав на сайте про апи, зарегистрировался на форуме
Но вот, собственно какой вопрос.
Может я конечно буду выглядеть глупо, но мне кажется что проблема в непонимании АПИ еще и в этом. Я не имел опыта работы с АПИ, и подобные вещи обычно пишу к определенному скрипту/сайту своими руками. Но вот что не понятно: ЧЕМ ВСЕ ТАКИ ОТЛИЧАЕТСЯ КОНСТРУКЦИЯ АПИ, от конструкции стандартных КЛАССОВ которые уже присутствуют в дле?
Если непонятно спросил, то я имел виду вот это, (запрос от фонаря):
$db->query( "UPDATE " . PREFIX . "_post SET autor='$autor' WHERE autor='admin'" );
VS$dle_api->api_query ($admin, $select, $where) // и в случаее чего все же придется писать sql запрос
Или я может что то недопонимаю?
Разница в методе, если ты разбираешься в классах дле то текущий API тебе ничего нового недаст, кроме разве что уменьшения кода, но как я понял основная цель api это упрощение написание модулей стороними разработчиками, тоесть теми кто не знает классов ДЛЕ, им будет гораздо проще изучить один класс API чем как сейчас ковыряться в коде ДЛЕ. Хотелоь бы конечно видеть и упрощенную установку, но увы к API это не имеет отношения.
-
Извиняюсь за нубский вопрос).
Планирую в будущем сделать возможность авторизации через OpenID и возможно даже OpenID провайдер для своих пользователей.
Думаю не будет, и я чесно говоря не вижу смысла в openid на дле.
API может как-нибудь облегчить установку и стабильную работу на последующих версиях DLE ?Установку нет, cтабильную работу да
-
Вообще как я смотрю по активности народа - им это не нужно =)
Все ныли и плакали, что так трудно писать простейшие модули под DLE - им даёшь решение, на которое гробишь своё ЛИЧНОЕ время - а они даже не могут протестировать и высказать пожелания.
Нужно, но ты должен понять есть ряд причин на то что тут мало постят идей.
Первое: 70% потльзователей просто не понимают что такое API и вообще зачем нужен php
, соответтвенно они восторженно читают что появилось API, но написать что-то по сути прото не могут
Второе: Те кто понимают не всегда чувтствуют в себе необходимые знания чтоб что-то советовать (банальная неуверенноть в воих силах)
Третье: Те кто понимают и могут что предложить, в массе своей наверняка следят за топиком но слишком заняты своей работой, а ведь топик то не простой, если уж тут потить то нужно предлагать решение или идею его реализации как минимум не хуже тех что предложил ты, а это опять таки время на обдумвание.
Четвертое: Активная лень многих работающих в сети
Пятое: Пока нет говотовых модулей на API, не чего так казать "посчупать" в работе, функционал скромный, а соотеттвенно реального теста нет...
Ну и главное, ты прав API часто путают со снипетами, возможно причина в wordpress, но факт отается фактом, главное чего ждут это легкая установка модулей без необходимоcти их переустановки в случае обновления пока этого нет (при обновлении на 8 версию уже думал что проще новый движек напиать чем обновить ДЛЕ
), а остальное для основной массы вторично.
p.s.
Несмотря на вышесказанное API дотаточно востребавоно и нужно большенству пользователей.
Пожелания для новых версий DataLife Engine
в DataLife Engine (Общие вопросы)
Опубликовано: · Изменено пользователем spam
лишняя нагрузка к тому же бесполезная, прошу разработчика все таки не уходить совсем в "рюшечки" дле был хорош простотой и легкостью для сервера, второй битрикс нафиг ненужен, дел от этого только потеряет