ситуация примерно такая же как и у вас (естественно в разы меньше) - но тем не менее.
много чего напрограммировали в базе, написали хелп - но т.к. пользователей несколько десятков и из разных городов - то им действительно тяжело во всем разобраться. к тому же глюки периодически вылезают и их хотелось бы отлавливать.
соответственно нужно какаято онлайн площадка - для помощи, обсуждений, обучений - по базе.
что вроде Вашего форума - но чуть проще (скорее всего без регистраций, но с возможность. прикладывания файлов).
есть вариант использовать ваш же форум из КС (представление). Но там какой то баг - в "последнее соообщение" - показывается не последнее сообщение, а сообщение (+ дата + автор) - ПЕРВОГО сообщения.
вы можете выложить правильный код?
0
и нужен еще один совет - где лучше всего отвечать на вопросы своих же сотрудников по базе
Автор tel, 20 марта 2011 14:28
Сообщений в теме: 6
#1
Отправлено 20 Март 2011 - 14:28
#2
Отправлено 21 Март 2011 - 10:54
Да, действительно, там ошибка в коде.
Правильный код:
Правильный код:
$topic = $_REQUEST['topic']; $post = $_REQUEST['post']; // Добавление темы if ($_REQUEST['act']=="new_topic") { $insert_data["Заголовок темы"] = $_REQUEST['header']; $insert_data["Время создания"] = date("Y-m-d H:i:00"); $insert_data["Автор темы"] = $user['id']; $topic = insert_query($insert_data, "Темы форума"); $insert_data["Тема"] = $topic; $insert_data["Сообщение"] = $_REQUEST['message']; $insert_data["Время создания"] = date("Y-m-d H:i:00"); $insert_data["Автор сообщения"] = $user['id']; insert_query($insert_data, "Сообщения форума"); header("Location:".$config['site_root']."/report.php?id=1&topic=".$topic); } // Добавление сообщения if ($_REQUEST['act']=="new_post") { $insert_data["Тема"] = $topic; $insert_data["Сообщение"] = $_REQUEST['message']; $insert_data["Время создания"] = date("Y-m-d H:i:00"); $insert_data["Автор сообщения"] = $user['id']; insert_query($insert_data, "Сообщения форума"); header("Location:".$config['site_root']."/report.php?id=1&topic=".$topic); } // Редактирование сообщения if ($_REQUEST['act']=="save_post") { $update_data["Сообщение"] = $_REQUEST['message']; update_query($update_data, "Сообщения форума", "id=".$post); header("Location:".$config['site_root']."/report.php?id=1&topic=".$topic); } // Удаление сообщения if ($_REQUEST['act']=="del_post") { delete_query("Сообщения форума", "id=".$post); header("Location:".$config['site_root']."/report.php?id=1&topic=".$topic); } // Удаление темы if ($_REQUEST['act']=="del_topic") { delete_query("Темы форума", "id=".$topic); delete_query("Сообщения форума", "`Тема`=".$topic); header("Location:".$config['site_root']."/report.php?id=1"); } // ---- Вывод тем и сообщений ---- if ($post) // Вывод сообщения для редактирования { $sqlQuery = "SELECT * FROM ".DATA_TABLE."68 WHERE id=".$post; $result = mysql_query($sqlQuery); $row = mysql_fetch_array($result); $message = $row['f753']; } elseif ($topic and $topic!="new") // Список сообщений в теме { $sqlQuery = "SELECT * FROM ".DATA_TABLE."67 WHERE id=".$topic; $result = mysql_query($sqlQuery); $row = mysql_fetch_array($result); $tema = $row['f749']; $sqlQuery = "SELECT * FROM ".DATA_TABLE."68 WHERE status=0 and f752=".$topic." ORDER BY id"; $result = mysql_query($sqlQuery); while ($row = mysql_fetch_array($result)) { $data['id_message'] = $row['id']; $data['content_message'] = str_replace("\r\n", "<br>", $row['f753']); $data['date_message'] = form_local_time($row['f754'],1); $data['avtor_user_id'] = $row['f758']; // автор сообщения $sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE id='".$row['f758']."'"; $result2 = mysql_query($sqlQuery); $row2 = mysql_fetch_array($result2); $sqlQuery = "SELECT * FROM ".DATA_TABLE."46 WHERE f553='".$row2['login']."' AND f553!=''"; $result2 = mysql_query($sqlQuery); if ($row2 = mysql_fetch_array($result2)) { $data['avtor_id'] = $row2['id']; $data['avtor_message'] = $row2['f483']; $data['avtor_foto'] = urlencode($row2['f558']); } $lines[] = $data; } } else // Список тем { $sqlQuery = "SELECT a.*, count(b.id) as cnt_posts FROM ".DATA_TABLE."67 a, ".DATA_TABLE."68 b WHERE a.id=f752 and a.status=0 and b.status=0 GROUP BY a.id ORDER BY max(f754) DESC"; $result = mysql_query($sqlQuery); while ($row = mysql_fetch_array($result)) { $data['id_topic'] = $row['id']; $data['header_topic'] = $row['f749']; $data['cnt_posts'] = $row['cnt_posts']; // автор темы $sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE id='".$row['f757']."'"; $result2 = mysql_query($sqlQuery); $row2 = mysql_fetch_array($result2); $sqlQuery = "SELECT * FROM ".DATA_TABLE."46 WHERE f553='".$row2['login']."' AND f553!=''"; $result2 = mysql_query($sqlQuery); if ($row2 = mysql_fetch_array($result2)) { $data['avtor_topic'] = $row2['f483']; $data['avtor_topic_id'] = $row2['id']; } // дата последнего сообщения $sqlQuery = "SELECT * FROM ".DATA_TABLE."68 WHERE f752 = ".$row['id']." ORDER BY f754 DESC LIMIT 0,1"; $result2 = mysql_query($sqlQuery); $row2 = mysql_fetch_array($result2); $data['date_last_message'] = form_local_time($row2['f754'],1); // автор последнего сообщения $sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE id='".$row2['f758']."'"; $result2 = mysql_query($sqlQuery); $row2 = mysql_fetch_array($result2); $sqlQuery = "SELECT * FROM ".DATA_TABLE."46 WHERE f553='".$row2['login']."' AND f553!=''"; $result2 = mysql_query($sqlQuery); if ($row2 = mysql_fetch_array($result2)) { $data['avtor_last_message'] = $row2['f483']; $data['avtor_last_message_id'] = $row2['id']; } $lines[] = $data; } } $smarty->assign("topic", $topic); $smarty->assign("post", $post); $smarty->assign("lines", $lines); $smarty->assign("tema", $tema); $smarty->assign("message", $message);
#3
Отправлено 06 Апрель 2012 - 13:03
видимо, после какого-то изменения ревизии или версии, в Вашей же демонстрационной базе, в представлении Форум не показывается фото написавшего сообщение.
ошибка, очевидно, в строке 120:
ошибка, очевидно, в строке 120:
<a href="{$config.site_root}/view_line.php?table=46&line={$data.avtor_id}"><img src="{$config.site_root}/image.php?table=46&line={$data.avtor_id}&field=558&image={$data.avtor_foto}&size=50x60"></a>файла image.php в программе больше нет. Вместо него вроде бы работает open_file.php, но параметр size он игнорирует. В результате картинки вылезают как есть.
#4
Отправлено 06 Апрель 2012 - 13:17
Можно уточнить, куда встраивать этот код (на свой сайт?)
или как сделать представление вашего форума для своих сотрудников ?
или как сделать представление вашего форума для своих сотрудников ?
Сообщение отредактировал Leskov: 06 Апрель 2012 - 13:18
#5 Гость_Roman_*
Отправлено 06 Апрель 2012 - 13:35
Bob_chemist (06 Апрель 2012 - 13:03) писал:
видимо, после какого-то изменения ревизии или версии, в Вашей же демонстрационной базе, в представлении Форум не показывается фото написавшего сообщение.
ошибка, очевидно, в строке 120:
файла image.php в программе больше нет. Вместо него вроде бы работает open_file.php, но параметр size он игнорирует. В результате картинки вылезают как есть.
ошибка, очевидно, в строке 120:
<a href="{$config.site_root}/view_line.php?table=46&line={$data.avtor_id}"><img src="{$config.site_root}/image.php?table=46&line={$data.avtor_id}&field=558&image={$data.avtor_foto}&size=50x60"></a>
файла image.php в программе больше нет. Вместо него вроде бы работает open_file.php, но параметр size он игнорирует. В результате картинки вылезают как есть.
Да, такая ошибка наблюдается в стандартной конфигурации. В ближайшее время исправим. В представлении форума необходимо заменить вывод картинок через функцию form_display_type(НОМЕР_ПОЛЯ, НОМЕР_СТРОКИ).
Если тип поля изображение, то функция вернёт превью, созданное из картинки в строке, с размерами, указанными в настройках поля.
#6
Отправлено 07 Апрель 2012 - 00:38
Roman (06 Апрель 2012 - 13:35) писал:
Да, такая ошибка наблюдается в стандартной конфигурации. В ближайшее время исправим. В представлении форума необходимо заменить вывод картинок через функцию form_display_type(НОМЕР_ПОЛЯ, НОМЕР_СТРОКИ).
Если тип поля изображение, то функция вернёт превью, созданное из картинки в строке, с размерами, указанными в настройках поля.
Если тип поля изображение, то функция вернёт превью, созданное из картинки в строке, с размерами, указанными в настройках поля.
#7 Гость_Roman_*
Отправлено 07 Апрель 2012 - 10:01
Немного ввёл в заблуждение.
Стоит исправить 95-ю строчку в подготовке данных на
Стоит исправить 95-ю строчку в подготовке данных на
$data['avtor_foto'] = utf2eng($row2['f558']);и 120-ю строчку в отображении
<a href="{$config.site_root}/view_line.php?table=46&line={$data.avtor_id}"><img src="{$config.site_root}/cache/46_558_{$data.avtor_id}_{$data.avtor_foto}.png"></a>После этого картинки отображаются верно.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных