Ответить
Надо как раз посмотреть что за нах))) К стати, описание скорее всего и так будет на форуме в следующем релизе
Конечно инициатива твоя мне очень нравиться, но лучше бы это как нить согласовывать. Или ты просто модифицируешь свой сайт под себя и заодно другим показываешь?
Именно. Я про это в другой теме отписывался.
Ааа, я еще не дошел до нее видимо)) А сайт покажешь?
)))) Ну подождемс. Интересно увидеть))
Добавлено 2011.04.15 17-06
Теперь описание для тем есть в стандартной сборке.
Спасибо Wasja.
1
Мод форума - описание для тем
Отправлено: 26 Feb 2011#1
Мод добавляет поддержку описания для тем форума.
Предупреждение - обязательно сохраните бэкап базы данных перед модификацией.
Для подключения необходимо:
1) Исправить структуру таблицы "themes" базы данных, добавив новое поле со следующими параметрами:
- имя "description";
- тип данных: MEDIUMTEXT;
- значение по умолчанию: NULL;
- кодировка (collation): utf8_general_ci;
- нулевое значение (NULL): разрешено.
2) В функции "__parseThemeTable" файла "\modules\forum\index.php" добавить после строки
строки
3) В функции "view_theme" файла "\modules\forum\index.php" добавить после строки
строку
А после строк
строки
4) В функции "add_theme_form" файла "\modules\forum\index.php" добавить после строки
строку
А после строки
строку
После строки
строку
5) В функции "add_theme" файла "\modules\forum\index.php" добавить после строки
строки
После строки
строку
После строк
строки
После строки
строку
Заменить выражение
на
6) В функции "edit_theme_form" файла "\modules\forum\index.php" добавить после строки
строку
После строки
строку
После строки
строку
7) В функции "update_theme" файла "\modules\forum\index.php" добавить после строки
строки
После строк
строки
После строки
строку
Заменить выражение
на
8) Если использовался мод с RSS, то необходимо в функции "rss" файла "\modules\forum\index.php" добавить после строки
строки
9) Если использовался мод с отдельными сообщениями, то в функции "view_post" файла "\modules\forum\index.php" заменить выражение
на
После строки
строку
После строк
строки
10) Изменить файлы шаблона, расположенные в папке "forum":
- добавить в файлы "vievthemes.html" и "vievlastthemes.html" тег {DESCRIPTION} для вывода описания темы;
- добавить в файлы "addthemeform.html" и "editthemeform.html" поле для редактирования темы:
[color=939494]Добавлено 2011.02.26 11-51
Везде где, в коде используется тег {NAVIGATION } перед использованием необходимо убрать пробел перед закрывающей скобкой (бага форума).
Предупреждение - обязательно сохраните бэкап базы данных перед модификацией.
Для подключения необходимо:
1) Исправить структуру таблицы "themes" базы данных, добавив новое поле со следующими параметрами:
- имя "description";
- тип данных: MEDIUMTEXT;
- значение по умолчанию: NULL;
- кодировка (collation): utf8_general_ci;
- нулевое значение (NULL): разрешено.
2) В функции "__parseThemeTable" файла "\modules\forum\index.php" добавить после строки
Code:
$theme_title = h($theme['title']);
Code:
$theme_description = h($theme['description']);
$markets['{DESCRIPTION}'] = $theme_description;
$markets['{DESCRIPTION}'] = $theme_description;
Code:
$id_forum = $res[0]['id_forum'];
Code:
$description = $res[0]['description'];
Code:
$markets['{NAVIGATION }'] = get_link('Список форумов', '/forum/') . ' » ' . get_link(h($res[0]['title']),
'/forum/view_forum/' . $id_forum) . ' » ' . get_link(h($theme), '/forum/view_theme/' . $id_theme);
'/forum/view_forum/' . $id_forum) . ' » ' . get_link(h($theme), '/forum/view_theme/' . $id_theme);
Code:
if (!empty($description)) {
$markets['{NAVIGATION }'] .= ' (' . $description . ')';
}
$markets['{NAVIGATION }'] .= ' (' . $description . ')';
}
Code:
$theme = h( $_SESSION['viewMessage']['theme'] );
Code:
$description = h( $_SESSION['viewMessage']['description'] );
Code:
$theme = h( $_SESSION['addThemeForm']['theme'] );
Code:
$description = h( $_SESSION['addThemeForm']['description'] );
Code:
$markets['{THEME}'] = (!empty($theme)) ? $theme : '';
Code:
$markets['{DESCRIPTION}'] = (!empty($description)) ? $description : '';
Code:
$theme = trim($theme);
Code:
$description = mb_substr($_POST['description'], 0, 128);
$description = trim($description);
$description = trim($description);
Code:
$_SESSION['viewMessage']['theme'] = $theme;
Code:
$_SESSION['viewMessage']['description'] = $description;
Code:
elseif (!$valobj->cha_val($theme, V_TITLE))
$error = $error.'<li>поле "Тема" содержит недопустимые символы</li>'."\n";
$error = $error.'<li>поле "Тема" содержит недопустимые символы</li>'."\n";
Code:
if (!$valobj->cha_val($description, V_TITLE))
$error = $error.'<li>поле "Описание темы" содержит недопустимые символы</li>'."\n";
$error = $error.'<li>поле "Описание темы" содержит недопустимые символы</li>'."\n";
Code:
$_SESSION['addThemeForm']['theme'] = $theme;
Code:
$_SESSION['addThemeForm']['description'] = $description;
Code:
$res = $this->DB->save('themes', array(
'title' => $theme,
'id_author' => $_SESSION['user']['id'],
'time' => new Expr('NOW()'),
'id_last_author' => $_SESSION['user']['id'],
'last_post' => new Expr('NOW()'),
'id_forum' => $id_forum
));
'title' => $theme,
'id_author' => $_SESSION['user']['id'],
'time' => new Expr('NOW()'),
'id_last_author' => $_SESSION['user']['id'],
'last_post' => new Expr('NOW()'),
'id_forum' => $id_forum
));
Code:
$res = $this->DB->save('themes', array(
'title' => $theme,
'description' => $description,
'id_author' => $_SESSION['user']['id'],
'time' => new Expr('NOW()'),
'id_last_author' => $_SESSION['user']['id'],
'last_post' => new Expr('NOW()'),
'id_forum' => $id_forum
));
'title' => $theme,
'description' => $description,
'id_author' => $_SESSION['user']['id'],
'time' => new Expr('NOW()'),
'id_last_author' => $_SESSION['user']['id'],
'last_post' => new Expr('NOW()'),
'id_forum' => $id_forum
));
Code:
$name = h($_SESSION['editThemeForm']['name']);
Code:
$description = h($_SESSION['editThemeForm']['description']);
Code:
$name = h($theme['title']);
Code:
$description = h($theme['description']);
Code:
$markets['{NAME}'] = $name;
Code:
$markets['{DESCRIPTION}'] = $description;
Code:
$name = trim($name);
Code:
$description = mb_substr($_POST['description'], 0, 128);
$description = trim($description);
$description = trim($description);
Code:
if (!$valobj->cha_val($name, V_TITLE))
$error = $error.'<li>поле "Тема" содержит недопустимые символы</li>'."\n";
$error = $error.'<li>поле "Тема" содержит недопустимые символы</li>'."\n";
Code:
if (!$valobj->cha_val($description, V_TITLE))
$error = $error.'<li>поле "Описание темы" содержит недопустимые символы</li>'."\n";
$error = $error.'<li>поле "Описание темы" содержит недопустимые символы</li>'."\n";
Code:
$_SESSION['editThemeForm']['name'] = $name;
Code:
$_SESSION['editThemeForm']['description'] = $description;
Code:
$this->DB->save('themes', array(
'title' => $name,
'id_forum' => $id_forum,
'id' => $id_theme,
));
'title' => $name,
'id_forum' => $id_forum,
'id' => $id_theme,
));
Code:
$this->DB->save('themes', array(
'title' => $name,
'description' => $description,
'id_forum' => $id_forum,
'id' => $id_theme,
));
'title' => $name,
'description' => $description,
'id_forum' => $id_forum,
'id' => $id_theme,
));
Code:
$html .= '<description><![CDATA[Форум: <a href="' . $sitename . 'forum/view_forum/' . $last_post['id_forum'] . '">' . $last_post['forum_title'] . '</a><br />';
Code:
if (!empty($last_post['description'])) {
$html .= 'Описание темы: ' . $last_post['description'] . '<br />';
}
$html .= 'Описание темы: ' . $last_post['description'] . '<br />';
}
Code:
'fields' => array('a.id', 'a.message', 'a.id_author', 'a.time', 'a.attaches', 'a.locked', 'a.id_theme',
"DATE_FORMAT(a.edittime, '%d.%m.%Y') AS edittime", 'a.id_editor', "IFNULL(b.name, '"
. Config::read('not_reg_user', 'forum') . "') AS author", 'b.posts', 'b.url',
"DATE_FORMAT(b.puttime, '%d.%m.%Y') AS regtime", 'b.status AS status', 'b.state AS state',
"IFNULL(b.signature, '') AS signature", "IFNULL(b.locked, 0) AS blocked", "IFNULL(c.name, '') AS editor",
"IFNULL(c.status, '') AS editor_status", 'd.title AS theme_title',
'd.id_forum AS forum_id', 'e.title AS forum_title'),
"DATE_FORMAT(a.edittime, '%d.%m.%Y') AS edittime", 'a.id_editor', "IFNULL(b.name, '"
. Config::read('not_reg_user', 'forum') . "') AS author", 'b.posts', 'b.url',
"DATE_FORMAT(b.puttime, '%d.%m.%Y') AS regtime", 'b.status AS status', 'b.state AS state',
"IFNULL(b.signature, '') AS signature", "IFNULL(b.locked, 0) AS blocked", "IFNULL(c.name, '') AS editor",
"IFNULL(c.status, '') AS editor_status", 'd.title AS theme_title',
'd.id_forum AS forum_id', 'e.title AS forum_title'),
Code:
'fields' => array('a.id', 'a.message', 'a.id_author', 'a.time', 'a.attaches', 'a.locked', 'a.id_theme',
"DATE_FORMAT(a.edittime, '%d.%m.%Y') AS edittime", 'a.id_editor', "IFNULL(b.name, '"
. Config::read('not_reg_user', 'forum') . "') AS author", 'b.posts', 'b.url',
"DATE_FORMAT(b.puttime, '%d.%m.%Y') AS regtime", 'b.status AS status', 'b.state AS state',
"IFNULL(b.signature, '') AS signature", "IFNULL(b.locked, 0) AS blocked", "IFNULL(c.name, '') AS editor",
"IFNULL(c.status, '') AS editor_status", 'd.title AS theme_title', 'd.description AS theme_description',
'd.id_forum AS forum_id', 'e.title AS forum_title'),
"DATE_FORMAT(a.edittime, '%d.%m.%Y') AS edittime", 'a.id_editor', "IFNULL(b.name, '"
. Config::read('not_reg_user', 'forum') . "') AS author", 'b.posts', 'b.url',
"DATE_FORMAT(b.puttime, '%d.%m.%Y') AS regtime", 'b.status AS status', 'b.state AS state',
"IFNULL(b.signature, '') AS signature", "IFNULL(b.locked, 0) AS blocked", "IFNULL(c.name, '') AS editor",
"IFNULL(c.status, '') AS editor_status", 'd.title AS theme_title', 'd.description AS theme_description',
'd.id_forum AS forum_id', 'e.title AS forum_title'),
Code:
$theme_title = $res[0]['theme_title'];
Code:
$theme_description = $res[0]['theme_description'];
Code:
$markets['{NAVIGATION }'] = get_link('Список форумов', '/forum/') . ' » ' . get_link(h($forum_title),
'/forum/view_forum/' . $forum_id) . ' » ' . get_link(h($theme_title), '/forum/view_theme/' . $theme_id);
'/forum/view_forum/' . $forum_id) . ' » ' . get_link(h($theme_title), '/forum/view_theme/' . $theme_id);
Code:
if (!empty($theme_description)) {
$markets['{NAVIGATION }'] .= ' (' . $theme_description . ')';
}
$markets['{NAVIGATION }'] .= ' (' . $theme_description . ')';
}
- добавить в файлы "vievthemes.html" и "vievlastthemes.html" тег {DESCRIPTION} для вывода описания темы;
- добавить в файлы "addthemeform.html" и "editthemeform.html" поле для редактирования темы:
Code:
<input type="text" name="description" maxlength="128" value="{DESCRIPTION}" />
[color=939494]Добавлено 2011.02.26 11-51
Везде где, в коде используется тег {NAVIGATION } перед использованием необходимо убрать пробел перед закрывающей скобкой (бага форума).
Отправлено: 27 Feb 2011#3
Wasja пишет:
Везде где, в коде используется тег {NAVIGATION } перед использованием необходимо убрать пробел перед закрывающей скобкой (бага форума).
Конечно инициатива твоя мне очень нравиться, но лучше бы это как нить согласовывать. Или ты просто модифицируешь свой сайт под себя и заодно другим показываешь?Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 27 Feb 2011#4
Drunya пишет:
Или ты просто модифицируешь свой сайт под себя и заодно другим показываешь?
Отправлено: 27 Feb 2011#5
Wasja пишет:
Именно. Я про это в другой теме отписывался.
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 28 Feb 2011#7
Wasja пишет:
Drunya, http://localhost [smile]
)))) Ну подождемс. Интересно увидеть))Добавлено 2011.04.15 17-06
Теперь описание для тем есть в стандартной сборке.
Спасибо Wasja.
Я горжусь тем, что создал . И люблю нашу команду)
1
Сейчас online: 6. Зарегистрированных: 0. Гостей: 6.


