» Главная
eXcode.ru » Статьи » Perl
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 7





Форум на Perl.




Автор: Ковязин Дмитрий, P-Lib(p-lib.narod.ru)
Форум.

Форумы в Интернете можно встретить сплошь и рядом.Ни один уважающий себя сайт не обходится без них. Форум дает возможность узнать мнение посетителей о сайте и о том,что они думают об авторе и о его творениях :). Форум,пример которого я здесь приведу не очень сложный,но он обеспечивает все необходимые функции.Для лучшего понимания имеет смысл разбить его на несколько частей,объяснить каждую в отдельности,а затем объединить все вместе.

Данный форум состоит из следующих частей:

* Главная страница-вывод списка топиков.
* Создание нового топика и запись в файл.
* Создание ответа на топик и запись в файл.

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

Добавление нового топика.

Сначала в директории cgi-bin веб-сервера создадим каталог html,куда будут записываться все сообщения. Сразу оговорюсь,что все сообщения пишутся в html-файл:сначала топик и сообщение,затем к нему дописываются ответы. По ходу дела все будет понятно.
Сгенерируем форму для добавления новой темы и сообщения.



#!/usr/local/bin/perl
#Webforum.cgi version 1.01
$request=$ENV{′REQUEST_METHOD′};
$content=$ENV{′CONTENT_LENGTH′};

$cgi="url/cgi-bin";
$url="url/cgi-bin/html";
$dir="/usr/local/apache/cgi-bin/html";

print "Content-type:text/htmlnn";
print <<HTML;
<html><head><style>a:link {text-decoration:none; }</style></head><body>
<h4 align=center><font color="0000ff">New topic</font></h4>
<p align=right><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
Home</font></a>
<p><form action="$cgi/webforum.cgi" name="newtop" method="GET">
<table width=60% align=center bgcolor="e6e8fa">
<tr><td>
<tr><td>Your nick:<td><input type="text" name="nick" size=20>
<tr><td>Topic name:<td><input type="text" name="theme" size=20>
<tr><td><input type="hidden" name="action" value="ok">
<tr><td colspan=2> Message:<p>
<textarea cols=40 rows=15 name="post" wrap="virtual"></textarea>
<tr><td colspan=2><input type="submit" value="Submit"></table>
HTML


Если данные введены в форму получаем их и декодируем.



@pairs = split(/&/, $query);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$name =~ s///g;
$name =~ s/<([^>]|n)*>//g;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/cM/ /g;
$value =~ s/|/ /g;
$value =~ tr/ / /s;
$value =~ s/<([^>]|n)*>//g;
$value =~ s/"/"/g;
$value=~s/(http://+S)/<A href="$1">$1</A>/g;
$input{$name} = $value;
}

$nick=$input {′nick′};
$theme=$input {′theme′};
$message=$input {′post′};

#Create new topic.


#Открываем каталог и читаем его содержимое. Файлы в каталог записываются в виде #001.html,002.html и т.д.То есть,каждый вновь записываемый файл,увеличивается #на единицу.Это делается следующим образом.


opendir (DIR,"$dir");
while (@mes=readdir (DIR)) {
foreach $mes(@mes) {
$count=@mes;
$count++;
$page="00".($count-2);
}


# ($count-2)-это для того,чтобы не считать подкаталоги типа "." и "..". # Проверяем,не являются ли поля формы пустыми. Если нет-открываем файл на запись # и пишем информацию.


if ($nick ne "" && $theme ne "" && $message ne "") {
open (FILE,">$dir/$page.html");
print FILE "<html><head><style>
a:link {text-decoration:none; } </style><title>$theme</title>n";
print FILE "<meta name="author" content="$nick"></head>n";
print FILE "<body bgcolor="f6f8fa">n";
print FILE "<p align=right><a href="$cgi/webforum.cgi?action=reply&file=$page.html">n";
print FILE "<font face="ferdana" size=3>Post reply</font></a>n";
print FILE " <a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
Home
</font></a><p>n";
print FILE "<table width=90% cellpadding=0 cellspacing=0 border=1>n";
print FILE "<tr><td align=center width=150 bgcolor="D5E6E1"><
font face="Arial" size=2 color="808080">Author</font>n";
print FILE "<td bgcolor="D5E6E1"><font face="serif" size=2 color="0000ff">Topic:</font>n";
print FILE "<font face="serif" size=2 color="ff0000">$theme</font></td></tr>n";
print FILE "<tr><td rowspan=2 bgcolor="D5E6E1" align=center>
<font face="serif" size=3 color="ff0000">$nick</font></td>n";
print FILE "<td bgcolor="e6e8fa" height=30>
<font face="serif" size=1 color="000080">Posted:",scalar localtime,"</font></td></tr>n";
print FILE "<tr><td bgcolor="f7f7f7"><font face="serif" size=2 color="000080">
$message</font></td></tr></table>n";
close (FILE);
} else {


#Если одно из полей формы осталось пустым-выдаем ошибку.Это делается для того,чтобы # не создавать пустые файлы,не содержащие информации.Perl′у все равно,что писать :)


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
vp>
<body bgcolor="e6e8fa">
<h4 align=center>Sorry,you didn′t enter your nick or message! </h4>
<p><center>Please,go back and try again
<p><a href="$cgi/webforum.cgi?action=newtop"><font face="ferdana" size=3>
Back</font></a>
</center>
HTML
exit;
}
}
closedir (DIR);
}


# Если все прошло нормально,выносим пользователю благодарность.Новый топик создан.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Thank you,<font color="0000ff">$nick!</font></h4>
<p><center>Your message is added.
<p><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
View topics</font></a></center>
HTML
</BODY>
</HTML>
HTML



Добавление ответа на топик.

Добавление ответа почти ничем не отличается от добавления топика,единственное отличие- нужно передать адрес страницы,чтобы скрипт знал,куда писать ответ.А он содержится в файле топика.Если посмотреть чуть выше,можно увидеть ссылку <a href="$cgi/webforum.cgi?action=reply&file=$page.html">Post reply</a> В ней и передается адрес страницы.
Генерируем форму:



# Сначала читаем файл в массив.Это делается для того,чтобы поместить его во фрейм ниже формы # на тот случай,если кто-то захочет вставить цитату из предыдущих сообщений.

$page=$input {′file′};

open (FILE,"$dir/$page");
@data=<FILE>;
close (FILE);

print "Content-type:text/htmlnn";
print <<HTML;
<html><head><style>a:link {text-decoration:none; }</style></head><body>
<h4 align=center><font color="0000ff">Post reply</font></h4>
<p align=right><a href="$cgi/webforum.cgi">
<font face="ferdana" size=3>Home</font></a>
<p><form action="$cgi/webforum.cgi" name="reply" method="GET">
<table width=60% align=center bgcolor="e6e8fa">
<tr><td>
Your nick:<td>vinput type="text" name="nick" size=20>
<tr><td><input type="hidden" name="type" value="reply">
<tr><td><input type="hidden" name="action" value="ok">
<tr><td><input type="hidden" name="file" value="$page">
<tr><td colspan=2> Message:<p>
<textarea cols=40 rows=15 name="post"></textarea>
<tr><td colspan=2><input type="submit" value="Submit"></table>
<p><center><iframe src="$dir/$page" width=90% height=300></iframe></center>
HTML

#Reply to topic.

# Снова проверяем,чтобы поля формы не были пустыми. Если все в порядке,открываем файл, # содержащий топик на добавление и дописываем ответ.


if ($nick ne "" && $message ne "" ) {
open (FILE,">>$dir/$page");
print FILE "<table width=90% cellpadding=0 cellspacing=0 border=1>n";
print FILE "<tr><td rowspan=2 bgcolor="f7f7f7" align=center width=150>
<font face="serif" size=3 color="0000ff">$nick</font></td>n";
print FILE "<td bgcolor="e6e8fa" height=30><font face="serif" size=1 color="000080">
Posted:",scalar localtime,"</font></td></tr>n";
print FILE "<tr><td bgcolor="f7f7f7"><font face="serif" size=2>
$message</td></tr></table>n";
close (FILE);
close (FILE);
} else {

# Если одно из полей осталось пустым-выдаем ошибку.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Sorry,you didn′t enter your nick or message! </h4>
<p><center>Please,go back and try again
<p><a href="$cgi/webforum.cgi?action=reply&file=$page.html">
<font face="ferdana" size=3>Back</font></a>
</center>
HTML
exit;
}

# Снова выносим благодарность посетителю.Ответ добавлен.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Thank you,<font color="0000ff">$nick!</font></h4>
<p><center>Your message is added.
<p><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
View topics</font></a></center>
HTML
</BODY>
</HTML>
HTML



Главная страница.

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

Данные на экран выводятся в виде html-таблицы.



print "Content-type:text/htmlnn";
print <<HTML;
<html><head><title>Webforum ver1.01</title>
<style>a: {text-decoration:none; } </style></head>
<body bgcolor="e6e8fa">
<p>
<p><h4 align=center><font color="0000ff">Webforum</font></h4>
<p align=right><a href="$cgi/webforum.cgi?action=newtop">
<font face="ferdana" size=3>New topic</font></a>
<p><table width=700 cellpadding=0 cellspacing=0 border=1>
<tr bgcolor="D5E6E1"><td align=center width=300 height=50>
<font face="arial" size=2 color="0000ff">Topic name</font></td>
<td align=center width=150 height=50><font face="arial" size=2 color="0000ff">
Topic starter</font></td>
<td align=center width=50 height=50>
<font face="arial" size=2 color="0000ff">Replies</font></td>
<td align=center width=200 height=50>
<font face="arial" size=2 color="0000ff">Last post</font></td></tr>
HTML

# С этим,думаю,все понятно.А теперь более подробно о том, как получить всю эту информацию. # Открываем каталог и читаем сообщения в массив.


opendir (DIR,"$dir");
while (@mes=readdir(DIR)) {
foreach $mes (@mes) {

# Каждый файл в каталоге открываем и читаем в массив.

if (!-d "$dir/$mes" && "$mes" ne "." && "$mes" ne "..") {
$mtime=localtime((stat("$dir/$mes"))[9]);

open (FILE,"$dir/$mes");
@lines=<FILE>;
close (FILE);

# Теперь в каждом файле с помощью регулярных выражений ищем тему топика,имя автора топика # и количество ответов.


foreach $line (@lines) {
if ($line=~ /<title>(.*?)</title>/is) {
$title=$1;
}
if ($line=~ /content="(.*?)"/is) {
$name=$1;
}

# Количество ответов помещаем в массив reply,отнимая единицу,так как первое сообщение-это # сообщение автора топика.


if ($line=~ /^<table(s*)(.*?)>$/i) {
$reply=$1;
push (@reply,$reply);
$char=@reply-1;
}
}

# Печатаем данные в таблицу,после каждой итерации очищая массив reply,чтобы ответы на # каждый топик не складывались после каждой итерации.


print <<HTML;
<tr bgcolor="f7f7f7"><td height=30><a href="$url/$mes">
<font face="serif" size=2>$title</font></a></td>
<td align=center height=30><font face="serif" size=2>$name</font></td>
<td height=30 align=center>$char</td>
<td height=30 align=center><font face="serif" size=2>$mtime</font></td></tr>
HTML
splice (@reply);
}
}
}

print "</table>n";
closedir (DIR);



Ну вот,вроде бы и все.

Конечно,я не реализовал все возможности.Можно добавить регистрацию пользователя,возможность редактирования сообщений и т.д.В дальнейшем я планирую доработать этот форум и сделать его более продвинутым. В данный момент моей целью было объяснить,как это работает.
К началу статьи





Добавил: MadvEXДата публикации: 2007-04-13 17:45:07
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 18632

Комментарии читателей

Всего комментариев: 192

2018-04-15 15:27:47
CraigVet
п»їNumerous Considerations Of Reviewing Hair Cutting Stories

General aesthetics and beauty based processes are a major source of focus among consumers today. People often focus on making sure that all aspects of their physical appearance are as well managed and coordinated as possible at all times as part of their regiment of always looking their best and fulfilling their attractiveness preferences. Anyone focused on this particular aesthetic routine should know the common factors of reading hair cutting stories as part of their efforts.

Professionals trained in cutting hair are called upon by consumers in order to ensure that style and grooming concerns that people have are able to be addressed. Consumers that focus on this particular provider are often interested in establishing a consistent relationship to develop trust and comfort throughout their efforts. Posts created by other consumers are often among the most helpful pieces of information available when making a decision.

Consumers attempting to determine which professional to use for their efforts are often uncertain of how to make a decision. Each professional is unique in their skill sets which must be carefully focused on when ensuring the best physical appearance possible is able to be generated. Uncovering stories about the provider and process in general is much more successful when various factors are reviewed.

People should initially make sure that any information uncovered is from a reputable source. The source of the story that is being told should be on a website or forum that allows for free flowing content and uses encryption to protect personal information. Biases should also be avoided to be certain that all information received is as legitimate and personal as possible.

Searching for a specific professional is also considered as being a main source of success in this process. People are often focused on making sure that they uncover facts that are specific to providers that are closest to them or are part of a salon that they are interested in using for their needs. Consumers should have access to results filters in order to search by provider name for consolidation efforts.

People also find that focusing on the gender of the person creating the post should also be considered. Gender considerations are vital in that men and women are unique in relation to what is considered as being a successful approach to aesthetic based appeal. Focusing on specific gender matching efforts provides the best information and helps ensure that pertinent details are appropriately considered.

Any posts being considered should be equipped with some kind of illustration as to what is being discussed. People are highly unique in regard to what they deem as being great or poor quality which is why pictures are helpful in gaining a full understanding. Avoiding posts without this type of illustration is usually considered as being a best practice.

Hair cutting stories should only be considered if multiple posts are created for the provider in question. Using only one perspective is often what generates bias and can be difficult to utilize during any decision making effort. Focusing on multiple options is helpful in making sure that the most comprehensive information is ultimately considered.

Visit site: http://gameone.club/

free website submission toolstation opening times

2018-04-13 17:27:49
TVPanodamn
Завод емкостного оборудования ТВП изготавливает резервуары для очистных сооружений на собственной производственной базе в Стране. Ёмкости для очистительных сооружений, предлагаемые нашей предприятием, могут решить задачи хранения запасов жидкости и очистке стоков от загрязнений.
ТВП производит ёмкостное оборудование по вашим проектам, также мы производим емкостные резервуары и оборудования по заводским стандартам.
Очистные сооружения от ТВП это надёжное оборудование, которое производится в г.Самара и поставляется в города страны.
ТВП не только собирает промышленное оборудование на заводе, но и устанавливаем, обслуживаем, и проводим актуальную эксплуатацию емкостей.
В наличие есть емкости прямоугольные которые вы можете заказать.
Цена на аккамулирующие емкости емкости всегда зависит от объёма и остальных особенностей которые вам потребуются

паспорт очистных сооружений: <a href=https://tvpolimer.ru/>очистные сооружения казань</a>

2018-04-03 03:00:26
SVSanodamn
Задачей Предприятия Спецводсервис стало предоставление фирмам и организациям работ по сооружению, монтажу, исправлению и сопровождению технологических коммуникаций в Самаре и Самарской области. Организации СпецВодСервис оказываем как разовые услуги, например, берением скважин так и работы длительного технического поддержания систем. Ещё мы выволняем единое обслуживание абсолютно всех ремонтом скважин всех видов,относящихся фирмеи так далее. Эта услуга на текущий момент несомненно является самой популярной и выгодной для потребителя, так как полностью снимает с него несчетные трудности по поддержанию монтажа электрооборудованияв работоспособном виде. В интересах реализации своей деловой активности Международная компания Спецводсервис имеет всем нужным современным серверным оборудованием и опытным, профессиональным персоналом. Личный парк специальной техники начисляет несколько десятков единиц и систематично дополняется.
Спецводсервис занимается увеличением производствености водозаборных скважин.


Спец вод сервис : <a href=https://svs-samara.ru/skvazhiny/remont-vodozabornyh-skvazhin/>ремонт скважин вакансии</a>
Спец вод сервис : <a href=https://svs-samara.ru/skvazhiny/ochistka-vodozabornyh-skvazhin/>оборудование для очистки воды из скважины</a>

2018-03-03 17:51:53
CPROSoizase
Наша фирма Контроль проект рекомендует услуги строительство бань.Можем использовать в создании,конструирование,оформление домов,квартир,многоквартирных домов, коттеджей,танхаусов, дачных домов такие виды строительных как: дерево, газобетон, керамзитобетонных блоков, кирпич, каркасные дома.

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

Мы фирма работаем без посредников, благодаря которым мы экономим ваши деньги и время.

Фирма осуществляет полный комплекс услуг по архитектурному проектированию и далее помощи проектов на всех стадиях - от тщательного планирования подробного задания до внесения здаваемых объектов в эксплуатацию.

ввод в эксплуатацию строительных объектов - <a href=https://contrpro.ru/vvod-v-ekspluatatsiyu-obekta/>ввод в эксплуатацию индивидуального жилого дома 2018</a>

2018-02-26 12:28:11
Luciitarowhake
<a href=http://hydratech.ru><img>https://s8.hostingkartinok.com/uploads/images/2018/02/eb0611663f84b13c53d832b080157673.jpg</img></a>

Помпагидравлическая Оборудование в проверенных ПомпагидравлическаядляводыS3TCDI84 500 и вязких жидкостей S3VHL 281 800 Руб. <br>Power Generator Manufacturer YH280- DTLS ; YH440- DTLS ; For More Information. Call us on 1300 453 054. Email us at Visit us at Factory 2, ... <br>More Ремонт Отбойного Молотка videos<br>Алмазнаярезкапроемов отверстий Бесплатные объявления Казани прорезка проемов в стенах и перекрытиях из бетона, ... Казань, 878 ... <br><h4>Демонтажжелезобетонных конструкций: цена </h4><br><strong>HD2004hydraulicdrifter-EURODRILLGermany </strong><br><strong>Разновидности электрических гайковёртов </strong><br>hyconhpp09- наиболее гидравлический отбойный молоток, : <u>БензиноваяГидравлическаяСтанцияHyconHpp09 </u><br>Водяныенасосы: Рразновидности насосов высокого Водяныенасосы высокого давления. Вода считается источником жизни. Но, увы, центральное водоснабжение есть не в каждом частном секторе или дачном поселке. <br> http://hydratech.ru/info/services - погружной насос для агрессивных сред купить арендаотбойногомолотка- Доска объявлений от частных В 1 500 руб. Предложение доставка инструмента Москва, М. О. 500 руб. <br>Гидравлические отбойные молоткииперфораторы — купить Погружной гидравлический насос. Гидравлические отбойные молоткииперфораторы. ООО «Контурс-СДМ» специализируется на поставках профессионального оборудованияиинструмента для строительных, ремонтныхидемонтажных работ. <br><i>Мотопомпы Насосы и принадлежности </i><br>

2018-01-31 00:38:39
Greyfsd
Возникли финансовые трудности?
- кредит личный кабинет
Выдача кредита онлайн на карту за 20 мин. Смотрите здесь: http://bit.ly/2or6zRB - кредит деньги
Список избранного
http://bit.ly/2v0XFcZ - взять деньги в долг под
*money**

2018-01-25 15:33:44
CPROSoizase
Сотрудники нашей фирмы Контроль проект предлагает такие услуги как сопровождение бань.Применяем в возведенье, работе по проектированию, сопровождение квартир такие виды строительных материалов как: дерево.

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

Наши служащие обученные дадут возможность вам выгодно организовать ваш выбор по строительству беседки.

Мы находимся в г.Самара и работаем по всей всей территории России и за пределами России. Обращайтесь к нам, и мы вам обязательно поможем!

этапы получения исходно разрешительной документации: <a href=https://contrpro.ru/konsalting/ur-lica/pomoshh-v-podgotovke-ird-ishodno-razreshitelnoj-dokumentatsii-dlya-proektirovaniya/>перечень исходно разрешительной документации для строительства</a>

2018-01-23 10:09:21
sipsystemtiz
О контрацептивах...
онлайн-общение с кидалами - http://bit.ly/2EQfSxP#YhTTYWK2EP
не попадитесь

были оплачены услуги за регистрацию на сайте 2300р и +15 евро на баланс

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

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

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

переписка прилагается - http://bit.ly/2EQfSxP#nzz8EWtaSX

контакты мошенников
ICQ: 222-443 222443
Skype: www.sip-system.com
E-Mail: support@sip-system.com
Телефон, Telegram, Viber, WhatsApp: +79854165502
http://sipfake.ru/
support@sipfake.ru
1. http://podmenanomera.ru
2. http://sip-system.com
3. http://sipfake.ru
4. http://fakenumbers.net
5. http://nat-bank.ru
6. http://sip-system.net
7. http://vk.com/callerid
8. http://sip-ring.com/
9. http://sip-craft.ru/
10.http://caller-id.net
11.http://safeweber.ru
12.http://sip-exchange.com
----------------------
еще инфа по кидалам - https://forum.exploit.in/index.php?showtopic=67860
---------------------
написать смс с подменой номера бесплатно
как на мегафоне отправить смс с подменой номера
посылать смс с подменой номера
подмена номера программа на айфон
подмены номера

2017-12-19 22:09:49
AvitoR77Kl
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a556677</b> Старый Телеграмм @a1garant НЕДЕЙСТВИТЕЛЕН

<b>Мое почтение, дорогие друзья!</b>

Рады будем предоставить Всем вам услуги по пополнению баланса на действующие активные аккаунты Avito (а также, абсолютно новые). Если Вам требуются определенные балансы - пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

<b>Аккаунты не Брут. Живут долго.</b>

Процент пополнения в нашу сторону и стоимость готовых аккаунтов: <b>50% от баланса на аккаунте.</b>
Если необходим залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
Для постоянных заказчиков гибкая система бонусов и скидок!

<b>Гарантия: </b>

<b>И, конечно же ничто не укрепляет доверие, как - Постоплата!!!</b> Вперед денег не просим...

Рады сотрудничеству!

<b>Заливы на балансы Авито</b>
________


2017-12-13 02:54:38
PeterDer
В известный во всём мире праздник «День Святого Валентина» влюблённые обмениваются фигурными открытками в виде сердечка, дарят друг другу конфеты, игрушки или другие подарки, которые подчеркивают символичность их любви и верности…, подробнее читайте на сайте <a href=http://fi-hi.ru>fi-hi.ru</a>
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой марки ваш мобильник?
Nokia
40% (146)
Samsung
8% (29)
Siemens
16% (59)
Motorola
13% (49)
Sony Ericsson
13% (49)
LG
1% (4)
Pantech
0% (0)
Alcatel
2% (6)
Другой
3% (10)
Нет у меня мобилы
4% (15)

Проголосовало: 367
- Я умею торм... торм... тормозить.
WINDOWS:
- А я умею висееееееееее...
Рейтинг: 5.3/10 (3)
Посмотреть все анекдоты