package class_inc; use word_filter; %HEADER=( buy=> q{Объявления о покупках}, sell=> q{Объявления о продажах}, service=> q{Услуги}, auto=> q{Автомобили}, misc=> q{Разное}, job_find =>q{Поиск Работы}, job_offer =>q{Предложение Работы}, guestbook =>q{Книга отзывов}, seek_him =>q{Ищу его}, seek_her =>q{Ищу её}, seek_smb =>q{Ищу друга/подругу}, business =>q{Бизнес предложения}, repair =>q{Ремонт}, real_est =>q{Real Estate}, flat_rent =>q{Квартиры в Rent}, office_rent=>q{Оффисы в Rent}, roommates =>q{Roommates}, computers =>q{Компьютеры}, pets =>q{Домашние Животные}, learning =>q{Обучение}, invite =>q{Приглашения}, ); %FN_MAP=( buy =>buy , sell =>sell , service =>service , auto =>auto , misc =>misc , job_find =>job_find , job_offer =>job_offer , guestbook =>guestbook , seek_him =>seek_him , seek_her =>seek_her , seek_smb =>seek_smb , business =>business , repair =>repair , real_est =>real_est , flat_rent =>flat_rent , office_rent=>office_rent, roommates =>roommates , computers =>computers , pets =>pets , learning =>learning , invite =>invite , ORION_BUG_LOST_OF_LAST_LETTER => "BUG", bu =>buy , sel =>sell , servic =>service , mis =>misc , job_fin =>job_find , job_offe =>job_offer , guestboo =>guestbook , seek_hi =>seek_him , seek_he =>seek_her , seek_sm =>seek_smb , busines =>business , repai =>repair , real_es =>real_est , flat_ren =>flat_rent , office_ren =>office_rent, roommate =>roommates , computer =>computers , pet =>pets , learnin =>learning , invit =>invite , ); my $pagesize=7; my $delim="-----------------------------------------\n"; $/=$delim; use CGI qw/:standard/; sub new_msg { my $fn=shift; my $s=<
Поместить объявление
Name:
E-mail:
ICQ:
Phone:
Web Page:
Message:
 
new_message $s }; # return HASH of items sub parse_msg { my $txt=shift; my %D; my @items=split /\n([^\s]*?)=/, $txt; my $i=0; my $nm=""; for(@items) { if($i>0) { if($i%2 == 1) { $nm=$_; } else { $D{$nm}=$_; } } $i++; } $D{comm}=~ s/$delim//; %D; } sub get_class { print "Content-Type: text/html\n\n"; my $s; my ($path,$NM)=@_; my $site='rb'; $site='rla' if $NM eq 'class_la.pl'; my $fn=param("fn"); $fn=$FN_MAP{$fn}; # ORION BUG & PROTECTION my $action=param("action"); return dflt($NM) unless($fn); $s=""; if ($fn eq "job_find" || $fn eq "job_offer") { $s.=""; } else { unless($fn eq 'guestbook') { $s.=""; } } $s.=""; $s.=<

 $HEADER{$fn}

"; $s.="Поместить объявление

 
MENU if($action eq "add") { # ADD my $name=param("name"); my $email=param("email"); my $icq=param("icq"); my $phone=param("phone"); my $url=param("url"); my $comm=param("comments"); my $time=localtime(); my $msg= <Должно быть заполено поле NAME или Email" unless ($name||$email); return "

Должно быть заполено поле Message

" unless $comm; if(word_filter::filter($msg)) { my $s.=<

Ваше сообщение не может быть добавлено

в сообщении присутсвуют запрещенное слово MESS2 $s.="\"".word_filter::filter($msg)."\""; } else { open(F, ">>$path$fn"); print F $msg; close F; $s.=<

Ваше сообщение добавлено успешно

 
date=$time
name=$name
email=$email
icq=$icq
phone=$phone
url=$url
comment=$comm
Просмотр сообщений MESS2 } } else { # VIEW my $page=param("page"); $page=0 unless $page; open(F, "$path$fn"); my @rec; push @rec,$_ while(); close F; $s.=""; my $size=$#rec; my $pg=$page+1; my $i=0; my $msg=""; for(reverse @rec) { my %D=parse_msg($_); if($D{name} || $D{email}) { if($i>=$page*$pagesize && $i<($page+1)*$pagesize) { $D{url}="" if $D{url} eq "http://"; my ($mail,$url, $col)=("","","#FFFFFF"); $url=$D{url}; $url=substr($url,0,25)."..." if length($url)>25; $url="WWW:
$url \ " if $D{url}; $mail=" $D{email} \ " if $D{email}; $mail.="
" if $mail; $mail.="ICQ: $D{ICQ}" if $D{ICQ}; $col="#f2f2f2" if $i&1; $D{phone}="Phone: $D{phone}" if $D{phone}; $D{comm}=~ s/(\S{30})/$1 /g; $D{comm}=~ s/
//ig; $D{phone}=~ s/(\S{30})/$1 /g; $msg.=<<"EOF"; EOF } } # end if $i++; } # end for my $ppage=$page-1; my $nav=" "; $nav="Предыдущая страница" if($page>0); my $nav2=" "; $nav2=qq{Следующая страница} if($size>$pg*$pagesize); # $s.=""; # $s.=""; $size=0 if $size<0; $s.=<<"EOF"; EOF # $s.=""; $s.=$msg; $s.=<<"EOF"; EOF # $s.=""; # $s.=""; $s.=class_inc::new_msg($fn); if($fn eq "job_find" || $fn eq "job_offer") { $MSG::MSG='Место Встречи > Работа'; $s.=""; } else { $s.=""; } $s.="
$D{name} $D{date}
E-mail:
$mail
$D{phone} $url
$D{comm}
 "; # $s.=""; # $s.=""; # $s.="
Всего записей: $size страница $pg$nav    $nav2
Всего записей: $size страница $pg $nav2
 
$nav $nav2
$nav$nav2
Поместить объявление
"; $s.="Поиск работы" if $fn eq "job_offer"; $s.="Предложение работы" if $fn eq "job_find"; $s.="
Вернуться в главное меню объявлений
"; $s; } } # END of get class # Вызов без параметра sub dflt { my ($NM,$s)=@_; my $site='rb'; $site='rla' if $NM eq 'class_la.pl'; if(param("menu") eq "job") { $MSG::MSG='Место Встречи > Работа'; $s.=<


ВЫБЕРИТЕ КАТЕГОРИЮ

 Предлагаю Работу
 Ищу Работу
DFLT_JOB } else { $s.=<

ВЫБЕРИТЕ КАТЕГОРИЮ
   Продаю
   Куплю
   Услуги
   Автомобили
   Бизнес предложения
   Ищу работу
   Предлагаю работу
   Ремонт
   Real Estate
   Квартиры в Rent
   Roommates
   Компьютеры
   Домашние Животные
   Обучение
   Приглашения
   Ищу его
   Ищу её
   Ищу друга/подругу
   Разное
DFLT } } 1;