[Member Awards Mod] - Мод, Награды для пользователей

Автор Omikron, 20 октября 2006, 10:07:06

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

CedarMill

Цитата: 0daliska от 28 января 2010, 12:10:45
Переводила для себя. Когда пошли вопросы, сделала из своих файлов перевода русификатор...
Вот сделала и для кодировки сp1251...
0daliska, Благодарю за перевод!  O0


Ребята, кто знает, как Наградить пользователей форума?  ??? Установлен SMF 2.0 RC2 + memberawards_2-0_2-1-7

Выбрал награду... > Вписываю ник в поле "Выбрать Пользователей:" и нажимаю "Сохранить":



но выбивает ошибку:



В чем может быть проблема?  :(
I love SMF and Joomla!

Bugo

Проблема в том, что мод Member Awards пока не доделан для RC2.

Список совместимых версий: 1.1.9, 1.1.10, 2.0 RC1, 2.0 RC1-1, 2.0 RC1.2

0daliska

Цитата: CedarMill от 07 февраля 2010, 16:22:32
0daliska, Благодарю за перевод!  O0


Ребята, кто знает, как Наградить пользователей форума?  ??? Установлен SMF 2.0 RC2 + memberawards_2-0_2-1-7

Выбрал награду... > Вписываю ник в поле "Выбрать Пользователей:" и нажимаю "Сохранить":


но выбивает ошибку:

В чем может быть проблема?  :(
Там вверху дерево с наградами... Даже если всего одна награда там отображается, ее надо выделить, то есть щекнуть по ней мышкой
И юзеров лучше с помощью функции поиск вписывать... Странно, я у Вас сбоку справа от поля "Выбрать пользователя"  не вижу такой кнопки
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Форум 1.1.11. Всё прекрасно поставилось, но при попытке войти в профиль, список пользователей и личные сообщения выдает одну и ту же надпись:
Ошибка базы данных
Unknown column 'aw.award_name' in 'field list'
Файл: /home/i/forum/public_html/Sources/Load.php
Строка: 912

Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.11, тогда как версия Вашей базы данных 1.1.4. Для устранения ошибки обновите, пожалуйста, форум.

Удаление мода ошибку убирает. Подскажите в какую сторону копать?

Krajsly

Всё же надеюсь на помощь. Поиск внятных ответов не дал, если это где-то обсуждалось киньте ссылочку плиз.
У меня никаких модов, меняющих файл load не стоит. Раньше стоял мод наград, но он был старый и мне не понравился, я его удалил. В лоаде от него точно ничего не осталось, пробовал заменить свой лоад на новый, результат тот же.
Ошибка вылазиет и в моей теме и дефолтной.

0daliska

Цитата: Krajsly от 23 марта 2010, 23:24:57
Всё же надеюсь на помощь. Поиск внятных ответов не дал, если это где-то обсуждалось киньте ссылочку плиз.
У меня никаких модов, меняющих файл load не стоит. Раньше стоял мод наград, но он был старый и мне не понравился, я его удалил. В лоаде от него точно ничего не осталось, пробовал заменить свой лоад на новый, результат тот же.
Ошибка вылазиет и в моей теме и дефолтной.
Зайдите в БД, да проверьте данное поле в БД. Если нет, то создайте. Это в таблице smf_awards должно быть сразу после id_award поле и именем award_name с типом varchar(80), сравнением (какое у Вас в БД задано - посмотрите соседние) и Ноль - выбираем not null (то есть нет)...
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Спасибо за ответ! Я плохо разбираюсь в таблицах БД =(
Я так понял нужно создать таблицу aw.award_name после award_name? Сделал, но проблема осталась. Либо я что-то не вписал или может не в том порядке?

0daliska

#207
Цитата: Krajsly от 24 марта 2010, 02:03:41
Спасибо за ответ! Я плохо разбираюсь в таблицах БД =(
Я так понял нужно создать таблицу aw.award_name после award_name? Сделал, но проблема осталась. Либо я что-то не вписал или может не в том порядке?
Нет, не надо было создавать строку aw.award_name.
award_name я писала!
И почему у Вас названия строк так выглядят? Вы какую версию модификации установили?

Вот так у меня таблица выглядит и работает без ошибок Награды 1.1.1. версии стоят на форуме SMF1.1.11... Кодировка форума у меня в UTF8
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Я скачал версию 1.1.2, другой там и нет сейчас для смф 1.1.11. Кодировка 1251. А у вы не знаете случайно где можно 1.1.1 скачать? Может действительно попробовать более позднюю версию поставить...

0daliska

Цитата: Krajsly от 24 марта 2010, 13:46:55
Я скачал версию 1.1.2, другой там и нет сейчас для смф 1.1.11. Кодировка 1251. А у вы не знаете случайно где можно 1.1.1 скачать? Может действительно попробовать более позднюю версию поставить...
У Вас самая свежая стоит модификация, там тоже такие же таблицы, как и в 1.1.1. Так что необхоимости в этом нет...
Можно попробовать переименовать поля таблицы самостоятельно так, как они в этой модификации сделаны... Перед тем, как выполнять сии преобразования, обязательно сделайте бэкап БД.
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Сделал! Огромное спасибо за помощь!
Действительно оказалось, что не хватало нижнего подчеркивания в названиях файлов, причем во всех.
Теперь вот поставил русификатор (кстати Ваш), ссылка награды в админке появилась, вообще все появилось (в профиле), кроме надписей в "главное", "наградить" и "настройки" (там просто пустые поля). Покопался в Modifications.russian.php (он стоит только в дефолте), но кроме парочки орфографических ошибок ($txt['permissionhelp_manage_awards'] = 'Позводить пользователям добавлять, редактивроть и назначать новые награды';) ничего такого не нашел. Что тут может быть не так?

0daliska

#211
Цитата: Krajsly от 24 марта 2010, 21:20:54
Сделал! Огромное спасибо за помощь!
Действительно оказалось, что не хватало нижнего подчеркивания в названиях файлов, причем во всех.
Теперь вот поставил русификатор (кстати Ваш), ссылка награды в админке появилась, вообще все появилось (в профиле), кроме надписей в "главное", "наградить" и "настройки" (там просто пустые поля). Покопался в Modifications.russian.php (он стоит только в дефолте), но кроме парочки орфографических ошибок ($txt['permissionhelp_manage_awards'] = 'Позводить пользователям добавлять, редактивроть и назначать новые награды';) ничего такого не нашел. Что тут может быть не так?
Имхо, у Вас, похоже, отсутствует файл ManageAwards.russian.php в папке Themes/default/languages
Проверьте его наличие и читабельность в указанном месте...  :)
Ошибки поправила :) Спасибо!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Спасибо! Оказалось что в текущей теме сидел этот файл со старых наград, удалил его и всё заработало. Огромное спасибо!
Кстати, орфографических ошибок там тоже штук 7 есть, хотел их тут выложить, но что-то у меня опера закрылась, а там я их уже исправил) Но обычный ворд их легко подчеркивает.

Залез в файл на компе, и нашел ошибки =)

$txt['awards_description'] = 'Здесь Вы можете добалять, удалять или редактировать награды.';
$txt['awards_error_upload_size'] = 'Файл, который Вы пытаетесь загрузить, ипревышает допустимый размер. Попробуйте загрузить файл меньшего размера.';
$txt['awards_error_no_id'] = 'Вы должны выбрать награду для реадактирования.';
$txt['awards_error_empty_category'] = 'В этой категрии нет наград!!';

и вот эта не знаю, можно ли считать ошибкой
$txt['awards_badge_upload_mini'] = 'Миниатюра<br /><span class="smalltext">Нет маленькой картинки? Оставьте это поле пустым, и будет использована текущее изображениеand</span>';

$txt['awards_mem_group_desc'] = 'Выберите группы, которыс Вы желаете назначить награды.';

0daliska

Цитата: Krajsly от 24 марта 2010, 22:38:56
Спасибо! Оказалось что в текущей теме сидел этот файл со старых наград, удалил его и всё заработало. Огромное спасибо!
Кстати, орфографических ошибок там тоже штук 7 есть, хотел их тут выложить, но что-то у меня опера закрылась, а там я их уже исправил) Но обычный ворд их легко подчеркивает.
Я в ворде, сорри, не могу создавать файлы локализации!  O0
Сейчас подправила, вроде бы ошибки...
Это была первая локализация в виде мода для кого-то, так уж извиняйте... :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Опередили меня) Я поправил предыдущий пост, там выложил найденные ошибки)

0daliska

Цитата: Krajsly от 24 марта 2010, 22:44:11
Опередили меня) Я поправил предыдущий пост, там выложил найденные ошибки)
Я уже выложила подправленные файлы локализации, там я эти ошибки исправила :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Понятно, тогда прошу прощение за беспокойство =)
Сейчас разбираюсь с этим модом и нахожу кучу подводных камней, чувствуется я навеки с ним застряну) Видимо не все исправил...
Ввёл новую награду на пробу, но не могу её удалить, спрашивает действительно ли я хочу её удалить, я отвечаю "да", но ничего не происходит, награда по прежнему там же.
Не могу редактировать, пишет "Вы должны выбрать награду для редактирования." Но я ж выбираю напротив награды пункт, а галочек там никаких нет.
Когда кликаю на "пользователи" пишет Выбранная награда не существует.
Исчез перевод в профиле пользователя: сверху "награды" и пустое поле, раньше было написано "у пользователя нет наград"
Не могу вручить награду, выбираю награду, дату, пользователя, кликаю сохранить, ничего не происходит =(
В общем всё перемешалось и не пойму почему...

0daliska

Цитата: Krajsly от 24 марта 2010, 23:06:06
Понятно, тогда прошу прощение за беспокойство =)
Сейчас разбираюсь с этим модом и нахожу кучу подводных камней, чувствуется я навеки с ним застряну) Видимо не все исправил...
Ввёл новую награду на пробу, но не могу её удалить, спрашивает действительно ли я хочу её удалить, я отвечаю "да", но ничего не происходит, награда по прежнему там же.
Не могу редактировать, пишет "Вы должны выбрать награду для редактирования." Но я ж выбираю напротив награды пункт, а галочек там никаких нет.
Когда кликаю на "пользователи" пишет Выбранная награда не существует.
Исчез перевод в профиле пользователя: сверху "награды" и пустое поле, раньше было написано "у пользователя нет наград"
Не могу вручить награду, выбираю награду, дату, пользователя, кликаю сохранить, ничего не происходит =(
В общем всё перемешалось и не пойму почему...
Видно не все таблицы Вы исправили! Там несколько таблиц у этого мода, а не одна, о которой шел разговор!
см. файл install.php из пакета модификации Наград с официального сайта! Именно он создает все таблицы БД для работы модификаций и можно посмотреть, какие названия и какие поля должны быть!
Либо доисправлялись в Ворде - файлы локализации никогда не надо править в ворд! В случае win1251 форума, конечно можно и в блокноте править... Но не в ворд...
Либо неправильно действуете - см. http://www.simplemachines.ru/index.php?topic=906.msg65494#msg65494 - это ответ №204 в этой теме
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

#218
Спасибо за совет, посмотрю. В ворде я ничего не правлю) У меня на компе стоит словарь и он подчеркивает сразу все при правке на хосте. Кликать пробовал, не вышло. А файлы я тогда правил тоже в нескольких таблица, сейчас буду перепроверять.

З.Ы. Кстати последний модификатор сохранен в раре и не хочет восприниматься форумом.

0daliska

Цитата: Krajsly от 25 марта 2010, 00:11:04
Спасибо за совет, посмотрю. В ворде я ничего не правлю) У меня на компе стоит словарь и он подчеркивает сразу все при правке на хосте. Кликать пробовал, не вышло. А файлы я тогда правил тоже в нескольких таблица, сейчас буду перепроверять.

З.Ы. Кстати последний модификатор сохранен в раре и не хочет восприниматься форумом.
Теперь в зипе :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

В общем я понял, что вся моя беда состоит в том, что у меня в базе и файлах напортачил старый мод наград (я даже не помню какой версии) и при удалении удалился коряво. Т.к. сейчас после правки таблиц в бд я мод несколько раз установил и удалил и никаких ошибок не выдаёт. Но описаные проблемы (кроме профиля, с ним я разобрался) остались.
Сравнил файл install.php, все совпадает вроде, вот только не понял смысл этого текста
// Let's insert some settings
db_query("
REPLACE INTO {$db_prefix}settings
(`variable`, `value`)
VALUES
('awards_dir', 'awards'),
('awards_favorites', '1'),
('awards_in_post', '1')", __FILE__, __LINE__);

// And for good measure, here's the default category!
db_query("
INSERT IGNORE INTO {$db_prefix}awards_categories
(`id_category`, `category_name`)
VALUES
(1, 'Uncategorized')", __FILE__, __LINE__);

if(SMF == 'SSI')
echo 'Database changes are complete!';
?>


Я б с удовольствием в бд снес все таблицы, чтобы мод их поставил заново, но вот я не знаю что именно можно сносить, а что нет =(

0daliska

Цитата: Krajsly от 25 марта 2010, 01:00:20
В общем я понял, что вся моя беда состоит в том, что у меня в базе и файлах напортачил старый мод наград (я даже не помню какой версии) и при удалении удалился коряво. Т.к. сейчас после правки таблиц в бд я мод несколько раз установил и удалил и никаких ошибок не выдаёт. Но описаные проблемы (кроме профиля, с ним я разобрался) остались.
Сравнил файл install.php, все совпадает вроде, вот только не понял смысл этого текста
// Let's insert some settings
db_query("
REPLACE INTO {$db_prefix}settings
(`variable`, `value`)
VALUES
('awards_dir', 'awards'),
('awards_favorites', '1'),
('awards_in_post', '1')", __FILE__, __LINE__);

// And for good measure, here's the default category!
db_query("
INSERT IGNORE INTO {$db_prefix}awards_categories
(`id_category`, `category_name`)
VALUES
(1, 'Uncategorized')", __FILE__, __LINE__);

if(SMF == 'SSI')
echo 'Database changes are complete!';
?>


Я б с удовольствием в бд снес все таблицы, чтобы мод их поставил заново, но вот я не знаю что именно можно сносить, а что нет =(
Он вносит начальные параметры в настройки модификации...
В первом случае в таблицу smf_settings
заносит, что директория (переменная: awards_dir) для наград будет awards (значение: awards)
Далее ставит переключатель на использовать функцию избранных наград
(переменная: 'awards_favorites') - (значение: 1)
И последнее - отображать награды в темах на форуме....
// And for good measure, here's the default category!
Здесь он создает первую категорию - называемую Uncategorized
Вот собственно и все, что в этом куске делается :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Ясно... ну в темах у меня вроде все отображается.
Остаются две большие проблемы. Не действует как надо управление на главной.
И не могу наградить как надо. К примеру создал награду, выбрал её, нашел двух пользователей, которым вручить её, нажал сохранить. Меня перекинуло на страничку "показать награждения", в которой отображен один из пользователей и можно поставить галочку "снятие награды". Награда висит и в профиле и в теме у него, у второго пользователя не ставится хоть  wallbash А первому не снимается, выдает "нет такой награды" =))

Сеттинг так выглядит или чего то не хватает?

З.Ы. хоть я и узнал много нового в процессе, но чувствую себя полнейшей тупицей  ;D Мне можно уже не отвечать, если надоел, я не обижусь  uglystupid

0daliska

Цитата: Krajsly от 25 марта 2010, 01:28:14
Ясно... ну в темах у меня вроде все отображается.
Остаются две большие проблемы. Не действует как надо управление на главной.
И не могу наградить как надо. К примеру создал награду, выбрал её, нашел двух пользователей, которым вручить её, нажал сохранить. Меня перекинуло на страничку "показать награждения", в которой отображен один из пользователей и можно поставить галочку "снятие награды". Награда висит и в профиле и в теме у него, у второго пользователя не ставится хоть  wallbash А первому не снимается, выдает "нет такой награды" =))

Сеттинг так выглядит или чего то не хватает?

З.Ы. хоть я и узнал много нового в процессе, но чувствую себя полнейшей тупицей  ;D Мне можно уже не отвечать, если надоел, я не обижусь  uglystupid
Так, но таблицу по-другому надо открывать... Так Вы ничего внутри вместе не посмотрите
В левом окошке нажмите на название Вашей БД, в этом случае у Вас все таблицы красивым ровным рядом откроются в правом окне...
Найдите в правом окне таблицу smf_settings, и щелкните по иконке, которая первой будет в действиях (такая в виде таблички, перед карандашом), тогда Вы всю табличку посмотрите... Со всеми полями сразу! Эта таблица достаточно большая... Почитайте сразу какие переменные там есть, там все настройки Вашего форума... Полезно почитать, что где лежит... Раз уж залезли, то знакомьтесь :)
В общем удачи... И смотрите лог ошибок форума... Он Вам много чего подскажет при проблемах с модификациями!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Krajsly

Спасибо, вы мне очень помогли =) Во всяком случае уровень моего развития на данном этапе теперь позволил мне управлять наградами и вручать их непосредственно с бд  uglystupid ошибок из-за которых с форума добавляться не хочет не нашел... может потому что бьюсь с этим не один час и на дворе 3 часа ночи)) Так что может когда-нибудь и додумаюсь)

Validoll

Благодарю автора и всех мастеров этого форума за мод, установил без проблем, всё прошло. Интегрировал картинки под аватар пользователя - работает. Спасибо!
Занимаюсь визуализацией модов и созданием рисунков-концептов для модификаций в разработке.
Что-то не работает? Проверьте права доступа к файлам.

DemoN

#226
Установил этот мод - все работает, но вот какая беда - везде возле наград есть какая то точка.
1 cкрин из Оперы, 2 скрин из ИЕ.

И еще: как убрать нижнюю иконку награды, а сделать ссылкой саму надпись: Награды и сделать что бы она отображалась по центру?

По первому вопросу разобрался: в Display.template.php

// Show their awards?
if (!empty($message['member']['awards']) && $modSettings['awards_in_post'] > 0){
echo '
<li>
<fieldset style="border: 1px solid black; padding: 5px;">
<legend>', $txt['awards'], '</legend>';

// Couldn't limit it in Load.php, so let's do it here.
$awards = 0;
foreach ($message['member']['awards'] as $award){
if($awards < $modSettings['awards_in_post'])
echo '
<a href="', $scripturl, $award['more'], '"><img src="', dirname($scripturl), $award['img'], '" alt="', $award['description'], '" title="', $award['description'], '" /></a> ';
$awards++;
}

echo '
</fieldset>
</li>';

убрал <li></li> и точка исчезла. Зачем это <li> там нужно вообще?

0daliska

Цитата: DemoN от 12 июня 2010, 22:26:45
...

И еще: как убрать нижнюю иконку награды, а сделать ссылкой саму надпись: Награды и сделать что бы она отображалась по центру?

... в Display.template.php
....
Чуть дальше в этом же файле находим:
// Awards!
echo '
<a href="', $scripturl, '?action=profile;area=showAwards;u=', $message['member']['id'], '" title="', $txt['awards'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/award.gif" alt="' . $txt['awards'] . '" title="' . $txt['awards'] . '" border="0" />' : $txt['awards']), '</a>';

И закомментируем (или удаляем) этот блок полностью... Это уберет картинку нижнюю со ссылкой...
А в Вашем куске кода, который Вы приводили в своем вопросе, находим:
<fieldset style="border: 1px solid black; padding: 5px;">
                        <legend>', $txt['awards'], '</legend>';

И заменяем эту часть на:
<fieldset style="border: 1px solid black; padding: 5px;">
                        <legend><a href="', $scripturl, '?action=profile;area=showAwards;u=', $message['member']['id'], '" title="', $txt['awards'], '">', $txt['awards'], '</a></legend>';

Это позволит сделать надпись Награды ссылкой на награды юзверя...

Как-то так :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

DemoN

Как всегда вы меня выручаете. Только правильнее ссылка будет так:
<legend><b><a href="', $scripturl, '?action=profile;sa=showAwards;u=', $message['member']['id'], '">', $txt['awards'], '</a></b></legend>';
А то приведенная вами ведет в профиль а не в награды и title в надписи я думаю тоже будет излишним )
Спасибо еще раз!

yrygvay

Поставил данный мод, награды не отображаются.

А при нажатии в теме на ник пользователя
Fatal error: Cannot redeclare showawards() (previously declared in /home/y/sites/f.ru/httpdocs/forum/Sources/Profile.php:2952) in /home/y/sites/f.ru/httpdocs/forum/Sources/Profile.php on line 3194


в этом файле это
mysql_free_result($request);

$context['page_title'] = $txt[79] . ' - ' . $txt['awards_title'];
$context['sub_template'] = 'awards';
$context['allowed_fav'] = ($context['user']['is_owner'] && allowedTo('profile_view_own')) || allowedTo('profile_extra_any');
}

function awardsMembers(){
global $context, $db_prefix, $modSettings, $scripturl, $txt;


строчка 3194 - } (такой параметр)
строчка 2952 - function showAwards($memID){  (такой параметр)

В чём может быть проблема?

Music in Soul
Помогу с переездом с UCOZ

BlogeR

Поставил данный мод - работает отлично! =)
Bogdanov Design - Дизайн, создание и разработка сайтов г. Великий Новгород

yrygvay

на чистый форум rc 4 поставил мод и опять но уже в другом месте при добавлении картинок наград

http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
You must select a file to upload!

http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
8: Undefined variable: boarddir
Файл: /home/.ru/httpdocs/forum2/Sources/ManageAwards.php
Строка: 208



http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
8: Undefined variable: boarddir
Файл: /home/.ru/httpdocs/forum2/Sources/ManageAwards.php
Строка: 210

http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
8: Undefined variable: boarddir
Файл: /home/.ru/httpdocs/forum2/Sources/ManageAwards.php
Строка: 208

Вот кусок этого кода
// Delete the file first.
if (file_exists($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $filename))
@unlink($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $filename);
if (file_exists($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $minifile))
@unlink($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $minifile);

// Now add the new one.
AwardsUpload($id_award);
Music in Soul
Помогу с переездом с UCOZ

Bugo

У мода за последние несколько месяцев поменялось несколько разработчиков, но эту ошибку (с boarddir) так и не устранили :)

0daliska

Скорее всего в той функции, которая вызывается не объявлена глобальная переменная $boarddir
В начале функции, к которой относится данный код... Так подозреваю, что
function AwardsModify()
{
global $smcFunc, $context, $scripturl, $txt, $modSettings, $settings;

Попробуйте написать так:
function AwardsModify()
{
global $smcFunc, $context, $boarddir, $scripturl, $txt, $modSettings, $settings;
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Sjoker

#234
Подскажите пожалуйста,  в какую сторону копать.
SMF 2.0 RC4
SimplePortal 2.3.3
Member Awards Mod 2.2.2

В логах при просмотре наград пользователя в Профиле пишет

http://.com/forum/index.php?action=profile;area=listAwards;u=216

8: Undefined index: view

Файл: /home/xxx/public_html/forum/Themes/default/languages/ManageAwards.russian.php (awards_list sub template - eval?)
Строка: 3204




Пользователь (u=) любой, чей профиль с наградами просматривается
Понятное дело, что в ManageAwards.russian.php строки с таким номером нет.
Хоть что-то близкое найдено в ManageAwards.template.php (строка 87)
   <a href="', $category['view'], '">', $category['name'], '</a>

yrygvay

#235
Цитата: 0daliska от 05 ноября 2010, 14:43:48
Скорее всего в той функции, которая вызывается не объявлена глобальная переменная $boarddir
В начале функции, к которой относится данный код... Так подозреваю, что
function AwardsModify()
{
global $smcFunc, $context, $scripturl, $txt, $modSettings, $settings;

Попробуйте написать так:
function AwardsModify()
{
global $smcFunc, $context, $boarddir, $scripturl, $txt, $modSettings, $settings;


попробовал, осталось только две ошибки

http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
Применить фильтр: Показать ошибки только с теми сообщениями
You must select a file to upload!


http://.ru/forum2/index.php?action=admin;area=awards;sa=modify
Применить фильтр: Показать ошибки только с теми сообщениями
8: Undefined variable: id_award
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/.ru/httpdocs/forum2/Sources/ManageAwards.php
Строка: 214

Music in Soul
Помогу с переездом с UCOZ

yrygvay

Music in Soul
Помогу с переездом с UCOZ

0daliska

#237
Цитата: yrygvay от 06 ноября 2010, 12:12:19
вот теперь так
Как Так? Не поняла...
Работает или нет?
Попробуйте но не факт, что поможет (посему про сохранение исходного файла не забудьте):
// Now add the new one.
AwardsUpload($id_award);

Заменить на:
// Now add the new one.
AwardsUpload($id);

Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

yrygvay

Цитата: 0daliska от 06 ноября 2010, 13:16:40

Попробуйте но не факт, что поможет (посему про сохранение исходного файла не забудьте):
// Now add the new one.
AwardsUpload($id_award);

Заменить на:
// Now add the new one.
AwardsUpload($id);


Заработало, спасибо огромное!!
(точнее в профиле в меню видно награды, но наград не видно под ником в темах форума.

и ошибочки маленькие вот такие:

http://.ru/forum2/index.php?action=profile;area=listAwards;u=1
8: Undefined index: view
Файл: /home/.ru/httpdocs/forum2/Themes/default/languages/ManageAwards.english.php (awards_list sub template - eval?)
Строка: 3136
Хотя такой строчки там в помине нет, там максим 96 заканчивается
Music in Soul
Помогу с переездом с UCOZ

0daliska

А в настройках наград установлено какое-то число для вывода наград?
Награды в сообщениях:______ <-- тут обязательно надо поставить число!!!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

yrygvay

#240
Спасибо и правда, не стояла галка.

Спасибо, щас попробую ещё и русский Ваш поставить!

теперь правда всё работая, выскакивает вот такая ошибка

http://.ru/forum2/index.php?action=profile;area=listAwards;u=1
8: Undefined index: view
Файл: /home/.ru/httpdocs/forum2/Themes/default/languages/ManageAwards.russian-utf8.php (awards_list sub template - eval?)
Строка: 3136
Music in Soul
Помогу с переездом с UCOZ

0daliska

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

Так что, если есть от Буго, к примеру русик, то лучше ставить его...

Напишите баг-репорт разработчикам мода...

Слава богу, Вам его мы запустили, все заработало... Ошибки, увы, все фиксить нет времени...
А то получится, что мы сейчас с Вами по кускам весь мод им перепишем, исправляя ошибки... Что и авторам работать не над чем будет... :)
:)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Sjoker

В файле локализации никаких изменений новая версия не внесла.

Stranger

Ребят помогите, весь инет перерыл, ничё не нашёл.

Версия мода: 1.1.2
Версия SMF: 1.1.12

Установил мод без проблем, но при добавлении новой награды вылазит это:
Field 'filename' doesn't have a default value
Файл: ***\Sources\ManageAwards.php
Строка: 189


Если вручную в БД добавить награду, то потом через админку можно её редактировать без проблем и ошибок.

Если я правильно понял, что-то с ID. Вот код:
if ($id < 1){
db_query("
REPLACE INTO {$db_prefix}awards
(`award_name`, `description`, `time_added`, `id_category`)
VALUES
('{$award_name}', '{$description}', {$time_added}, {$category})", __FILE__, __LINE__); //Строка: 189

// Get the id_award
$id = mysql_insert_id();

// Now upload the file
AwardsUpload($id);
} else {

0daliska

У меня еще боле древняя версия 1.1.1.  на 1.1.12 отлично работает,
и код, приведенный вами, абсолютно идентичен тому, что у меня (даже номер строки)...
Может, Вы забываете выбрать картинку награды в поле для загрузки или не заполняете все поля, создавая награду?
Приведите полностью код функции из файла вашей версии
function AwardsModify()
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Bugo

Вместо перелопачивания всего интернета (что Вы сделать никак не могли) лучше бы отписались на форуме поддержки мода.

Stranger

0daliska, спасибо за ответ.
Дело в том, что если НЕ заполнить какое-нить поле, то покажет ошибку(адекватную, типа не указано название), а если заполнить всё, то вышеописанная ошибка.

function AwardsModify(){
global $context, $scripturl, $txt, $modSettings, $settings, $db_prefix, $boarddir;

// Check if they are saving the changes
if (isset($_POST['award_save'])){
checkSession('post');

// Check if any of the values where left empty
if (empty($_POST['award_name']))
fatal_lang_error('awards_error_empty_badge_name');
if (empty($_FILES['awardFile']['name']) && $_POST['id'] == 0)
fatal_lang_error('awards_error_no_file');

$id = (int) $_POST['id'];

// Clean the values
$award_name = strtr(htmlspecialchars($_POST['award_name'], ENT_QUOTES), array("\r" => '', "\n" => '', "\t" => ''));
$description = strtr(htmlspecialchars($_POST['description'], ENT_QUOTES), array("\r" => '', "\n" => '', "\t" => ''));
$category = (int) $_REQUEST['id_category'];
$time_added = time();

// Now to insert the data for this new award.
if ($id < 1){
db_query("
REPLACE INTO {$db_prefix}awards
(`award_name`, `description`, `time_added`, `id_category`)
VALUES
('{$award_name}', '{$description}', {$time_added}, {$category})", __FILE__, __LINE__);

// Get the id_award
$id = mysql_insert_id();

// Now upload the file
AwardsUpload($id);
} else {
// Edit the award
$editAward = db_query("
UPDATE {$db_prefix}awards
SET
award_name = '{$award_name}',
description = '{$description}',
id_category = {$category}
WHERE id_award = {$id}", __FILE__, __LINE__);

// Are we uploading a new image for this award?
if (isset($_FILES['awardFile']) && $_FILES['awardFile']['error'] === 0 && $editAward === true){
// Lets make sure that we delete the file that we are supposed to and not something harmful
$request = db_query("
SELECT filename, minifile
FROM {$db_prefix}awards
WHERE id_award = {$id}", __FILE__, __LINE__);

list ($filename, $minifile) = mysql_fetch_row($request);
mysql_free_result($request);

// Delete the file first.
if (file_exists($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $filename))
@unlink($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $filename);
if (file_exists($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $minifile))
@unlink($boarddir . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $minifile);

// Now add the new one.
AwardsUpload($id);
}
}

redirectexit('action=awards;sa=modify;saved=1');
}

$request = db_query("
SELECT *
FROM {$db_prefix}awards_categories
ORDER BY category_name ASC", __FILE__, __LINE__);

while($row = mysql_fetch_assoc($request))
$context['categories'][] = array(
'id' => $row['id_category'],
'name' => $row['category_name'],
);

mysql_free_result($request);

// Load the data for editing
if (isset($_REQUEST['id'])){
$id = (int) $_REQUEST['id'];

// Check if awards is clean.
if (empty($id) || $id <= 0)
fatal_lang_error('awards_error_no_id');

// Load single award info for editing.
$request = db_query("
SELECT *
FROM {$db_prefix}awards
WHERE id_award = {$id}
LIMIT 1", __FILE__, __LINE__);

$row = mysql_fetch_assoc($request);

// Check if that award exists
if (count($row['id_award']) != 1)
fatal_lang_error('awards_error_no_award');

$context['editing'] = true;
$context['award'] = array(
'id' => $row['id_award'],
'award_name' => $row['award_name'],
'description' => $row['description'],
'category' => $row['id_category'],
'time' => timeformat($row['time_added']),
'filename' => $row['filename'],
'minifile' => $row['minifile'],
'img' => dirname($scripturl) . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $row['filename'],
'small' => dirname($scripturl) . '/' . (empty($modSettings['awards_dir']) ? '' : $modSettings['awards_dir'] . '/') . $row['minifile'],
);

mysql_free_result($request);

// Set the title
$context['page_title'] = $txt['awards_title'] . ' - ' . $txt['awards_edit_award'];
} else {
// Setup place holders.
$context['editing'] = false;
$context['award'] = array(
'id' => 0,
'award_name' => '',
'description' => '',
'category' => 1,
);

$context['page_title'] = $txt['awards_title'] . ' - ' . $txt['awards_manage_awards'];
}

$context['sub_template'] = 'modify';
}

Sjoker

После установки  галочки "Отключить проверку шаблонов темы оформления" ошибка преобразилась в
http://x.com/forum/index.php?action=profile;u=723;area=listAwards

8: Undefined index: view

Файл: /home/x/public_html/forum/Themes/default/Profile.template.php
Строка: 3204


В строке 3204 имеется
// Check if there are any awards
if (empty($context['categories']))
echo '
<p class="description>
', $txt['awards_error_no_badges'], '
</p>';
else
{
foreach($context['categories'] as $key => $category)
{
echo '
<div class="title_bar">
<h3 class="titlebg">
3204===> <a href="', $category['view'], '">', $category['name'], '</a>
</h3>
</div>
<table class="table_grid" width="100%">
<thead>
<tr class="catbg">
<th scope="cols" class="smalltext" width="15%">', $txt['awards_image'], '</th>
<th scope="cols" class="smalltext" width="15%">', $txt['awards_mini'], '</th>
<th scope="cols" class="smalltext" width="25%">', $txt['awards_name'], '</th>
<th scope="cols" class="smalltext" width="40%">', $txt['awards_description'], '</th>
<th scope="cols" class="smalltext" width="5%">&nbsp;</th>
</tr>
</thead>
<tbody>';

0daliska

Ну что тут сказать - самое простое, это убрать из шаблона ссылку на категорию, где сия переменная используется, то есть получим, что код, который Вы мне привели (строки с 3203-3205)
                  <h3 class="titlebg">
             <a href="', $category['view'], '">', $category['name'], '</a>
                  </h3>

сменится на:
<h3 class="titlebg">
                  ', $category['name'], '
                  </h3>

И пишите разработчикам мода
ЦитироватьPlease use the modification thread for support with this modification. Personal messages for support are discouraged.
Additional support can be found at http://www.jblaze.net/
А то они в полной уверенности находятся, что этот баг они еще в 2.2.1 профиксили...
ЦитироватьVersion 2.2.1, May 29th, 2010
- Fixed profile awards view bug. (Thanks to C4G-TK)
- Fixed assign error for members with less than 3 characters.
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Sjoker

Цитата: 0daliska от 08 ноября 2010, 15:08:57
Ну что тут сказать - самое простое, это убрать из шаблона ссылку на категорию, где сия переменная используется, то есть получим, что код, который Вы мне привели (строки с 3203-3205)
                 <h3 class="titlebg">
             <a href="', $category['view'], '">', $category['name'], '</a>
                  </h3>

сменится на:
<h3 class="titlebg">
                  ', $category['name'], '
                  </h3>

И пишите разработчикам модаА то они в полной уверенности находятся, что этот баг они еще в 2.2.1 профиксили...


Спасибо. Пока разработчики в твердой уверенности, что все дело в русской локали.