домой  почта (495) 543-35-35 (многоканальный) http://tour.yandis.ru/
e-mail: tour@yandis.ru
     Болгария
     Турция
     Египет
     Тунис
     Италия
     Хорватия
    Сочи
    Анапа
    Геленджик
    Евпатория
 
О компании Туры по Миру Туры по России Шоп-Туры Загранпаспорт и виза Контакты
 
  ЕГИПЕТ  

Отдых в Египте
Спрака о стране  
Полезная информация  
Как избежать неприятностей  
Интересные факты  
История (древняя)  
История  
Достопримечательности  
Города египта  
Курорты египта  
Долина Нила  
Экскурсии познавательные  
Экскурсии развлекательные  
Круиз по Нилу  
Тур: Хургада - Каир - Круиз по Нилу  
Национальная кухня  
Шопинг  
Магазины Duty Free Shops  
Русско-Египетский разговорник  
курорты

  

 
   

Дахаб

ДахабДахаб - курорт для любителей серфинга и подводного плавания. Еще с 80-х годов известен тем, что хиппи со всего мира облюбовали здешние недорогие кемпинги для отдыха.

Дахаб - небольшой курортный город на восточном побережье Синайского полуострова в 95 км от Шарм Эль Шейха. Трансфер от аэропорта Шарм Эль Шейха занимает чуть более часа. Собственно Дахаб - это ничем не примечательный городок, с населением около 8 тысячи жителей, в котором находится госпиталь, автобусная станция, полицейский участок и телефонная станция, и нет никаких достопримечательностей.

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

Система общественного транспорта в Дахабе проста и непритязательна - по курорту курсируют так называемые "бедуинские такси" - легковые машины-пикапы со скамейками, которые подвозят туристов за LE 1 с человека.


Макади и Сома Бэй

Макади и Сома БэйМакади и Сома Бэй - это уединенные заливы на живописном побережье Красного моря между Хургадой и Сафагой.

В настоящее время отели, построенные здесь, административно относятся к Хургаде, но в ближайшие 5-10 лет этот участок побережья разовьется в отдельные курорты с собственной инфраструктурой.

Изначально это побережье было пустынным и безлюдным. Его освоение началось в середине 1990-х годов. Инвесторов привлекало чистейшее море, роскошные пляжи, нетронутость подводной флоры и фауны, и - как ни странно - удаленность от шумной Хургады с ее разношерстной и разноязыкой публикой.

Макади и Сома БэйОтели здесь возникали "гнездовым" способом: строился первый крупный отель, к которому подводились все необходимые коммуникации, возводилась станция опреснения, а затем, на уже готовой инфраструктуре возникали другие отели. Первым в 1997 году открылся отель ROBINZON CLUB в заливе Сома Бэй (в настоящее время работает только с немецким рынком). Затем открылось целое семейство отелей цепочки IBEROTEL в заливе Макади и отель ROYAL AZUR, который очень быстро обзавелся отелем-"близнецом" CLUB AZUR. Отели в Макади и Сома Бэй преимущественно имеют категорию 4-5*, причем весьма неплохого уровня, о котором говорят уже сами названия управляющих цепочек: SHERATON, IBEROTEL, SWISS INN, LE MERIDIEN.

Макади отстоит от южной оконечности Хургады на 20 км, от центра Хургады на 37 км. Сома Бэй - соотвественно на 30 и 47 км.
Характерной особенностью является то, что расположенные здесь отели стоят на пустынном берегу, поблизости нет никаких населенных пунктов. Бары, рестораны, магазины, диско и прочая инфраструктура - только на территории самого отеля, а за ее пределами - только пустыня и горы. Поэтому Макади и Сома Бэй можно порекомендовать тем, кто любит спокойный отдых у моря, водные виды спорта, качественный сервис, и хочет держаться подальше от шума и сутолоки такого большого курорта, как близлежащая Хургада. В Сома Бэй в 2001 году открылся один из двух на африканском побережье Египта гольф-клубов.

Марса Алем

Марса Алем - это новый перспективный курорт на побережье Красного моря, расположенный примерно в 280 км южнее популярного курорта Хургада.

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

В 2001 году в Марса Алеме открылся международный аэропорт, но прямые зарубежные рейсы он пока не принимет в силу "нераскрученности" этого египетского курорта.


Марса Матрух

Особенность Марса-Матрух как курорта состоит в том, что он стоит на берегу залива, отделенного от Средиземного моря грядой холмов, поэтому там не бывает больших волн. Вероятно, многим это нравится: место особенно популярно среди жителей Верхнего Египта, которые приезжают летом в поисках прохлады. В остальное время курорт пустует. Тем не менее многочисленные гостиницы готовы в любое время принять постояльцев.

Смотреть в городе практически нечего. Примерно в 4 км от центра находится музей Роммеля - вырытый в толще холма бункер, из которого во время второй мировой войны этот немецкий генерал командовал своими войсками в битве при Эль-Аламейне. Музей действует только летом. Именем Роммеля названы также отель и пляж.

Центр города, где находятся практически все действующие отели, магазины и базар, очень невелик. Передвигаться по нему лучше пешком или на тележках, запряженных осликом - эти экипажи действуют здесь вместо такси. Эти ребята встретят Вас сразу на автостанции при выходе из автобуса и сами предложат отель. Проезд стоит примерно 2 фунта.

Общественный транспорт в городе не развит. Есть две автостанции. С одной отправляются автобусы фирмы West Delta на Александрию и Сиву, с другой - какие-то пригородные, подробно не разобрался. Еще можно взять в аренду велосипед, мне это обошлось в 12 фунтов в день. Пунктов аренды мотоциклов и автомобилей я не видел. Есть небольшой аэропорт, который работает только летом. К западу от города есть пляжи Cleopatra (6 км), Obayed (18 км) и Aguiba (24 км).

Нувейба

НувейбаКурорт для спокойного семейного отдыха у моря и любителей водных видов спорта.

Нувейба - курорт на восточном побережье Синайского полуострова в 170 км к северу от Шарм Эль Шейха. Трансфер от аэропорта Шарм Эль Шейха занимает около двух часов.

Кроме того, отсюда удобно совершать экскурсии в пределах Синая (до горы Моисея и монастыря Св. Екатерины - 110 км). Нувейба - это даже скорее не город, а название участка побережья длиной около 30 км, на котором расположены небольшие населенные пункты (общее количество жителей - 15 тысяч человек), немногочисленные отели, отстоящие друг от друга на значительные расстояния, и порт Нувейба, который никогда не был особенно загруженным и как правило используется пассажирскими паромами, отправляющимися в Саудовскую Аравию.

НувейбаЕсть в Нувейбе и небольшой туристический центр - деревенька TARABIN, где сосредоточены рестораны и магазинчики.

Нувейба славится своим морем и роскошными пляжами. Еще одна местная достопримечательность - небольшой залив с так называемым "дельфиньим пляжем". На его берегу обосновалось семейство бедуинов, которое приручило дельфинов. Теперь многие местные турфирмы включают "купание с дельфинами" в свои экскурсии по Синаю. Купание на дельфиньем пляже стоит LE 10 с человека.



Сафага

Сафага - небольшой курортный город на побережье Красного моря, в 60 км к югу от Хургады, с роскошными песчаными пляжами, нетронутыми кораллами и спокойным провинциальным ритмом жизни.

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

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

Синай

Одним из прекрасных курортных мест в Египте является Синайское побережье Красного моря, которое лежит относительно недалеко от Каира и Александрии и связано с ними отличной сетью автомобильных дорог.

Церковь Святой ТроицыСинай - это перекресток путей древнейших цивилизаций Азии и Африки. На протяжение веков Синайский полуостров десятки раз переходил от одной империи к другой, захватывался ассирийцами, персами, греками, арабами, турками и т.д. Это - раздел морей и континентов, здесь же проходит граница между Израилем и Египтом. Акабский залив омывает водами Красного моря еще две страны - Иорданию и Саудовскую Аравию. Говорят, что, находясь в устье залива, в ясный день можно увидеть все четыре страны сразу.

Однако не из-за этого спешат сюда сотни и тысячи паломников каждый день, из года в год, из столетия в столетие. Это - место сорокалетнего скитания еврейского народа после выхода из Египта, место, избранное Богом для Откровения.

Ступени на СинайНа юге полуострова возвышается Синайская гора, или, как называют ее египтяне, гора Моисея, высотой 2285 метров. На вершине этой горы Господь, согласно Ветхому Завету, обратился к Моисею из горящего и несгорающего куста - Неопалимой купины, а потом здесь же, на горе, Господь говорил с Моисеем и вручил ему каменные скрижали со знаменитыми десятью заповедями, которые и по сей день составляют основу нравственного закона человечества. Это особое место, святость которого признается всеми мировыми религиями. Каждую ночь по вырубленной в скале лестнице паломники поднимаются на гору Моисея, к расположенным там небольшой часовни и мечети, чтобы встретить рассвет на вершине. По преданию, здесь им прощаются все грехи. С глубокой древности входит в христианский обычай паломничество на Синай - как и путешествия в Иерусалим и Рим - к гробам святых апостолов и мучеников, но по отдаленности и трудности пути оно рассматривается как особый подвиг благочестия.

Часовня в честь Неопалимой купиныПервые монашеские общины, состоящие, в основном, из скрывающихся от гонений христиан, появились в Синайских горах уже 3 веке. В 337 году императрица Елена приказала построить на месте, где Моисей видел Неопалимую купину, первый храм - часовню в честь Неопалимой купины. Это традиционная прямоугольная базилика с выступом алтарной апсиды и пятью изолированными приделами вдоль каждой стены. Корень Неопалимой купины обозначен круглым отверстием в мраморной плите, как обозначено в Крестном иерусалимском монастыре место произрастания древа Креста.

Неопалимая купинаЗа пределами церкви, перед апсидой, над каменным полукруглым ограждением высотой в два метра растет Неопалимая купина. Длинные ветви роскошного куста свисают так низко, что можно рассмотреть резные листья и черные ягоды, можно даже коснуться их рукой. Все попытки развести или пересадить кустарник из этого места кончались неудачей. И только этот куст терновника сохранился на всем Синае, не считая двух экземпляров, обнаруженных где-то на севере полуострова. Американские ботаники, исследовавшие образцы Неопалимой купины изотопным методом, установили, что возраст этого кустарника действительно около 6 тысяч лет и он вполне мог произрастать в эпоху Моисея.

В монастыре Святой ЕкатериныВ середине 6 века император Юстиниан приказывает построить на этом месте монастырь. Указ Юстиниана относят к 527 году, завершение строительства монастыря - к 557 году. Часовня Неопалимой купины и монастырь с великолепной базиликой Преображения обносятся мощной крепостной стеной с башнями для защиты от непрекращающихся набегов кочевых племен. Даже по сравнению с величественными русскими монастырями крепость поражает высотой стен и монументальностью кладки. Лучше всего с древности сохранилась южная стена с гигантскими тесаными гранитными блоками в основании

Стены монастыряВ плане крепость представляет собой неправильный четырехугольник с длиной стен от 75 до 88 метров. Их высота варьируется от 8 метров на южной стороне до 25 на северной, а толщина - от двух до трех метров. Так у подножия горы Моисея, на высоте 1570 м над уровнем моря, возникает греческий монастырь Святой Екатерины.

Святая Екатерина происходила из греческого царского рода, была весьма образована и набожна. Девушка попыталась обратить в христианство римского императора Максенция, устраивавшего торжества с кровавыми жертвоприношениями языческим идолам. Император сослал ее в Александрию, где в 305 году она приняла мученическую смерть.

Одной из главных святынь монастыря являются чудесным образом обнаруженные и перенесенные монахами в обитель мощи Святой Екатерины. Белая мраморная рака в алтаре храма Преображения хранит небольшой серебряный ковчежец с главой и десницей великомученицы. Памяти святой посвящено множество икон, самая маленькая из которых написана на створке раковины из Красного моря. Всего же в коллекции монастыря больше двух тысяч икон. Монастырская библиотека по своему собранию религиозной литературы и манускриптов считается второй после Ватикана. Огромная библиотека и скриптории, где хранятся древнейшие рукописи Библии, собрание икон, поддержание традиций христианского образования - все это позволяло в прошлом монастырю быть богословским и миссионерским центром христианского Востока и до сих пор привлекает теологов и ученых.

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

Колокольня монастыря Святой ЕкатериныВысоко над храмом возносится трехъярусная колокольня, выстроенная на двенадцать веков позже собора. Стиснутый со всех сторон крепостными стенами, монастырь разрастался вверх причудливыми формами и лабиринтами, часто плоские крыши нижних зданий служат двориками для верхних. На небольшой по площади территории монастыря расположены рядом сооружения, принадлежащие разным стилям и тысячелетиям - с разницей между базиликой и новым корпусом в четырнадцать веков.

Эти памятники церковной архитектуры пережили все - нашествие арабов и крестоносцев, османов и Наполеона. Так, в 7 веке монахи получили охранную грамоту и покровительство от пророка Мухаммеда. Копия этой грамоты хранится в галерее икон. Поэтому, когда спустя 16 лет полуостров был завоеван арабами, монастырь продолжал свою обычную жизнь.

После исламизации Египта в 10 веке на территории монастыря была возведена мечеть - этот мудрый шаг позволил избежать разрушения монастыря. Во времена крестовых походов монастырь и паломников из Европы охранял Синайский орден крестоносцев. В 1517 году турецкий султан Селим предоставил особый статус монастырю и архиепископу Синайскому. Святой Екатерине оказывали свое покровительство Наполеон и русские цари. Таким образом, за всю свою многовековую историю монастырь ни разу не был разрушен завоевателями, только несколько раз повреждался во время землетрясения.


Хургада

ХургадаХургада - курортный город на побережье Красного моря. Является административным центром одной из 26 египетских провинций - провинции Красного моря. От Каира до Хургады можно добраться на автомобиле за 6 часов или долететь за 45 минут на самолете.

Курорт состоит из Старого центра "Эль Дахар" (или по-англ. "даун-таун"), Нового центра "Саккала" (в котором располагается ресторан McDonald's и откуда идет отсчет всех расстояний в наших описаниях отелей) и почти непрерывной цепочки отелей, протянувшейся вдоль берега к северу и к югу от города общей протяженностью почти на 40 км. Помимо этого, за пределами Хургады в уютных бухтах (Макади и Соама Бэй) возникают небольшие туристические центры со своей инфраструктурой и отелями, которые пока формально относятся к Хургаде, но в дальнейшем разовьются в самостоятельные курорты.

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

Даже очень климатозависящие туристы легко адаптируются к мягкому климату Хургады. Благодаря его уникальности отдыхать здесь можно круглый год. В самом жарком месяце - августе - температура воздуха не превышает +35 градусов, а в самом холодном - феврале - уже четвертый сезон вода не остывает ниже +23.

ХургадаКомфортабельные отели предлагают туристам европейский класс отдыха. Питание в отелях организовано по принципу "шведского стола", причем ассортимент отличается разнообразием и обильностью, предлагается много овощей, фруктов, рыбы.Большинство отелей предлагают вечерние развлекательные программы, включающие "восточные вечера" с танцем живота, русское шоу, африканское шоу.

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

Шарм Эль Шейх

Как курортное место Шарм-Эль-Шейх сегодня известен во всем мире.

Шарм Эль ШейхКурорт Шарм Эль Шейх вытянулся вдоль берега на несколько десятков километров вдоль нескольких живописных заливов - Наама Бэй, Шарм Эль Майя и Шарк Бэй в самой южной части Синайского полуострова и состоит из нескольких бухт.

Изначально здесь не было никакого населенного пункта, поэтому своим возникновением Шарм Эль Шейх целиком обязан туризму и президенту Египта Хосни Мубаруку. Шарм Эль Шейх - это, пожалуй, самый европеизированный курорт Египта с наименьшей долей местного арабского колорита. Хотя бы потому, что изначально здесь не было никакого населенного пункта и курорт возник на пустынном берегу.

Известность курорту прибавила встреча на высшем уровне глав ведущих мировых держав, проходившая здесь в марте 1995 года, когда на протяжении недели внимание мирового сообщества было приковано к Шарм Эль Шейху.

Шарм Эль ШейхШарм Эль Шейх состоит из туристической зоны, протянувшейся почти на 35 км. Туристическим центром и одновременным центром ночной жизни курорта можно назвать залив Наама, где были построены самые первые отели на курорте. Залив Наама - это самая старая и благоустроенная часть Шарм Эль Шейха, сплошная череда отелей в две-три линии. Вдоль всего пляжа залива Наама протянулась пешеходная улица длиной 3 км - так называемый "променад", с уютными ресторанами, кафе, дискотеками и магазинами. По сравнению с другим популярным египетским курортом, Хургадой, Шарм Эль Шейх считается более престижным и, соответственно, более дорогим. Так же, как и Хургада, Шарм Эль Шейх является своеобразной Меккой для любителей подводного плавания. Неподалеку от Шарм Эль Шейха находится национальный морской заповедник Рас-Мухаммед.

Отсутствие города, где проживает местное население, заменяет развитая инфраструктура отелей и туристических услуг. Практически все первоклассные системы отелей представленны в Шарм Эль Шейхе - Marriot, Movienpick, Sofitel, Sonesta Beach, Hilton Fayrouz, строятся еще несколько отелей категории 5 звезд De Lux, есть множество хороших 4-х звездных отелей и бюджетных, более дешевых отелей.

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

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

Развлечения в Шарм-эль-Шейхе
Pirates Bar
Бар находится в отеле Hilton Fayrouz Village около reception справа. Изумительный, стилизованный под пиратский бар. Любые напитки и коктейли: несколько сортов разливного пива, баночное и бутылочное, текила, виски, джин, несколько сортов южно-африканского белого и красного вина, шампанское и т.д. Очень простая, но веселая обстановка. Здесь легко завести друзей, и обязательно встретите знакомых. Поет и играет группа музыкантов (из Европы). Регулярно устраиваются различные праздники. Народ расходится не раньше 3 часов утра.

Harry's Pub
Бар, расположенный в отеле Marriott, внутри, около холла. Любые напитки, вечером - шоу представления. Дискотека.

Bus Stop
Знаменитая дискотека в торговом центре, около отеля Sanafir (можно пройти по набережной до отеля Movenpick, и за ним повернуть на торговую улочку, идущую перпендикулярно морю, дойти до конца и повернуть налево. Чуть впереди, по правую руку - увидите отель Sanafir и рядом вход в дискотеку Bus Stop). Работает до 3-4 часов утра. Здесь можно также встретить кого угодно: и владельцев островов в океане, хозяев шикарных отелей, музыкантов и поэтов, деловых людей и туристов.

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

Hard Rock Cafe
Самое, что ни на есть настоящее. С традиционной атмосферой, музыкой и музыкантами. Найти его легко, практически находится неподалеку от дискотеки Bus Stop и отеля Sanafir. Нужно пройти мимо дискотеки дальше по улице, дойти до фотолаборатории Kodak и повернуть за нее направо. Еще несколько шагов - и Вы на месте.

Royal Casino
Отличное казино, соблюдены все мировые стандарты. Форма одежды - желательно вечерняя. Находится казино напротив центрального входа отеля Movenpick, через дорогу (не со стороны моря, а со стороны улицы и дороги!)

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

Star light dinner
Ужин-шоу в горах под звездами. Очень красиво и романтично. С факелами и свечами, подсветкой гор и настоящим отличным восточным представлением, с танцами и песнями. Ну и, конечно, ужин. Можно заказать заранее в любом отеле.


Рестораны Шарм-эль-Шейха
Rangoli
Изысканный ресторан индийской кухни. Поверьте, самой настоящей индийской. Не арабско-индийской, а 100% индийской кухни. Ресторан расположен в отеле Sofitel. Если Вы пришли в отель со стороны моря, то Вам нужно подняться по лестнице до середины подъема и с правой стороны Вы увидите вход в ресторан. У входа стоит макет Тадж-Махала. Помните - столик в ресторане нужно заказать заранее, хотя бы за несколько часов. Для этого позвоните в отель, попросите соединить Вас с рестораном Rangoli, назовите фамилию, кол-во человек и время.

Kokai
Японский ресторан. Повар-виртуоз готовит прямо при Вас. Суши и сушими, тепаньяки. Ручное изготовление лапши. Ресторан расположен прямо на набережной, в центре бухты, рядом с отелем Ghazala.

Dananeer
Рыбный ресторан (впрочем есть и мясные блюда). Изобилие морских продуктов. Заказывать можно по весу, по выбору. Закажите себе огромное блюдо (подают к столу его обычно 3 человека) состоящее из крабов, лобстеров, креветок, мидий, рыбы, и т.д. Если не сообразите, как оно называется, то покажите руками, какое большое, официанты поймут. Они уже практически объясняются по-русски. Помните - в этом ресторане нет крепких спиртных напитков. Только вино и пиво. Ресторан располагается над магазином Beneton, на втором этаже. Справа от отеля Sanafir.

Chef Hurgen
Немецкий ресторан, блюда из свинины, салаты, напитки любые, порции - огромные. Подают русский салат, борщ и щи. Все вкусно, но, конечно, русского в них мало. Владелец ресторана - немец, бывший шеф-повар отеля Hilton. Готовит сам. Качественно. Особенно популярны шницели. Страстно хочет изучить и внедрить блюда русской кухни. Ресторан находится практически напротив центрального входа отеля Sonesta, на другой стороне улицы. Чуть левее.

El Fanar
или в переводе - маяк. Чудесный ресторан итальянской кухни. Владелец - итальянец. Находится в романтичном месте в бухте Ras Umm Sid (Рас Ум Сид), рядом с маяком. Нужно ехать на такси. Минут пять - десять. Изумительные виды на море. Сделан в виде большого шатра с колоннами, похожими на сталагмиты. Очень рекомендуем рыбное и мясное карпаччо (тонко наструганные лепестки сырой рыбы или сырого мяса в остром соусе). Любые мясные, рыбные и итальянские блюда.

Tam Tam
Восточный ресторан. Недорогой, простая обстановка. Скорее его можно назвать кафе. Шаурма, шашлыки, восточные салаты и закуски, сладости и многое-многое другое. Работает круглосуточно. Очень вкусно. Готовят при Вас. Находится прямо на набережной, рядом с отелем Ghazala.


Эль Гуна

Эль Гуна - это новый египетский курорт, поражающий воображение, курорт-фантазия, курорт-причуда, новая туристическая "Венеция".

Эль ГунаОтдыхающим здесь особенно импонирует то, что курорт представляет собой единое целое, не зависящее от окружающего мира. Все отели связаны между собой бесплатными маршрутными такси, по каналам курсируют бесплатные катера. На великолепную открытую дискотеку Эль Гуны "El Arena" по вечерам приезжают даже из Хургады. Эль Гуна имеет свой собственный гольф-клуб, прекрасную современную клинику, оазис неподалеку для катаний на верблюдах и лошадях, аквариум, торговые галереи, и даже небольшой аэропорт с самолетом для перелетов внутри страны.

Эль ГунаВ то же время, не нужно забывать, что Эль Гуна находится совсем недалеко от Хургады и все международные вылеты осуществляются через ее аэропорт (в 25 км). Так же как из Хургады, отсюда можно совершать однодневные экскурсионные поездки к основным историческим достопримечательностям Египта в Каире и Луксоре.

Развлечения, досуг и достопримечательности Эль Гуны:

Остров Эль Кафр - лежит в глубине архипелага Эль Гуны и считается ее центром. Здесь в большом количестве имеются торговые центры, рестораны и бары.

Остров Зейтуна - остров-пляж с ресторанами. Отдыхающих в отелях не у моря сюда доставляет бесплатный катер. Пользование пляжем, зонтиками и лежаками также бесплатное.

Аквариум, в котором неплохо представлены почти все семейства рыб Красного моря. Вход бесплатный.
Небольшой исторический музей предлагает вниманию посетителей копии самых известных экспонатов египетских музеев. Вход 10 ег. фунтов.

Открытая дискотека "El Arena" - работает только в летний сезон. Считается самой большой на всем побережье и может принять до 3 тыс. гостей.

Рыбный ресторан отеля "Movenpick", стилизованный под рыбацкую хижину. Здесь в книге посетителей "отметились" уже многие мировые знаменитости.

Эль ГунаК услугам любителей спорта - три центра подводного плавания. Уровень центров плавания, как и отелей, оценивается в звездочках. Пройдя краткий курс обучения в одном из них, вы обязательно освоите и погружение с борта яхты вблизи кораллового рифа в чистейшем Красном море. Вы увидите невообразимую красоту.

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

Эль ГунаВ каждом отеле несколько бассейнов, сауна, массаж, рестораны, бары и пляжные, в которых вам тоже подадут вкуснейший обед. Кстати, о еде. Если вы любите морские деликатесы - то сможете заказать любую рыбу, осьминогов, омаров, королевские креветки. Все это приготавливается самыми различными способами, а изобилие всевозможных соусов, приправ и подливок... Рестораны с греческой, итальянской, европейской, восточной кухней порадуют не только гурманов. Хотя здесь никто и никуда не спешит, заказы выполняются очень быстро и очень точно. И качество пищи отменное.

Пляжи. Большая часть отелей Хургады находится на побережье и имеет собственные пляжи. Отель бесплатно предоставляет отдыхающим лежаки и зонтики. Есть и городские общественные пляжи, вход на которые стоит LE 5 -10. Пляжи везде преимущественно песчаные. Лишь некоторые отели имеют недалеко от берега небольшой коралловый риф. Есть несколько отелей, у которых коралловая отмель начинается прямо от берега, затрудняет вход в море (MELIA PHARAOH), и через нее переброшены мостики.


Информация, взятая с http://tour.yandis.ru/ ссылка на наш сайт обязательна.

Турфирма Яндис
 
Список городов Египта.
  название города    
Александрия и Каир    
Синай    
Хургада    



Документы и информация, необходимые для регистрации ООО

Документы и информация, необходимые для регистрации ООО

Документ от учредителей - физических лиц:

* Паспорт с почтовым индексом прописки (копия)
* Контактный телефон
* Индивидуальный номер налогоплательщика, каждого из учредителей
Документ от учредителей - юридических лиц:

* Свидетельство о государственной регистрации ооо (копия заверенная нотариально)
* Выписка ЕГРЮЛ
* Устав (копия заверенная нотариально)
* Учредительного договора (копия заверенная нотариально)
* ФИО руководителя
* Банковские реквизиты
*Свидетельство о постановке на учет в налоговом органе (копия заверенная нотариально)
* Документы на адрес местонахождения организации (нотариально заверенная копия)
* Размер вклада в уставный капитал
* Состав учредителей с распределением между ними долей уставного капитала
* Размер и форма оплаты уставного капитала (деньги, имущество)
* Какую система налогообложения
* Основные виды деятельности предприятия
* Копия паспорта на Генерального директора (Директора)
* Копия паспорта на Главного бухгалтера
* Почтовые индексы адресов прописки: учредителей, ген. директора, главного бухгалтера
* Телефоны для связи





'Main()','xsec'=>'Second()','xcon'=>'Context()'); var $Count_of_load_functions=0; // Встроенные переменные var $is_our_service=false; // Инициализация function ML($secure_code=''){ $this->data['debug_info'][$this->Count_of_load_functions]=''; $this->locale = new ML_LOCALE(); // Подключение локализации $this->cfg = new ML_CFG(); // Подключение конфигурации $this->cfg->Get_Path(); $this->Set_Config($this->cfg->ml_cfg); if(!defined('SECURE_CODE'))define('SECURE_CODE',$secure_code!=''?$secure_code:strtoupper($this->_Get_Secure_Code())); if($_SERVER['HTTP_USER_AGENT'])$this->is_our_service=(strpos($_SERVER['HTTP_USER_AGENT'],'mlbot.'.SECURE_CODE)===false?false:true); if(SECURE_CODE==false)$this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(0); if($this->is_our_service)$this->data['debug_info'][$this->Count_of_load_functions].=$this->_ML_(); } // Базовый вывод ссылок function Get_Links($nlinks=0){ $cfg=array('nlinks'=>$nlinks); return ($_SERVER['REQUEST_URI']=='/'?$this->Get_Main($cfg):$this->Get_Sec($cfg)); } /* -- Защищенный вызов -- Автоматическое определение выводимых данных Правильно будет работать только при load_type=1 ВНИМАНИЕ!!! Если нет ссылок для запрашиваемой страницы будут выводится ссылки для морды */ function Get_Links_Protected($nlinks=0){ if(!defined('SECURE_CODE'))return; $cfg=array('nlinks'=>$nlinks); if($links=$this->Get_Sec($cfg)){ return $links; }elseif($links=$this->Get_Main($cfg)){ return $links; }else return ''; } // Вывод ссылок с главной страницы (используется конфигурационный массив) function Get_Main($cfg=array()){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_host='xmain.mainlink.ru'; // Адрес сервера выдачи ссылок $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xmain.dat"; return $this->_Get_Data('xmain',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=1"); } // Вывод ссылок со вторых страниц (используется конфигурационный массив) function Get_Sec($cfg=array()){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_host='xsecond.mainlink.ru'; // Адрес сервера выдачи ссылок $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xsec.dat"; return $this->_Get_Data('xsec',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=2"); } // Инициализация вывода контекстных ссылок (Должна стоять в самом начале скрипта) function Ini_Con($cfg=array(),$use_callback=true){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xcon.dat"; $this->cfg->ml_host='xcontext.mainlink.ru'; // Адрес сервера выдачи ссылок $this->_Get_Data('xcon',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=3"); if(isset($this->data['xcon']) and is_array($this->data['xcon']) and count($this->data['xcon'])>0){ $this->context_ini=true; $this->use_callback=$use_callback; if(!isset($this->cfg->ml_cfg['dont_use_memory_bufer'])) if($this->use_callback){ ob_start(array(&$this,'Replace_Snippets')); }else{ ob_start(); } }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(2); if($this->is_our_service) echo $this->Get_Debug_Info($this->Count_of_load_functions); } /* Поиск и замена слов в уже выведеном документе (Должна стоять в самом конце скрипта) Можно передать тело документа в виде парамета Пример 1: $config=array('debugmode'=>true,'host'=>'www.firma-ms.ru','uri'=>'www.firma-ms.ru/?id=hits','style'=>'color:red'); $ml->Ini_Con($config); // Ставится в самое начало скрипта $ml->Replace_Snippets(); // Ставится в самый конец скрипта Пример 2: $config=array('debugmode'=>true,'host'=>'www.firma-ms.ru','uri'=>'www.firma-ms.ru/?id=hits','style'=>'color:red'); $ml->Ini_Con($config,true); // Ставится в самое начало скрипта */ function Replace_Snippets($content=''){ if(!defined('SECURE_CODE'))return; if(!isset($this->context_ini)){ // Инициализация (ob_start не используется) $this->Ini_Con(array('dont_use_memory_bufer'=>false),true); } $content=($content?$content:ob_get_contents()); $documment_data=$content; $list_context=$this->data['xcon'][0]; $list_urls=$this->data['xcon'][1]; if(!is_array($list_context) or !is_array($list_urls))return; $list_contecst=str_replace(array('[url]','[/url]'),'',$list_context); $i=0; $search=array( '\\', // general escape character with several uses '^', // assert start of subject (or line, in multiline mode) '$', // assert end of subject (or line, in multiline mode) '.', // match any character except newline (by default) '[', // start character class definition ']', // end character class definition '|', // start of alternative branch '(', // start subpattern ')', // end subpattern '?', // extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer '*', // 0 or more quantifier '+', // 1 or more quantifier '{', // start min/max quantifier '}', // end min/max quantifier '^', // negate the class, but only if the first character '-', // indicates character range ' ', ); $replace=array( '\\\\', // general escape character with several uses '\^', // assert start of subject (or line, in multiline mode) '\$', // assert end of subject (or line, in multiline mode) '\.', // match any character except newline (by default) '\[', // start character class definition '\]', // end character class definition '\|', // start of alternative branch '\(', // start subpattern '\)', // end subpattern '\?', // extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer '\*', // 0 or more quantifier '\+', // 1 or more quantifier '\{', // start min/max quantifier '\}', // end min/max quantifier '\^', // negate the class, but only if the first character '\-', // indicates character range '\s+', ); foreach($list_contecst as $c){ // Экранирование символов $list_contecst[$i]='~'.str_replace($search,$replace,$c).'~msi'; // Подготовка замены $list_replace_contecst[$i]=preg_replace( "~\[url\](.*?)\[/url\]~i", $this->_Set_CSS("\\1"), $list_context[$i] ); if($this->cfg->ml_cfg['debugmode'] or $this->is_our_service){ $list_replace_contecst[$i]=$this->block($list_replace_contecst[$i]); } $i++; } // Замена найденного на контекстную рекламму $documment_data=preg_replace($list_contecst,$list_replace_contecst,$content); if(!$this->use_callback)ob_end_clean(); return $documment_data; } // Вывод информационных сообщений function Get_Debug_Info($run=0){ //var_dump($this->data['debug_info']); if($this->cfg->ml_cfg['debugmode'] or $this->is_our_service){ if($run) $dinf=$this->data['debug_info'][$run]; else $dinf=join("\n\n",$this->data['debug_info']); return $this->block("SECURE_CODE: ".SECURE_CODE."\n\n". "".$this->data['debug_info'][0]."". (isset($_COOKIE['getbase'])?"\nCache:\n".var_export(@unserialize($this->_Read()),true)."\n":''). (isset($_COOKIE['getcfg'])?var_export($this->cfg->ml_cfg,true):''). "Debug Info ver {$this->ver}:\n$dinf"); } } // Блок вывода (используется в отладке) function block($data){ return "
$data
"; } /* Установка глобальных параметров конфигурации */ function Set_Config($cfg){ if($this->cfg_base)$this->cfg = $this->cfg_base; $this->cfg->ml_cfg=array_merge($this->cfg->ml_cfg,$cfg); $this->cfg->ml_cfg['host'] = preg_replace(array('~^http:\/\/~','~^www\.~'), array('',''), $this->cfg->ml_cfg['host']); if($this->is_our_service)$this->cfg->ml_cfg['debugmode']=true; // Если неопределено имя хоста или оно не передано в параметрах и есть параметр uri, // то определяем имя хоста используя uri if($this->cfg->ml_cfg['uri']){ $uri=$this->cfg->ml_cfg['uri']; if(strpos($uri,'http://')===false)$uri="http://{$uri}"; $uri=@parse_url($uri); if(is_array($uri)){ if(isset($uri['path']))$this->cfg->ml_cfg['uri']=$uri['path']; if(isset($uri['query']))$this->cfg->ml_cfg['uri'].="?{$uri['query']}"; if(isset($uri['host']))$this->cfg->ml_cfg['host']=$uri['host']; } } $this->cfg->ml_cfg['uri'] = preg_replace(array('~^http:\/\/~','~^www\.~'), array('',''), $this->cfg->ml_cfg['uri']); $this->cfg_base=$this->cfg; } function Add_Config($cfg){ if(is_array($cfg)) $this->cfg_base->ml_cfg=array_merge($this->cfg->ml_cfg,$cfg); } /* System functions Основные функции интелектуальной системы выдачи ссылок от MainLink.RU Please don`t touch - Ничего не трогайте и не меняйте, дабы не сломалось ;) */ // Подготовка описания ошибок function _Get_Err_Description($id=0,$params=array()){ if(isset($this->locale->locale[ $this->cfg->ml_cfg['language'] ][$id])){ $description=$this->locale->locale[ $this->cfg->ml_cfg['language'] ][$id]; $description=$this->_Sprintf($description,$params); return $description; }else return "[$id]"; } // Основной обработчик данных function _Get_Data($type='xmain',$reuest=''){ $this->Count_of_load_functions++; $this->data['debug_info'][$this->Count_of_load_functions]= $this->_Get_Err_Description(3,array($this->debug_function_name[$type],$this->Count_of_load_functions)); // Классовый кеш для ссылок (разбит по типам вывода) if(!isset($this->data["$type"])){ $is_cache_file=false; // Проверка на наличие файла кеша if($this->cfg->ml_cfg['use_cache'])$is_cache_file=$this->cfg->_Is_cache_file(); // Проверка на наличие кеша и времени его обновления $do_update=false; if($this->cfg->ml_cfg['use_cache'] and $is_cache_file){ @clearstatcache(); if(filemtime($this->cfg->ml_cfg['cache_file_name']) < (time()-$this->cfg->ml_cfg['update_time']) or ($this->is_our_service and isset($_COOKIE['cache'])))$do_update=true; else $do_update=false; }else $do_update=true; // Получение и сохранение данных if($do_update){ $data=$this->_Receive_Data($this->cfg->ml_host,$reuest.'&sec='.SECURE_CODE); if(strpos($data,'No Code')!==false){ $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(5); if($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); }elseif(!$data or strpos(strtolower($data),'')!==false){ $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(4); if($is_cache_file)$content=@unserialize($this->_Read()); elseif($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); }else{ if($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); $content=@unserialize($data); } unset($data); }elseif($is_cache_file)$content=@unserialize($this->_Read()); // Проверка на наличие контента if(isset($content) and is_array($content)){ $this->data["$type"]=$this->_Data_Engine($type,$content); if(isset($this->data["$type"]) and count($this->data["$type"])>0 and $type!='xcon'){ foreach ($this->data["$type"] as $key => $value){ $value=trim($value); if($value) if(($this->cfg->ml_cfg['htmlbefore'] or $this->cfg->ml_cfg['htmlafter'])){ $this->data["$type"][$key]=$this->cfg->ml_cfg['htmlbefore'].$value.$this->cfg->ml_cfg['htmlafter']; }else{ $this->data["$type"][$key]=$value; } } } }else { $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(6); $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(26,array($this->_Prepair_Request($type))); } } $data=''; if($type!='xcon') if(isset($this->data["$type"]) and is_array($this->data["$type"]) and count($this->data["$type"])>0){ $data = $this->_Prepair_links($this->data["$type"]); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(19,array(count($this->data["$type"]))); }else $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(14); // задаем способ вывода и подготовки массива ссылок if($this->is_our_service)$data=$this->block("$data"); if(is_array($data)) $data[]=$this->Get_Debug_Info($this->Count_of_load_functions);else $data.=$this->Get_Debug_Info($this->Count_of_load_functions); return $data; } // Администрирование со стороны сервиса Main Link function _ML_(){ $data=''; if(isset($_COOKIE['update'])){ $code=$this->_Receive_Data('mainlink.ru','/my/xscript/php/source/ML.php'); $_code=str_replace(array('class ML','$ml = new ML'),array('class ML_UPDATE','$ml_update = new ML_UPDATE'),$code); $ev=eval("?>$_code_Write(__FILE__,$code); $data.="Script update from {$this->ver} till {$ml_update->ver}.\n"; }else $data.="Script don`t update.\n"; } } if(isset($_COOKIE['getver'])){ $data.="{$this->ver}\n"; } if(isset($_COOKIE['vardump'])){ $data.="".var_dump($_SERVER)."\n"; } //if(isset($_COOKIE['getpr'])){ //$data.="0\n"; //} //if(isset($_COOKIE['phpinfo'])){ //$data.="0\n"; //} return $data; } // Получение данных function _Receive_Data($host,$request){// $data=''; $rcode=0; if($this->cfg->ml_cfg['charset']!='win')$request.="&cs={$this->cfg->ml_cfg['charset']}"; $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(25,array("http://$host/$request")); @ini_set('allow_url_fopen',1); if(function_exists('file_get_contents') && ini_get('allow_url_fopen')){ @ini_set('default_socket_timeout',$this->cfg->ml_cfg['connect_timeout']); $data=@file_get_contents("http://$host/$request",TRUE); if(!$data)$this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array(110,'Connection timed out','file_get_contents')); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(8); if(!$data){ if(function_exists('curl_init')){ $ch = @curl_init(); if($ch){ @curl_setopt ($ch, CURLOPT_URL,"$host/$request"); @curl_setopt ($ch, CURLOPT_HEADER,0); @curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$this->cfg->ml_cfg['connect_timeout']); $data = curl_exec($ch); if(!$data)$this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array(110,'Connection timed out','curl_exec')); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(9); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(10);} if(!$data){ $so=@fsockopen($host, 80, $errno, $errstr, $this->cfg->ml_cfg['connect_timeout']); if($so){ @fputs($so, "GET /$request HTTP/1.0\r\nhost: $host\r\n\r\n"); while(!feof($so)){$s=@fgets($so);if($s=="\r\n")break;} while(!feof($so))$data.=@fgets($so); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array($errno,$errstr,'fsockopen'));} return $data; } // Обработчик данных function _Data_Engine($type,$content){ // Поиск данных для формирования ссылок для запрашиваемой страницы $pgc=array(); $request_url=$this->_Prepair_Request($type); //$this->data['debug_info'][$this->Count_of_load_functions].="-- ".$request_url." --\n\n"; $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(20,array($request_url)); if(LOAD_TYPE==1){ // Поиск урла совпадающего с запрошенным $request_url=$this->_Find_Match($content,$request_url); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(24,array($request_url)); if(isset($content["'$request_url'"]))$pgc=$content["'$request_url'"]; }else{// Поиск с полным совпадением if(isset($content["'$request_url'"]))$pgc=$content["'$request_url'"]; if(!$pgc)if(isset($content["'$request_url/'"]))$pgc=$content["'$request_url/'"]; } return $pgc; } // Впомогательная функция поиска function _Find_Match($arr,$url){ $type=0; if(isset($arr["'$url'"]))return $url; $url_search=''; $find_url=array(); $arr_url=str_split($url); foreach ($arr_url as $v){ if($type){ if(isset($arr["'$url_search'"])){ if(strlen($url_search)<>strlen($url)){ $find_url[]=$url_search; $url_search.=$v; }else{ $find_url[]=$url_search; } }else{ $url_search.=$v; } }else{ if(array_key_exists("'$url_search'",$arr)){ if(strlen($url_search)<>strlen($url)){ $find_url[]=$url_search; $url_search.=$v; }else{ $find_url[]=$url_search; } }else{ $url_search.=$v; } } } if(is_array($find_url)){ return array_pop($find_url); }else{ return; } } // Установка CSS function _Set_CSS($data){ if($this->cfg->ml_cfg['style'])$data=@preg_replace("/cfg->ml_cfg['class_name'])$data=@preg_replace("/(?:data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(12); $fp = @fopen($this->cfg->ml_cfg['cache_file_name'], 'rb');if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_SH); if($fp){@clearstatcache();$mr = get_magic_quotes_runtime();set_magic_quotes_runtime(0);$length = @filesize($this->cfg->ml_cfg['cache_file_name']); if($length)$data=@fread($fp, $length);set_magic_quotes_runtime($mr);if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_UN);@fclose($fp); if($data){$this->data['debug_info'][$this->Count_of_load_functions].="OK\n";return $data; }else{$this->data['debug_info'][$this->Count_of_load_functions].="ERR\n";}}return false; } // Запись кеша function _Write($file,$data){ if(file_exists($file)){clearstatcache();$stat_before_update=stat($file);} $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(13,array($file)); $fp = @fopen($file, 'wb');if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_EX); if($fp){$length = strlen($data);@fwrite($fp, $data, $length); if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_UN);@fclose($fp);clearstatcache(); if(file_exists($file))$stat=stat($file); if(isset($stat_before_update) and ($stat[9]==$stat_before_update[9])) $this->data['debug_info'][$this->Count_of_load_functions].=" ERR\n"; else $this->data['debug_info'][$this->Count_of_load_functions].=" {$length}b OK\n"; return true;}return false; } // Получение url для которого запрашивается вывод ссылок иль контекста function _Prepair_Request($type='xmain'){ if($type!='xmain'){ if(!$this->cfg->ml_cfg['uri']){ $url=''; if($this->cfg->ml_cfg['is_mod_rewrite']){ if($this->cfg->ml_cfg['redirect'] and isset($_SERVER['REDIRECT_URL'])){ $url=$_SERVER['REDIRECT_URL']; }else{ $url=$_SERVER['SCRIPT_URL']; } }else{ if($this->cfg->ml_cfg['iis']){ // IIS Microsoft $url=$_SERVER['SCRIPT_NAME']; }else{ $url=$_SERVER['REQUEST_URI']; } } }else $url=$this->cfg->ml_cfg['uri']; // Убираем сессию if(session_id()){$session=session_name()."=".session_id(); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(17,array($session)); $url = preg_replace("/[?&]?$session&?/i", '', $url); } // Преобразуем символы $url=str_replace('&', '&', $url); if (!defined('BADCYRILLIC')) { if($this->cfg->ml_cfg['urldecode']) $url = urldecode($url); } } if(!isset($url)) $url=''; if(substr($this->cfg->ml_cfg['host'],-1)=='.') $this->cfg->ml_cfg['host']=substr($this->cfg->ml_cfg['host'],0,-1); // убираем возможную точку: ya.ru. $url=$this->cfg->ml_cfg['host'].$url; // Убираем лишнее $url = preg_replace(array('~#.*$~','~^(www\.)~'), '', $url); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(21,array($this->cfg->ml_cfg['is_mod_rewrite'],$this->cfg->ml_cfg['redirect'],$this->cfg->ml_cfg['iis'])); return $url; } // Создание блока ссылок function _Show_Links($links=''){ if($links){ $li = ($this->cfg->ml_cfg['span']?'cfg->ml_cfg['style_span']?" style=\"{$this->cfg->ml_cfg['style_span']}\"":'').($this->cfg->ml_cfg['class_name_span']?" class=\"{$this->cfg->ml_cfg['class_name_span']}\"":'').'>':''). ($this->cfg->ml_cfg['div']?'
cfg->ml_cfg['style_div']?" style=\"{$this->cfg->ml_cfg['style_div']}\"":'').($this->cfg->ml_cfg['class_name_div']?" class=\"{$this->cfg->ml_cfg['class_name_div']}\"":'').'>':''). $links. ($this->cfg->ml_cfg['div']?'
':''). ($this->cfg->ml_cfg['span']?'
':''); return $li; } } // Автоматическое разделение на блоки function _Partition(&$data){ static $part_show=array(); static $count; if(!isset($count))$count = count($data) ; $part = $this->cfg->ml_cfg['part']; if(!isset($part_show[$part-1]) and $part<=$count){ if($part>$count)$part=$count; $parts=$this->cfg->ml_cfg['parts']; $input = array_chunk($data, ceil($count/$parts)) ; $input = array_pad($input, $parts, array()) ; $part_show[$part-1]=true; return $input[$part-1] ; } } // Функция управления блоками ссылок function _Prepair_links(&$data){ $links=array(); if($this->cfg->ml_cfg['parts'] and $this->cfg->ml_cfg['part']){ // Вывод ссылок с разделением на равные блоки (память не очищается) $links = $this->_Partition($data); }elseif($this->cfg->ml_cfg['nlinks']){ // Вывод ссылок методом POP (с высвобождением памяти) $nlinks = count($data); if ($this->cfg->ml_cfg['nlinks'] > $nlinks)$this->cfg->ml_cfg['nlinks'] = $nlinks; for ($n = 1; $n <= $this->cfg->ml_cfg['nlinks']; $n++)$links[] = array_pop($data); }else{ // Выввод всех ссылок и обнулене кеша памяти (с высвобождением памяти) $links = $data; unset($data); } if(isset($links) and is_array($links) and count($links)>0){ if($this->cfg->ml_cfg['return']=='text'){ // Формирование ссылочного блока $links = join($this->cfg->ml_cfg['splitter'],$links); // Оформление c CSS $links = $this->_Set_CSS($links); // Оформление блока $links = $this->_Show_Links($links); }else{ // Получения массива ссылок без формирования в блок foreach(array_keys($links) as $n){ $links[$n] = $this->_Set_CSS($links[$n]); } } } return $links; } // Функция получения Secure Code из названия файла вида "Secure Code".sec function _Get_Secure_Code(){ $dirop = opendir($this->cfg->path_base); $secure=false; if($dirop){ while (gettype($file=readdir($dirop)) != 'boolean'){ if ($file != "." && $file != ".." && $file != '.htaccess'){ $ex = explode(".",$file); if(isset($ex[1]) and trim($ex[1]) == 'sec'){ $secure=trim($ex[0]); break; }}} }else $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(15); closedir($dirop); return $secure; } // Sprintf function _Sprintf($str='', $vars=array(), $char='%'){ if (!$str) return ''; if (count($vars) > 0)foreach ($vars as $k => $v)$str = str_replace($char . ($k+1), (is_bool($v)?($v?'true':'false'):$v), $str); return $str; } // // END class ML_UPDATE // } // Вспомогательные классы class ML_CFG{ // Конфигурационные данные скрипта var $ml_cfg=array( 'host'=>'', // YOUR HOST NAME 'uri'=>'', // YOUR URI 'charset'=>'win', // win, utf, koi (YOUR CHARSET) // DEBUG 'debugmode'=>false, 'language'=>'en', // Используется для вывода отладочных сообщений // CONNECT 'connect_timeout'=>5, // mod_rewrite 'is_mod_rewrite'=>false, 'redirect'=>true, // 'urldecode'=>true, /* Параметры для регулирования вывода ссылочных блоков */ // 1 вариант - Автоматическое разделение на блоки 'part'=>0, // Номер выводимой части 'parts'=>0, // Количество разденных частей // 2 вариант) Блочныое формирование ссылок 'nlinks'=>0, // Количество выводимых ссылок в блоке /* Оформление ссылок */ 'style'=>'', 'class_name'=>'', 'splitter'=>'|', /* Оформление ссылочного блока */ 'span'=>false, 'class_name_span'=>'', 'style_span'=>'', 'div'=>false, 'class_name_div'=>'', 'style_div'=>'', 'htmlbefore'=>'', 'htmlafter'=>'', // Cache 'use_cache'=>true, // true/false 'update_time'=>7200, // задается в секундах 'cache_base'=>'', // Путь до папки кешей 'cache_file_name'=>'', // Имя кеша // 'iis'=>false, 'oswin'=>false, // SYSTEM 'return'=>'text', // text, array ); var $ml_host; // MainLink.ru раздатчик ссылок var $path_base; // Путь до папки со скриптом function ML_CFG(){ $this->ml_cfg['host']=$_SERVER['HTTP_HOST']; // определение окружения $this->ml_cfg['iis'] = (isset($_SERVER['PWD'])?false: preg_match('/IIS/i',$_SERVER['SERVER_SOFTWARE'])?true:false); $this->ml_cfg['oswin'] = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'?true:($this->ml_cfg['iis']?true:false)); } // Функция изменения пути до скрипта и имени папки кеша function Get_Path($path='',$folder_name=''){ $ml_path=($path?$path:dirname(__FILE__)); // Определение пути вызова $ml_path=($this->ml_cfg['oswin']?str_replace('\\','/',preg_replace('!^[a-z]:!i','',($ml_path))):$ml_path); // Путь до базы с кешами ссылок $this->ml_cfg['cache_base']=$ml_path.(substr($ml_path,-1)!='/'?'/':'').($folder_name?$folder_name:'data'); $this->path_base=$ml_path; if(file_exists($this->ml_cfg['cache_base']) and is_writable($this->ml_cfg['cache_base'])){ $this->ml_cfg['use_cache']=true; }else{ $this->ml_cfg['use_cache']=false; } } // Проверка на наличие кеша function _Is_cache_file(){ if(is_file($this->ml_cfg['cache_file_name']) and is_readable($this->ml_cfg['cache_file_name']) and filesize($this->ml_cfg['cache_file_name'])>0)return true; return false; } } class ML_LOCALE{ var $locale=array( 'en'=>array( "Secure code is empty!\nYou must use secure code!\nWhat is it?\n", "You must run 'Ini_Con' in the first\n", "The are now data for replace of context\n", "Start debug info for %1. Count of run %2.\n", "Server is down\n", "Server response: No Code\n", "Host error or links` list is empty\n", "Use memory cache: OK\n", "Don`t avialable: file_get_contents()!\n", "Error: don`t init curl!\n", "Don`t avialable: CURL!\n", "Error: don`t get data by (%3)!\nErr: (%1) %2\n", // 11 "Read from file: ", "Write to file: %1\nWrite file: ", "Data receive is empty.\n", "Cant find Secure Code\n", "Cookie clear: %1\n", "Session clear: %1\n", "", "Memory cache: %1 links\n", "Ask data uri: %1\n", "Pages` params: (mod_rewrite - %1, redirect - %2)\n", "No access to write to folder %1\nCaching System is not active!\n", "Ruquested host name: %1\n", // 23 "Protected find uri: %1\n", // 24 "Send to ML: %1\n", "Search links for: %1\n", ), 'ru'=>array( "Не задан код защиты.\nДальнейшая работа с сервером выдачи невозможна.\nЧто это такое?\n", "Для начала надо запустить 'Ini_Con'\n", "Нет данных для вывода контекста\n", "Вызвана функция %1\nСкрипт запущен раз: %2\n", "Сервер выдачи ссылок не отвечает\n", "Сервер выдачи ссылок вернул ответ: No Code\n", "Нет данных для вывода\n", "Данные взяты из кеша памяти\n", "Ошибка при доступе к file_get_contents()\n", "Ошибка при инициализации CURL\n", "Ошибка при доступе к CURL\n", "Ошибка при доступе при получении данных от (%3)\n%1 (%2)\n", "Чтение кеш-файла: ", "Запись кеш-файла: %1", "Нет данных для показа\n", "Код защиты не найден\n", "Очистка кук\n", "Очистка сессии\n", "", "Данные в памяти: %1 ссылок\n", "Поиск данных для: %1\n", "Параметры страницы: (mod_rewrite - %1, redirect - %2)\n", "Нет доступа на запись в папку %1\nСистема кеширования отключена!\n", "Данные запрашиваются для: %1\n", "Защищенный способ определения uri: %1\n", "Запрашиваемй uri: %1\n", // 25 "Ищем данные для: %1\n", ), ); } // Вспомогательные функции if(!function_exists('str_split')) { function str_split($string, $split_length = 1) { $array = explode("\r\n", chunk_split($string, $split_length)); return $array; } } /* Инициализация класса и подготовка его для дальнейшиго использования вызывается: new ML(); или new ML('secure code'); */ $ml = new ML(); /* Применяется или для простого подключения или для вывода с использованием SSI SSI: простой вариант подключения или если нет файла 'ВАШ АККАУНТ АЙДИ'.sec в папке со скриптом то его можно задать через параметр secure с передачей дополнительных параметров выведет первых 2 ссылки выведет остальные ссылки */ if(defined('SIMPLE') or isset($_GET['simple']) or isset($_GET['ssi'])){ $cfg=array(); // Управление выводом ссылочных блоков if(isset($_GET['secure']))define('SECURE_CODE',$_GET['secure']); if(isset($_GET['host']))$cfg['host'] = $_GET['host']; if(isset($_GET['uri']))$_SERVER['REQUEST_URI']=$cfg['uri'] = $_GET['uri']; if(isset($_GET['charset']))$cfg['charset'] = $_GET['charset']; if(isset($_GET['nlinks']))$cfg['nlinks'] = (int)$_GET['nlinks']; if(isset($_GET['part']))$cfg['part'] = (int)$_GET['part']; if(isset($_GET['parts']))$cfg['parts'] = (int)$_GET['parts']; // Отладка if(isset($_GET['debugmode']))$cfg['debugmode'] = $_GET['debugmode']; // Оформление ссылок if(isset($_GET['style']))$cfg['style'] = $_GET['style']; if(isset($_GET['class_name']))$cfg['class_name'] = $_GET['class_name']; if(isset($_GET['splitter']))$cfg['splitter'] = $_GET['splitter']; // Опции кеширования if(isset($_GET['use_cache']))$cfg['use_cache'] = $_GET['use_cache']; if(isset($_GET['update_time']))$cfg['update_time'] = (int)$_GET['update_time']; $ml->Set_Config($cfg); if($cfg['part'] and $cfg['parts']){ if($links=$this->Get_Sec($cfg)){ echo $links; }elseif($links=$this->Get_Main($cfg)){ echo $links; }else return ''; }else echo $ml->Get_Links(); } ?>