Ответить
Надо как раз посмотреть что за нах))) К стати, описание скорее всего и так будет на форуме в следующем релизе Конечно инициатива твоя мне очень нравиться, но лучше бы это как нить согласовывать. Или ты просто модифицируешь свой сайт под себя и заодно другим показываешь?
Именно. Я про это в другой теме отписывался.
Ааа, я еще не дошел до нее видимо)) А сайт покажешь?
)))) Ну подождемс. Интересно увидеть))
Добавлено 2011.04.15 17-06
Теперь описание для тем есть в стандартной сборке.
Спасибо Wasja.
1
Мод форума - описание для тем
Отправлено: 26 Фев 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 Фев 2011#3
Wasja пишет:
Везде где, в коде используется тег {NAVIGATION } перед использованием необходимо убрать пробел перед закрывающей скобкой (бага форума).
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 27 Фев 2011#4
Drunya пишет:
Или ты просто модифицируешь свой сайт под себя и заодно другим показываешь?
Отправлено: 27 Фев 2011#5
Wasja пишет:
Именно. Я про это в другой теме отписывался.
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 28 Фев 2011#7
Wasja пишет:
Drunya, http://localhost [smile]
Добавлено 2011.04.15 17-06
Теперь описание для тем есть в стандартной сборке.
Спасибо Wasja.
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 171. Зарегистрированных: 0. Гостей: 171.