Вы не зашли.
Постепенно продвигаются
Box, будет.
Сделать спойлер рядом с картинкой - можно, но сложно - нужно блочную вёрстку, прописывать у картинки и у блока спойлера ширину и CSS-стиль "float: left;".
В любом случае, это задача для HTML/CSS, а не для движка.
Ой, опечатка. Сорри.
Надо было удалить строку:
zzMail($values['email'], $lang['letter_title'], sprintf($lang['letter_text'], home, home).sprintf($lang['your_info'], $values['login'], $values['password']), 'html');
Уговорили, сделаю кнопочки ББ кодов и доведу форум до ума (персональные сообщения, аттачи файлов,...)
Файл engine/plugins/auth_basic/auth_basic.php, код начиная со строки 187:
if ($config['register_type'] == "3") {
$mysql->query("INSERT INTO ".uprefix."_users (name, pass, mail, status, reg, last) VALUES (".db_squote($values['login']).", ".db_squote(EncodePassword($values['password'])).", ".db_squote($values['email']).", '4', '".$add_time."', '')");
zzMail($values['email'], $lang['letter_title'], sprintf($lang['letter_text'], home, home).sprintf($lang['your_info'], $values['login'], $values['password']), 'html');
msg(array("text" => $lang['msgo_registered']));
//print var_dump($lang);
}
Удаляешь оттуда строку:
msg(array("text" => $lang['msgo_registered']));
Ну... тогда могу посоветовать только 2 варианта на выбор:
1. Ставить другой сервер. Возможно - denwer
2. Выкладывать сайт на коммерческий хостинг
И там и там должно работать без проблем.
Причин неработоспособности на твоём сервере представить не могу.
oktano, частично согласен
Мой вариант действительно не работал, т.к. он решал только часть задачи основная замена пробелов на подчерки происходит в другом месте.
Твой вариант будет адекватно работать.
Подобная ошибка SQL может означать только повреждение структуры SQL.
Если есть возможность - переустанови систему.
Если не поможет и сайт у тебя выложен где-то на хостинге - давай доступ (моя ICQ: 145368811), посмотрю в чём дело.
Ничего кроме повреждения БД другого в голову не приходит.
1. Какой у тебя префикс БД?
2. Какая точно версия движка установлена (на основной странице админки указана сверху справа)?
bestxp, немного теряешь в гибкости.
Если понадобится добавить второе подключение к соверешнно другой БД, то в твоём решении потребуется не только переделать класс DB, но и везде переписать вызов функции getInstance()
В моём варианте достаточно будет в момент инициализации классу просто дать другой конфигуратор (или ссылку на другой объект класса DB).
Озвученный тобой механизм очень полезен в случае, когда класс действительно может быть только один.
К примеру, класс парсинга bb-кодов.
А вот подключений к БД может быть несколько, в будущем какой-то плагин (ведь у тебя и плагины когда-нибудь появятся?) может захотеть делать второе подключение к БД,... и будет жестко обломан архитектурными ограничениями.
Wolverine, понял. Ты скачивал полную версию (с интегрированным FixPack'ом) а не отдельный FixPack?
Ясно, значит ошибка (файл не из той версии) была только в отдельном FixPack'е.
Меняем генерацию alt_name при добавлении новости (engine/addnews.php) :
строку 51:
$alt_name = preg_replace(array('/\./', '/(_{2,20})/', '/^(_+)/', '/(_+)$/'), array('_', '_'), $alt_name);
меняеем на:
$alt_name = preg_replace(array('/\./', '/(_{2,20})/', '/^(_+)/', '/(_+)$/'), array('-', '-'), $alt_name);
По уже созданным новостям alt_name надо менять ручками.
Wolverine, как же ты проверял-то?
В FixPack #04 была одна принеприятнейшая ошибка... выложил исправленную версию.
Всем кто скачал FixPack #04 просьба скачать и установить его ещё раз.
В архиве был файл с ошибкой.
prorock, сейчас это можно сделать только в виде небольшого патча к движку.
К концу года планирую эту функцию вынести в сам двиг.
Как, дождёшься или патч сделать?
Wolverine, проверь, plz.
Я у себя проверил, но для полной уверенности мне требуется отчёты ещё как минимум от 2х админов. Для уверенности, что не осталось "подводных камней".
Выложен FixPack #04 в начале топика.
Последняя доступная версия была 0.9.0 FixPack #03 (от 17.11.2008).
bestxp, а что в моих-то предложениях тебе не понравилось?
Два совершенно адекватных варианта предложил.
На самом деле их должно быть и побольше, просто сразу в голову ничего другого не пришло.
Есть несколько способов:
1. Кросс-обращения через глобальные переменные (очень плохо, но использовать можно).
2. Использование отдельного конфигурационного объекта, через который и будут общаться все твои объекты. Вполне жизнеспособный вариант, в некоторых случаях - самый подходящий способ. Причём возможны вариации - класс может использовать не только как обычный конфигуратор, но и как ядро системы, а остальные классы (db, user) могут выступать в качестве "навеса" (расширения функционала).
class configurator {
function setDbConnect($dbConnect) { $this->dbConnect = $dbConnect; }
function setUserConnect($userConnect) { $this->userConnect = $userConnect; }
function getDbConnect() { return $this->dbConnect; }
function getUserConnect() { return $this->userConnect; }
}
class user {
function user($config) { $this->configLink = $config; }
function new_user($params) {
$db = $this->config->getDbConnect();
$db->select(...);
}
}
$config = new configurator();
$user = new user($config);
$db = new db($config);
3. Самый простой, но оптимальный для несложных задач - в конструктор класса user передавать ссылку на объект класса db:
class user {
function user($dbConnect) {
$this->dbConnect = $dbConnect;
}
function newUser($params) {
// обращение к классу работы с БД
$this->dbConnect->select(....);
}
}
4. ... другие варианты ...
Спасибо.
Действительно, проблема есть
Защиту в других местах сделал, а тут - нет.
Выложу сегодня патч.
Есть некоторые наработки.
В частности - достаточно детально описаны возможности плагинной системы.
Если кому-то нужно - могу выложить их.
Но готового полноценного хелпа в варианте "из коробки" пока, к сожалению, нет.
infinity237, уточни что именно ты хочешь. Что-то вроде "сообщить модератору"?
Плагин рассчитан на работу с любыми объектами, которые можно идентифицировать по типу объекта и по уникальному идентификатору конкретного объекта внутри типа (идентификатор должен иметь тип int(11)).
Комментарии под такое определение подходят - у них есть свой уникальный идентификатор. Значит можно прикрутить.
p.s. Естественно, "сходу" запустить не получится - нужно же ещё отработать отображение информационного блока с "сообщить о проблеме", а в списке активных проблем - "вытаскивать" данные по конкретному комментарию. Но это просто минимальная кастумизация.
bestxp, если не получится развить - сможешь выдрать для своих целей то, что у меня получится.
Возможно я всю логику работы с rewrite'ами вынесу в отдельную библиотеку, чтобы любой желающий смог использовать её в своих проектах отдельно от движка.
Ну а если что-то интересное получится у тебя - поделись
Ты уточни что тебе надо? "Порезать" на составляющие текст, который разделен символами "-" или "/"?
Или что-то другое?
В первом случае достаточно сделать:
$resultingArray = preg_split('/[\-\|]/', $textToSplit);