Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Оформление вывода информации из БД v2 [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
evgenijj
Отправлено: 31 Октября, 2007 - 19:34:40
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Ладно, раз не понял, значит пока тебе это ни к чему.
Прикреплено изображение (Нажмите для увеличения)
att-4728bcb041d35page.jpg
 
 Top
Snic
Отправлено: 31 Октября, 2007 - 22:48:22
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Догнал идею.
а как лучше реализовать идею с полем модуль через селект:
CODE (text):
скопировать код в буфер обмена
  1. <select name="name" size="1">
  2. <option value="articles" SELECTED>articles</option>
  3. <option value="news">news</option>
  4. <option value="catalog">catalog</option>
  5. <option value="articles">articles</option>
  6. <option value="rssreader">rssreader</option>
  7. </select>


а не догнал замысел с полем сетинг.
объясни еще раз.
подробней зачем это нужно


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 01 Ноября, 2007 - 09:16:48
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Поле settings содержит дополнительную информацию, которорая задает дополнительные характеристики для работы модуля. Например, для модуля news это поле может иметь вид

10|announce|img

10 - количество новостей для показа на одной странице (постраничная навигация)
title/announce - показывать только заголовок новости или заголовок и анонс
img/noimg - показывать или нет картинку в списке новостей

Это строка, которую с помощью функции explode можно преобразовать в массив.

Цитата:

...а как лучше реализовать идею с полем модуль через селект...

Ну, ты все правильно делаешь. Сначала предлагаешь пользователю выбрать модуль, отправляешь данные формы на сервер, а потом (уже зная, какой модуль был выбран) предлагаешь выставить дополнительные характеристики


Прикреплено изображение (Нажмите для увеличения)
att-4729810b4eba6ings.jpg
 
 Top
Snic
Отправлено: 01 Ноября, 2007 - 22:53:28
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




затея ясна а вот модуль формы надо в бд запихнуть все фомы это я так понял ил нет?
а поле сетинг как я понял должно заполняться из настроек модуля а не из добавления контента?
в принципе затея ясна
это все можно реализовать на основе твоего примера:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  if ( !isset( $_GET['page'] ) )  
  4.    $page = 1;
  5.  else
  6.    $page = (int)$_GET['page'];
  7.  $query = "SELECT * FROM pages WHERE id_page=".$page;
  8.  $res = mysql_query( $query );
  9.  // Если запрашиваемая страница не существует - показываем главную
  10.  if ( mysql_num_rows( $res ) == 0 )
  11.  {  
  12.    $page = 1;
  13.    $query = "SELECT * FROM pages WHERE id_page=".$page;
  14.    $res = mysql_query( $query );
  15.  }
  16.  // Информация о текущей странице
  17.  $current = mysql_fetch_array( $res );
  18.  // Подключаем модуль, отвечающий за показ этой страницы
  19.  require './modules/'.$current['module'].'.php';
  20.  // Вызываем функцию, которая вернет нам html основного содержимого страницы
  21.  $content = get_content( $page );
  22.  // Вызываем функцию, которая нам вернет главное меню сайта
  23.  $menu = get_menu();
  24.  // Считываем в переменную содержимое шаблона
  25.  $html = file_get_contents( './templates/'.$current['module'].'.html' );
  26.  // Заменяем в шаблоне вставки вида {menu}, {content}, ...
  27.  $html = str_replace( '{menu}', $menu, $html );
  28.  $html = str_replace( '{content}', $content, $html );
  29.  $html = str_replace( '{title}', $current['title'], $html );
  30.  $html = str_replace( '{keywords}', $current['keywords'], $html );
  31.  $html = str_replace( '{description}', $current['description'], $html );
  32.  // Выводим содержимое в браузер
  33.  echo $html;
  34.  ?>
  35.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  function get_content( $page )
  4.  {
  5.    $html = '';
  6.    // Если передан ID конкретной новости - выводим затребованную новость
  7.    if ( isset( $_GET['id_news'] ) )
  8.    {
  9.      $id_news = (int)$_GET['id_news'];
  10.         $query = "SELECT title, body FROM news WHERE id_news=".$id_news;
  11.         $res = mysql_query( $query );
  12.         if ( mysql_num_rows( $res ) == 0 )
  13.         {
  14.           header( 'Location: index.php' );
  15.           die();
  16.         }
  17.         $news = mysql_fetch_array( $res );
  18.         $html = $html.'<h1>'.$news['title'].'</h1>';
  19.         $html = $html.'<div>'.$news['body'].'</div>';
  20.    }
  21.    else // иначе выводим список новостей
  22.    {
  23.      $query = "SELECT id_news, title FROM news WHERE 1";
  24.         $res = mysql_query( $query );
  25.         $html = $html.'<ul>';
  26.         while( $news = mysql_fetch_array( $res ) )
  27.         {
  28.           $html = $html.'<li><a href="index.php?page='.$page.'&id_news='.$news['id_news'].'">'.$news['title'].'</a></li>';
  29.         }
  30.         $html = $html.'</ul>';
  31.    }
  32.    return $html;
  33.  }
  34.  ?>
  35.  


да?

возникает вопрос я должен исходя из этого:

PHP:
скопировать код в буфер обмена
  1.  
  2. // Подключаем модуль, отвечающий за показ этой страницы
  3.  require './modules/'.$current['module'].'.php';
  4.  


создать папку modules и оздать там: articles.php, news.php, cantact.php и так далие? я правильно понял?


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 02 Ноября, 2007 - 00:53:05
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Для каждой страницы сайта надо настраивать модуль, отвечающий за формирование основного содержимого страницы.

Например, у тебя есть страница "Новости компании". Ты можешь настроить вывод новостей так, что будут показываться только заголовки или заголовки и анонсы. Можно показывать 10 новостей на страницу, а можно 20. Можно для каждой новости показывать маленькую картинку и т.п.

По большому счету, у нас может быть несколько страниц, использующих модуль news, например
Новости компании
Новинки продукции
Новости отрасли
Только в этом случае у нас в БД кроме таблицы news будет еще одна таблица, new_categories где будут храниться категории новостей, а таблица news будет содержать дополнительное поле category - для хранения ссылки на категорию новостей, которой принадлежит данная новость.

По поводу модуля forms. В БД создаем две таблицы - forms и forms_fields. Одно хранит формы, другое - поля этих форм. Таблица forms_fields содержит поле parent, которе содержит уникальный ID формы, которой принадлежит это поле.


Прикреплено изображение (Нажмите для увеличения)
att-472a58fea00ceorms.jpg
 
 Top
Snic
Отправлено: 04 Ноября, 2007 - 05:17:27
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Жека для начала огромный тебе респект
за то что ты один не отказался мне помочь
в моем учении php
за твое терпение
короче за все то что ты делаешь
были бы в одном городе накрыл поляну в баре за свой счет
посидели бы пообщались
просто уже давно хочу подняться от web дизайнера до web кодера
но у самого както не получается
это хотел бы чтоб помогли
на курсы бы записался по php но незнаю есть ли они в нашем городе.
вот я и решил учится сам на примерах нашел простую cms и начал ее ковырять
пытаюсь разобраться в принципе все понятно
хочу доработать
чтоб все автоматически было
в этой cms много чего вручную вписано в код в примеру меню ну ты уже это понял
эх ладно

Теперь к больному:
Вот структуру набросал так надо?
функции get_menu еще нету просто структур собрал.
Разве без этой функции работать не будет?
делаю запросы в адресной строке и не работает выводит только заголовок
index.php?id_page=1
тоже самое
index.php?page=1
или я чтото забыл?
\n\n(Добавление)
если хочешь и готов к моим многочисленным вопросам то можешь стукнуть ко мне в аську 90-82-99
Скачать файл: test.zip
Скачан раз: 191


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 04 Ноября, 2007 - 13:11:56
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Написал для тебя несколько небольших скриптов. Можешь посмотреть, как работает и изучить исходники. Для админки можно использовать вот этот скрипт
http://forum.php.su/topic.php?fo...=28&topic=34
Он подойдет для работы с таблицами pages, news и articles. Правда, там нет возможности добавлять новые записи. Но это нетрудно исправить.


Немного разовьем тему. У нас есть только два модуля. Но эти модули - универсальные.

Допустим, ты решил размещать на своем сайта статьи. Или, нет. Термин "статьи" мы уже использовали для других нужд. Назовем их публикации. Для этого берем модуль news и немного его модифицируем. Получаем модуль publications. При переходе на страницу "Публикации" посетитель видит список статей/публикаций (с постраничной навигацией).

Или, скажем, ты решил разместить на своем сайте учебник по html. Что такое учебник? Список публикаций ( Глава 1, Глава 2, ... ). Т.е. у нас тот будет использоваться тот же модуль publications.
Скачать файл: test.zip
Скачан раз: 197
 
 Top
Snic
Отправлено: 04 Ноября, 2007 - 16:33:54
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




админку в таком плане?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include('../config.php');
  4. if (!isset($_SERVER['PHP_AUTH_USER'])) {
  5.     header("WWW-Authenticate: Basic realm="Administrator CMS:"");
  6.     header("HTTP/1.0 401 Unauthorized");
  7.     die ("Доступ только для администраторов!n");
  8.     exit;
  9.   }
  10. if($_SERVER['PHP_AUTH_USER'] != $adminlogin || $_SERVER['PHP_AUTH_PW']!= $adminpass)
  11.    {
  12.    header("WWW-Authenticate: Basic realm="Админ-панель CMS:"");
  13.     header("HTTP/1.0 401 Unauthorized");
  14.     die ("Доступ только для администраторов!n");
  15.    }
  16. ?>
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  18. <html>
  19. <head>
  20. <title>Админ-панель сайта</title>
  21. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  22. <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
  23. </head>
  24. <body>
  25.  
  26. <?PHP
  27.  
  28.  if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist";
  29.  $action = $_GET["action"];
  30.  $id_page = $_GET["id_page"];
  31.  
  32.  switch ( $action )
  33.  {
  34.      case "showlist":
  35.          show_list(); break;
  36.      case "delete":
  37.          delete_item( $id_page );
  38.          show_list(); break;
  39.      case "update":
  40.          update_item( $id_page );
  41.          show_list(); break;
  42.      case "editform":
  43.          get_edit_item_form( $id_page ); break;
  44.      default:
  45.          show_list();
  46.  }
  47.  
  48.  function show_list()
  49.  {
  50.      $query = "SELECT id_page,title,description,keywords,orders,template,module,settings,startpage FROM pages WHERE 1";
  51.      $res = db_query( $query );
  52.      echo "<h2>Список</h2>";
  53.      echo "<table>";
  54.      echo "<tr><th>ID</th><th>Наименование</th><th>Описание</th>
  55.    <th>keywords</th><th>orders</th><th>template</th><th>module</th>
  56.    <th>settings</th><th>startpage</th><th>Ред.</th><th>Удл.</th></tr>";
  57.      while ( $item = db_fetch_array( $res ) )
  58.      {
  59.          echo "<tr>";
  60.          echo "<td>".$item["id_page"]."</td>";
  61.          echo "<td>".$item["title"]."</td>";
  62.          echo "<td>".$item["description"]."</td>";
  63.          echo "<td>".$item["keywords"]."</td>";
  64.          echo "<td>".$item["orders"]."</td>";
  65.          echo "<td>".$item["module"]."</td>";
  66.          echo "<td>".$item["settings"]."</td>";
  67.          echo "<td>".$item["startpage"]."</td>";
  68.          echo "<td><a href='".$_SERVER["PHP_SELF"]."?action=editform&id=".$item["id_page"]."'>Ред.</a></td>";
  69.          echo "<td><a href='".$_SERVER["PHP_SELF"]."?action=delete&id=".$item["id_page"]."'>Удл.</a></td>";
  70.          echo "</tr>";
  71.      }
  72.      echo "</table>";
  73.  }
  74.  
  75.  function get_edit_item_form( $id_page )
  76.  {
  77.      echo "<h2>Редактировать</h2>";
  78.      $query = "SELECT title,description,keywords,orders,template,module,settings,startpage FROM pages WHERE id=".$id_page;
  79.      $res = db_query( $query );
  80.      $item = db_fetch_array( $res );
  81.      echo "<form name='editform' action='".$_SERVER["PHP_SELF"]."?action=update&id=".$id_page."' method='POST'>";
  82.      echo "<table>";
  83.      echo "<tr>";
  84.      echo "<td>Наименование</td>";
  85.      echo "<td><input type='text' name='title' value='".$item["title"]."'></td>";
  86.      echo "</tr>";
  87.      echo "<tr>";
  88.      echo "<td>Описание</td>";
  89.      echo "<td><textarea name='description'>".$item["description"]."</textarea></td>";
  90.      echo "</tr>";
  91.      echo "<tr>";
  92.      echo "<td><input type='submit' value='Сохранить'></td>";
  93.      echo "<td><button type='button' onClick='javascript: history.back();'>Отменить</button></td>";
  94.      echo "</tr>";
  95.      echo "</table>";
  96.      echo "</form>";
  97.  }
  98.  
  99.  function update_item( $id_page )
  100.  {
  101.      $title = db_escape_string( $_POST['title'] );
  102.      $description = db_escape_string( $_POST['description'] );
  103.      $query = "UPDATE pages SET title='".$title."', description='".$description."',
  104.               WHERE id=".$id_page;
  105.      db_query ( $query );
  106.      return true;
  107.  }
  108.  
  109.  function delete_item( $id_page )
  110.  {
  111.      $query = "DELETE FROM pages WHERE id=".$id_page;
  112.      db_query ( $query );
  113.      return true;
  114.  }
  115.  
  116.  ?>
  117. </body>
  118. </html>
  119.  


Цитата:
Допустим, ты решил размещать на своем сайта статьи. Или, нет. Термин "статьи" мы уже использовали для других нужд. Назовем их публикации. Для этого берем модуль news и немного его модифицируем. Получаем модуль publications. При переходе на страницу "Публикации" посетитель видит список статей/публикаций (с постраничной навигацией).

Или, скажем, ты решил разместить на своем сайте учебник по html. Что такое учебник? Список публикаций ( Глава 1, Глава 2, ... ). Т.е. у нас тот будет использоваться тот же модуль publications.


не ну это конечно хорошо только пока непонятно зачем это надо и как это поможет
а не проще ли сделать отдельную базу на страницы отдельную на новости ?
просто немного непонятно как это все работает

страница по дефолу О компании
пока все понятно
в базе
title это О компании
description это Компания ТИНКО - это техника безопасности, информа...
все ясно

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


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 04 Ноября, 2007 - 18:16:45
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Snic пишет:
а не проще ли сделать отдельную базу на страницы отдельную на новости ?
просто немного непонятно как это все работает

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

Разумеется, для хранения информации мы будем использовать разные таблицы
таблица pages
таблица news
таблица articles
таблица publications
таблица forms
и так далее.

Этот скрипт просто читает записи в некоторй таблице (потому и таблица так названа - items). В админке у тебя будут скрипты
pages_admin.php
news_admin.php
articles_admin.php
publications_admin.php
forms_admin.php
и так далее.

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

Цитата:

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


Универсальность. Вот ответ. Положим, табе заказали сделать сайт для фирмы. Они хотят, чтобы на сайте бали следующие страницы:
О компании
Новости
Каталог продукции
Обратная связь
Техническая поддержка
Контакты

Что ты делаешь? Заливаешь на хостинг все файлы, запускаешь файл install.php, который создает таблицы в БД. Потом заходишь в админку, и создаешь страницы
О компании (содержит модуль articles)
Новости (содержит модуль news)
Каталог продукции (содержит модуль catalog)
Обратная связь (содержит модуль forms)
Техническая поддержка (содержит модуль articles)
Контакты (содержит модуль articles)

Потом в той же админке добавляешь статьи "О компании", "Техническая поддержка", "Контакты" (с помощью JavaScript-редактора). И делаешь привязку
статья<->страница

Аналогично, добавляешь записи в таблицу news.

Заливаешь CSV-файл каталога продукции.

Добавляешь форму "Обратная связь". Опять привязываешь страницу "Обратная связь" с формой "Обратная связь".

И в течение дня делаешь сайт.

А потом заказчик тебе говорит, не хочу просто каталог, хочу Интернет-магазин. А вместо страницы "Техническая поддержка" хотим что-то вроде "Ворос-ответ". Ничего страшного. Заходишь в админку, и для страницы "Каталог продукции" модуль catalog заменяешь на модуль shop. А для страницы "Техническая поддержка" модуль articles заменяешь на модуль questions. Это занимает еще пять минут.

Сайт легко подвергается изменению. Как детский конструктор "Lego". Страница - это контейнер. Какой модуль поместим в контейнер, такое содержимое страницы и будет сгенерировано.

Мы до сих пор говорили, что страница содержит один модуль. Но на самом деле, страница может содержать несколько модулей. Каждый модуль формирует свою часть страницы
http://www.php.su/forum/uploads/...cb041d35page.jpg
 
 Top
Snic
Отправлено: 05 Ноября, 2007 - 01:19:10
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




теперь ясно это очень даже хорошо я даже об этом не подумал
я чтото с кодом админки накосячил или что не заметил
нечего не работает



-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
Snic
Отправлено: 06 Ноября, 2007 - 10:11:04
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




а не проще ли если это всё универсальное запихать в одну таблицу к примеру контент?
и с админкой проще будет.
как думаешь?
ты специально в том коде не все написал?
то что в коде нехватает

и еще ";" я нашол.


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 06 Ноября, 2007 - 11:22:56
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Snic пишет:
а не проще ли если это всё универсальное запихать в одну таблицу к примеру контент?

Так мы и запихнули все в одну таблицу -- articles. Если тебе не нравится название таблицы articles (и модуля articles), назови content. Суть от этого не меняется.
Snic пишет:

ты специально в том коде не все написал?
то что в коде нехватает

Нет, я написал все. У меня этот код работает. Я же не просто так сделал снимок экрана.
http://tinko[dot]biz/tmp/cms[dot]jpg
Snic пишет:

я чтото с кодом админки накосячил или что не заметил
нечего не работает

Я же не ясновидящий -- давай смотреть код админки. Что там не работает.
 
 Top
Snic
Отправлено: 06 Ноября, 2007 - 11:38:10
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




я не про то
у меня тоже все работает
я про hxxp://forum.php.su/topic.php?forum=28&topic=34
выдает пару ошибок
Notice: Undefined index: id_page in z:homebzzzwwwadminpages_admin.php
Fatal error: Call to undefined function: db_query() in z:homebzzzwwwadminpages_admin.php


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
evgenijj
Отправлено: 06 Ноября, 2007 - 12:42:08
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Ну здесь я использовал некий абстрактный набор функций для работы с БД
db_query()
db_fetch_array()
db_result()
В зависимости от того, с какой БД ты будешь работать, надо их заменить на реальные функции. Например, для MySQL
mysql_query()
mysql_fetch_array()
mysql_result()


Скачать файл: test.zip
Скачан раз: 220
 
 Top
Snic
Отправлено: 06 Ноября, 2007 - 15:59:13
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Все гуд.
а при редактировании:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:homebzzzwwwadminpages_admin.php


-----
Лень - двигатель прогресса, имхо Улыбка
Работаю над проектами в сфере информационного сайтостроения.
 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB