Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Написание движка на PHP

420
28 июня 2006 года
Fobos
197 / / 10.03.2006
Здравствуйте, уважаемые пользователи!
У меня появилась одна задача и мне её обязательно надо выполнить.
Я создаю портал. Портал планируется крупный, на нескольких субдоменах.
Короче, пробовал я пробовал разные CSM, ничего подходящего не нашел. То одно глючит, то другое, ну короче решил я свою CMS написать.
Особо загонного мне ничего не требуется.
Вот конкретно те вещи, которые требуют вашей помощи:
- Написание раздела статей;
- Написание раздела Download;
Всё остальное я сам смогу сделать, но вот в этих вещах мне требуется некоторая помощь. Поэтому, если Вы не против, я периодически буду писать в этой теме вопросы.

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

Буду ОЧЕНЬ благодарен за Ваши ответы!!! :)
Страницы:
92
20 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
 
Код:
$buffer = eregi_replace("uses\s", "<b>uses</b> ", $buffer);
$buffer = eregi_replace("type\s", "<b>type</b> ", $buffer);
$buffer = eregi_replace("class\s", "<b>class</b> ", $buffer);
$buffer = eregi_replace("private\s", "<b>private</b> ", $buffer);


может что-то типа того?... тогда точно classicalVariable не будет выделяться как попало )) imho, пробел должен быть после каждого из этих слов... если мне память не изменяет... :rolleyes:
420
20 апреля 2007 года
Fobos
197 / / 10.03.2006
Бывает и не пробел, а перенос строки. Ну в общем я понял, что индивидуальный подход надо искать к каждому зарезервированному слову. :)
253
20 апреля 2007 года
Proger_XP
1.5K / / 07.08.2004
Есть последовательность \b, она обозначает границу слова
Цитата:

Границей слова считается такая позиция в строке, в которой из текущего и последующего символа только один соответствует \w (т.е. один из них соответствует \w, а другой \W). Начало или конец строки также соответствуют границе слова в случае, если первый или, соответственно, последний символ совпадает с \w


Можешь так же поискать в гугле проект проект GeSHi(Generic Syntax Highlighter). Поддерживает языков 30, может тебе будет лучше его прикрутить

28K
21 апреля 2007 года
volf
3 / / 21.04.2007
Ув. Fobos

Если честно, то немного поплакал :-), когда читал этот топик, но движение вроде в правильном направлении. Единственное что хотелось добавить, так это то, что прежде чем пугать всех "незнающих" людей словом cms, нужно было определиться, что за функционал Вам нужен от Вашей cms. Просто cms, в написании которой я принимал участие не ограничивалась только редактированием контента. И честно говоря, без бд такой функционал, какой был получен в итоге, я вообще сомневаюсь, что можно было бы разработать на файлах. Хотя... ничто не чуждо человеку....

Удачи в разработке. Учите MySql и php, потому что, как я понил и там и там знаний ооочень мало, если задаете такие вопросы, как я видел выше...
Еще раз успехов. С ув. Владимир.
420
04 мая 2007 года
Fobos
197 / / 10.03.2006
Proger_XP,

Спасибо за информацию!!!

Цитата: volf
Ув. Fobos

Если честно, то немного поплакал :-), когда читал этот топик, но движение вроде в правильном направлении. Единственное что хотелось добавить, так это то, что прежде чем пугать всех "незнающих" людей словом cms, нужно было определиться, что за функционал Вам нужен от Вашей cms. Просто cms, в написании которой я принимал участие не ограничивалась только редактированием контента. И честно говоря, без бд такой функционал, какой был получен в итоге, я вообще сомневаюсь, что можно было бы разработать на файлах. Хотя... ничто не чуждо человеку....

Удачи в разработке. Учите MySql и php, потому что, как я понил и там и там знаний ооочень мало, если задаете такие вопросы, как я видел выше...
Еще раз успехов. С ув. Владимир.



Ну во первых, я и пишу на MySQL и PHP.
Во вторых, вопросы, которые Вы видели выше, возможно задавались ооочень давно. И с тех пор много воды утекло. Тему то я давно эту начал. Просто периодически к ней возвращаюсь.

Насчёт постановки целей, Вы абсолютно правы, и для себя я их определил. Но здесь кому они нужны?
Просто по ходу написания возникают иногда некоторые вопросы. И я, чтобы новой темы не создавать, пишу их сюда же.

А сейчас у меня вопросик (возможно кто-то опять расценит как тупой :) , но всёже).

Вот код:

Код:
function delphi_highlight($delphi_code)
{
   if (substr_count($delphi_code, '[delphi]')>=1)
            {
               for ($i=0; $i <= substr_count($delphi_code, '[delphi]'); $i++)
               {
                  $buffer="";
                  preg_match("~\[delphi\](.*)\[/delphi\]~isU", $delphi_code, $array_str);
                     
                     $buffer = str_replace("[br]", "<br>" , $array_str[1]);
                     //Подсвечиваем основные элементы синтаксиса
                        $buffer = eregi_replace("unit ", "<b>unit </b>", $buffer);
                        $buffer = eregi_replace("interface", "<b>interface</b>", $buffer);
                       
                        $buffer = eregi_replace("uses", "<b>uses</b>", $buffer);
                        $buffer = eregi_replace("type", "<b>type</b>", $buffer);
                        $buffer = eregi_replace("class", "<b>class</b>", $buffer);
                        $buffer = eregi_replace("private", "<b>private</b>", $buffer);
                        $buffer = eregi_replace("public", "<b>public</b>", $buffer);
                        $buffer = eregi_replace("var", "<b>var</b>", $buffer);
                        $buffer = eregi_replace("begin", "<b>begin</b>", $buffer);
                        $buffer = eregi_replace("end", "<b>end</b>", $buffer);
                        $buffer = eregi_replace("procedure", "<b>procedure</b>", $buffer);
                     $buffer = "<br>//////////////////////////////<strong>Код Delphi</strong><br>
                     <table class=\"code\">
                        <tr>
                           <td>"
.$buffer."
                           </td>
                        </tr>
                     </table>"
;
                  $delphi_code = preg_replace("~\[delphi\](.+)\[/delphi\]~isU", $buffer, $delphi_code, 1);
               }
            }
   return $delphi_code;
}


Эта функция читает текст, находит в нём число вхождений [delphi]
во входящем тексте и далее обрабатывает его, выделяя нужные элементы синтаксиса делфи (тут они не все, но не в этом суть).

А суть в том, что, почему-то она работает, если только число этих кодов (вхождений [delphi]) в тексте не превышает 4. Дальше она почему-то перестаёт обрабатывать.

В чём косяк?
10K
04 мая 2007 года
jwagra
62 / / 23.08.2006
 
Код:
<table class=\"code\">
                        <tr>
                           <td>"
.$buffer."
                           </td>
                        </tr>
                     </table>"
;
 $delphi_code = preg_replace("~\[delphi\](.+)\[/delphi\]~isU", $buffer, $delphi_code);
420
04 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: jwagra
 
Код:
<table class=\"code\">
                        <tr>
                           <td>"
.$buffer."
                           </td>
                        </tr>
                     </table>"
;
 $delphi_code = preg_replace("~\[delphi\](.+)\[/delphi\]~isU", $buffer, $delphi_code);



Так вообще не пройдёт. Так он первое вхождение находит и вставляет обрамлённый (один и тот-же) первый код во все места, где есть код Delphi. Если бы так, как Вы описали, то вообще число вхождений не надо было бы находить и код был бы в 2 раза короче. Но так не прокатывает.

420
04 мая 2007 года
Fobos
197 / / 10.03.2006
Опа, въехал! Я ж цикл неправильно написал. Он у меня постоянно заново substr_count высчитывал, а надо было через переменную.

Вот, если кому ещё пригодится, исправленный кусок:
 
Код:
$incom = substr_count($delphi_code, '[delphi]');
               for ($i=0; $i <= $incom-1; $i++)
420
29 мая 2007 года
Fobos
197 / / 10.03.2006
Здравствуйте.
Почти дописал. Времени мало, так что по ходу дела потом дорабатывать буду.
Вот вопрос появился:
Я публикацию статей сделал через bb-код.
Но мне его надо модернизировать:
нужно, чтобы в отдельные части статьи можно было вставлять изображения. И не просто вставлять bb-тег img и URL, а с загрузкой на сервер по следующему сценарию:
Нажимаю я на кнопку, появляется окошко с формой загрузки. В этом окошке я выбираю файл, нажимаю на кнопку. После нажатия на кнопку окошко загрузки закрывается и далее в папке pictures создаётся папка с названием статьи (латинским названием), и в эту папку загружается картинка. После этого в текст статьи вставляется тег \[img=Подпись картинки\]pictures/имя_папки/имя_картинки.jpg\[img\].

Как я понимаю, тут и JS и PHP. Но в JS я не особо разбираюсь. И ни разу не работал с загрузкой файлов на сервер. Почитал мануал PHP по этому поводу - не разобрался.

Поможете? Я думаю такое (или почти такое) уже многие из Вас делали. Подкинте код.
12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: mfender

Другое дело - релятивность и другие достоинства, присущие БД.


Ну, мне думается выражаться стоит более корректно. Тем более тебе как опытному человеку. Ибо СУБД все же, а не БД.

При БД созданной на файлах кроме самого движка приходиться фактически еще и СУБД писать. Пусть примитивную, без возножности масштабирования, нередко без надлежащего уровня абстракций, но все же СУБД :)

12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: zorkk
Эта книга - хлам. Она поверхностна. Там даже перечень функций и языковых конструкций языка "кривой SQL а-ля MySQL" неполная. Для начинающего она тоже не пойдет, т.к. написана не лучшим образом. ИМХО лучше будет почитать "Создание приложений на PHP+MySQL" - найти ее легко и информации лишней для начинающих там нет.


Хм.. имхо, тогда уж лучше почитать "Самоучитель MySQL 5" М. Кузнецова и И. Симдянова. Плюс сами маны от мускуля, они там вполне подробные.

А вот что почитать именно по проектированию и разработке БД...

12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
(BB-тегов ведь много :) ).


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

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

12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Dolonet
Простите за оффтопик, конечно, но мне будет интересно взглянуть потом на пару сайтиков, написанных на этой КМС-ке.. :)


Я думаю будет как обычно и ПО так и не выйдет на финальную стадию офрелиза. Так и останется беткой на локалхосте :D

12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Во вторых, вопросы, которые Вы видели выше, возможно задавались ооочень давно.


[COLOR="SlateGray"]/me только сейчас посмотрел на дату создания темы. Гы-гы и лол :D , а я то думал свежак....[/COLOR]

12
29 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Поможете? Я думаю такое (или почти такое) уже многие из Вас делали. Подкинте код.


Я собирался такое писать. Естественно на Ajax-е :D .Ибо меня порой напрягает выписывать все эти теги, делать upload... даже странно, что это все уже не собрали в подобный алгоритм.

В общем ты прав, тут без JS не обойтись. Я могу выложить готовое решение, но где-то через недельку, не раньше. А пока может кто-то выучит чего из закромов?

420
30 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
ВВ теги не более чем абстракция... фикция чистовой воды. Можно придумать какие угодно теги в стиле ВВ и вложить в них абсолютно любой функционал который будет зависеть только от скрипта-парсера.

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


Вполне согласен! И прекрасно это понимаю.
Естественно функционал повыше, чем у, напримар, phpBB.
Но в разумных, с точки зрения надобности, пределах. Просто тупо добавил теги для подсветки синтаксиса разных ЯП. И зделал для всего этого парсеры.

Вообщем-то, я уже где-то и здесь и у себя на форуме делал опрос - что лучше - bb-код или визуальный редактор. У меня на форуме большинство отдали предпочтение bb (правда выборка мала), здесь визуалке. В принципе понятно, почему кто любит визуалку, а кто bb.
Я, например, никогда ниде не учился ни программированию, ни веб-дизайну... Я вообще по образованию менеджер. Просто однажды увлекло всё это, и теперь думаю - как жалко, что когда-то не туда пошел... Ну да ладно. Суть в том, что я начинал изучение того же HTML именно в текстовом редакторе (слава богу про Фронт Пеидж тогда не знал :) ). Тупо заходил на сайты, смотрел как HTML-код и изучал структуру и т.д. (мне это казалось проще, чем книгу прочитать).
Потом перещел на HTMLEditor (невизуальный редактор) и прилогающийся к ниму справочник тегов :) Вот с этого всё и началось.

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

ВСЕ ЭТО ИМХООО!

Вообще, наверное лучше как-то совмещать это.
Я вот по началу думал вообще сделать такой редактор:
Текстовое поле и поле вьювера пополам делят страницу. При вводе текста (с тегами) после каждого нажатия парсится весь введённый текст и отображается во вьювере визуально. Как говорится - всем угодить :)
Никто такого не делал?

420
30 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Я думаю будет как обычно и ПО так и не выйдет на финальную стадию офрелиза. Так и останется беткой на локалхосте :D


Никакого офрелиза не будет и не планировалось изначально. Бесплатных ЦМС-ок итак сполна в сети хватает.
Я это делаю исключительно для своего сайта конкретно под свои нужды и всё.

420
30 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Я собирался такое писать. Естественно на Ajax-е :D .Ибо меня порой напрягает выписывать все эти теги, делать upload... даже странно, что это все уже не собрали в подобный алгоритм.

В общем ты прав, тут без JS не обойтись. Я могу выложить готовое решение, но где-то через недельку, не раньше. А пока может кто-то выучит чего из закромов?



Буду весьма признателен :)!!! Правда в Ajax вообще не секу. Если есть полезные ссылки, с которых лучше начать изучать Ajax то выложи, пожалуйста.
Еще был бы признателен за ссылку на хорошую, доступную для начинающего (в JS), книгу по JS соответственно.

12
30 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Никто такого не делал?


Мысль была. Однако до практической реализации пока руки не дошли...

12
30 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
Правда в Ajax вообще не секу. Если есть полезные ссылки, с которых лучше начать изучать Ajax то выложи, пожалуйста.


Ну все что лично я хотел сказать я высказал тут: http://www.ixbt.com/soft/ajax.shtml

Цитата: Fobos

Еще был бы признателен за ссылку на хорошую, доступную для начинающего (в JS), книгу по JS соответственно.


Хм... тут пас, так как ни одной книги так и не удосужился прочесть. Все как-то хватала материала из сети.

420
30 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Ну все что лично я хотел сказать я высказал тут: http://www.ixbt.com/soft/ajax.shtml


Спасибо!

Цитата: alekciy

Хм... тут пас, так как ни одной книги так и не удосужился прочесть. Все как-то хватала материала из сети.


Ну а в нете?

12
30 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos

Ну а в нете?


http://developer.mozilla.org/
Ну еще справочник в Aptana IDE (http://aptana.com/).

Ну и поиск конечно.

420
30 мая 2007 года
Fobos
197 / / 10.03.2006
Спасибо за ссылочки! Знал бы я английский хорошо...
Но думаю - разберусь.
12
31 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
Спасибо за ссылочки! Знал бы я английский хорошо...
Но думаю - разберусь.


Да я тоже не знаю... но есть словарь. Сюда вот заглядывай: http://lingvo.ru/lingvo/ . Вообще самая реальная инфа в сети идет на английском. Так что хочеться или не хочется, а осваивать нужно.

420
31 мая 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Вообще самая реальная инфа в сети идет на английском.


Это точно. Жалко, что на родном языке мало информации. И жалко, что мало кто переводить берётся.

12
31 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
Это точно. Жалко, что на родном языке мало информации. И жалко, что мало кто переводить берётся.


Берутся. Например вот: http://www.webmascon.com/about/about.asp . Однако все это голой воды энтузиазм. Даже если знать английский язык очень хорошо нужно время для написания перевода и его оформления. Время, которое ни кто не оплачивает. Поэтому нередко можно найти хорошие книги на русском языке, за них переводчик получает денежное возраграждение. А в сети... в публичном доступе...

420
31 мая 2007 года
Fobos
197 / / 10.03.2006
Ну а что! Я например собрался писать книгу по MaxScript (Правда уже давно и времени не хватает) чисто на интузиазме! И выложу просто потом на своём сайте. Просто реально по этой фигне ничего в нете ни нашел (на русском), когда сам искал (только статьи одного знакомого хорошего человека Dia-Doca - http://www.dia-doca.nm.ru/ ). Вот буду, с использованием родного мануала, писать потихонечку.

А если б небыло интузиастов, жить бы было ооочень тяжело (хотя и так не легко)...
12
01 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
Ну а что! Я например собрался писать книгу по MaxScript (Правда уже давно и времени не хватает)


Во-во ;)

420
07 июня 2007 года
Fobos
197 / / 10.03.2006
Цитата: Тень Пса
+1. интересно что у народа получается :)



Ну вот, если интерестно, вроди всё основное доделал. Теперь на месте буду до ума доводить. Вот ссылочка на сайтик на ней. *ttp://www.csportal.ru/
Если есть какие-то предложения и т.п. пишите сюда, или у меня.

420
13 июня 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Я собирался такое писать. Естественно на Ajax-е :D .Ибо меня порой напрягает выписывать все эти теги, делать upload... даже странно, что это все уже не собрали в подобный алгоритм.

В общем ты прав, тут без JS не обойтись. Я могу выложить готовое решение, но где-то через недельку, не раньше. А пока может кто-то выучит чего из закромов?



Из закромов никто ничего не выложил. А как у тебя дела со скриптом?

12
14 июня 2007 года
alekciy
3.0K / / 13.12.2005
Да нормально... я уж подумал, что ты забыл :D .
Кстати по сабжу... вот в Mike-а нашел в загашнике: http://mike.nov.ru/services/meditor/
Имхо, как раз твой случай.
420
14 июня 2007 года
Fobos
197 / / 10.03.2006
alekciy,
Супер! Как раз об этом я и говорил ранее, только не знал - как зделать! :)
Спасибо большое!

Только там же вроди загрузки пикчуров нет. Там просто из набора картинок (уже загруженных) вставляется УРЛ в img. А мне надо, чтобы типо появлялось всплывающее окошко, там кнопочка и поле пути к файлу. Выбираешь там файл, нажимаешь кнопку и файл загружается на сервер (причем создаётся папка с именем статьи, куда и ложаться все картинки данной статьи).

Ну, вроди ты же это писать собирался и вроди как говоришь написал. :)

Скинь мне на мыло, пожалуйста скриптик: [email]vorem@ya.ru[/email]
12
14 июня 2007 года
alekciy
3.0K / / 13.12.2005
Ну вот на скорую руку гибрид того, что сделал Mike и то что делал я:
http://alekciy.ru/test/test1/

Для upload файлов через AJAX заюзал JsHttpRequest либу (http://dklab.ru/lib/JsHttpRequest/manual.html) между сервером и клиентом идет обмен данными в JSON формате. Парсер для него на клиенте взять из mootools фрейморка (http://mootools.net/), на сервере поддежка для JSON делатеся через соответствующее расширение. Однако по дефолту оно входит в пых только с 5.2 версии (хотя можно добавить и для более младших, но требуется поддежка на хосте; лично я для localhost себе dll-ку брал тут http://pecl4win.php.net/ext.php/php_json.dll), более младшие версии просто не понимают json_encode() функцию. Поэтому был заюзал ZendFramework. Все это в общем слеплено и немного приправлено :D
12
14 июня 2007 года
alekciy
3.0K / / 13.12.2005
Да, исходники кинул сюда: http://web/JsHttpRequest/test1/test1.rar подрихтуешь под свои задачи.
420
28 июня 2007 года
Fobos
197 / / 10.03.2006
Цитата: alekciy
Да, исходники кинул сюда: http://web/JsHttpRequest/test1/test1.rar подрихтуешь под свои задачи.



Спасибо!!! Посмотрел то что выше постом, как раз то что нужно!

Только исходник скачать не могу. Просто уезжал достаточно на долго. Это у тебя на локалхосте, да? Тогда когда ты в сети бываешь обычно?

13
28 июня 2007 года
RussianSpy
3.0K / / 04.07.2006
Человек не отличает ошибочный URL от правильного, а уже лезет писать "супер ЦМС"... Куда мир катится....
92
28 июня 2007 года
Тень Пса
2.2K / / 19.10.2006
да лана, чего ты?.. пускай пишет. пробует ) мож просто не заметил )))) а alekciy прикололся :D
12
28 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Fobos
Спасибо!!! Посмотрел то что выше постом, как раз то что нужно!


А я то было уж подумал, что не понадобилось.

Цитата: Fobos

Только исходник скачать не могу. Просто уезжал достаточно на долго. Это у тебя на локалхосте, да?


А ха ха! А точно ведь, копирнул локалхостовую урлу вместо публичной :D . Вот публичный адрес: http://alekciy.ru/test/test1/test1.rar .

В общем теперь пример можно из паблика убирать ))

420
01 июля 2007 года
Fobos
197 / / 10.03.2006
alekciy,
Угу. Спасибо! Скачал.

RussianSpy,
И чтож вас умников то столько... Вместо помощи одни подколки. Как будто гениями все родились и с пелёнок ЦМС-ки за баксы пишите...
Я на урл в общем то и не смотрел. Нажал - неработает. Просто смутило, что .ру (или др.) нет. Тем более серверов я не настраивал, и не знаю какие там примудрости.
А ЦМС-ку "суперскую" я и не собирался писать. Это моя первая попытка, первый опыт. К тому же я её уже написал и пока меня в ней всё устраивает (только дорабатывать потихоньку буду).
15
01 июля 2007 года
shaelf
2.7K / / 04.05.2005
>>Тем более серверов я не настраивал, и не знаю какие там примудрости.
А при чём тут настройки серверов?)) Это же банальный URL, и если ты даже таких вещё не знаешь, то отложи вообще всё (включая HTML) и начинай с книг "Интернет для Чайников" т.к. там это наверное в первой главе разъясняется!
PS Это не стёб, а дельный совет.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог