#!/usr/bin/perl
use lib '.';

open (STDERR,">>./_siteerrors.log");

use CGI; 
$in = new CGI; 
$a = $in->param("a");
$url=$ENV{'HTTP_HOST'}.$ENV{'REQUEST_URI'};

use utf8;
use Encode;



# Заглавное
my $host=$ENV{'HTTP_HOST'};
if ($host=~/sas\.chuvash\.org/ and $ENV{'REQUEST_URI'} eq '/') {
  print qq~Location: /cgi-bin/sas.cgi\n\n~;
  exit;
  }

require "comm.pm";

my $comm_type;
if ($host=~/ru\.chuvash\./) {
  require "lang/russian.pm";
  $comm_type=4;
  }
elsif ($host=~/en\.chuvash\./) {
  require "lang/english.pm";
  $comm_type=5;
  }
elsif ($host=~/eo\.chuvash\./) {
  require "lang/esperanto.pm";
  $comm_type=6;
  }
else {
  require "lang/chuvash.pm";
  $comm_type=3;
  }
$prf="ch" if $prf eq "";

require "proc.pm";

&db_con;

if ($ENV{'REQUEST_METHOD'} eq 'POST') { #Здесь блокировка 
  &test_ip_ban($rem_addr);
  }

#require "chkcook.pm";
my $cookie_time='Sunday, 14-FEB-21 21:11:51 GMT';
$cookie = $ENV{'HTTP_COOKIE'};
@cook=split(/\;/,$cookie);
foreach (@cook) {
  my $gm=(split(/\=/,$_))[0];
  $gm=~s/^\s+//g;
  if ($gm eq "User") {
    $user_c=(split(/\=/,$_))[1];} 
  elsif ($gm eq "Sas") {
    $sas_c=(split(/\=/,$_))[1];} 
  elsif ($gm eq "Saytsa") {
    $saytsa=(split(/\=/,$_))[1];} 

  }

$ck_=$dbh->quote($user_c);

if ($user_c ne '') {

  $qu=qq~SELECT l.name,group_,email,id,filter_ntag_$prf FROM all_login l,all_users u WHERE l.name=u.name AND code=$ck_~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  ($user,$group,$uemail,$user_id,$fhipartags)=$myd->fetchrow_array;
  }

$group=0 if $group eq "";

@newsi=('','info','cult1','cult2','obya1','drama','sport1','sport2','vajno','polit','sport3','sport4','sport5','books','pelu','univ','veren','hist','pers','sins','demog','yal','prom','sulh','tree','city','crim','medc','weth');
@razdi=('');
$basedir="/var/www/chuvash/chuvash.org/htdocs";
$basecgi="/var/www/chuvash/chuvash.org/cgi-bin";
$mail="/usr/sbin/sendmail";
$www_img_url="/images";
my ($olng);
$shead->{"Iytam_Block"}=1;
$redactor_mail='np@chuvash.org';
#$redactor_mail='NPlotnikov@ruwiki.ru';

if ($a eq "") {
  $shead->{"Serach_CGI"}="index";
  &index;
  &bottomprint($shead);
  }
elsif ($a eq "von" ||$a eq "comm") {
  &von;
  }
elsif ($a eq "index") {
  &index;
  &bottomprint($bn_head);
  }
elsif ($a eq "index2") {
  &index2;
  &bottomprint($bn_head);
  }

elsif ($a eq "arc") {
  &arhive;
  &bottomprint($shead);
  }
elsif ($a eq "tag") {
  &tag;
  &bottomprint($shead);
  }
elsif ($a eq "tema") {
  &tema;
  &bottomprint($shead);
  }
elsif ($a eq "mmerop") {
  &mmerop;
  &bottomprint($shead);
  }
elsif ($a eq "iytam") {
  &iytam;
  }
elsif ($a eq "get_online_news") {
  &get_online_news;
  }
elsif ($a eq "get_online_id") {
  &get_online_id;
  }
elsif ($a eq "video") {
  &video;
  }
elsif ($a eq "gallery") {
  &gallery;
  }
elsif ($a eq "mmadd") {
  &mmadd;
  }
elsif ($a eq "mdel") {
  &mdel;
  }
elsif ($a eq "temas") {
  &temas;
  &bottomprint($shead);
  }
elsif ($a eq "addcomms") { #Добавить комментарий
  &addcomms($prf.'_news');
  }
elsif ($a eq "tags") {
  $bn_head->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_tag.css" type="text/css" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;
  &headprint($lng{"Tag_List_Head"},$bn_head);
  &tag_list;
  &bottomprint($shead);
  }

elsif ($a eq "sr") { # Шухăша хуратасси
  &search;
  &bottomprint($shead);
  }
elsif ($a eq "commdelq") { # Шухăша хуратасси
  &commdelq;
  }
elsif ($a eq "commed") { # �_�_а�>���_и�� запи�_и
  $type=$comm_type;
  $jump='/news/__ID__.html';
  &commed;
  }
elsif ($a eq "commeds") { # �_�_а�>���_и�� запи�_и
  $type=$comm_type;
  $jump='/news/__ID__.html';
  &commeds;
  }
elsif ($a eq "commdel") { # �_�_а�>���_и�� запи�_и
  $type=$comm_type;
  $jump='/news/__ID__.html';
  &commdel($type);
  }
elsif ($a eq "newsa") {
  $bn_head->{"JavaScript"}=qq~
    <script type="text/javascript" src="/js/parse_tags.js"></script>
~;

  &headprint($lng{"AddNews"},$bn_head);
  &newsa;
  &bottomprint($shead);
  }
elsif ($a eq "addonline" || $a eq "eonline") {
  &addonline;
  }
elsif ($a eq "adds") {
  &adds;
  }
elsif ($a eq "2blog") {
  &blog_kus;
  }
elsif ($a eq "iadd" || $a eq "ie") {
  &iadd;
  }
elsif ($a eq "iadds" || $a eq "ies") {
  &iadds;
  }
elsif ($a eq "iytams") {
  &iytams;
  }
elsif ($a eq "md") {
  &moderate;
  }
elsif ($a eq "edit") {
  $bn_head->{"JavaScript"}=qq~
    <script type="text/javascript" src="/js/parse_tags.js"></script>
~;

  &headprint($lng{"News_Moderate"},$bn_head);
  &newsa;
  &bottomprint($shead);
  }
elsif ($a eq "edds") {
  &adds;
  }
elsif ($a eq "del") {
  &del;
  }
elsif ($a eq "delonline") {
  &delonline;
  }
elsif ($a eq "capru") {
  &headprint;
  &capru;
  &bottomprint($shead);
  }
elsif ($a eq "caprurss") {
  &caprurss;
  }
elsif ($a eq "pub_ru") {
  &pub_ru;
  }
elsif ($a eq "pub_cv") {
  &headprint;
  &pub_cv;
  &bottomprint($shead);
  }
elsif ($a eq "ban") {
  &ban;
  }
elsif ($a eq "vmd") {
  &videomoderate;
  }
elsif ($a eq "vedit") {
  &vedit;
  }
elsif ($a eq "vedits") {
  &vedits;
  }
else {
  my $bn_head;
#  $bn_head->{"Banner_Title"}=$lng{"Welcome_Banner"};
#  $bn_head->{"Banner"}=$lng{"Welcome_Banner_Text"};
  $bn_head->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/borda.css" type="text/css" media="screen" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;
  &headprint($lng{"News"},$bn_head);
  &index2;
  &bottomprint($bn_head);
  }

close (STDERR);

sub pub_ru {
  $id = $in->param("id");
  if ($id eq "" || $id=~/\D/ || $group<3) {
    print qq~Location: /\n\n~;
    return;
    }
  &headprint;
  my $qu=qq~select * from all_caprurss where id=$id~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr<br>$qu");
  my @cn=$myd->fetchrow_array;
  $cn[2]=~s/\<br\>/\n/gs;
  $cn[2]=dnc($cn[2]);
  if ($cn[5]) {
    $cn[6]=~s/_/%5F/gs;
    $cn[2].=qq~\n%blue%$lng{"News_Sourse_Out"}%/blue%: __$cn[6]_$cn[5]__~;
    }

  print qq~
  <form action='http://ru.chuvash.org/cgi-bin/index.cgi' method='POST'>
  <input type='hidden' name='a' value='newsa'>
  <input type='text' name='head' value='$cn[1]' style='width:500px;'><br>
  <textarea name='comm' style='width:500px;height:300px;'>$cn[2]</textarea><br>
  <input type='submit' value='Send'>
  </form>
  ~;
  
  &bottomprint($shead);
  }

sub pub_cv {
  $id = $in->param("id");
  if ($id eq "" || $id=~/\D/ || $group<3) {
    print qq~Location: /\n\n~;
    return;
    }
  &headprint;
  my $qu=qq~select * from all_caprurss where id=$id~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr<br>$qu");
  my @cn=$myd->fetchrow_array;
  $cn[2]=~s/\<br\>/\n/gs;
  $cn[2]=dnc($cn[2]);
  if ($cn[5]) {
    $cn[6]=~s/_/%5F/gs;
    $cn[2].=qq~\n%blue%$lng{"News_Sourse_Out"}%/blue%: __$cn[6]_$cn[5]__~;
    }

  print qq~
  <form action='http://chuvash.org/cgi-bin/index.cgi' method='POST'>
  <input type='hidden' name='a' value='newsa'>
  <input type='text' name='head' value='$cn[1]' style='width:500px;'><br>
  <textarea name='comm' style='width:500px;height:300px;'>$cn[2]</textarea><br>
  <input type='submit' value='Send'>
  </form>
  ~;
  
  &bottomprint($shead);
  }

sub capru {
  my $qu=qq~select * from all_caprurss order by tinsert desc limit 0,20~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr<br>$qu");
  $sq=$myd->fetchall_arrayref;
  foreach (@$sq) {
    @$_[1]=Encode::decode_utf8(@$_[1]);
    @$_[2]=Encode::decode_utf8(@$_[2]);

    print qq~<h3>@$_[1]</h3><div>@$_[2]</div>
    <div style='text-align:right;font-size:80%'>Pub: <a href='/cgi-bin/index.cgi?a=pub_cv&id=@$_[0]'>(cv)</a> <a href='/cgi-bin/index.cgi?a=pub_ru&id=@$_[0]'>(ru)</a></div>~;
    }
  }

sub caprurss {
#use XML::RSS;
print "Content-Type:text/xml\n\n";

#my $rss = new XML::RSS (version => '2.0');
$rss->channel(title          => 'Cap.Ru News',
              link           => "http://cap.ru/",
              language       => 'ru',
              description    => "Kunta cap.ru saytri hiparsene vulama pilat'",
              rating         => ' ',
              copyright      => 'Copyright by cap.ru :)',
              docs           => 'http://www.blahblah.org/fm.cdf',
              managingEditor => 'p-code@mail.ru',
              webMaster      => 'admin@cap.ru',
              image          => {
                url            => 'http://gov.cap.ru/images/apchr5_2.jpg',
                title          => ' CHUVASH REPUBLIC',
                link           => 'http://cap.ru',
                width          => '93',
                height         => '77'
                }
              );

my $qu=qq~select * from all_caprurss order by tinsert desc limit 0,20~;
my $myd= $dbh->prepare($qu);
($myd->execute) or &error("$DBI::errstr<br>$qu");
$sq=$myd->fetchall_arrayref;

foreach (@$sq) {
  @$_[1]=Encode::decode_utf8(@$_[1]);
  @$_[2]=Encode::decode_utf8(@$_[2]);

  @$_[1]=&sl_(@$_[1]);
  @$_[2]=&sl_(@$_[2]);

  if (length(@$_[2])>1300) {
    @$_[2]=~s/^(.{1000}.+?\&lt\;br \/\&gt\;).+/$1/s;
    }

  $rss->add_item(title => @$_[1],
        permaLink  => @$_[4],
        description => @$_[2]
    );
  }
print $rss->as_string;

}

sub sl_ {
  my $aa=shift;
  $aa=~s/<br>/<br \/>/g;
  $aa=~s/\&/\&amp;/g;
  $aa=~s/</\&lt;/g;
  $aa=~s/>/\&gt;/g;
  return ($aa)
  }
sub del {
  $id = $in->param("id");
  if ($id eq "" || $id=~/\D/ || $group<3) {
    &headprint($lng{"News"});
    &index;
    &bottomprint($shead);
    return;
    }

  $qu="SELECT subj FROM ".$prf."_news WHERE id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $subj=$myd->fetchrow_array;
  
  $id_=$dbh->quote($id);
  $qu="DELETE FROM ".$prf."_news where id =".$id_;
  ($dbh->do($qu)) or &error("$DBI::errstr $qu");

  $qu="DELETE FROM ".$prf."_news_tags where news_id =".$id_;
  ($dbh->do($qu)) or &error("$DBI::errstr $qu");

  $lng{"Log_News_delete"}=~s/__ID__/$subj/gs;
  &logs(1,"/news/$id.html",$lng{"Log_News_delete"});

  print "Location:/cgi-bin/ee.cgi?a=jump&url=/moder/md.html\n\n";
  }

sub newsa {
  
  my $tema=&get_razdi;

  if ($a eq "edit") {
    $id = $in->param("id");
    
    if ($id eq "" || $id=~/\D/) {
      &index;
      return;
      }
    
    $qu=qq~SELECT sect,name,user,text_src,icon,flag,subj,url,img_opis,img_icon,olng_ch,olng_en,olng_eo,olng_ru, money,DATE_FORMAT(added,'\%d.\%m.\%Y \%H:\%i'),text_,nopay,exp_flag FROM ${prf}_news where id=$id~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    ($sc_,$nm_,$us_,$txt_,$ic_,$flg_,$hd_,$nurl_,$imgo_,$imgi_,$_ol_ch,$_ol_en,$_ol_eo,$_ol_ru,$mny_,$newsdate_,$h_txt,$h_nopay,$h_exp)=$myd->fetchrow_array;
    
    $qu="select link FROM ".$prf."_news n LEFT JOIN all_photo_albom a ON n.photo_albom=a.id WHERE n.id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $photo_=$myd->fetchrow_array;

    $tp=$sc_ if $tp eq "" || $tp<0 || $tp>keys %$tema;
    $icon=$ic_ if $icon eq "" || $icon<0 || $icon>@newsi;
    $head=$hd_ if $head eq "";
    $img_opis=$imgo_ if $img_opis eq "";
    $img_icon=$imgi_ if $img_icon eq "";
    if ($flag eq "") {
      if ($flg_==0) {
        $flag=1;
        }
      else {
        $flag=0;
        }
      }
    $src=$nurl_ if $src eq "";
    $newsdate=$newsdate_ if $newsdate eq "";
    $money=$mny_ if $money eq ""; 
    $photo=$photo_ if $photo eq "";
    $nopay=$h_nopay if $nopay eq "";
    $nopay=0 if $nopay!=1;
    $hexp=$h_exp if $hexp eq "";
    $hexp=0 if $hexp!=1;

    $olng_ch=$_ol_ch if $olng_ch eq "";
    $olng_en=$_ol_en if $olng_en eq "";
    $olng_eo=$_ol_eo if $olng_eo eq "";
    $olng_ru=$_ol_ru if $olng_ru eq "";
    
    if ($txt eq "") {
      if ($txt_ eq "") {
        $txt_=$h_txt;
        $txt_=&dnc($txt_);
        }
      $txt_=~s/<br>/\n/g;
      $txt=$txt_;
      } 
    $nm=$nm_ if $nm eq "";

    if ($tags eq "") {
      $qu="select name,vitem FROM ".$prf."_news_tags WHERE news_id=".$id." ORDER BY vitem DESC";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $tgs_=$myd->fetchall_arrayref;
    
      my @ttag;
      foreach (@$tgs_) {
        my $info;
        if (@$_[1]>1) {
          foreach (1..@$_[1]) {
            $info.='*';
            }
          }
        push @ttag,@$_[0].$info;
        }
      $tags=join ", ",@ttag;
      }
    }
  else {
    $head = $in->param("head") if not $head;
    $txt = $in->param("comm") if not $txt;
    $id=0;
    }

  if (keys %error) {
  print qq~<span style='color:red'><b>$lng{"error"}</b>:</span><span style='font-style:italic'>~;
  foreach my $var (sort keys %error) {
    print "<li style='list-style:none inside none;'>".$var.": ".$error{$var}."\n";
    }
  print "</span><br>";
  }

  my $poster_out;

  # Umkurav ------------------------------------------------------
  my @tmp=split(/[\r\n]+/,$txt);
  foreach (@tmp) {$_=qq~<p>$_</p>~}
  my $umtext_out=join "\n",@tmp;
  print &get_preview_js;
  print qq~<div style='margin-bottom:15px;'><h3 class='ch1'>$lng{"Umkurav"}</h3>
  <div id='umkurav_text' class='hipar_text' style='border:1px solid #CC9;max-height: 400px;overflow: auto;background-color: #fffaf0;'><span id='umkurav_text'>$umtext_out</span></div>
  </div>~;
  # // Umkurav ------------------------------------------------------

  print qq~<!--h3 class='ch1'>$lng{"Hipar_Uyramlah"}</h3--><div style='margin:0px 5px;'>
  <form id="editform" name="editform" action="/cgi-bin/index.cgi" method="POST" enctype="multipart/form-data">~;
  if ($a eq "edit") {
    
    
    print qq~
    <input type='hidden' name='id' value='$id'>
    <input type="hidden" name="a" value="edds">~;
    if ($group==5) {
      my $us_flag_chk_='';
      $us_flag_chk_=qq~ checked~ if $us_==1;
      print qq~<input type='hidden' name='usr' value='$usr'>
      <input type='hidden' name='nm' value='$nm'>~;
      $poster_out=qq~<input type='text' name='nm_' value='$nm' style='font-weight:bold;width:85%;'> <input type='checkbox' value='1' name='userfl5'$us_flag_chk_> ~;
      }
    elsif ($user ne $nm) {
      print qq~<input type='hidden' name='usr' value='$usr'>
      <input type='hidden' name='nm' value='$nm'>~;
      $poster_out=qq~<input type='text' name='nm_' value='$nm' style='font-weight:bold;' readonly disabled>~;
      }
    else {
      $poster_out=qq~<input type='hidden' name='nm' value='$nm'>~;
      }
    }
  else {
    print qq~<input type="hidden" name="a" value="adds">~;
    }

  if ($user eq "") {
    $poster_out=qq~<input type='text' name='nm' value='$nm'>~;
    }
  $src="http://" if $src eq "";

  my ($img_icon_check,$tema_out);
  $img_icon_check=" checked " if $img_icon==1;

  foreach $k (sort {$tema->{$a} cmp $tema->{$b}} keys %$tema) {
    my $sel;
    $sel="selected" if $k==$tp;
    $tema_out.=qq~<option $sel value='$k'>$tema->{$k}</option>~;
    }

  my ($moder_tag,$img_copyright);
  if ($group>2) {
    $lng{"Sansem"}="FOTO" if $lng{"Sansem"} eq "";
    $moder_tag=qq~<A href="javascript:insertTags('__','|**$lng{"Sansem"}**__ ()','');" class='btn' style='color:blue' title="$lng{"Sansem"}">$lng{"Sansem"}</a>~;
    my $img_logo_check;
    $img_logo_check=qq~ checked ~ if $logotip==1;
    $img_copyright=qq~<br /><label><input type="checkbox" name="logotip" $img_logo_check value='1' id='logotip'> $lng{"News_Img_Logotipla"}</label>~;
    }

  print qq~
  <script>
  var Current_News=$id;
  </script>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Post_Name"}:</div><div class='news_edit_siltam'>$poster_out</div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Head"}:</div><div class='news_edit_siltam'><input type='text' name='head' value='$head'></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Tema"}:</div><div class='news_edit_siltam'><select name='sect'>$tema_out</select></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Text"}:<br /><div id="my-buttons" style='padding-top:5px;'>$lng{"Spec_Bottoms"}</div></div><div class='news_edit_siltam'>
    <div id="my-buttons" style='padding:5px 0;'>
<A href="javascript:insertTags('**','**','');" class='btn' title="$lng{"Bold_Font"}"><b>B</b></a>
<A href="javascript:insertTags('\~\~','\~\~','');" class='btn' title="$lng{"Italic_Font"}"><i>i</i></a>
<A href="javascript:insertTags('_','_','');" class='btn' title="$lng{"Underline_Font"}"><u>U</u></a>
<A href="javascript:insertTags('<s>','</s>','');" class='btn' title=""><s>S</s></a>
<A href="javascript:insertTags('__','__','');" class='btn' title="Link"><span style='border-bottom:2px solid blue;'>Ab</span></a>
<A href="javascript:insertTags('<h2>','</h2>','');" class='btn' title="Head2">Head2</a>
<A href="javascript:insertTags('%red%','%/red%','');" class='btn' style='color:red' title="Align Left">red</a>
<A href="javascript:insertTags('%blue%','%/blue%','');" class='btn' style='color:blue' title="Align Left">blue</a>
$moder_tag
</div>
  <input type='text' class='xup_forma' name='url' value='$url__'>
  <textarea name="comm" style="height:200px;" id='hipar' onkeyup="preview_('hipar','head');" onChange="this.onkeyup();">$txt</textarea>
  <div style='text-align:right;width:95%'>$lng{"Comm_Current_Symbols"} <b><span id='cur_comm_sym'>0</span></b> $lng{"symbol"}</div>
  </div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Image"}:</div><div class='news_edit_siltam'><input type="file" name="file"></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Image_Opis"}:</div><div class='news_edit_siltam'><input type="text" name="img_opis" value='$img_opis'>$img_copyright</div><div class='clear'></div></div>
  <!--div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam'><input type="checkbox" $img_icon_check name="img_icon" value='1'> $lng{"News_Image_Icon"}</div><div class='clear'></div></div-->
  <div id='tag_list_out' style='margin-left: 130px;margin-bottom: 3px;line-height: 38px;'></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Tags"}:</div><div class='news_edit_siltam'><textarea id='news_tags' name="tags" style="height:75px;">$tags</textarea></div>
    
    <div id='news_list_out' style='margin-left:130px;'></div>
    <div class='clear'></div></div>
  ~;
  
  if ($user eq "Admin") {
    if ($a eq "edit") {
      print qq~
      <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam'><a  onclick="return confirmLink(this, '$lng{"Hipar_2Blog"}')" href='/cgi-bin/index.cgi?a=2blog&id=$id'>$lng{"Hipar_2Blog"}</a></div><div class='clear'></div></div>
      ~;
      }
    }
  if ($group>2) {
    $newsdate="" if $newsdate!~/^\d{2}\.\d{2}\.\d{4} \d{2}\:\d{2}/;
    my $moderate_check;
    $moderate_check=" checked " if $flag==1;
    my $nopay_check;
    $nopay_check=" checked " if $nopay==1;
    my $hexp_check;
    if ($prf eq "ru") {
      $hexp_check=" checked " if $hexp==1;
      }
    else {
      $hexp_check=" checked " if $hexp eq "";
      $hexp_check=" checked " if $hexp==1;
      }
    
    print qq~
    <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Photo_Albom"}:</div><div class='news_edit_siltam'><input type='text' name='photo' value='$photo'></div><div class='clear'></div></div>
    <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Publicate_Date"}:</div><div class='news_edit_siltam'><input type='text' name='newsdate' value='$newsdate'></div><div class='clear'></div></div>
    <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam' style='width: calc(95% - 120px);'><input type="checkbox" $moderate_check name="flag" value='1' id='moder_news'> <label for='moder_news'>$lng{"News_Moderate_Flag"}</label><span style='float:right'><label><input type="checkbox" $nopay_check name="nopay" value='1' id='moder_nopay'> $lng{"News_Not_Pay"}</label></span><br /><span style='float:left'><label><input type="checkbox" $hexp_check name="hexp" value='1' id='moder_hexp'> $lng{"News_Hipar_Exp"}</label></span></div><div class='clear'></div></div>
    ~;
    }

  print qq~
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>$lng{"News_Sourse"}:</div><div class='news_edit_siltam'><input type='text' name='src' value='$src'><a href='$src' target='_blank'><img 
    style='margin-left: 1px;margin-bottom: -4px;' src='/images/hyperlink.png' ></a></div><div class='clear'></div></div>
  <div class='news_edit_yerke_1'>$lng{"News_Other_Language_Number"}:</div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam_k'>$lng{"Language_Out_cv"}: <input type='text' name='olng_ch' value='$olng_ch'></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam_k'>$lng{"Language_Out_en"}: <input type='text' name='olng_en' value='$olng_en'></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam_k'>$lng{"Language_Out_eo"}: <input type='text' name='olng_eo' value='$olng_eo'></div><div class='clear'></div></div>
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam_k'>$lng{"Language_Out_ru"}: <input type='text' name='olng_ru' value='$olng_ru'></div><div class='clear'></div></div>  
  <div class='news_edit_yerke'><div class='news_edit_sulahay'>&nbsp;</div><div class='news_edit_siltam'><input type="submit" class='formbutton' value="$lng{"Send_Button"}"></div><div class='clear'></div></div>
  </form></div>
$lng{"News_Notation1"}<br>~;


  if ($group<3 ) {
    print qq~$lng{"News_Notation_Guest"}<br>~;
    }
  print qq~
$lng{"Quick_Help"}
  ~;
  }                             	

sub get_preview_js {
  return qq~<script type="text/javascript" language="javascript">
<!--
function preview_(obj,objsb) {

  var text=document.getElementById(obj).value;
  text= text.replace(/\\</g,"&lt;");
  text= text.replace(/\\>/g,"&gt;");

  var i;
  var textm=text.split(/\\n+/);
  for(i=0;i<textm.length;i++) {
    textm[i]="<p>"+textm[i]+"</p>";
    }

  text=textm.join('');

//  text= text.replace(/\\[b\\]([\\s\\S]+?)\\[\\/b\\]/g,"<b>\$1</b>");


  var prView=document.getElementById("umkurav_text");
  prView.innerHTML=text;

//  var textsb=document.getElementById(objsb).value;
//  textsb= textsb.replace(/\\</g,"&lt;");
//  textsb= textsb.replace(/\\>/g,"&gt;");
//  var prView=document.getElementById("newsaddpreviewsb");

//  prView.innerHTML="<h2><a href='#'>"+textsb+"</a></h2>";

  checkLength(obj);
  }

function checkLength(obj) {
        var minSymbols=700;
	var text=document.getElementById(obj).value;
	var CurSim=text.length;
	if (CurSim<minSymbols) {
  	  document.getElementById("cur_comm_sym").style.color="red";
	  }
	else {
  	  document.getElementById("cur_comm_sym").style.color="";
	  }
	document.getElementById("cur_comm_sym").innerHTML=CurSim;
	}


  -->
  </script>
~;

  }

sub blog_kus {

  $id = $in->param("id");

  if ($id eq "" || $id=~/\D/) {
    }

  $qu="select name,user,text_,added,edit,ip,view,refresh,text_src,subj,img,img_opis FROM ${prf}_news where id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr  $qu");
  my @news_=$myd->fetchrow_array;

  my @fld=(0,2,8,9,11);
  foreach (@fld) {$news_[$_] = Encode::decode_utf8($news_[$_]);}

  my $buser=0;
  $nm_=$dbh->quote($news_[0]);
  if ($news_[1]==1) {
    $qu="select id FROM all_users where name=".$nm_;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $bid_=$myd->fetchrow_array;
    $buser=$bid_ if $bid_>0;
    }

  if ($news_[10] ne "") {
    my $opis;
    if ($news_[11] ne "") {
      $opis=qq~<tr><td style='padding:5px;font-size:80%;font-style:italic;background-color:#DDDDDD;'>$news_[11]</td></tr>~;
      }

    $news_[2]=qq~<table style='margin-left:10px;margin-bottom:10px;' align='right' cellspacing='0' cellpadding='0'><tr><td width='100'
    style='border:1px solid #DDDDDD;'><img src='/images/News/$prf/$id.jpg' style='margin-left:0px;' align='right' alt='$news_[11]'></td></tr>$opis</table>~.$news_[2];
    }

  my @ek=(2,3,4,5,7,8,9);
  foreach (@ek) {$news_[$_]=$dbh->quote($news_[$_]);}
  
  $qu="INSERT INTO all_blogs (user_id,subj,text_,cat,cat_adv,added,edit,comment,nastr,nastr_adv,music,ip,views,refresh,hupla,rec,text_src) values 
      ($buser,$news_[9],$news_[2],NULL,NULL,$news_[3],$news_[4],1,NULL,NULL,NULL,$news_[5],$news_[6],$news_[7],0,0,$news_[8])";
  ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

  $kbid= $dbh -> {'mysql_insertid'}; 
  $kbid=~s/0E0$//;

  print "Location:/cgi-bin/ee.cgi?a=jump&url=/blogs/comments/$kbid.html\n\n";

  }

sub delonline {
  $id = $in->param("id");
  if ($id eq "" || $id=~/\D/ || $group<3) {
    &headprint($lng{"News"});
    &index;
    &bottomprint($shead);
    return;
    }

  $qu="SELECT news_id FROM all_news_online WHERE id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $news_id=$myd->fetchrow_array;
  
  $qu="DELETE FROM all_news_online WHERE id =".$id;
  ($dbh->do($qu)) or &error("$DBI::errstr $qu");

  print "Location:/cgi-bin/ee.cgi?a=jump&url=/news/$news_id.html\n\n";
  }

sub addonline {
  use Image::Magick;
  use Image::Size;

  $id = $in->param("id");
  
  if ($id eq "" || $id=~/\D/ || $group<3) {
    &headprint;
    &index2;
    &bottomprint($shead);
    return;
    }
  my $news_id;

  if ($a eq "eonline") {
    $usr = $in->param("usr");
   
    $qu="SELECT news_id FROM all_news_online WHERE id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $news_id=$myd->fetchrow_array;

    $error{"3"}=$lng{"Error_No_Id_Online"} if $news_id eq "";
    }

  $nimg = $in->upload("file"); 
  my @rash=('gif','jpg','png','jpeg','ico','m4a','mp3','webp');

  $txt = $in->param("online_text"); 
  $txt = Encode::decode_utf8($txt); 
  $txt =~s/[\r\n\s]+$//s; 
  $tx1=$txt;
  $error{"1"}=$lng{"Error_No_Text_Online"} if $txt eq "";

  my $txt_src=$txt;
  $txt=controlhtml($txt);
  $txt=Encode::encode_utf8($txt);
  $txt=~s/(https*:\/\/)(\S+)/__$1$2|$2__/gs;
  $txt=&enc($txt);
  $txt=Encode::decode_utf8($txt);

  $txt=$dbh->quote($txt);
  $txt_src_=$dbh->quote($txt_src);
  $prf_=$dbh->quote($prf);

  if ($nimg) {
    #Sanukerchek
    my $fileName = $nimg; 
    $fileName =~ s!^.*(\\|\/)!!; #������� �������.
    $fileName =~ tr/A-Z/a-z/;
    $fileName =~ s/[^A-Za-z\-\_\.0-9]/0/gs;
    $fileName =~ /(.+)\.(.+?)$/;
    $fras=$2; $yes=0;
    foreach (@rash) { $yes=1 if $_ eq $fras;}
    $error{"2"}=$lng{"Error_Add_Anlatu"} if $yes!=1;
    }
  
  if (keys %error) {
    &von;
    return;
    }

  if ($a ne "eonline") {
    $qu="INSERT INTO all_news_online (news_id,lang,`text`,text_src,kertne,user_id) VALUES 
        ($id,$prf_,$txt,$txt_src_,NOW(),$user_id)";
    ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

    $oid= $dbh -> {'mysql_insertid'}; 
    $oid=~s/0E0$//;
    }
  else {
    $qu="UPDATE all_news_online SET `text`=$txt,text_src=$txt_src_ WHERE id=$id";
    ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
    $oid=$id;
    $id=$news_id;
    }

  if ($nimg) {
    open (OUTFILE,">$basedir/images/online/$oid.$fras") || print STDERR "error write .$oid.$fras! - ".$!;
    binmode(OUTFILE);
    while (my $bytesread = read($nimg, my $buffer, 1024)) { 
      print OUTFILE $buffer || print STDERR "error write $oid.$fras! $!"; 
      } 
    close (OUTFILE);

    if ($fras eq "m4a") {
      my $log=`avconv -i $basedir/images/online/$oid.$fras $basedir/images/online/$oid.mp3`;
      $fras='mp3';
      }

    if ($fras ne 'mp3') {
      $image2 = Image::Magick->new;
      $x = $image2->Read($basedir."/images/online/".$oid.".".$fras);
  
      $logo = Image::Magick->new;
      $lg = $logo->Read('nlogo.png');
  
      my ($globe_x, $globe_y) = Image::Size::imgsize($basedir."/images/online/".$oid.".".$fras); #|| &error ("Error read ../htdocs".$v1);
  
      if ($globe_x!=0) {
        if ($globe_x>=$globe_y) {
          $new_x=640;
          $new_y=int(640*$globe_y/$globe_x);
          $x=$image2->Resize(width=>$new_x, height=>$new_y);
          if ($new_y<300) {
            $x=$image2->Extent(gravity=>Center,background=>'rgb(255,255,255)',geometry=>'640x480');
            }
          }
        else {
          $new_y=500;
          $new_x=int(500*$globe_x/$globe_y);
          $x=$image2->Resize(width=>$new_x, height=>$new_y);
          $x=$image2->Extent(background=>'rgb(255,255,255)',geometry=>'640x480', Gravity => 'Center');
          }
  
        $x=$image2->Set(quality=>100);
        $x=$image2->Composite(image=>$logo,compose=>'Atop', y=>5, x=>5, Gravity => 'NorthWest');
        $x=$image2->Write($basedir."/images/online/".$oid.".".$fras);
        $x=$image2->Resize(width=>100, height=>100);
        $x=$image2->Write($basedir."/images/online/icon/".$oid.".".$fras);
        }
      }

    my $fras_=$dbh->quote($fras);
    my $qu="UPDATE all_news_online SET img=$fras_ WHERE id=".$oid;
    ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
    }

  print "Location:/cgi-bin/ee.cgi?a=jump&url=/news/$id.html\n\n";
  }

sub adds {
  my $id;

  if ($a eq "edds") {
    $id = $in->param("id");
    
    if ($id eq "" || $id=~/\D/ || $group<3) {
      &headprint;
      &index;
      &bottomprint($shead);
      return;
      }
    $usr = $in->param("usr");
    }
  
  my $tema=&get_razdi;
  $user_flag = $in->param("userfl5");
  $user_flag=1 if $user_flag eq 'on';

  $img_icon = $in->param("img_icon");
  $img_icon=0 if $img_icon<0 || $img_icon>1 || $img_icon eq "";
  $flag = $in->param("flag");
  $flag=0 if $flag<0 || $flag>1 || $flag eq "";
  $nopay = $in->param("nopay");
  $nopay=0 if $nopay!=1;
  $hexp = $in->param("hexp");
  $logotip = $in->param("logotip");
  $logotip=0 if $logotip!=1;

  if ($prf eq "ru") {
    $hexp=0 if $hexp!=1;
    }
  else {
    $hexp=1 if $hexp eq "";
    $hexp=0 if $hexp!=1;
    }
  $img_opis = $in->param("img_opis");
  $img_opis = Encode::decode_utf8($img_opis);
  $img_opis=&chkurl($img_opis);
  $img_opis=&persasp($img_opis);

  $newsdate = $in->param("newsdate");
  $foto = $in->param("photo");

  $txt = $in->param("comm"); 
  $txt = Encode::decode_utf8($txt); 
  $txt =~s/[\r\n\s]+$//s; 
  $tx1=$txt;

  my $blog_id=0;
  if ($txt=~/^(blog|shuhash|intervyu|reclama|tavlashu|kasakla)\s*=\s*(\d+)$/is) {
    $blog_id=$2;
    }
  elsif ($txt=~/^online\s*=\s*(.+?)/is) {
    $online=$1;
    }

#  $tx1 = Encode::decode_utf8($txt); 
  $src = $in->param("src");
  $head = $in->param("head");
  $head = Encode::decode_utf8($head); 

  $tags = $in->param("tags");
  $tags = Encode::decode_utf8($tags);
  $tags=&chkurl($tags);
  $tags=&persasp($tags);

  $tp = $in->param("sect");
  $nm = $in->param("nm");

  $tp=0 if $tp eq "" || $tp<0 || $tp>keys %$tema;
 
  $olng_ch = $in->param("olng_ch");
  $olng_en = $in->param("olng_en");
  $olng_eo = $in->param("olng_eo");
  $olng_ru = $in->param("olng_ru");

  $olng_ch = 0 if $olng_ch eq "" || $olng_ch=~/\D/;
  $olng_en = 0 if $olng_en eq "" || $olng_en=~/\D/;
  $olng_eo = 0 if $olng_eo eq "" || $olng_eo=~/\D/;
  $olng_ru = 0 if $olng_ru eq "" || $olng_ru=~/\D/;
  
  #������ᥭ祭 �ᠫ�⯠�
  $url__ = $in->param("url");
  if ($url__ ne "") {print "Location: /\n\n";return;}
  
  use Image::Magick;
  use Image::Size;

  $nimg = $in->upload("file"); 
  my @rash=('gif','jpg','png','jpeg','ico','webp');

  if ($user eq "") {
    if ($nm eq "") {
      $error{"1"}=$lng{"Error_Name"};
      }
    elsif (&chname_($nm)!=0) {
      $error{"2"}=$lng{"Error_Name1"};
      $error{"2"}=~s/__NAME__/$nm/;
      }
    }
  if ($txt eq "") {
    $error{"3"}=$lng{"Error_Text"};
    }
  elsif (length($txt)<150 && $blog_id==0) {
    $error{"4"}=$lng{"Error_Text_Length"};
    $error{"4"}=~s/__LENGTH__/length($txt)/e;
    }
  #$error{"5"}=$lng{"Error_Razdel"} if $tp<0 || $tp>@razdi || $tp eq "" || $tp=~/\D/;
  #$error{"6"}=$lng{"Error_Icon"} if $icon<0 || $icon>@newsi || $icon eq "" || $icon=~/\D/;

  #Antispam
  open (ff, "spam.txt");
  my @spam=<ff>;
  close (ff);
  foreach (@spam) {
    s/[\r\n]//gs;
    $error{"7"}=$lng{"Error_Add_News_Spam"} if $txt=~m!$_!i;
    }

  if ($nimg) {
    #Sanukerchek
    my $fileName = $nimg; 
    $fileName =~ s!^.*(\\|\/)!!; #������� �������.
    $fileName =~ tr/A-Z/a-z/;
    $fileName =~ s/[^A-Za-z\-\_\.0-9]/0/gs;
    $fileName =~ /(.+)\.(.+?)$/;
    $fras=$2; $yes=0;
    foreach (@rash) { $yes=1 if $_ eq $fras;}
    $error{"8"}=$lng{"Error_Add_Anlatu"} if $yes!=1;
    }
    
  if (keys %error) {
    &headprint($lng{"AddNews"});
    &newsa;
    &bottomprint($shead);
    }
  else {
    if ($head eq "") {
      $tx1=~/((\S*\s*){5})/s;
      $head=$1." ...";
      }
    my $photo=0;
    my $ph_str= Encode::decode_utf8($lng{"Sansem"}); 
    $photo=1 if $txt=~/\*\*$ph_str\*\*/;

    my $txt_src=$txt;
    $txt=controlhtml($txt);
    $txt=Encode::encode_utf8($txt);
    $txt=&enc($txt);
#    $txt=platassi($txt);
    $txt=Encode::decode_utf8($txt);
    
    $head=controlhtml($head);
    $head_=$dbh->quote($head);
    $txt=$dbh->quote($txt);
    $txt_src_=$dbh->quote($txt_src);

    my $md=1;
    if ($group>2) {
      $md=0 if $flag==1;
      }
   
    if ($a ne "edds") {
      if ($user ne "") {
        $usr=1;
        $nm=$user
        }
      else {
        $usr=0;
        }
      }

    $nm=Encode::decode_utf8($nm);
    $nm=$dbh->quote($nm);
    $ip=$dbh->quote($ENV{"REMOTE_ADDR"});

    $src=Encode::decode_utf8($src);
    $src_=$dbh->quote($src);
    
    $imo_=$dbh->quote($img_opis);
    

    if ($a ne "edds") {
      my ($img_n,$img_v);
      if ($nimg) {
        $img_n=",img";
        my $tmp=$dbh->quote($fras);
        $img_v=",".$tmp;
        }

      if ($newsdate!~/^(\d{2})\.(\d{2})\.(\d{4}) (\d{2}\:\d{2})/) {
        $n_date_="now()";
        }
      else {
        $n_date_=$dbh->quote("$3-$2-$1 $4");
        }

      $qu="INSERT INTO ".$prf."_news (icon,sect,text_,name,user,flag,ip,added,subj".$img_n.",refresh,url,img_opis,img_icon
                                     ,olng_ch,olng_en,olng_eo,olng_ru,text_src,photo,blog_id,nopay,exp_flag,img_tip) values 
          (0,$tp,$txt,$nm,$usr,$md,$ip,$n_date_,$head_".$img_v.",$n_date_,$src_,$imo_,$img_icon
          ,$olng_ch,$olng_en,$olng_eo,$olng_ru,$txt_src_,$photo,$blog_id,$nopay,$hexp,1)";
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

      $id= $dbh -> {'mysql_insertid'}; 
      $id=~s/0E0$//;

      if ($group<5) {
        $qu=qq~UPDATE ${prf}_news SET added=NOW() WHERE id=$id AND added<NOW()~;
        ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
        }

      #Çыру ярасси
      use Encode qw(encode encode_utf8 decode);

      my $user_u=Encode::decode_utf8($user);
      $sbj_=encode("MIME-Q",qq~\[${prf}\]\-[Chuvash.org] Çĕнĕ хыпар~);
      $mess.=qq~Çĕнĕ хыпар кĕртнĕ:\nЯт: «$head»\nАвтор: «$user_u»\nКаçă: $src\nТекст:\n------------------------------------------\n$txt_src~;
      open (ff, "|$mail -t"); 
      print ff "From: noreply\@chuvash.su\nComment: ${prf}.Chuvash.org\nTo: $redactor_mail\nContent-type: text/plain; charset=\"UTF-8\"\n";
      $mess=~s/\r//g;
      #$mess=~s/\n/<br>\n/g;
      print ff qq~Subject: $sbj_\n\n$mess\n~;
      close (ff);

      $head=~s/<(.*?)>//gs;
#      $lng{"Log_News_add"}=~s/__ID__/$head/gs;
#      $lng{"Log_News_add"}=Encode::decode_utf8($lng{"Log_News_add"});

#      &logs(2,'/cgi-bin/index.cgi?a=edit&id='.$id,$lng{"Log_News_add"});
      }
    else {
      my $img_v;
      if ($nimg) {
        my $tmp=$dbh->quote($fras);
        $img_v=",img=".$tmp.",img_tip=1";
        }
      
      if ($newsdate!~/^(\d{2})\.(\d{2})\.(\d{4}) (\d{2}\:\d{2})/) {
        $n_date_="now()";
        }
      else {
        $n_date_=$dbh->quote("$3-$2-$1 $4");
        }

      #Foto
      $qu=qq~SELECT a.link,n.added,if ($n_date_>=NOW(),1,0) FROM ${prf}_news n LEFT JOIN all_photo_albom a ON a.id=n.photo_albom WHERE n.id=$id~;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      ($old_photo,$old_added,$data_mala)=$myd->fetchrow_array;

      $photo=1 if $old_photo ne "";
      #/Foto

      if ($data_mala==0 && $group<5) {
        $n_date_=$dbh->quote($old_added);
        }

      if ($group==5) {
        my $useraname = $in->param("nm_");
        $nm=Encode::decode_utf8($useraname);
        $nm=$dbh->quote($nm);

        #$user_flag=0 if $user_flag!=1;
        $user_flag=0 if $user_flag eq "";
        $img_v.=qq~,user=$user_flag~;
        }

      $qu="UPDATE ".$prf."_news SET 
          sect=$tp,text_=$txt,text_src=$txt_src_,name=$nm,flag=$md,ip=$ip,added=$n_date_,edit=now(),subj=$head_".$img_v.",
          img_opis=$imo_,img_icon=$img_icon,url=$src_,$money_up
          olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo,olng_ru=$olng_ru,photo=$photo,blog_id=$blog_id,nopay=$nopay,exp_flag=$hexp
       WHERE id=".$id;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

      $head=~s/<(.*?)>//gs;

#      $lng{"Log_News_edit"}=Encode::decode_utf8($lng{"Log_News_edit"});
#      $lng{"Log_News_edit"}=~s/__ID__/$head/gs;
#      &logs(2,'/cgi-bin/index.cgi?a=edit&id='.$id,$lng{"Log_News_edit"});
   
      my $qu="DELETE FROM ".$prf."_news_tags WHERE news_id=".$id;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
      }

    #Foto Enter ---------------------------------------------------------------------
    if ( ( $a ne "edds" || ( $a eq "edds" && $foto ne $old_photo ) ) && $foto ne "" ) {
      my $ph_=$dbh->quote($foto);

      my $ph_id=0;

      if ($foto=~/^https*:\/\//i) {
        $qu="INSERT INTO all_photo_albom (link,name,flag,news_id,kertne) VALUES ($ph_,$head_,1,$id,now())";
        ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

        $ph_id= $dbh -> {'mysql_insertid'}; 
        $ph_id=~s/0E0$//;
        }
      elsif ($foto=~/^\d+$/) {
        $qu="select id FROM all_photo_albom WHERE id=".$foto;
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my $ex_photo=$myd->fetchrow_array;

        $ph_id=$ex_photo if $ex_photo ne "";
        }
      else {
        $qu="select id FROM all_photo_albom WHERE name=".$ph_;
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my $ex_photo=$myd->fetchrow_array;
        
        $ph_id=$ex_photo if $ex_photo ne "";
        }
      
      my $phph=0;
      $phph=1 if $ph_id!=0;

      my $qu="UPDATE ".$prf."_news SET photo_albom=$ph_id,photo=$phph WHERE id=".$id;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
      }
    # /// Foto Enter --------------------------------------------------------

    #Челхесенчи пайсене палартасси
    $olng_ch=$id if $prf eq "ch";
    $olng_ru=$id if $prf eq "ru";
    $olng_eo=$id if $prf eq "eo";
    $olng_en=$id if $prf eq "en";

    if ($olng_ch!=0 && $prf ne "ch") {
      $qu="select olng_ru,olng_en,olng_eo FROM ch_news where id=".$olng_ch;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my @tmp=$myd->fetchrow_array;

      $olng_ru=$tmp[0] if $olng_ru==0;
      $olng_en=$tmp[1] if $olng_en==0;
      $olng_eo=$tmp[2] if $olng_eo==0;
      }
    if ($olng_ru!=0 && $prf ne "ru") {
      $qu="select olng_ch,olng_en,olng_eo FROM ru_news where id=".$olng_ru;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my @tmp=$myd->fetchrow_array;

      $olng_ch=$tmp[0] if $olng_ch==0;
      $olng_en=$tmp[1] if $olng_en==0;
      $olng_eo=$tmp[2] if $olng_eo==0;
      }
    if ($olng_en!=0 && $prf ne "en") {
      $qu="select olng_ch,olng_ru,olng_eo FROM en_news where id=".$olng_en;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my @tmp=$myd->fetchrow_array;

      $olng_ch=$tmp[0] if $olng_ch==0;
      $olng_ru=$tmp[1] if $olng_ru==0;
      $olng_eo=$tmp[2] if $olng_eo==0;
      }
    if ($olng_eo!=0 && $prf ne "eo") {
      $qu="select olng_ch,olng_ru,olng_en FROM eo_news where id=".$olng_eo;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my @tmp=$myd->fetchrow_array;

      $olng_ch=$tmp[0] if $olng_ch==0;
      $olng_ru=$tmp[1] if $olng_ru==0;
      $olng_en=$tmp[2] if $olng_en==0;
      }
    $olng_ch=0 if $olng_ch eq "";
    $olng_ru=0 if $olng_ru eq "";
    $olng_en=0 if $olng_en eq "";
    $olng_eo=0 if $olng_eo eq "";


    my $kolvo=0;
    foreach ($olng_ch,$olng_en,$olng_ru,$olng_eo) {$kolvo++ if $_>0;}

    if ($kolvo>1) {
      if ($olng_ch!=0) {
        if ($olng_ru!=0) {
          my $qu="UPDATE ru_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ru;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_en!=0) {
          my $qu="UPDATE en_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_en;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_eo!=0) {
          my $qu="UPDATE eo_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_ru=$olng_ru WHERE id=".$olng_eo;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      if ($olng_ru!=0) {
        if ($olng_ch!=0) {
          my $qu="UPDATE ch_news SET olng_ru=$olng_ru,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ch;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_en!=0) {
          my $qu="UPDATE en_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_en;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_eo!=0) {
          my $qu="UPDATE eo_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_ru=$olng_ru WHERE id=".$olng_eo;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      if ($olng_en!=0) {
        if ($olng_ch!=0) {
          my $qu="UPDATE ch_news SET olng_ru=$olng_ru,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ch;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_ru!=0) {
          my $qu="UPDATE ru_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ru;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_eo!=0) {
          my $qu="UPDATE eo_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_ru=$olng_ru WHERE id=".$olng_eo;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      if ($olng_eo!=0) {
        if ($olng_ch!=0) {
          my $qu="UPDATE ch_news SET olng_ru=$olng_ru,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ch;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_en!=0) {
          my $qu="UPDATE en_news SET olng_ch=$olng_ch,olng_ru=$olng_ru,olng_eo=$olng_eo WHERE id=".$olng_en;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        if ($olng_ru!=0) {
          my $qu="UPDATE ru_news SET olng_ch=$olng_ch,olng_en=$olng_en,olng_eo=$olng_eo WHERE id=".$olng_ru;
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      }
    # // Челхе пайёсене палартасси ----------------------------------------------------------------------------------------------

    if ($nimg) {
      
      open (OUTFILE,">$basedir/images/News/$prf/$id.$fras") || print STDERR "error write .$id.$fras! - ".$!;
      binmode(OUTFILE);
      while (my $bytesread = read($nimg, my $buffer, 1024)) { 
        print OUTFILE $buffer || print STDERR "error write $id.$fras! $!"; 
        } 
      close (OUTFILE);
  
      $image2 = Image::Magick->new;
      $x = $image2->Read($basedir."/images/News/$prf/".$id.".".$fras);

      $logo = Image::Magick->new;
      $lg = $logo->Read('nlogo.png');

      my ($globe_x, $globe_y) = Image::Size::imgsize($basedir."/images/News/$prf/".$id.".".$fras); #|| &error ("Error read ../htdocs".$v1);
      my ($new_x,$new_y,$newi_x,$newi_y);

      if ($globe_x!=0) {
        $newi_x=180;
        $newi_y=int(180*$globe_y/$globe_x)+20;

        if ($globe_x>=$globe_y) {
          $new_x=640;
          $new_y=int(640*$globe_y/$globe_x);
          $x=$image2->Resize(width=>$new_x, height=>$new_y);
          if ($new_y<300) {
            $x=$image2->Extent(gravity=>Center,background=>'rgb(255,255,255)',geometry=>'640x480');
            }
          $newi_y=155;
          }
        else {
          $new_y=500;
          $new_x=int(500*$globe_x/$globe_y);
          $x=$image2->Resize(width=>$new_x, height=>$new_y);
          $x=$image2->Extent(background=>'rgb(255,255,255)',geometry=>'640x480', Gravity => 'Center');
          $newi_y=155;
          }

        if ($logotip==1) { #нанесение логотипа
          $x=$image2->Set(quality=>100);
          $x=$image2->Composite(image=>$logo,compose=>'Atop', y=>5, x=>5, Gravity => 'NorthWest');
          }
        $x=$image2->Write($basedir."/images/News/$prf/".$id.".".$fras);
        
        $x=$image2->Resize(width=>$newi_x, height=>$newi_y);
        $x=$image2->Write($basedir."/images/News/$prf/icon/".$id.".".$fras);
        }
      }

    #Add tags
    $tags=~s/\r//gs;
    my @tmp=split(/[\,\n]/,$tags);
    foreach (@tmp) {
      s/^[\s\#]+//;
      s/\s+$//;
      my $vitem=1;
      if (s/(\*+)$//) {
        $vitem=length($1);
        }
      $_=$dbh->quote($_);
    
      my $qu="INSERT INTO ".$prf."_news_tags (news_id,name,vitem) values ($id,$_,$vitem)";
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
      }

    # Also senetessi
    if (@tmp>0) {
      my $tag_str=join ',',@tmp;
      my $qu=qq~SELECT n2.news_id,sum(n2.vitem) nn FROM ${prf}_news_tags n2 
        LEFT JOIN ${prf}_news n ON n2.news_id=n.id
        WHERE news_id!=$id AND TO_DAYS(now())-TO_DAYS(n.added)<400 AND n2.name in ($tag_str) GROUP BY n2.news_id ORDER BY nn desc,n2.news_id desc LIMIT 0,5~;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $taglisem=$myd->fetchall_arrayref;
      my @tids;
      foreach (@$taglisem) {
        push @tids,@$_[0];
        }
      my $tgss=join ',',@tids;
      my $tgss_=$dbh->quote($tgss);
      my $qu="UPDATE ${prf}_news SET also=$tgss_ WHERE id=".$id;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
      }

    print "Location:/cgi-bin/ee.cgi?a=jump&url=/news/$id.html\n\n";
    }
  }


sub iytamsem {

  $qu="select name,teple,s_open,id FROM ${prf}_sas_iytu ORDER BY id desc LIMIT 0,20";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $iytam=$myd->fetchall_arrayref;

  &headprint($lng{"Iytamsem"},$shead);

  foreach (@$iytam) {

    print qq~  <h3 class='ch2'><a href='/iytam/@$_[3].html'>@$_[0]</a></h3>
  <blockquote>@$_[1]</blockquote>~;

    &iytam_out(@$_[3],$sas_c,300,@$_[2]);
    print qq~<div style='margin-bottom:10px;'>&nbsp;</div>~;
    }

  &bottomprint($shead);

  }

sub iytam {
  $id = $in->param("id");

  if ($id eq "" || $id =~/\D/) {
#    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"Error_Parametr"}."\n\n";
    &iytamsem;
    return;
    }

  $qu="select name,teple,s_open,tip FROM ${prf}_sas_iytu where id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my @iytam=$myd->fetchrow_array;

  &headprint($lng{"Iytam"}.": ".$iytam[0],$shead);

  if ($group>2) {
    print qq~    <div style='padding: 0px 10px 10px 10px;'><span style='float:right;text-align:right;'><a href='/cgi-bin/index.cgi?a=ie&id=$id'>$lng{"edit"}</a></span></div>
~;
    }

  print qq~  <h3 style='padding:10px;'>$iytam[0]</h3>
  <blockquote>$iytam[1]</blockquote>~;

  &iytam_out($id,$sas_c,300,$iytam[2],$iytam[3]);

  print qq~<div class='encyc_tags'><a href='/iytam'>$lng{"All_Iytam"}</a></div>~;


  &bottomprint($shead);

  }

sub iytam_out {
  my $id=shift;
  my $sas_c=shift;
  my $hayu=shift;
  my $open=shift;
  my $tip=shift;
  $hayu=350 if $hayu==0;

  my $sas_=$dbh->quote($sas_c);
  my $ip_=$dbh->quote($ENV{"REMOTE_ADDR"});

  $qu="select count(*) FROM ${prf}_sas_hurav where (ip=$ip_ OR coockie=$sas_) AND iytu_id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $sas=$myd->fetchrow_array;

  if ($sas==0 && $open==1)  {

    $qu="select id,name FROM ${prf}_sas_huravsem where iytu_id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $saslav=$myd->fetchall_hashref("id");
    
    print qq~
    <form action='/cgi-bin/index.cgi' method='POST'>
    <input type='hidden' name='a' value='iytams'>
    <input type='hidden' name='id' value='$id'>
    <div style='padding:10px;'>~;
    
    foreach my $iy (keys %{$saslav}) {
      if ($tip==0) {
        print qq~<input type='radio' value='$saslav->{$iy}->{"id"}' name='sas'> $saslav->{$iy}->{"name"}<br />~;
        }
      else {
        print qq~<input type='checkbox' value='$saslav->{$iy}->{"id"}' name='sas'> $saslav->{$iy}->{"name"}<br />~;
        }
      }
    
    print qq~</div>
    <div style='padding:10px'><input type='submit' name='act' value='$lng{"Iytam_Sasala"}'> <input type='submit' name='act' value='$lng{"Iytam_Petemletu_Pah"}'></div>
    </form>
    ~;
    }
  else {

    $qu="select id,name FROM ${prf}_sas_huravsem where iytu_id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $saslav=$myd->fetchall_hashref("id");
    
    my $all;
    $all=' hurav!=0 AND ' if $group<3;

    $qu="select hurav,count(hurav) FROM ${prf}_sas_hurav WHERE ".$all." iytu_id=".$id." GROUP BY hurav";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $sassem=$myd->fetchall_arrayref;
    my $all_sas=0; my $max_sas=0;

    foreach (@$sassem) {
      if (@$_[0]==0) {
        $saslav->{0}->{"count"}=@$_[1];
        $saslav->{0}->{"name"}=$lng{"Huravlaman"};
        }

      $saslav->{@$_[0]}->{"count"}=@$_[1];
      $all_sas+=@$_[1];
      $max_sas=@$_[1] if @$_[1]>$max_sas;
      }

    print qq~<div style='padding:10px;'>~;

    foreach my $iy (keys %{$saslav}) {
      my $count=0;
      if (exists $saslav->{$iy}->{"count"}) {
        $count=$saslav->{$iy}->{"count"};
        }
      my $width=3;
      if ($max_sas>0) {
        $width+=int($hayu*$count/$max_sas); #Процент пёлтёмёр
        }
      print qq~<div style='padding-bottom:5px;'><div style='width:250px;float:left;'><b>$saslav->{$iy}->{"name"}</b></div><div style='margin-right:5px;background-color:#f0d2ba;float:left;border:1px solid #e4af9f;width:${width}px'>&nbsp;</div>$count 
      <div class="clear"></div></div>\n~;
      }

    print qq~</div>~;
    }
  }

sub iytams {
  $id = $in->param("id");
  $hurav = $in->param("sas");
  $act = $in->param("act");
  my $i_prf = $in->param("lang");
  $i_prf=$prf if $i_prf eq "";

  $hurav=0 if $act ne $lng{"Iytam_Sasala"};

  if ($id eq "" || $id =~/\D/) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"Error_Parametr"}."\n\n";
    return;
    }

  # || $hurav eq "" || $hurav =~/\D/

  $qu="select name,teple,tip FROM ${i_prf}_sas_iytu where s_open=1 AND id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my @iytam=$myd->fetchrow_array;

  my $sas_=$dbh->quote($sas_c);
  my $ip_=$dbh->quote($ENV{"REMOTE_ADDR"});

  if ($iytam[0] ne "") {
  
    if ($iytam[2]==0) {
      $qu="select count(*) FROM ${i_prf}_sas_hurav where (ip=$ip_ OR coockie=$sas_) AND iytu_id=".$id;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $sas=$myd->fetchrow_array;
    
    
      $qu="select count(*) FROM ${i_prf}_sas_huravsem where id=$hurav AND iytu_id=".$id;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $hc=$myd->fetchrow_array;
    
      if ($sas==0) {
    
        if ($sas_c eq "") {
          foreach (0..12) {
            my $tt=int(rand(256));
            $sas_c.=unpack("h*",chr($tt));
            }
          $sas_=$dbh->quote($sas_c);
          }
        
        $hurav=0 if $hc==0; # ------------- Iytam_Petemletu_Pah / unaskal hurav suk

        my $br_=$dbh->quote($ENV{"HTTP_USER_AGENT"});
        my $as_=$dbh->quote($ENV{"HTTP_REFERER"});
    
        $qu="INSERT INTO ${prf}_sas_hurav (iytu_id,coockie,ip,hurav,astan,hasan,browser) values ($id,$sas_,$ip_,$hurav,$as_,now(),$br_)";
        ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
        
        }

      } else { # Tip == 1 ---------------------------------------------------------------------------------------------

      $qu="select count(*) FROM ${i_prf}_sas_hurav where (ip=$ip_ OR coockie=$sas_) AND iytu_id=".$id;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $sas=$myd->fetchrow_array;
    
      my @Huravsem=$in->param("sas");
      my $pur=0;

      foreach (@Huravsem) {
        next if $_ eq "" || /\D/;
        $qu="select count(*) FROM ${i_prf}_sas_huravsem where id=$_ AND iytu_id=".$id;
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my $hc=$myd->fetchrow_array;
        $pur++ if $hc>0
        }
    
      if ($sas==0) {
    
        if ($sas_c eq "") {
          foreach (0..12) {
            my $tt=int(rand(256));
            $sas_c.=unpack("h*",chr($tt));
            }
          $sas_=$dbh->quote($sas_c);
          }
        
        $hurav=0 if $pur==0; # ------------- Iytam_Petemletu_Pah / per huravne te tupman
        
        my $br_=$dbh->quote($ENV{"HTTP_USER_AGENT"});
        my $as_=$dbh->quote($ENV{"HTTP_REFERER"});

        foreach (@Huravsem) {
          next if $_ eq "" || /\D/;
    
          $qu="INSERT INTO ${i_prf}_sas_hurav (iytu_id,coockie,ip,hurav,astan,hasan,browser) values ($id,$sas_,$ip_,$_,$as_,now(),$br_)";
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }

        if ($pur==0) { # Sasalaman cihne
          $qu="INSERT INTO ${i_prf}_sas_hurav (iytu_id,coockie,ip,hurav,astan,hasan,browser) values ($id,$sas_,$ip_,0,$as_,now(),$br_)";
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }

        }

      }

    print "Set-Cookie: Sas=$sas_c;expires=$cookie_time;path=/\n";
    }

  my $j_domen;
  $j_domen=qq~//$i_prf.chuvash.org~ if $i_prf ne $prf;
  $j_domen=qq~//chuvash.org~ if $i_prf eq "ch";

  if ($act eq $lng{"Iytam_Sasala"}) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=$j_domen/iytam/$id.html&m=".$lng{"Sas_OK"}."\n\n";
    }
  else {
    print "Location:/cgi-bin/user.cgi?a=jump&url=$j_domen/iytam/$id.html&m=".$lng{"Petemletu_Kur_OK"}."\n\n";
    }
  }

sub iadd {

  if ($group<3) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  my @fpar;
  if ($a eq "ie" || $a eq "ies") {
    $id = $in->param("id");
  
    if ($id eq "" || $id =~/\D/) {
      print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"Error_Parametr"}."\n\n";
      return;
      }
  
    $qu="select name,teple,tip FROM ${prf}_sas_iytu where id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my @iytam=$myd->fetchrow_array;

    $name=$iytam[0] if $name eq "";
    $text=$iytam[1] if $text eq "";
    $tip=$iytam[2] if $tip eq "";

    $qu="select id,name FROM ${prf}_sas_huravsem where iytu_id=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $its=$myd->fetchall_arrayref;
    foreach (@$its) {
      $ihurav{@$_[0]}=@$_[1];
      }
    
    @fpar=($lng{"Iytam_Edit_Head"},"ies",$lng{"Iytam_Edit_Button"},qq~<input type='hidden' name='id' value='$id'>~);
    }
  else {
    @fpar=($lng{"Iytam_Add_Head"},"iadds",$lng{"Iytam_Add_Button"});
    }
    
  &headprint($fpar[0],$shead);

  if (keys %error) {
  print qq~<span class='warn'><b>$lng{"error"}</b>:</span><span style='font-style:italic'>~;
  foreach my $var (sort keys %error) {
    print "<p>".$var.": ".$error{$var}."</p>\n";
    }
  print "</span><br>";
  }

  if (not keys %ihurav) {
    foreach (1..10) {
      $ihurav{$_}="";
      }
    }

  print qq~
  <form action='/cgi-bin/index.cgi' method='POST'>
  <input type='hidden' name='a' value='$fpar[1]'>
  $fpar[3]
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>$lng{"Iytam_Yat"}:</div><input type='text' style='width:500px;' name='name' value='$name'></div>
  <div class="cleared"></div>
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>$lng{"Huravsem"}:</div><div style='margin-left:150px;width:500px;'>~;

  foreach my $i (keys %ihurav) {
    print qq~<input type='text' name='hurav$i' value='$ihurav{$i}'><br />~;
    }
  my ($tp_chk,$news_attach_out);
  $tp_chk=' checked' if $tip==1;

  $qu="SELECT id,subj,DATE_FORMAT(added,'%Y.%m.%d %H:%i') FROM ${prf}_news ORDER BY id DESC LIMIT 0,30";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $newsi=$myd->fetchall_arrayref;

  my $newsindex=@$newsi;
  if ($a eq "ie" || $a eq "ies") {
    $qu="SELECT id FROM ${prf}_news WHERE iytam=".$id;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $ni_id=$myd->fetchrow_array;
    
    my $newsadd_;
    if ($ni_id ne "") {
      $qu="SELECT id,subj,DATE_FORMAT(added,'%Y.%m.%d %H:%i') FROM ${prf}_news WHERE id=".$ni_id;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      $newsadd_=$myd->fetchall_arrayref;
      $newsi->[$newsindex]->[0]=$newsadd_->[0]->[0];
      $newsi->[$newsindex]->[1]=$newsadd_->[0]->[1];
      $newsi->[$newsindex]->[2]=$newsadd_->[0]->[2];
      $news=$ni_id;
      }
    }
  
  foreach (@$newsi) {
    my $sel_;
    my $sel_=' selected' if $news==@$_[0];

    $news_attach_out.=qq~<option$sel_ value='@$_[0]'>[@$_[2]] @$_[1]</option>\n~;
    }
  
  print qq~
      </div>
    </div>
  <div class="cleared"></div>
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>$lng{"Iytam_News"}:</div><select name='news'><option valu='0'>--</option>$news_attach_out</select></div>
  <div class="cleared"></div>
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>$lng{"Iytam_Anla"}:</div><textarea style='width:500px; height:100px' name='text'>$text</textarea></div>
  <div class="cleared"></div>
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>&nbsp;</div><input type='checkbox' value='1' name='tip' $tp_chk> $lng{"Iytam_Numay_Hurav"}</div>
  <div class="cleared"></div>
  <div style='padding-bottom:5px;'><div style='width:150px;float:left;'>&nbsp;</div><input type='submit' value='$fpar[2]'></div>
  <div class="cleared"></div>
  </form>
  ~;

  &bottomprint($shead);
  }

sub iadds {

  if ($group<3) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  my @fpar;
  if ($a eq "ies") {
    $id = $in->param("id");
  
    if ($id eq "" || $id =~/\D/) {
      print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"Error_Parametr"}."\n\n";
      return;
      }
    }

  $name = $in->param("name");
  $tip = $in->param("tip");
  $tip=0 if $tip!=1; 
  $news = $in->param("news");
  $news=0 if $news eq "" || $news=~/\D/;

  my @fnames=$in->param;

  foreach (@fnames) {
    if (/hurav(\d+)/) {
      $ihurav{$1}=$in->param($_);
      }
    }

  $error{"01"}=$lng{"Error_Iytam_Name_Empty"} if $name eq "";
  $error{"02"}=$lng{"Error_Iytam_No_Hurav"} if not keys %ihurav;

  $text = $in->param("text");
  $name=Encode::decode_utf8($name);
  $text=Encode::decode_utf8($text);

  if (keys %error) {
    &iadd;
    }
  else {
    my $mess;
    $text=controlhtml($text);
    my $txt_=$dbh->quote($text);
    $name=controlhtml($name);
    my $nm_=$dbh->quote($name);
    my ($jump_url,$jump_mess);

    if ($a eq "iadds") {
      $qu="INSERT INTO ${prf}_sas_iytu (name,s_open,s_insert,teple,tip) values 
           ($nm_,1,now(),$txt_,$tip)";
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
  
      $iid= $dbh -> {'mysql_insertid'}; 
      $iid=~s/0E0$//;

      foreach my $i (keys %ihurav) {
        if ($ihurav{$i} ne "") {
          my $tmp=$dbh->quote($ihurav{$i});
        
          $qu="INSERT INTO ${prf}_sas_huravsem (iytu_id,name) values ($iid,$tmp)";
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      $jump_url=qq~/iytam/$iid.html~;
      $jump_mess=$lng{"Iytam_Add_OK"};
      }
    else {
      $qu="UPDATE ${prf}_sas_iytu SET name=$nm_,teple=$txt_,tip=$tip WHERE id=".$id;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");

      foreach my $i (keys %ihurav) {
        if ($ihurav{$i} ne "") {
          my $tmp=$dbh->quote($ihurav{$i});
        
          $qu="UPDATE ${prf}_sas_huravsem SET name=$tmp WHERE iytu_id=$id AND id=$i";
          ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
          }
        }
      $jump_url=qq~/iytam/$id.html~;
      $jump_mess=$lng{"Iytam_Edit_OK"};
      $iid=$id;
      }
    if ($news>0) {
      $qu="UPDATE ${prf}_news SET iytam=$iid WHERE id=".$news;
      ($dbh->do("$qu")) or &error("$DBI::errstr $qu");
      }

    print "Location:/cgi-bin/user.cgi?a=jump&url=$jump_url&m=".$jump_mess."\n\n";
    }

  }

sub db_con_merop {

  my $dbname="chuvash_merop";
  my $dbhost="localhost";
  my $dbport="3306";
  my $dblogin="chuvash_sites";
  my $dbpass="Sites64";

  if (!$ENV{'MOD_PERL'}) {require DBI;}
  $dbhm=DBI->connect (
    "DBI:mysql:database=$dbname:hostname=$dbhost;
     port=$dbpost",
     "$dblogin",
     "$dbpass") or &error("$DBI::errstr $qu");
  if ($ENV{'MOD_PERL'}) {$dbhm->{'Warn'}=0;}
  ($dbhm->do("SET NAMES utf8")) or &error("$DBI::errstr $qu");

}

sub mmerop {

  if ($group<3) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  &headprint($lng{"Hipar_Moderate_Meropriati_Head"},$shead);

  &db_con_merop;

  $qu="SELECT id,DATE_FORMAT(start,'\%d.\%m.\%Y \%H:\%i') start,DATE_FORMAT(end,'\%d.\%m.\%Y \%H:\%i') end,merop,link,asta,to_days(start) kun FROM merop 
       WHERE to_days(now())<=to_days(start) AND flag=0 ORDER BY kun LIMIT 0,77";
  my $myd= $dbhm->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $merop=$myd->fetchall_hashref("id");

  print qq~<form action='/cgi-bin/index.cgi' method='POST'>
    <input type='hidden' name='a' value='mdel'>~;

  foreach my $k (sort {$merop->{$a}->{'kun'} <=> $merop->{$b}->{'kun'}} keys %$merop) {
    print qq~<div style='margin-bottom:7px;'><input name='id' type='checkbox' value='$merop->{$k}->{"id"}'> $merop->{$k}->{"start"}: <a target='_blank' href='/cgi-bin/index.cgi?a=mmadd&id=$merop->{$k}->{"id"}'><b>$merop->{$k}->{"merop"}</b></a> <a href='http://gov.cap.ru/$merop->{$k}->{"link"}' target='_blank'>&#8658;</a><br />
      <div style='font-size:90%;padding-left:150px'><i>($merop->{$k}->{"asta"})</i></div>
    </div>~;
    }
  print qq~<input type='submit' value='$lng{"del"}'>
  </form>~;
  }

sub mmadd {

  if ($group<3) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  my $id=$in->param("id");

  if ($id eq "" || $id=~/\D/) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  &db_con_merop;

  $qu="SELECT id,DATE_FORMAT(start,'\%d'),DATE_FORMAT(start,'\%m'),DATE_FORMAT(start,'\%Y'),DATE_FORMAT(start,'\%H'),DATE_FORMAT(start,'\%i'),merop,asta FROM merop 
       WHERE id=$id";
  my $myd= $dbhm->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my @MER=$myd->fetchrow_array;

  $qu="UPDATE merop SET flag=1 WHERE id=".$id;
  ($dbhm->do($qu)) or &error("$DBI::errstr ".$qu);

  $MER[6]=~s/\"/\%22/gs;
  $MER[7]=~s/\"/\%22/gs;

  print "Location:/cgi-bin/calendar.cgi?a=madd&pd=$MER[1]&pm=$MER[2]&py=$MER[3]&ph=$MER[4]&pi=$MER[5]&m_name_ru=$MER[6]&m_asta_ru=$MER[7]\n\n";
  }


sub mdel {

  if ($group<3) {
    print "Location:/cgi-bin/user.cgi?a=jump&url=/&m=".$lng{"No_Rights"}."\n\n";
    return;
    }

  my @bans=$in->param("id");
  my $cnt=@bans;
  my $mess;
  &db_con_merop;

  if ($cnt>0) {
    foreach (@bans) {
      if (not /\D/ && $_ ne "") {
        $qu="UPDATE merop SET flag=1 WHERE id=".$_;
        ($dbhm->do($qu)) or &error("$DBI::errstr ".$qu);
        }
      }
    }

  print "Location:/cgi-bin/user.cgi?a=jump&url=/cgi-bin/index.cgi?a=mmerop&m=".$lng{"Meropriations_Delete_OK"}."\n\n";
  }

sub moderate {

  print "Location:/cgi-bin/user.cgi?a=jump&url=/moder/md.html&m=\n\n";
  return;
  }

sub search {
  $sr = $in->param("sr");
  if ($sr eq "") {
    print qq~Location: /cgi-bin/index.cgi\n\n~;
    exit;
    }

  $sr=Encode::decode_utf8($sr);
  $sr = &persasp($sr);
  $sr=Encode::encode_utf8($sr);
  
  $shead->{"Serach_CGI"}='index';
  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />~;
  &headprint($lng{"News"}.": ".$lng{"Search"},$shead);

  my $sr_=$dbh->quote($sr);

  $qu="SELECT n.id,sect,n.name,user,text_,icon,DATE_FORMAT(added,'\%d.\%m.\%Y \%H:\%i'),sort_,subj,img,img_opis,url,view 
       FROM ".$prf."_news n 
       WHERE n.blog_id=0 AND flag=0 AND added<now() AND 
             MATCH (n.subj,n.text_) AGAINST ($sr_ IN BOOLEAN MODE) 
       ORDER BY MATCH (n.subj,n.text_) AGAINST ($sr_ IN BOOLEAN MODE), sort_ DESC, added DESC limit 0,30";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $news_=$myd->fetchall_arrayref;

  my @sr_list=split(/\s+/,$sr);
  foreach (@sr_list) {$_=~s/\*$/\\S\+/gs if $_=~/\*$/;}

  my $sr_str=join "|",@sr_list;
  $sr_str=Encode::decode_utf8($sr_str);

  require "search.pm";
    
  &out_sr_form("index",$sr,1); #script,word,tip
  if (@$news_>0)  {
    my $news_out; my @news_data;
    foreach (@$news_) {
      
      my $text='';
      @$_[4]=Encode::decode_utf8(@$_[4]);
      @$_[4]=~s/<.+?>//gs;
  
      if (@$_[4]=~/(.{0,100})($sr_str)(.{0,100})/is) {
        if (length($1)==100) {
          $text='...'.$1;
          } else {$text=$1}
        $text.='<b>'.$2.'</b>';
        if (length($3)==100) {
          $text.=$3.'...';
          } else {$text.=$3}
        $text=qq~<p class='blog_line_search'>$text</p>~;
        }
      $text=Encode::encode_utf8($text);
  
      push @news_data,qq~<p class='blog_line' style='height:auto'><span class='index_date_main index_date_right'>@$_[6]</span><span 
      class='blog_line_avatar'><img src='/images/News/$prf/icon/@$_[0].@$_[9]' width='32' height='32'></span><span style='margin-left: 48px;display: block;'><a href='/news/@$_[0].html'>@$_[8]</a></span></p>$text~;
      }
  
    $news_out=join "",@news_data;
    
    print $news_out;
    }
  else {
    print qq~<p>$lng{"No_Search"}</p>~;
    }
  &out_sr_help;
  }

sub tag {
  $tag = $in->param("id");
  $p = $in->param("p");

  my $tag_=$dbh->quote($tag);


  $qu="SELECT n.id,sect,n.name,user,text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,subj,img,img_opis,url,view 
       FROM ".$prf."_news n, ".$prf."_news_tags t 
       WHERE t.news_id=n.id AND n.blog_id=0 AND t.name=".$tag_." and flag=0 and n.added<now() order by sort_ desc, n.added desc limit 0,30";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $news_=$myd->fetchall_arrayref;

  if ($p>1 || @$news_<10) {
    print qq~Location: /cgi-bin/index.cgi?a=arc&id=$tag&p=$p\n\n~;
    exit;
    }

  $shead->{"Serach_CGI"}='index';

  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />~;
  &headprint($lng{"News"}.": ".$tag,$shead);

  $qu="select b.id,b.subj,b.added,comment,b.ip,u.name,u.id,sum(case when c.blog_id = b.id then 1 else 0 end),link,views,top_image,p.avatar 
FROM all_blogs b 
       LEFT JOIN all_users u on u.id=b.user_id 
       LEFT JOIN all_par p ON b.user_id=p.user_id 
       LEFT JOIN all_blog_comments c on b.id=c.blog_id and c.type=1 
       LEFT JOIN all_blog_tagsem t ON t.blog_id=b.id
       LEFT JOIN all_blog_tags tg ON tg.id=t.tag_id
       WHERE tg.$prf=$tag_ GROUP BY b.id order by b.added desc limit 0,5";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $blogs_=$myd->fetchall_arrayref;

  $qu="SELECT v.vid,ch_name,ru_name,en_name,eo_name,DATE_FORMAT(v.pub_date,'%d.%m.%Y %H:%i') 
FROM all_videos v 
       LEFT JOIN all_video_tagsem t ON t.vid=v.vid
       LEFT JOIN all_blog_tags tg ON tg.id=t.tag_id
       WHERE tg.$prf=$tag_ AND v.viewed=1 order by v.pub_date desc limit 0,5";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $videos_=$myd->fetchall_arrayref;

  my $news_out; my @news_data;
  my $aaaa=@$news_;
  foreach (@$news_) {
    push @news_data,qq~<p class='blog_line' style='height:auto'><span class='index_date_main index_date_right'>@$_[6]</span><span 
    class='blog_line_avatar'><img src='/images/News/$prf/icon/@$_[0].@$_[9]' width='32' height='32'></span><span style='margin-left: 48px;display: block;'><a href='/news/@$_[0].html'>@$_[8]</a></span></p>~;
    }
  $news_out=join "",@news_data;

  if (@$news_ == 30) {
    $news_out.=qq~<p style='text-align: right;font-size: 110%;text-shadow: 0px 0px 5px rgb(171, 84, 0);'><a style='color: rgb(186, 98, 0);' href='/cgi-bin/index.cgi?a=arc&id=$tag&p=4'>$lng{"Other_News"}...</a></p>~;
    }

  my $blog_out; my @blogs_data;
  foreach (@$blogs_) {
    my $image_out='0.jpg';
    if (@$_[10] ne "" && @$_[10] ne "none") {
      $image_out=qq~@$_[0].@$_[10]~;
      }
    $image_out=qq~<img src='/images/blogs/$image_out' style='width:100%;border: 1px solid #ECDBAE;'>~;

    push @blogs_data,qq~$image_out<p class='blog_line' style='margin: 5px 0px 20px 0px;height: auto;'><span 
    class='blog_line_avatar'><img src='/images/avatar/32/@$_[6].@$_[11]' width='32' height='32' alt='@$_[5]'></span><a href='/blogs/comments/@$_[0].html'>@$_[1]</a></p>~;
    }
  if (@$blogs_>0) {
    $blogs_out=qq~<h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"Blog"}</h3>~;
    }
  $blogs_out.=join "",@blogs_data;
  $blogs_out.=qq~<div style='height:30px;'> </div>~;

  my $video_out; my @videos_data;
  foreach (@$videos_) {
    my $mass={"ch"=>@$_[1],"ru"=>@$_[2],"en"=>@$_[3],"eo"=>@$_[4]};
    my $vname=&str_lang_out($mass,$prf);
    push @videos_data,qq~<a href='/video/@$_[0].html'><img src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg'  style='width:100%;border: 1px solid #ECDBAE;'></a>
    <p class='blog_line' style='margin: 5px 0px 20px 0px;height: auto;'>
    <a href='/video/@$_[0].html'>$vname</a></p>~;
    }
  if (@$videos_>0) {
    $videos_out=qq~<h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"Videos"}</h3>~;
    }
  $videos_out.=join "",@videos_data;

  my ($left_column,$right_style);

  if (@$videos_>0 || @$blogs_>0) {
    $left_column=qq~<div style='float:left;width:250px;padding-left: 5px;'>$blogs_out $videos_out</div>~;
    $right_style=qq~margin-left: 278px;border-left: 1px solid rgb(236, 219, 174);padding-left: 15px;~;
    }

  print qq~$left_column<div style='$right_style'><h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"News"}</h3>$news_out</div><div class='clear'></div>~;
  }

# --------------------------------------------------- Archive ----------------------

sub arhive {
  $p = $in->param("p");
  $tag = $in->param("id");
  my $tag_=$dbh->quote($tag);

  my $tema=&get_razdi;

  $shead->{"Serach_CGI"}="index";
  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_tag.css" type="text/css" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;


  if ($tag eq "") {
    &headprint($lng{"News_Archive"},$shead);
    }
  else {
    &headprint($lng{"News"}.": ".$tag,$shead);
    }

  if ($tag eq "") {
    $qu="select count(*) from ".$prf."_news where flag=0 and added<now()";
    }
  else {
    $qu="select count(*) from ".$prf."_news n, ".$prf."_news_tags t where t.news_id=n.id and t.name=".$tag_." and flag=0 and n.added<now()";
    }

  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $count=$myd->fetchrow_array;

  $n=10;
  $pages=int($count/$n);
  $pages++ if int($count/$n)!=$count/$n;
  $p=$pages if $p>$pages;
  $p=1 if $p<1;
  if ($tag eq "") {
    $st=$p*$n-$n+7;
    }
  else {
    $st=$p*$n-$n;
    }
  $st=0 if $st<0;
  
  if ($tag eq "") {
    $qu="SELECT n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_ru,olng_en,olng_eo,r.rname,
                n.iytam,n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip 
       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON n.blog_id=b.id
       LEFT JOIN all_users u2 ON (u2.id=b.user_id)
       LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
       WHERE flag=0 and n.added<now() ORDER BY sort_ desc, n.added desc LIMIT $st,10";
    }
  else {
    $qu="SELECT n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_ru,olng_en,olng_eo,r.rname,
                n.iytam,n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip 
         FROM ".$prf."_news n
         LEFT JOIN ".$prf."_news_tags t ON t.news_id=n.id
         LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
         LEFT JOIN all_users_rname r ON u.id=r.user_id
         LEFT JOIN all_blogs b ON n.blog_id=b.id
         LEFT JOIN all_users u2 ON (u2.id=b.user_id)
         LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
         WHERE t.name=".$tag_." and flag=0 and n.added<now() order by sort_ desc, n.added desc limit $st,10";
    }

  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $rm_=$myd->fetchall_arrayref;

  foreach (@$rm_) {
   my @l;
    if (@$_[13]!=0 && @$_[13] ne "") {
      push @l,qq~<span class='olang_flg_cv'><a href='http://chuvash.org/news/@$_[13].html'>$lng{"Read_News_Cv"}</a></span>~;
      }
    if (@$_[14]!=0 && @$_[14] ne "") {
      push @l,qq~<span class='olang_flg_ru'><a href='http://ru.chuvash.org/news/@$_[14].html'>$lng{"Read_News_Ru"}</a></span>~;
      }
    if (@$_[15]!=0 && @$_[15] ne "") {
      push @l,qq~<span class='olang_flg_en'><a href='http://en.chuvash.org/news/@$_[15].html'>$lng{"Read_News_En"}</a></span>~;
      }
    if (@$_[16]!=0 && @$_[16] ne "") {
      push @l,qq~<span class='olang_flg_eo'><a href='http://eo.chuvash.org/news/@$_[16].html'>$lng{"Read_News_Eo"}</a></span>~;
      }
    
    &out_hipar(@$_[0],@$_[7],@$_[3],@$_[2],@$_[4],@$_[1],@$_[6],@$_[9],@$_[8],0,@$_[10],@$_[11],@$_[12],\@l,@$_[17],$tema,@$_[19],@$_[20],@$_[22],@$_[24],@$_[25],@$_[26],@$_[27],@$_[23],@$_[28]);
    }

  #Pages
  if ($pages>1) {
    print "<tr><td style='padding:0px 0px 0px 0px'><div>".$lng{"Pages"}.": ";
    $sn=$p-10;
    $sn=1 if $sn<1;
    $en=$p+10;
    $en=$pages if $en>$pages;
    if ($tag eq "") {
      print " <a href='/a/news/1.html'>1</a> " if $sn>1;
      }
    else {
      print " <a href='/news/tags/$tag/1'>1</a> " if $sn>1;
      }

    print " ... " if $sn>2;
    
    for (my $ii=$sn;$ii<$en+1;$ii++) {
      if ($ii!=$p) {
        if ($tag eq "") {
          print "<a href='/a/news/tags/".$ii.".html'>".$ii."</a>";
          }
        else {
          print " <a href='/news/tags/$tag/$ii'>$ii</a>";
          }
        }
      else {print " <b>\[".$ii."\]</b>"}
      print ", " if $ii!=$pages;
      }
    print " ..." if $en<$pages-1;
    if ($tag eq "") {
      print "<a href='/a/news/".$pages.".html'>".$pages."</a>" if $en<$pages;
      }
    else {
      print " <a href='/news/tags/$tag/$pages'>$pages</a> " if $en<$pages;
      }
    print "</div></td></tr>\n";
    }

  print qq~</table>~;
  }


sub tema {
  $p = $in->param("p");

  $tem = $in->param("t");

  my $tema=&get_razdi;
  my $tname=$tema->{$tem};

  my $max_tm=keys %$tema;

  if ($tem eq "" || $tem=~/\D/ || $tem>$max_tm) {
    print qq~Location: /\n\n~;
    exit;
    }

  my $tema_=$dbh->quote($tname);

  $qu="SELECT n.id,sect,n.name,user,text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,subj,img,img_opis,url,view 
       FROM ".$prf."_news n 
       WHERE n.blog_id=0 AND sect=$tem AND flag=0 and n.added<now() ORDER BY sort_ desc, n.added desc limit 0,30";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $news_=$myd->fetchall_arrayref;

  if ($p>1 || @$news_<10) {
    print qq~Location: /cgi-bin/index.cgi?a=temas&t=$tem&p=$p\n\n~;
    exit;
    }

  $shead->{"Serach_CGI"}='index';

  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />~;
  $shead->{"Menu_Data"}=&get_menu();

  &headprint($lng{"Hipar_Tema_Head"}.": ".$tname,$shead);

  $qu="select b.id,b.subj,b.added,comment,b.ip,u.name,u.id,sum(case when c.blog_id = b.id then 1 else 0 end),link,views,top_image,p.avatar 
       FROM all_blogs b 
       LEFT JOIN all_users u on u.id=b.user_id 
       LEFT JOIN all_par p ON b.user_id=p.user_id 
       LEFT JOIN all_blog_comments c on b.id=c.blog_id and c.type=1 
       LEFT JOIN all_blog_tagsem t ON t.blog_id=b.id
       LEFT JOIN all_blog_tags tg ON tg.id=t.tag_id
       WHERE tg.$prf=$tema_ GROUP BY b.id order by b.added desc limit 0,5";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $blogs_=$myd->fetchall_arrayref;

  $qu="SELECT v.vid,ch_name,ru_name,en_name,eo_name,DATE_FORMAT(v.pub_date,'%d.%m.%Y %H:%i') 
       FROM all_videos v 
       LEFT JOIN all_video_tagsem t ON t.vid=v.vid
       LEFT JOIN all_blog_tags tg ON tg.id=t.tag_id
       WHERE tg.$prf=$tema_ AND v.viewed=1 order by v.pub_date desc limit 0,5";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $videos_=$myd->fetchall_arrayref;



  my $news_out; my @news_data;
  foreach (@$news_) {
    push @news_data,qq~<p class='blog_line' style='height:auto'><span class='index_date_main index_date_right'>@$_[6]</span><span 
    class='blog_line_avatar'><img src='/images/News/$prf/icon/@$_[0].@$_[9]' width='32' height='32'></span><span style='margin-left: 48px;display: block;'><a href='/news/@$_[0].html'>@$_[8]</a></span></p>~;
    }
  $news_out=join "",@news_data;

  if (@$news_ == 30) {
    $news_out.=qq~<p style='text-align: right;font-size: 110%;text-shadow: 0px 0px 5px rgb(171, 84, 0);'><a style='color: rgb(186, 98, 0);' href='/cgi-bin/index.cgi?a=temas&t=$tem&p=4'>$lng{"Other_News"}...</a></p>~;
    }

  my $blog_out; my @blogs_data;
  foreach (@$blogs_) {
    my $image_out='0.jpg';
    if (@$_[10] ne "" && @$_[10] ne "none") {
      $image_out=qq~@$_[0].@$_[10]~;
      }
    $image_out=qq~<img src='/images/blogs/$image_out' style='width:100%;border: 1px solid #ECDBAE;'>~;

    push @blogs_data,qq~$image_out<p class='blog_line' style='margin: 5px 0px 20px 0px;height: auto;'><span 
    class='blog_line_avatar'><img src='/images/avatar/32/@$_[6].@$_[11]' width='32' height='32' alt='@$_[5]'></span><a href='/blogs/comments/@$_[0].html'>@$_[1]</a></p>~;
    }
  if (@$blogs_>0) {
    $blogs_out=qq~<h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"Blog"}</h3>~;
    }
  $blogs_out.=join "",@blogs_data;
  $blogs_out.=qq~<div style='height:30px;'> </div>~;

  my $video_out; my @videos_data;
  foreach (@$videos_) {
    my $mass={"ch"=>@$_[1],"ru"=>@$_[2],"en"=>@$_[3],"eo"=>@$_[4]};
    my $vname=&str_lang_out($mass,$prf);
    push @videos_data,qq~<a href='/video/@$_[0].html'><img src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg'  style='width:100%;border: 1px solid #ECDBAE;'></a>
    <p class='blog_line' style='margin: 5px 0px 20px 0px;height: auto;'>
    <a href='/video/@$_[0].html'>$vname</a></p>~;
    }
  if (@$videos_>0) {
    $videos_out=qq~<h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"Videos"}</h3>~;
    }
  $videos_out.=join "",@videos_data;

  my ($left_column,$right_style);

  if (@$videos_>0 || @$blogs_>0) {
    $left_column=qq~<div style='float:left;width:250px;padding-left: 5px;'>$blogs_out $videos_out</div>~;
    $right_style=qq~margin-left: 278px;border-left: 1px solid rgb(236, 219, 174);padding-left: 15px;~;
    }

  print qq~$left_column<div style='$right_style'><h3 class='ch1' style='padding-top: 0px; margin-bottom: 15px; margin-top: 0px;'>$lng{"News"}</h3>$news_out</div><div class='clear'></div>~;
  }


sub temas {
  $p = $in->param("p");
  $tem = $in->param("t");

  my $tema=&get_razdi;
  my $tname=$tema->{$tem};

  my $max_tm=keys %$tema;

  if ($tem eq "" || $tem=~/\D/ || $tem>$max_tm) {
    print qq~Location: /\n\n~;
    exit;
    }

#  my $bn_head;
  $shead->{"Serach_CGI"}="index";
  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_tag.css" type="text/css" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;


  &headprint($lng{"Hipar_Tema_Head"}.": ".$tname,$shead);

  my @menu_items;
  #push @menu_item,qq~<li><a href='/rss.xml' title='RSS'><span class="l"></span><span class="r"></span><span class="t">RSS</span></a></li>~;
  if ($group>2) {
    
    $qu="select count(*) from ".$prf."_news where flag=1";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MC=$myd->fetchrow_array;

    $qu="select count(*) from all_blog_comments where tereslene=0";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MCC=$myd->fetchrow_array;
    
    push @menu_item,qq~<li><a href='/moder/md.html' title='$lng{"moder"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"moder"} ($MC|$MCC)</span></a></li>~;
    }
  push @menu_item,qq~<li><a href='/news/a/tags.html' title='$lng{"Tags"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"Tags"}</span></a></li>~;
  push @menu_item,qq~<li><a href='/' title='$lng{"News_Svejee"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"News_Svejee"}</span></a></li>~;
  push @menu_item,qq~<li><a href='/news/a/newsa.html' title='$lng{"add"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"add"}</span></a></li>~;

  print qq~<table style='padding:0px 0px 0px 0px;margin:0px;' cellpadding="0" cellspacing="0">
    <tr><td><div class="art-nav"><div class="l"></div><div class="r"></div><ul class="art-menu">~;
  
  print join "",@menu_item;

  print qq~</ul></div><div class="cleared"></div></td></tr>
  ~;

  $qu="select count(*) FROM ".$prf."_news n WHERE n.sect=".$tem." and flag=0 and n.added<now()";

  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $count=$myd->fetchrow_array;

  $n=10;
  $pages=int($count/$n);
  $pages++ if int($count/$n)!=$count/$n;
  $p=$pages if $p>$pages;
  $p=1 if $p<1;
  $st=$p*$n-$n;
  $st=0 if $st<0;
  
  $qu="SELECT n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_ru,olng_en,olng_eo,r.rname,n.iytam,
              n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip
     FROM ".$prf."_news n
     LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
     LEFT JOIN all_users_rname r ON u.id=r.user_id
     LEFT JOIN all_blogs b ON b.id=n.blog_id
     LEFT JOIN all_users u2 ON (u2.id=b.user_id)
     LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
     WHERE sect=$tem AND flag=0 AND n.added<now() ORDER BY sort_ desc, n.added desc LIMIT $st,$n";

  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $rm_=$myd->fetchall_arrayref;

  foreach (@$rm_) {
   my @l;
    if (@$_[13]!=0 && @$_[13] ne "") {
      push @l,qq~<span class='olang_flg_cv'><a href='http://chuvash.org/news/@$_[13].html'>$lng{"Read_News_Cv"}</a></span>~;
      }
    if (@$_[14]!=0 && @$_[14] ne "") {
      push @l,qq~<span class='olang_flg_ru'><a href='http://ru.chuvash.org/news/@$_[14].html'>$lng{"Read_News_Ru"}</a></span>~;
      }
    if (@$_[15]!=0 && @$_[15] ne "") {
      push @l,qq~<span class='olang_flg_en'><a href='http://en.chuvash.org/news/@$_[15].html'>$lng{"Read_News_En"}</a></span>~;
      }
    if (@$_[16]!=0 && @$_[16] ne "") {
      push @l,qq~<span class='olang_flg_eo'><a href='http://eo.chuvash.org/news/@$_[16].html'>$lng{"Read_News_Eo"}</a></span>~;
      }
    
    &out_hipar(@$_[0],@$_[7],@$_[3],@$_[2],@$_[4],@$_[1],@$_[6],@$_[9],@$_[8],0,@$_[10],@$_[11],@$_[12],\@l,@$_[17],$tema,@$_[19],@$_[20],@$_[22],@$_[24],@$_[25],@$_[26],@$_[27],@$_[23],@$_[28]);
    }

  #Pages
  if ($pages>1) {
    print "<tr><td style='padding:0px 0px 0px 0px'><div>".$lng{"Pages"}.": ";
    $sn=$p-10;
    $sn=1 if $sn<1;
    $en=$p+10;
    $en=$pages if $en>$pages;
    print " <a href='/news/tema/1/${tem}_$tname.html'>1</a> " if $sn>1;

    print " ... " if $sn>2;
    
    for (my $ii=$sn;$ii<$en+1;$ii++) {
      if ($ii!=$p) {
        print "<a href='/news/tema/$ii/${tem}_$tname.html'>".$ii."</a>";
        }
      else {print " <b>\[".$ii."\]</b>"}
      print ", " if $ii!=$pages;
      }
    print " ..." if $en<$pages-1;
    print "<a href='/news/tema/$pages/${tem}_$tname.html'>".$pages."</a>" if $en<$pages;
    print "</div></td></tr>\n";
    }

  print qq~</table>~;
  }



sub platassi {
  my $text=shift;

  $text=~s/[\r\n]//gs;
  my @t_lines=split(/\<br\>/,$text);
  foreach (@t_lines) {
    $_="\&nbsp;" if /^$/;
    if ($_=~/^(:+) /) {
      my $ks=length($1);
      $_=~s/^(:+) //;
      $ks=$ks*40;
      if ($ks>0) {$ks=qq~ style='padding-left:${ks}px;'~}
      else {$ks=''}
      $_=qq~<p$ks>$_</p>~;
      }
    elsif ($_!~/^<p/) {
      $_=qq~<p>$_</p>~;
      }
    }
  $text=join "\n",@t_lines;

  return($text);
  }

sub tag_list {

  $qu="SELECT count(name) cn,name FROM ".$prf."_news_tags group by name order by name";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $tl=$myd->fetchall_arrayref;

  my @menu_items;
  push @menu_item,qq~<li><a href='/rss.xml' title='RSS'><span class="l"></span><span class="r"></span><span class="t">RSS</span></a></li>~;
  if ($group>2) {
    
    $qu="select count(*) from ".$prf."_news where flag=1";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MC=$myd->fetchrow_array;
    
    push @menu_item,qq~<li><a href='/moder/md.html' title='$lng{"moder"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"moder"} ($MC)</span></a></li>~;
    }
  push @menu_item,qq~<li><a href='/' title='$lng{"News_Svejee"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"News_Svejee"}</span></a></li>~;
  push @menu_item,qq~<li><a href='/news/a/newsa.html' title='$lng{"add"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"add"}</span></a></li>~;

  print qq~
    <div class="art-nav"><div class="l"></div><div class="r"></div><ul class="art-menu">~;
  
  print join "",@menu_item;

  print qq~</ul></div><div class="cleared"></div>
    ~;
  
  
  foreach (@$tl) {
    next if @$_[0]==1;
    my $lv=1;
    if (@$_[0]>100) {
      $lv=16;
      }
    elsif (@$_[0]>50) {
      $lv=15;
      }
    elsif (@$_[0]>30) {
      $lv=14;
      }
    elsif (@$_[0]>20) {
      $lv=13;
      }
    elsif (@$_[0]>15) {
      $lv=12;
      }
    elsif (@$_[0]>12) {
      $lv=11;
      }
    elsif (@$_[0]>10) {
      $lv=10;
      }
    elsif (@$_[0]>9) {
      $lv=9;
      }
    elsif (@$_[0]>8) {
      $lv=8;
      }
    elsif (@$_[0]>7) {
      $lv=7;
      }
    elsif (@$_[0]>6) {
      $lv=6;
      }
    elsif (@$_[0]>5) {
      $lv=5;
      }
    elsif (@$_[0]>4) {
      $lv=4;
      }
    elsif (@$_[0]>3) {
      $lv=3;
      }
    elsif (@$_[0]>2) {
      $lv=2;
      }

    my $title=@$_[1];
    @$_[1]=~s/ +/\&nbsp\;/gs if @$_[0]!=36;
    print qq~<a href='/news/tags/$title/1' class='taglist tlevel$lv' title='$title (@$_[0])'>@$_[1]</a> ~;
    }
  }

sub index {
  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/borda.css" type="text/css" media="screen" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;

  $p = $in->param("p");
  $tag = $in->param("id");

  if ($p eq "" && $tag eq "" && $prf ne "eo") {
    &index2;
    return;
    }
  else {
    $shead->{"Banner_Title"}=$lng{"Welcome_Banner"};
    $shead->{"Banner"}=$lng{"Welcome_Banner_Text"};
    $shead->{"Serach_CGI"}="index";

    &headprint($lng{"News"},$shead);
    }

  my $tema=&get_razdi;

  if ($fhipartags eq "") {
    $qu="select count(*) from ".$prf."_news where flag=0 and added<now()";
    }
  else {
    my @ftags=split(/,/,$fhipartags);
    foreach (@ftags){
      s/^\s*//gs;
      s/\s*$//gs;
      $_=$dbh->quote($_);
      }
    $fhipartags_=join ",",@ftags;
    $qu="select count(*) from ".$prf."_news n WHERE flag=0 and n.added<now() and n.id not in (SELECT t.news_id from ".$prf."_news_tags t WHERE t.name in(".$fhipartags_."))";
    }
  
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $count=$myd->fetchrow_array;

  $n=10;
  $pages=int($count/$n);
  $pages++ if int($count/$n)!=$count/$n;
  $p=$pages if $p>$pages;
  $p=1 if $p<1;
  $st=$p*$n-$n;
  $st=0 if $st<0;

  my @menu_items;
  push @menu_item,qq~<li><a href='/rss.xml' title='RSS'><span class="l"></span><span class="r"></span><span class="t">RSS</span></a></li>~;
  if ($group>2) {
    
    $qu="select count(*) from ".$prf."_news where flag=1";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MC=$myd->fetchrow_array;
    
    $qu="select count(*) from all_blog_comments where tereslene=0";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MCC=$myd->fetchrow_array;

    push @menu_item,qq~<li><a href='/moder/md.html' title='$lng{"moder"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"moder"} ($MC/$MCC)</span></a></li>~;
    }
  push @menu_item,qq~<li><a href='/news/a/tags.html' title='$lng{"Tags"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"Tags"}</span></a></li>~;
  push @menu_item,qq~<li><a href='/news/a/newsa.html' title='$lng{"add"}'><span class="l"></span><span class="r"></span><span class="t">$lng{"add"}</span></a></li>~;

  print qq~
    <table style='padding:0px 0px 0px 0px;margin:0px;' cellpadding="0" cellspacing="0">
    <tr><td><div class="art-nav"><div class="l"></div><div class="r"></div><ul class="art-menu">~;
  
  print join "",@menu_item;

  print qq~</ul></div><div class="cleared"></div>
    </td></tr>~;

  if ($fhipartags eq "") {
    my $sel_n=$n;

    if ($p==1) {
      $qu="select count(*) from ".$prf."_news where date(now())=date(added)";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $payan=$myd->fetchrow_array;
    
      $sel_n=$payan if $payan>$n;
      }

    $qu="SELECT n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,
              n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip

       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       LEFT JOIN all_users u2 ON (u2.id=b.user_id)
       LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
       WHERE flag=0 and n.added<now() order by sort_ desc,n.added desc limit $st,$sel_n";
    }
  else {
    $qu="SELECT n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,
              n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip
         FROM ".$prf."_news n 
         LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
         LEFT JOIN all_users_rname r ON u.id=r.user_id
         LEFT JOIN all_blogs b ON b.id=n.blog_id
         LEFT JOIN all_users u2 ON (u2.id=b.user_id)
         LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
         WHERE flag=0 and n.added<now() and n.id not in (
           SELECT t.news_id from ".$prf."_news_tags t WHERE t.name in(".$fhipartags_."))
         ORDER BY sort_ desc,n.added desc limit $st,$n";
    }

  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $rm_=$myd->fetchall_arrayref;

  foreach (@$rm_) {
    my @l;
    if (@$_[13]!=0 && @$_[13] ne "") {
      push @l,qq~<span class='olang_flg_cv'><a href='http://chuvash.org/news/@$_[13].html'>$lng{"Read_News_Cv"}</a></span>~;
      }
    if (@$_[14]!=0 && @$_[14] ne "") {
      push @l,qq~<span class='olang_flg_ru'><a href='http://ru.chuvash.org/news/@$_[14].html'>$lng{"Read_News_Ru"}</a></span>~;
      }
    if (@$_[15]!=0 && @$_[15] ne "") {
      push @l,qq~<span class='olang_flg_en'><a href='http://en.chuvash.org/news/@$_[15].html'>$lng{"Read_News_En"}</a></span>~;
      }
    if (@$_[16]!=0 && @$_[16] ne "") {
      push @l,qq~<span class='olang_flg_eo'><a href='http://eo.chuvash.org/news/@$_[16].html'>$lng{"Read_News_Eo"}</a></span>~;
      }
    &out_hipar(@$_[0],@$_[7],@$_[3],@$_[2],@$_[4],@$_[1],@$_[6],@$_[9],@$_[8],0,@$_[10],@$_[11],@$_[12],\@l,@$_[17],$tema,@$_[19],@$_[20],@$_[22],@$_[24],@$_[25],@$_[26],@$_[27],@$_[23],@$_[28]);
    }
  
  #Pages
  if ($pages>1) {
    print "<tr><td style='padding:0px 0px 0px 0px'><div class='encyc_tags'>".$lng{"Pages"}.": ";
    $sn=$p-10;
    $sn=1 if $sn<1;
    $en=$p+10;
    $en=$pages if $en>$pages;
    print " <a href='/a/news/1.html'>1</a> " if $sn>1;

    print " ... " if $sn>2;
    
    for (my $ii=$sn;$ii<$en+1;$ii++) {
      if ($ii!=$p) {
        print "<a href='/a/news/".$ii.".html'>".$ii."</a>";
        }
      else {print " <b>\[".$ii."\]</b>"}
      print ", " if $ii!=$pages;
      }
    print " ... " if $en<$pages-1;
    print "<a href='/a/news/".$pages.".html'>".$pages."</a>" if $en<$pages;
    print "</div></td></tr>\n";
    }
  
  print qq~
  </table>
  ~;    

  if ($lng{"New_Literature_Haylav"}) {
    print qq~
  </div>

    </div>
    <div class='cecek'></div>
  </div>

  <div class='chblock_green'>
    <h2 class='chblockhead_green'>$lng{"New_Literature_Haylav"}</h2>
    <div class='saltar'></div>
    <div class='chblocktext_green'>
    
      <div class="menu">
    <ul style='padding-left:0px;'>
    ~;

    $qu="select hv.id, hv.name, au.name, au.id, n_pays, hdate, tp.name, tp.id, hv.size from kn_haylav hv 
          left join kn_authors au on au.id=hv.author 
          left join kn_types tp on hv.type=tp.id where hv.type!=0
          order by hv.id desc limit 0,10";

    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $hv=$myd->fetchall_arrayref;

    foreach (@$hv) {
      @$_[8]=vishisep(@$_[8]);
      print qq~<li><a href='/lib/author/@$_[3].html'>@$_[2]</a>. <b><a href='/lib/haylav/@$_[0].html'>@$_[1]</b> | <a href='/lib/type/@$_[7].html'>@$_[6]</a> | @$_[8]</li>~;
      }
    print qq~</ul>~;

    }
  }

sub get_online_news {
  use XML::Simple;

  my $last=$in->param("last");
  my $id=$in->param("id");
  my %y;

  if ($id eq "" || $id=~/\D/) {
    $y->{"error"}="Not_New_Sirus";
    }
  else {
    my $where;
    $prf_=$dbh->quote($prf);

    $where=qq~ AND o.id>=$last~ if $last ne "" && $last!~/\D/;
    $qu=qq~SELECT o.id,o.text,o.img,o.user_id,u.name,r.rname,DATE_FORMAT(o.kertne,'%Y.%m.%d'),DATE_FORMAT(o.kertne,'%H:%i'),TO_DAYS(n.added)-TO_DAYS(o.kertne) FROM all_news_online o
      LEFT JOIN all_users u ON u.id=o.user_id
      LEFT JOIN all_users_rname r ON r.user_id=u.id
      LEFT JOIN ${prf}_news n ON n.id=o.news_id
      WHERE news_id=$id AND lang=$prf_ $where ORDER BY o.kertne DESC~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $sirus=$myd->fetchall_arrayref;

    if (@$sirus==0) {
      $y->{"error"}="Not_New_Sirus";
      }
    else {
      my @data;
    
#      @$sirus=reverse(@$sirus);
      
      foreach (@$sirus) {
        my $qust;
        $qust->{"o_id"}=@$_[0];
        $qust->{"o_text"}=@$_[1];
        $qust->{"o_img"}=@$_[2];
        $qust->{"o_user_id"}=@$_[3];
        $qust->{"user_name"}=@$_[4];
        $qust->{"real_name"}=@$_[5];
        $qust->{"date"}=@$_[6];
        $qust->{"time"}=@$_[7];
        $qust->{"irtne"}=@$_[8];
        push @data,$qust;
        }
      $y->{"item"}=\@data;
      $y->{"error"}=" ";
      $y->{"last_siru"}=$sirus->[0]->[0];
      }
    }

  my $xs = new XML::Simple();
  print "Content-Type:text/xml; charset=utf8\n\n";

  print $xs->XMLout($y, NoAttr => 1, RootName=>'sirusem',XMLDecl => "<?xml version='1.0' encoding='utf-8'?>", NoIndent => 1);
  }

sub get_online_id {
  use XML::Simple;

  my $id=$in->param("id");
  my %y;

  if ($id eq "" || $id=~/\D/) {
    $y->{"error"}="Not_New_Sirus";
    }
  else {
    my $where;
    $prf_=$dbh->quote($prf);

    $qu=qq~SELECT text_src FROM all_news_online WHERE id=$id~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $siru_text=$myd->fetchrow_array;

    if ($siru_text eq "") {
      $y->{"error"}="Not_New_Sirus ($id)";
      }
    else {
      $y->{"news_id"}=$id;
      $y->{"news_text"}=$siru_text;
      $y->{"error"}=" ";
      }
    }

  my $xs = new XML::Simple();
  print "Content-Type:text/xml; charset=utf8\n\n";

  print $xs->XMLout($y, NoAttr => 1, RootName=>'sirusem',XMLDecl => "<?xml version='1.0' encoding='utf-8'?>", NoIndent => 1);
  }


sub out_hipar {
  my $id=shift;
  my $up=shift;
  my $fuser=shift;
  my $nuser=shift;
  my $text=shift;
  my $icon=shift;
  my $date=shift;
  my $img=shift;
  my $subj=shift;
  my $type=shift;
  my $img_opis=shift;
  my $nurl=shift;
  my $view=shift;
  my $LO=shift;
  my $nuser_rname=shift;
  my $tema=shift;
  my $blog_id=shift;
  my $blog_text=shift;
  my $blog_uid=shift;
  my $blog_u_name_=shift;
  my $blog_u_name=shift;
  my $blog_u_rname=shift;
  my $blog_u_srname=shift;
  my $blog_view=shift;
  my $img_tip=shift;

  my $upncolor=qq~white~;
  my $edit;
  my %brubs=('blog'=>$lng{"Sumla_samah"},'shuhash'=>$lng{"Shuhash"},'intervyu'=>$lng{"Intervyu"},'reclama'=>$lng{"Reclama"},'online'=>$lng{"News_Online"},'tavlashu'=>$lng{"Tavlashu"},'kasakla'=>$lng{"Kasakla"});
  my $blog_rubric='';

  my $news_online=0;
  if ($blog_id!=0) {

    if ($text=~/^\<p\>(blog|shuhash|intervyu|reclama|online|tavlashu|kasakla)=/i) {
      $blog_rubric=$brubs{$1};
      }

    $text=$blog_text.qq~<div style='background-color: #f7ff0017;padding: 15px;margin-bottom: 15px;border-radius: 5px;color: #eb9a5e;font-family: "Liberation Serif",sans-serif;font-style: italic;font-size: 10pt;'>$lng{"Blog_Author_Kileshu"}</div>~;
    $view=$blog_view;
    
    #Измение имени на кун кенекинчен
    if ($blog_u_name_ ne "") {
      $nuser=$blog_u_name_;
      $fuser=0;
      }
    else {
      $nuser=$blog_u_name;
      $fuser=1;
      $nuser_rname=$nuser;
      $nuser_rname=$blog_u_rname if $blog_u_rname ne "";
      $nuser_rname=$blog_u_srname if $blog_u_srname ne "";
      }
    }
  elsif ($text=~/^\<p\>(online)=(.+)<\/p>/is) {
    $text='<p>'.$2.'</p>';
    $news_online=1;
    $blog_rubric=$lng{"News_Online"};
    $type=2;
    }

  my $psim="|";
#  $psim="|" if $type==1; 

  if ($group>2) {
    $edit=qq~
      <a style='color:#b16f1c;' href="/cgi-bin/index.cgi?a=edit&id=$id">$lng{"edit"}</a> $psim
      <a style='color:#b16f1c;' href="/cgi-bin/index.cgi?a=del&id=$id" onclick="return confirmLink(this, '$lng{"Del_Confirm"}')">$lng{"del"}</a> $psim
      <a style='color:#b16f1c;' href="/cgi-bin/moder.cgi?a=up&id=$id">$lng{"news_up"}</a>
    ~;
    $edit.=qq~$psim <a style='color:#b16f1c;' href="/cgi-bin/moder.cgi?a=down&id=$id">$lng{"news_down"} ($up)</a>~ if $up>0;
    $edit.=qq~ $psim $view $lng{"Blog_View_All"}~ if $type!=1;
    }

  if ($nuser_rname eq "") {
    $nuser_rname=$nuser;
    }

  if ($fuser==1) {
    $user_out=qq~<a style='color:#b16f1c;' href="/cgi-bin/user.cgi?a=vv&anketa=$nuser"><b>$nuser_rname</b></a>~;
    }
  else {
    $user_out=$nuser;
    }

  if ($up>0) {
    $upncolor=qq~white~;
    }
  if ($type!=1 && $type!=2) {
    if ($text!~/<!\-\-\s*BREAK\s*\-\->/i) {
      $text=~s/(<(.+?)>)/&nodot($1)/ges;
      $text=~s/(.{2000}.*?[\.\!\?]).+/$1<p><a href="\/news\/$id.html"><b>$lng{"Dalee"}...<\/b><\/a><\/p>/s;
      $text=~s/_P-а-N_С-h-a_/\./gs;
      $text=~s/_Y-i-T_u-u-U_/\?/gs;
      $text=~s/_K-a-S_H-k-A_/\!/gs;
      }
    else {
      $text=~s/(.+?)<!\-\-\s*BREAK\s*\-\->.+/$1<p><a href="\/news\/$id.html"><b>$lng{"Dalee"}...<\/b><\/a><\/p>/si;
      }
    }
  else {
    if ($blog_id==0) {
      $qu="UPDATE ".$prf."_news SET view=view+1 where id=".$id;
      ($dbh->do($qu)) or &error("$DBI::errstr $qu");
      }
    else {
      $qu="UPDATE all_blogs SET views=views+1 where id=".$blog_id;
      ($dbh->do($qu)) or &error("$DBI::errstr $qu");
      }
    }

  my $other_lang=join "",@$LO;
#  $text=platassi($text);

  $qu="select name from ".$prf."_news_tags where news_id=".$id;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $tgs_=$myd->fetchall_arrayref;
    
  foreach (@$tgs_) {
    if ($type!=1) {
      $_='<a href=\'/news/tags/'.@$_[0].'/1\'>#'.@$_[0].'</a>';
      }
    else {
      $_='<a href=\'/news/tags/'.@$_[0].'/1\'>#'.@$_[0].'</a>';
      }
    }
  $tags=join ", ",@$tgs_;

  if ($tags ne "") {
    if ($type!=1 && $type!=2) {
      $tags="<div class='tags' style='color:#d3b035;'>".$tags."</div>";
      }
    else {
      #$tags="<div class='tags' style='color:#d3b035;margin:10px 10px 0px 10px; '><span style='font-family:Courier New'>&#9632;</span>&nbsp;".$tags."</div>";
      $tags="<p class='news_tags'>".$tags."</p>";
      }
    }
  
  my $tema_bgcolor="#000000";
  my $tema_color="#FFFFFF";
  
  my @tcolor=split(/,/,$lng{"News_Color"});
  my @tbgcolor=split(/,/,$lng{"News_BGColor"});

  $tema_color=$tcolor[$icon] if $tcolor[$icon] ne "";
  $tema_bgcolor=$tbgcolor[$icon] if $tbgcolor[$icon] ne "";

  my $icon_out;
  if ($icon!=0) {
    if ($blog_id==0 && $news_online==0) {
      $icon_out=qq~<span class='tema' style="color:$tema_color;background-color:$tema_bgcolor"><a href='/news/tema/${icon}_$tema->{$icon}.html'>$tema->{$icon}</a></span>~;
      }
    else {
      $icon_out=qq~<div style='margin:0 5px 15px 5px'><span class='tema' style='float: right;color: #9C531C;background-color: rgba(231, 255, 0, 0.15);margin-right: 0px;'>$blog_rubric</span>
      <span class='tema' style="color:$tema_color;background-color:$tema_bgcolor"><a href='/news/tema/${icon}_$tema->{$icon}.html'>$tema->{$icon}</a></span>
      <div class='clear'></div>
      </div>~;
      }
    }
  
  my $calendar=get_calendar($date);
  
  my $nimg_out;
  if ($img ne "") {
    if ($img_tip==1) {
      $nimg_out=qq~<div class='clear'></div><div class='news_kantak' style='clear:none;width: 100%;margin-top: 15px;'>
       <img src='$www_img_url/News/$prf/$id.$img' style='margin-left:0px;width: 100%;' alt='$img_opis'>~;
      $nimg_out.=qq~<br /><div class='news_kantak_text'><div class='news_kantak_text_i'>$img_opis</div></div>~ if $img_opis ne "";
      $nimg_out.=qq~</div>~;
      }
    else {
      $nimg_out=qq~<span class='news_kantak'>
       <img src='$www_img_url/News/$prf/$id.$img' style='margin-left:0px;max-width: 300px;' alt='$img_opis'>~;
      $nimg_out.=qq~<br /><div class='news_kantak_text'><div class='news_kantak_text_i'>$img_opis</div></div>~ if $img_opis ne "";
      $nimg_out.=qq~</span>~;
      }
    }

  my $news_source_link;
  if ($nurl ne "" && $nurl ne "http://") {
    my $nfurl=$nurl;
    $nfurl=~s/^(.{30}).+?(.{25})$/$1...$2/;
    $news_source_link=qq~<div style='margin-left:10px;'>$lng{"News_Sourse_Out"}: <noindex><a href='$nurl' style='color:#999999;' target='_blank'>$nfurl</a></noindex></span></div>~;
    }
  my $twitter_link;
  if ($type==1 || $type==2) {
    $twitter_link=qq~
<script type="text/javascript">(function() {
  if (window.pluso)if (typeof window.pluso.start == "function") return;
  if (window.ifpluso==undefined) { window.ifpluso = 1;
    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
    s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true;
    s.src = ('https:' == window.location.protocol ? 'https' : 'http')  + '://share.pluso.ru/pluso-like.js';
    var h=d[g]('body')[0];
    h.appendChild(s);
  }})();</script>
<div class="pluso" style='text-align:right;float:right;margin-right:20px;' data-background="none;" data-options="medium,square,line,horizontal,nocounter,sepcounter=1,theme=14" data-services="vkontakte,odnoklassniki,twitter,google,email,print"></div>
    ~;
    $twitter_link=qq~
<!-- uSocial -->
<script async src="https://usocial.pro/usocial/usocial.js?v=6.1.4" data-script="usocial" charset="utf-8"></script>
<div class="uSocial-Share" style='text-align:right;' data-pid="65d06aa12fe8a76d9d2b7730b70552de" data-type="share" data-options="round-rect,style1,default,absolute,horizontal,size32,eachCounter1,counter1,counter-after" data-social="twi,ok,vk,telegram,bookmarks" data-mobile="vi,wa,sms"></div>
<!-- /uSocial -->
~;
    
    }

  my $head_out;

  if ($type!=1 && $type!=2) {
    $head_out=qq~<div class='hipar_head_top' style='background-color:$upncolor;'>$calendar<h3 class='hipar_head'><a href='/news/$id.html'><span style="color:#af2900;">$subj</span></a>
  <div class='tags' style='color:#b16f1c;'><span style='font-family:Courier New;'>&#9632;</span>&nbsp;<b>$user_out</b> (<i>$date</i>) $edit</div></h3></div>
  ${other_lang}$tags
    ~;
    }
  else {
    $head_out=qq~<div style='padding: 10px 0px 20px 10px;'><b>$user_out</b> | $date | $edit $view $lng{"Blog_View_All"}</div>~;
    }

  if ($type eq "" || $type==0) {

    print qq~<tr><td style='padding:0px 0px 0px 0px'>
<div class='hipar_head_top' style='background-color:$upncolor;'>$calendar<h3 class='hipar_head'><a href='/news/$id.html'><span style="color:#af2900;">$subj</span></a>
  <div class='tags' style='color:#b16f1c;'><span style='font-family:Courier New;'>&#9632;</span>&nbsp;<b>$user_out</b> $psim <i>$date</i> $psim $edit</div></h3></div>
  $tags
    <div class='hipar_text'>$icon_out $nimg_out $text</div>
    $twitter_link
    $news_source_link
    <div class='clear'>&nbsp;</div>
    <br></td></tr>
    ~;
    }
  elsif ($type==2) {
    $edit=" | ".$edit if $edit ne "";
    print qq~<tr><td style='padding:0px 0px 0px 0px'>
    ${other_lang}
    <div style='padding: 0px 10px 10px 10px;'><img src='/images/user-i.png' width='20' height='20' style='margin-right:7px;vertical-align:middle;'><b>$user_out</b> <span style='float:right;text-align:right;'>$date | $view $lng{"Blog_View_All"} $edit</span></div>
      <div class='hipar_text'>$icon_out $nimg_out<div class='clear'></div><div style='margin: 10px 0 35px;text-shadow: 0 5px 10px #985454;background-color: #f0bebe;padding: 7px 15px;border-radius: 10px;'>$text $tags</div></div>
      ~;
    if ($group>2) {
      my $err_out;
      if (keys %error) {
        $err_out=qq~<span style='color:red'><b>$lng{"error"}</b>:</span><span style='font-style:italic'>~;
        foreach my $var (sort keys %error) {
          $err_out.="<li style='list-style:none inside none;'>".$var.": ".$error{$var}."</li>\n";
          }
        $err_out.="</span><br>";
        }

      print qq~<div style='margin-bottom: 25px;background-color: #e6e5c0;padding: 10px 15px;'>$err_out<form action='/cgi-bin/index.cgi' method='POST' enctype="multipart/form-data">
      <input type='hidden' name='a' value='addonline'>
      <input type='hidden' name='id' value='$id'>
      IMG: <input type='file' name='file' style='border:none;background-color: transparent;'><br />
      <textarea style='width: calc( 100% - 15px);height: 100px;' name='online_text'></textarea><br/>
      <input type='submit' value='$lng{"Send"}' style=''><br/>
      
      </form>
      </div>~;
      }

    print qq~<div style='' id='online_area'>~;
    my $prf_=$dbh->quote($prf);

    $qu=qq~SELECT o.id,o.text,o.img,o.user_id,u.name,r.rname,DATE_FORMAT(o.kertne,'%Y.%m.%d'),DATE_FORMAT(o.kertne,'%H:%i'),TO_DAYS(n.added)-TO_DAYS(o.kertne) FROM all_news_online o
      LEFT JOIN all_users u ON u.id=o.user_id
      LEFT JOIN all_users_rname r ON r.user_id=u.id
      LEFT JOIN ${prf}_news n ON n.id=o.news_id
      WHERE news_id=$id AND lang=$prf_ ORDER BY o.kertne DESC~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $onlinen=$myd->fetchall_arrayref;

    foreach (@$onlinen) {
      my $nus_name=@$_[4];
      $nus_name=@$_[5] if @$_[5] ne "";
      my $date;

      if (@$_[8]>1) {
        $date=qq~@$_[6] ~;
        }
      elsif (@$_[8]==1) {
        $date=qq~$lng{"Ener"}, ~;
        }

      my $img_out;
      my $edit;

      if (@$_[2] ne "") {
        if (@$_[2] ne "mp3") {
          $img_out=qq~<div class='online_img_area'><img src='/images/online/@$_[0].@$_[2]'></div>~;
          }
        else {
          $img_out=qq~<div><audio style='width:100%' controls="" src="/images/online/@$_[0].@$_[2]"></audio></div>~;
          }
        }
      if ($group>2) {
        $edit=qq~ &nbsp; &nbsp; &nbsp; <a style='color:#b16f1c;' href="javascript:edit_online(@$_[0])">e</a> &nbsp; &nbsp; &nbsp; <a style='color:#b16f1c;' href="/cgi-bin/index.cgi?a=delonline&id=@$_[0]" onclick="return confirmLink(this, '$lng{"Del_Confirm"}')">x</a>~;
        }

      print qq~<div class='online_area' id='noid_@$_[0]'><div class='online_head'><a style='float:right' href='/cgi-bin/user.cgi?a=vv&anketa=@$_[4]'>$nus_name</a><span class='online_time'>$date@$_[7]$edit</span></div>
      $img_out
      <div class='online_text'>@$_[1]</div>
      </div>
      ~;
      }
    
    
    print qq~</div>
      <script>
       var varTarsshe=10000;
       var LastOnline=0;
       var nId=$id;
       var uGroup=$group;
       var DelConfirm='$lng{"Del_Confirm"}';
       var Erne='$lng{"Ener"}';
      </script>      
      <script type="text/javascript" src="/js/news_online.js"></script>
    $twitter_link
    $news_source_link
  
    <div class='clear'>&nbsp;</div>
    <br></td></tr>
    ~;
    }
  else {
    $edit=" | ".$edit if $edit ne "";
    my $ru_anonce;
    if ($prf eq "ru") {
      $ru_anonce=$lng{"Other_News_Chuvash_View"};
      }
    print qq~<tr><td style='padding:0px 0px 0px 0px'>
    ${other_lang}
    <div style='padding: 0px 10px 10px 10px;'><img src='/images/user-i.png' width='20' height='20' style='margin-right:7px;vertical-align:middle;'><b>$user_out</b> <span style='float:right;text-align:right;'>$date | $view $lng{"Blog_View_All"} $edit</span></div>
      <div class='hipar_text'>$icon_out $nimg_out $text$tags$ru_anonce</div>
    $twitter_link
    $news_source_link
  
    <div class='clear'>&nbsp;</div>
    <br></td></tr>
    ~;
    }
}


sub index2 {
#  my $shead;
#  $bn_head->{"Banner_Title"}=$lng{"Welcome_Banner"};
#  $bn_head->{"Banner"}=$lng{"Welcome_Banner_Text"};
  $shead->{"Serach_CGI"}="index";
  $shead->{"JavaScript"}=qq~<link rel="stylesheet" href="/style_menu_2.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/style_index2_.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="/borda.css" type="text/css" media="screen" />
    <!--[if IE 6]><link rel="stylesheet" href="/style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="/style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="/script_menu.js"></script>
~;

  my $vn_out;
  if ($group>2) {
    
    $qu="select count(*) from ".$prf."_news where flag=1";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MC=$myd->fetchrow_array;
    
    $qu="select count(*) from all_blog_comments where tereslene=0";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $MCC=$myd->fetchrow_array;

    push @menu_item,qq~<li><a href='/moder/md.html' title='$lng{"moder"}'><span class="t">$lng{"moder"} ($MC/$MCC)</span></a></li>~;
    }
  push @menu_item,qq~<li><a href='/news/a/tags.html' title='$lng{"Tags"}'><span class="t">$lng{"Tags"}</span></a></li>~;
  push @menu_item,qq~<li><a href='/news/a/newsa.html' title='$lng{"add"}'><span class="t">$lng{"add"}</span></a></li>~;

  $qu="select id FROM ".$prf."_news n WHERE flag=0 AND n.added<now() ORDER BY n.added desc limit 40,1";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $max__=$myd->fetchrow_array;

  $qu="select n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,0,photo,
            n.blog_id,b.text_,b.top_image,b.user_id,b.views
     FROM ".$prf."_news n
     LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
     LEFT JOIN all_users_rname r ON u.id=r.user_id
     LEFT JOIN all_blogs b ON b.id=n.blog_id
     WHERE flag=0 AND n.blog_id=0 AND n.added<now() AND n.id>$max__ AND UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.added)<604800
       ORDER BY sort_ desc,n.view desc limit 0,5";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $rm_=$myd->fetchall_arrayref;

  if (@$rm_<5) {
    $qu="select n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,0,photo,
            n.blog_id,b.text_,b.top_image,b.user_id,b.views
     FROM ".$prf."_news n
     LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
     LEFT JOIN all_users_rname r ON u.id=r.user_id
     LEFT JOIN all_blogs b ON b.id=n.blog_id
     WHERE flag=0 AND n.blog_id=0 AND n.added<now() AND n.id>$max__
       ORDER BY sort_ desc,n.view desc limit 0,5";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $rm_=$myd->fetchall_arrayref;
    }

  my @tmp; my @tmp2; my @tmp3;
  my ($vn_img_data,$vn_name_data,$vn_id_data,$vn_img_out);
  foreach (@$rm_) {
    push @tmp,qq~"@$_[0].@$_[9]"~;
    @$_[8]=~s/"/\\"/gsi;
    if ($group>2) {
      @$_[8]=@$_[8]." (@$_[12])";
      }
    push @tmp2,qq~"@$_[8]"~;
    push @tmp3,qq~@$_[0]~;
    }
  $vn_img_data=join ",",@tmp;
  $vn_name_data=join ",",@tmp2;
  $vn_id_data=join ",",@tmp3;
  $vn_img_out=qq~/images/News/$prf/$rm_->[0]->[0].$rm_->[0]->[9]~;
  $shead->{"JavaScript"}.=qq~<style>
#vn_main_news {
  width:100%;
  height:63vw;
  max-height:450px;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position:relative;
  border:1px solid rgb(144, 74, 34);
  }
#vn_news_img {
  width:100%;
  align-self:center;
  }
#vn_news_link {
  width:100%;
  align-self:center;
  }
.vn_news_title {
position: absolute;
background-color: rgba(251, 255, 182, 0.85);
width: 100%;
bottom: 0px;
padding: 10px 15px;
box-sizing: border-box;
height: 67px;
border-top: 1px solid rgb(255, 244, 14);
text-shadow: 0px 0px 5px white,0px 0px 10px white,0px 0px 3px white;
font-size: 16pt;
border-bottom: 10px solid rgba(233, 148, 113, 0.22);
  }
.vn_news_title h3 {
  margin: 0px;
  text-overflow:ellipsis; 
  white-space: nowrap; 
  overflow: hidden;
  position:relative;
  color: rgb(131, 47, 12);
  }
.vn_news_title h3 a { 
  color:inherit;
  }
#vn_caretka {
  width:100px;
  background: rgba(203,14,0,0.7);
  position:absolute;
  bottom:0px;
  left:0px;
  z-index:2;
  height:10px;
  }
.vn_news_select {
  position: absolute;
  top: 0px;
  height: 10px;
  background-color: rgba(236, 174, 162, 0.48);
  width: 100%;
  border-bottom: 1px solid rgba(227, 154, 140, 0.51);
  }
.vn_sel_item {
  height: 10px;
  width:20%;
  display:inline-block;
  border-right: 1px solid rgba(227, 154, 140, 0.51);
  box-sizing: border-box;
  cursor:pointer;
  }
.vn_sel_item_cur {
  background-color: rgba(203,14,0,0.7);
  }
</style>
<script type="text/javascript" language="javascript">
</script>
~;

  $vn_out=qq~<div style='margin-bottom: 10px;'>
<div id='vn_main_news'  onMouseOver='javascript:vn_set_current("$prf")'  onMouseOut='javascript:vn_out_current("$prf")' style=''><div class='vn_news_select' id='vn_sel_area'></div><div class='vn_news_title'><h3 id='vn_news_yat'><a 
href='/news/$rm_->[0]->[0].html'>$rm_->[0]->[8]</a></h3></div><a href='/news/$rm_->[0]->[0].html' id='vn_news_link'><img class='vn_img_news' id='vn_news_img' src='$vn_img_out'></a>
<span id='vn_caretka'>&nbsp;</span>
</div>
</div>
<script type="text/javascript" language="javascript">
var vn_Prf="$prf";
var Sites= new Array($vn_img_data);
var SNames= new Array($vn_name_data);
var SIds= new Array($vn_id_data);
var CNews=0; var CPos=0; 
var varSavram=1000;
var varWCaretka=100;
var varTarsshe=10;
var varSCaretka=-100;
var varAdd=2;
var TPos=varSCaretka;

vn_set_cur_news();

function changeNews() {
  CPos=CPos+varAdd;
  var CurWidth=document.getElementById("vn_main_news").clientWidth;
  TPos=TPos+(CurWidth/(varSavram-varWCaretka*2)*varAdd);
  var outPos=Math.round(TPos);
  document.getElementById("vn_caretka").style.left=outPos+"px";
  var setHeight=Math.round(CurWidth*63/100);
  document.getElementById("vn_main_news").style.height=setHeight+"px";

  if (CPos > varSavram) {
    CPos=0;TPos=varSCaretka;
    CNews++;
    if (CNews>4) {CNews=0};
    document.getElementById("vn_news_img").style.opacity=1;
    document.getElementById("vn_news_img").src="/images/News/"+vn_Prf+"/"+Sites[CNews];
    document.getElementById("vn_news_link").href="/news/"+SIds[CNews]+".html";
    document.getElementById("vn_news_yat").innerHTML="<a href='/news/"+SIds[CNews]+".html'>"+SNames[CNews]+"</a>";

    vn_set_cur_news();
    }
  }
function vn_set_news(Cur_News) {
  CNews=Cur_News;
  CPos=0;TPos=varSCaretka;
  document.getElementById("vn_news_img").style.opacity=1;
  document.getElementById("vn_news_img").src="/images/News/"+vn_Prf+"/"+Sites[CNews];
  document.getElementById("vn_news_link").href="/news/"+SIds[CNews]+".html";
  document.getElementById("vn_news_yat").innerHTML="<a href='/news/"+SIds[CNews]+".html'>"+SNames[CNews]+"</a>";
  vn_set_cur_news();
  }

function vn_set_cur_news() {
  //vn_sel_area
  var outSelArea='';
  for (var i=0;i<5;i++) {
    var selItem='';
    if (CNews==i) {
      selItem=' vn_sel_item_cur';
      }
    outSelArea+="<span class='vn_sel_item"+selItem+"' onclick='javascript:vn_set_news("+i+");'>&nbsp;</span>";
    }
  document.getElementById("vn_sel_area").innerHTML=outSelArea;
  }


function vn_set_current() {
  clearInterval(vn_newsID);
  }
function vn_out_current() {
  vn_newsID = setInterval(changeNews,varTarsshe);
  }

vn_newsID = setInterval(changeNews,varTarsshe);

</script>

~;

  &headprint($lng{"News"},$shead);

  $p = $in->param("p");
  $tag = $in->param("id");

  my $tema=&get_razdi;

  if ($lng{"Borda_Razdels"} ne "") {
    require "borda.pm";
    
    my @razdels=split(/,/,$lng{"Borda_Razdels"});
    my @razdel_colors=split(/,/,$lng{"Borda_Razdels_Color"});
    my @r_links=split(/,/,$lng{"Borda_Razdel_Links"});

   
    my $qu="SELECT id,if (char_length(text_)>80,concat(left(text_,80),'...'),text_),razdel,tel,sihanu,tip FROM ${prf}_borda WHERE moder=1 ORDER BY upla DESC LIMIT 0,3";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $bdata=$myd->fetchall_arrayref;

    my $adm_a_;
    if ($group>2) {
      $adm_a_.=qq~<a href='/moder/amd.html'>$lng{"Tereslev"}</a> &nbsp;~;
      }
    

#    foreach (@$bdata) {
#      foreach my $x (@$_[1],@$_[3],@$_[4]) {$x=Encode::decode_utf8($x);}
#      }
    
    print qq~<script type="text/javascript" src="/js/borda.js"></script>
    <div style='display: grid;'>
    <div style='color: #ff5d00; padding: 5px; font-size: 14pt;'><span style='float:right;font-size:80%'>$adm_a_<a href='/cgi-bin/borda.cgi?a=add'>$lng{"add_advert"}</span><a style='color:inherit' href='/borda'>$lng{"Adverts"}</a></div>~;
    &out_borda($bdata,\@razdel_colors,\@razdels,$lng{"Advert_Help_Click"},\@r_links);
    print qq~<div style='border-top: 1px solid #f9a473;height:15px;'></div></div>~;
    
    }

  my @menu_items;
  push @menu_item,qq~<li><a href='/rss.xml' title='RSS'><span class="t">RSS</span></a></li>~;

  my $rm_;
  my $main_id=0;

  my $img_text=qq~<div class='news_kantak_text'><div class='news_kantak_text_i'>$rm_->[0]->[10]</div></div>~ if $rm_->[0]->[10] ne "";

  my $nw_;
  $qu="select n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,
              0,UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.added),DATE_FORMAT(now(),'\%d.\%m.\%Y'),photo, 
              n.blog_id,b.text_,b.top_image,b.user_id,b.views,'Выбираем косметологический комбайн'
       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       WHERE flag=0 AND n.added<now() AND UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.added)<129600
         ORDER BY sort_ desc,n.added desc";
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  $nw_=$myd->fetchall_arrayref;

  my $hipar_mise=@$nw_;
  if ($hipar_mise<9) {
    $qu="select n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,
                0,UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.added),DATE_FORMAT(now(),'\%d.\%m.\%Y'),photo, 
                n.blog_id,b.text_,b.top_image,b.user_id,b.views,'Выбираем косметологический комбайн'
       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       WHERE flag=0 AND n.added<now() 
         ORDER BY sort_ desc,n.added desc LIMIT 0, 12";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $nw_=$myd->fetchall_arrayref;
    }
  elsif (($hipar_mise/3)!=int($hipar_mise/3)) {
    while (($hipar_mise/3)!=int($hipar_mise/3)) {
      $hipar_mise++;
      }
    $qu="select n.id,sect,n.name,user,n.text_,icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),sort_,n.subj,img,img_opis,url,view,olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,
              0,UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.added),DATE_FORMAT(now(),'\%d.\%m.\%Y'),photo, 
              n.blog_id,b.text_,b.top_image,b.user_id,b.views,'Выбираем косметологический комбайн'
       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       WHERE flag=0 AND n.added<now()
         ORDER BY sort_ desc,n.added desc LIMIT 0,$hipar_mise";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $nw_=$myd->fetchall_arrayref;
    }
  
  my $left_column;
  my @tcolor=split(/,/,$lng{"News_Color"});
  my @tbgcolor=split(/,/,$lng{"News_BGColor"});

  #Ci sulti hipar valli
  my ($tema_color_,$tema_bgcolor_)=('#FFF','#000');
  $tema_color_=$tcolor[$rm_->[0]->[1]] if $tcolor[$rm_->[0]->[1]] ne "";
  $tema_bgcolor_=$tbgcolor[$rm_->[0]->[1]] if $tbgcolor[$rm_->[0]->[1]] ne "";
  my $view_;
  if ($group>2) {
    $rm_->[0]->[12]=$rm_->[0]->[27] if $rm_->[0]->[23]!=0;
    $view_=qq~ ($rm_->[0]->[12])~;
    }
  my $photo_;
  $photo_=qq~&nbsp;<img src='/images/photo.png' width='17' height='12' border='0' class='photo_news'>~ if $rm_->[0]->[22]==1;

#  $left_column=qq~
#    <div class='index_right_item_top' onmouseout='javascript:index_right_hup($rm_->[0]->[0]);' onmouseover='javascript:index_right_us($rm_->[0]->[0]);'>
#    <span class='blog_line_avatar'><a href='/news/$rm_->[0]->[0].html'><img src='/images/News/$prf/icon/$rm_->[0]->[0].$rm_->[0]->[9]' border='0' width='38' height='38'></a></span>
#      <span  class='index_date_main index_date_right' style='color: #AA8E6A;'>$rm_->[0]->[6]</span>
#      <span class='index_right_sect' id='nitem$rm_->[0]->[0]' style='background-color:$tema_bgcolor_;color:$tema_color_;display:none;'>$tema->{$rm_->[0]->[1]}</span><h4 class='index_right_head'><a href='/news/$rm_->[0]->[0].html' title='$rm_->[0]->[8]'>$rm_->[0]->[8]$photo_</a>$view_</h4>
#      <div class='clear'></div>
#    </div>
#    ~;


  my $nn=0;my $no=0;

  my $l_column=0;

  foreach (@$nw_) { # --- vivid sulahay
    last if @$_[20]>86400 && $nn>20;
    $nn++;$no++;
    my $color=qq~#AA8E6A~;

    my ($vd_style_time);
    my $vd_style;#=qq~ style='border-left: 110px solid rgb(228, 138, 120);'~;

    if (@$_[6]=~/^@$_[21]/) {
      $color="#4C4C4C;"; 
      @$_[6]=~s/^@$_[21]\s*//;
      $vd_style='';
      $vd_style_time=qq~ style='font-size: 18px;text-shadow: 0 0 5px #373737;'~;
      }
    elsif (@$_[20]<86400) {
      $color="#737373;"; 
#      $vd_style=qq~ style='border-left: 110px solid rgb(242, 115, 91);'~;
      $vd_style_time=qq~ style='font-size: 15px;text-shadow: 0 0 5px #373737;'~;
#      @$_[6]='';
      }
    else {
#      @$_[6]='';
      }
    
    my $view;
    if ($group>2) {
      @$_[12]=@$_[27] if @$_[23]!=0;
      $view=qq~ (@$_[12])~;
      }

    my ($tema_color,$tema_bgcolor)=('#FFF','#000');
    $tema_color=$tcolor[@$_[1]] if $tcolor[@$_[1]] ne "";
    $tema_bgcolor=$tbgcolor[@$_[1]] if $tbgcolor[@$_[1]] ne "";
    my $photo;
    $photo=qq~&nbsp;<img src='/images/photo.png' width='17' height='12' border='0' class='photo_news'>~ if @$_[22]==1;

    my $image_link=qq~/images/News/$prf/icon/@$_[0].@$_[9]~;
    my ($videlit,$videlit2);

    $l_column=$l_column+59;
    my $n_avatarr=qq~ class='avatar_news'~;

    if (@$_[9] eq "") {
      $image_link=qq~/images/blogs/0.jpg~;
      }
    if (@$_[23]!=0) {
      $image_link=qq~/images/blogs/@$_[23].@$_[25]~;
      $videlit=qq~ index_right_blog~;
      $videlit2=qq~ index3_news_blog~;
      $n_avatarr='';
      $l_column=$l_column+34;
      }
    my ($act_style,$tvtl_out,$av_out);
    if (@$_[7] ne "0000-00-00 00:00:00") {
      $act_style=qq~ style='border-bottom: 5px solid rgba(216, 79, 52, 0.74);background: linear-gradient(to bottom, transparent 60%,rgba(216, 79, 52, 0.30) 100%);'~;
      $tvtl_out=qq~ style='font-size: 16pt;margin-top: 3px;'~;
      $av_out=qq~ style='background-color: rgba(255, 255, 255, 0.65);margin-left: 5px;'~;
      $videlit2=qq~ index3_news_actual~;
      }
#    @$_[6]=~s/\s/<br \/>/gs;

#    $left_column.=qq~<div class='index2_news_area'>
#  <span class='index2_news_head$videlit2'$vd_style><div><span class='index2_sect' style='background-color:$tema_bgcolor;color:$tema_color;'>$tema->{@$_[1]}</span></div><h4 style='margin:0'><a href='/news/@$_[0].html' title='@$_[8]'>@$_[8]$photo</a>$view</h4>
#  <a href='/news/@$_[0].html' class='index2_img_link'><img class='index2_news_img' src='$image_link'$n_avatarr></a></span>
#  <span class='index2_news_time'$vd_style_time>@$_[6]</span>
#</div>
#~;
#    $left_column.=qq~<div class='index3_news_area'>
#    <div class='index3_news_col_area'><div class='index3_news_col_left'>
#    <a href='/news/@$_[0].html' class='index3_img_link'><img class='index3_news_img' src='$image_link'$n_avatarr></a></span>
#  <span class='index3_news_time'$vd_style_time>@$_[6]</span>
#    </div>
#    <div class='index3_news_col_right'>
#      <span class='index3_news_head$videlit2'$vd_style><div><span class='index3_sect' 
#      style='background-color:$tema_bgcolor;color:$tema_color;'>$tema->{@$_[1]}</span></div><h4 style='margin:0'><a href='/news/@$_[0].html' title='@$_[8]'>@$_[8]$photo</a>$view</h4></span>
#    </div>
#</div></div>
#~;
    $left_column.=qq~<div class='index3_news_area$videlit2'><a href='/news/@$_[0].html' 
    class='index3_img_link'><img class='index3_news_img' src='$image_link'$n_avatarr></a><span class='index3_news_time'$vd_style_time>@$_[6]</span><div><span 
    class='index3_sect' style='background-color:$tema_bgcolor;color:$tema_color;'>$tema->{@$_[1]}</span></div><span class='index3_news_head'$vd_style><h4 
    style='margin:0'><a href='/news/@$_[0].html' title='@$_[8]'>@$_[8]$photo</a>$view</h4></span>
    </div>
~;

    if ($no==2) {
    #  $left_column.=qq~<div class='clear'></div>~;
      $no=0;
      }
    }

  $left_column.=qq~
      </div>
      <div class='index_right_item'>
      <div style='text-align: right;font-size: 150%;padding-top: 5px;'><a href='/a/news/2.html'>$lng{"Dalee"} &#8594;</a></div>
      <div class='clear'></div>
    <style>
    .index3_img_link {display:flex;
     }
    .index3_news_img {}
    </style>

~;

  
  $l_column=$l_column-60;

  my $user_name_=$rm_->[0]->[2];

  $user_name_=$rm_->[0]->[17] if $rm_->[0]->[17] ne "";
  $user_name_=qq~<a href='/cgi-bin/user.cgi?a=vv&anketa=$rm_->[0]->[2]'>$user_name_</a>~ if $rm_->[0]->[3]==1;
  
  my $view;
  if ($group>2) {
    $view=qq~ ($rm_->[0]->[12])~;
    }
    
  my $main_image_link=qq~/images/News/$prf/$rm_->[0]->[0].$rm_->[0]->[9]~;

#  if ($prf eq "ru") {
#    $qu=qq~SELECT 'Роза Провысова: Где выгодно купить кровельные материалы на Украине','Илона Лаушева: Что такое IPTV?','Виктор Дубинин: Где выгодно купить кухонную бытовую технику' FROM all_users~;
#    my $myd= $dbh->prepare($qu);
#    ($myd->execute) or &error("$DBI::errstr");
#    my @tezxcxcx=$myd->fetchrow_array;
#
##    $news_to_index=qq~<div style='padding: 15px;margin: 15px;background-color: #d2eaff;'><a href='/blogs/comments/5347.html'>$tezxcxcx[0]</a></div>
#    $news_to_index=qq~
#    <div style='padding: 15px;margin: 15px;background-color: #d2eaff;'><a href='/blogs/comments/5367.html'>$tezxcxcx[1]</a></div>
#    <div style='padding: 15px;margin: 15px;background-color: #d2eaff;'><a href='/blogs/comments/5362.html'>$tezxcxcx[2]</a></div>~;
#    }

  print qq~
<script type="text/javascript" language="javascript">
function index_right_us(Item) {
  document.getElementById("nitem"+Item).style.display="";
  }
function index_right_hup(Item) {
  document.getElementById("nitem"+Item).style.display="none";
  }
</script>
  $vn_out
  <div>
    <div class='index3_news_block'>
      $news_to_index
      $left_column
      </div>
    <div class='clear'></div>

    <div><ul class="news_menu">~;
  
  print join "",@menu_item;

  print qq~</ul></div><div class="cleared"></div>

  </div>
  ~;

 # foreach (@$rm_) {
 #   &out_hipar(@$_[0],@$_[7],@$_[3],@$_[2],@$_[4],@$_[1],@$_[6],@$_[9],@$_[8],0,@$_[10],@$_[11],@$_[12],\@l,@$_[17],$tema);
 #   }

  print qq~  </div>

    </div>
    <div class='cecek'></div>
  </div>
 


  ~;

  # Telegram
  if ($prf eq "ch" || $prf eq "ru") {
    open (FTG,'src/'.$prf.'_senkapkan.dat');
    my @tmp=<FTG>;
    close (FTG);
    print join '',@tmp;
    }

#  # Video
#
#  $qu=qq~SELECT vid,ch_name,ru_name,en_name,eo_name,ch_id,link,unix_timestamp(pub_date),o_name FROM all_videos WHERE viewed=1 ORDER BY pub_date DESC LIMIT 0,1~;
#  my $myd= $dbh->prepare($qu);
#  ($myd->execute) or &error("$DBI::errstr $qu");
#  my @new_video=$myd->fetchrow_array;
#  my $nv_=$dbh->quote($new_video[0]);
#
#  $qu=qq~SELECT pub_date FROM all_videos WHERE viewed=1 AND vid NOT like $nv_ ORDER BY pub_date desc LIMIT 10,1~;
#  my $myd= $dbh->prepare($qu);
#  ($myd->execute) or &error("$DBI::errstr $qu");
#  my $pubed=$myd->fetchrow_array;
#  
#  $qu=qq~SELECT vid,ch_name,ru_name,en_name,eo_name,ch_id,link,unix_timestamp(pub_date),o_name FROM all_videos WHERE viewed=1 AND pub_date>='$pubed' AND vid NOT like $nv_ ORDER BY rand() LIMIT 0,2~;
#  my $myd= $dbh->prepare($qu);
#  ($myd->execute) or &error("$DBI::errstr $qu");
#  my $video=$myd->fetchall_arrayref;
#
#  my $vm_link;
#
#  if ($group>2) {
#    $vm_link=qq~<a href='/moder/vmd.html' style='float:right;'><img src='/images/cog.png' border='0' style='box-shadow: unset;'></a>~;
#    }
#
#  print qq~<div class='video_block'><h2 class='video_block_hd'>$vm_link<a href='/video'>$lng{"Videos"}</a></h2><div style='margin: 2px 0px;padding: 13px 0px 0px 0px;border-top: 1px solid #6690EE;border-bottom: 1px solid #6690EE;'>~;
#  my $ii=-1;
#  my @mar_col=('margin-right:5px;margin-left:5px;','margin-left:7px;');
#  my @width_col=('34','33');
#
#  # Out new video
#  $new_video[1]=$new_video[8] if $new_video[1] eq "" && $new_video[2] eq "" && $new_video[3] eq "" && $new_video[4]  eq "";
#  my $mass={"ch"=>$new_video[1],"ru"=>$new_video[2],"en"=>$new_video[3],"eo"=>$new_video[4]};
#  my $vname=&str_lang_out($mass,$prf);
#
#  print qq~<div style='width:33%;float:left;'>
#    <div style='margin-right:7px;'><a class='video_block_a' target='_blank' href='/video/$new_video[0].html'><img class='video_block_img' src='https://i2.ytimg.com/vi/$new_video[0]/hqdefault.jpg' width='100%' border='0'></a>
#    <h3 class='video_block_name'><a rel="nofollow" target='_blank' href='$new_video[6]'>$vname</a></h3>
#    </div>
#    </div>~;
#  # Out new video
#
#  #@$video=sort {$video->[$a]->[7] <=> $video->[$b]->[7]} @$video;
#  foreach (sort {@$b[7] <=> @$a[7]} @$video) {
#    $ii++;
#    @$_[1]=@$_[8] if @$_[1] eq "" && @$_[2] eq "" && @$_[3] eq "" && @$_[4]  eq "";
#    my $mass={"ch"=>@$_[1],"ru"=>@$_[2],"en"=>@$_[3],"eo"=>@$_[4]};
#    my $vname=&str_lang_out($mass,$prf);
#    print qq~<div style='width:$width_col[$ii]%;float:left;'>
#      <div style='$mar_col[$ii]'><a class='video_block_a' target='_blank' href='/video/@$_[0].html'><img class='video_block_img' src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg' width='100%' border='0'></a>
#      <h3 class='video_block_name'><a rel="nofollow" target='_blank' href='@$_[6]'>$vname</a></h3>
#      </div>
#      </div>~;
#    }
#    
#  print qq~<div class="cleared"></div></div>
#  <div style='height:30px;box-shadow: 0px 37px 20px -35px #6690EE inset;border-top: 1px solid #6690EE;'>&nbsp;</div>
#  </div>~;
#  # / Video

  # Gallery

  $qu=qq~SELECT a.id,a.name,(SELECT count(*) FROM all_photos WHERE albom_id=a.id),a.ch_name,a.ru_name,a.en_name,a.eo_name,a.cover_id FROM all_photo_albom a WHERE flag=3 ORDER BY top_time DESC, kertne DESC,id DESC LIMIT 0,1~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my @new_gallery=$myd->fetchrow_array;
 
  $qu=qq~SELECT id FROM all_photo_albom WHERE flag=3 AND id!=$new_gallery[0] ORDER BY kertne DESC,id DESC LIMIT 10,1~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $gal_cike=$myd->fetchrow_array;

  if ($gal_cike eq "") {
    $qu=qq~SELECT id FROM all_photo_albom WHERE flag=3 AND id!=$new_gallery[0] ORDER BY kertne,id LIMIT 0,1~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    $gal_cike=$myd->fetchrow_array;
    }
  
  $qu=qq~SELECT a.id,a.name,(SELECT count(*) FROM all_photos WHERE albom_id=a.id),a.ch_name,a.ru_name,a.en_name,a.eo_name,a.cover_id FROM all_photo_albom a WHERE flag=3 AND id>=$gal_cike AND id!=$new_gallery[0] ORDER BY rand() LIMIT 0,2~;
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my $gallery=$myd->fetchall_arrayref;

  my $gm_link;

  if ($group>2) {
    $gm_link=qq~<a href='/moder/gmd.html' style='float:right;'><img src='/images/cog.png' border='0' style='box-shadow: unset;'></a>~;
    }

  print qq~<div class='gallery_block'><h2 class='gallery_block_hd'>$gm_link<a href='/gallery'>$lng{"Sansem"}</a></h2><div style='margin: 2px 0px;padding: 13px 0px 0px 0px;border-top: 1px solid rgb(53, 162, 36);border-bottom: 1px solid rgb(53, 162, 36);'>~;
  my $ii=-1;
  my @mar_col=('margin-right:5px;margin-left:5px;','margin-left:7px;');
  my @width_col=('34','33');

  # Out new video
  
  # - video_yat=orig if yatsem suk
  $new_gallery[3]=$new_gallery[1] if $new_gallery[3] eq "" && $new_gallery[4] eq "" && $new_gallery[5] eq "" && $new_gallery[6] eq "";

  my $mass={"ch"=>$new_gallery[3],"ru"=>$new_gallery[4],"en"=>$new_gallery[5],"eo"=>$new_gallery[6]};
  my $vname=&str_lang_out($mass,$prf);
  #my $vname=$new_gallery[1];

  if ($new_gallery[7]==0) {
    $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=$new_gallery[0] ORDER BY id LIMIT 0,1~;
    }
  else {
    $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=$new_gallery[0] AND id=$new_gallery[7]~;
    }
  my $myd= $dbh->prepare($qu);
  ($myd->execute) or &error("$DBI::errstr $qu");
  my ($g_mini,$g_rash)=$myd->fetchrow_array;

  print qq~<div style='width:33%;float:left;'>
    <div style='margin-right:7px;'><a class='gallery_block_a' target='_blank' href='/gallery/$new_gallery[0].html'><img class='gallery_block_img' src="data:image/$g_rash;base64,$g_mini" width='100%' border='0'></a>
    <h3 class='gallery_block_name'><a rel="nofollow" target='_blank' href='/gallery/$new_gallery[0].html'>$vname</a> \[$new_gallery[2]\]</h3>
    </div>
    </div>~;
  # Out new gallery

  #@$video=sort {$video->[$a]->[7] <=> $video->[$b]->[7]} @$video;
  foreach (sort {@$b[7] <=> @$a[7]} @$gallery) {
    $ii++;
    @$_[3]=@$_[1] if @$_[3] eq "" && @$_[4] eq "" && @$_[5] eq "" && @$_[6] eq "";
    my $mass={"ch"=>@$_[3],"ru"=>@$_[4],"en"=>@$_[5],"eo"=>@$_[6]};
    my $vname=&str_lang_out($mass,$prf);
    #my $vname=@$_[1];
  
    if (@$_[7]==0) {
      $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=@$_[0] ORDER BY id LIMIT 0,1~;
      }
    else {
      $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=@$_[0] AND id=@$_[7]~;
      }
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    ($g_mini,$g_rash)=$myd->fetchrow_array;

    print qq~<div style='width:$width_col[$ii]%;float:left;'>
      <div style='$mar_col[$ii]'><a class='gallery_block_a' target='_blank' href='/gallery/@$_[0].html'><img class='gallery_block_img' src="data:image/$g_rash;base64,$g_mini" width='100%' border='0'></a>
      <h3 class='gallery_block_name'><a rel="nofollow" target='_blank' href='/gallery/@$_[0].html'>$vname</a> \[@$_[2]\]</h3>
      </div>
      </div>~;
    }
    
  print qq~<div class="cleared"></div></div>
  <div style='height:30px;box-shadow: 0px 37px 20px -35px rgb(46, 138, 33) inset;border-top: 1px solid rgb(48, 156, 32);'>&nbsp;</div>
  </div>~;
  # / Gallery


  print qq~
  <div> <!-- Pay -->
  ~;

# Index Sects
# 
open (FINDEX,qq~$basecgi/src/${prf}_index_sects.dat~);
my @findex=<FINDEX>;
close (FINDEX);

print join '',@findex;


# ----------------------------------------------------

  if ($lng{"New_Literature_Haylav"}) {
    print qq~
  </div>

    </div>
    <div class='cecek'></div>
  </div>

  <div class='chblock_green'>
    <h2 class='chblockhead_green'>$lng{"New_Literature_Haylav"}</h2>
    <div class='saltar'></div>
    <div class='chblocktext_green'>
    
      <div class="menu">
    <ul style='padding-left:0px;'>
    ~;

    $qu="select hv.id, hv.name, au.name, au.id, n_pays, hdate, tp.name, tp.id, hv.size from kn_haylav hv 
          left join kn_authors au on au.id=hv.author 
          left join kn_types tp on hv.type=tp.id where hv.type!=0
          order by hv.id desc limit 0,10";

    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $hv=$myd->fetchall_arrayref;

    foreach (@$hv) {
      @$_[8]=vishisep(@$_[8]);
      print qq~<li><a href='/lib/author/@$_[3].html'>@$_[2]</a>. <b><a href='/lib/haylav/@$_[0].html'>@$_[1]</b> | <a href='/lib/type/@$_[7].html'>@$_[6]</a> | @$_[8]</li>~;
      }
    print qq~</ul>~;

    }
  }

sub vishisep {
my $aa=shift;
$aa=reverse($aa);
$aa=~s/(\d{3})/$1 /gs;
$aa=reverse($aa);
$aa=~s/^ //;
$aa=~s/ /\&nbsp\;/g;
return($aa);
  }

sub get_calendar {
  my $date=shift;
  my ($day,$month)=$date=~/^(\d+)\.(\d+)/;
  my @shortmonth=split('\,',$lng{"Short_Month_Name"});
  return (qq~<div class='calendar_hipar'><table class='pulam_year_table'
      cellspacing='0' cellpadding='0' border='0'><tr><td class='pulam_year_up'>$shortmonth[$month]</td></tr>
      <td class='pulam_year_down'><a href='/calendar/$month$day.html'>$day</a></td></tr></table></div>~);
}

sub comm {
  &von;
  }





sub von {
  $id = $in->param("id");
  if ($id eq "" || $id=~/\D/) {
    &headprint($lng{"News"});
    &index;
    &bottomprint($shead);
    exit;
    }
  my $tema=&get_razdi;

  my $sel_where=qq~flag=0 and n.added<now() and~;
  $sel_where='' if $group>2;

  $qu="select n.id,n.sect,n.name,n.user,n.text_,n.icon,DATE_FORMAT(n.added,'\%d.\%m.\%Y \%H:\%i'),n.sort_,n.subj,n.img,n.img_opis,n.url,n.view, 
       olng_ch,olng_en,olng_eo,olng_ru,r.rname,n.iytam,n.blog_id,b.text_,b.top_image,b.user_id,b.views,b.user_name,u2.name,u2.rname,r2.rname,img_tip,n.also,b.comment
       FROM ".$prf."_news n
       LEFT JOIN all_users u ON (u.name=n.name AND n.user=1)
       LEFT JOIN all_users_rname r ON u.id=r.user_id
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       LEFT JOIN all_users u2 ON (u2.id=b.user_id)
       LEFT JOIN all_users_rname r2 ON u2.id=r2.user_id
       WHERE ".$sel_where." n.id=".$id;
  my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
  ($myd->execute) or &error("$DBI::errstr $qu");
  $rm_=$myd->fetchall_arrayref or &error("$DBI::errstr $qu");

  if ($rm_->[0]->[0] eq "") {
    &index2;
    &bottomprint($shead);
    exit;
    }

  my @news_head=$rm_->[0]->[8];#=~/<h2><font color="red">(.+?)<\/font><\/h2>/;

  if ($rm_->[0]->[1]!=0) {
    $lng{"News_One"}=$tema->{$rm_->[0]->[1]}.": ".$news_head[0] if $news_head[0] ne "";
    }
  else {
    $lng{"News_One"}.=": ".$news_head[0] if $news_head[0] ne "";
    }

  my @ol=($rm_->[0]->[13],$rm_->[0]->[14],$rm_->[0]->[15],$rm_->[0]->[16]);
  my %Onot=('ch'=>0,'en'=>1,'eo'=>2,'ru'=>3);
  my @LN=('ch','en','eo','ru');
  $ol[$Onot{$prf}]=0; #�� ��������� �������������
  my %langs_id=("cv"=>"http://chuvash.org",
        "ch"=>"http://chuvash.org",
        "en"=>"http://en.chuvash.org",
        "eo"=>"http://eo.chuvash.org",
        "ru"=>"http://ru.chuvash.org"
        );

  for (my $n=0;$n<@ol;$n++) {
    if ($ol[$n] ne "" && $ol[$n]>0) {
      $olng->{$LN[$n]}->{"Link"}=$langs_id{$LN[$n]}."/news/".$ol[$n].".html";
      $olng->{$LN[$n]}->{"Name"}=$lng{"Language_Out_".$LN[$n]};
      }
    }
   $shead->{"JavaScript"}=qq~
   <script type="text/javascript" src="/js/ajax.js"></script>
   <link rel="canonical" href="$langs_id{$prf}/news/$id.html" />
~;
    
#  if ( $rm_->[0]->[4]=~/\s*(<p>)?\s*online\s*=/i) {
#    $shead->{"JavaScript"}.=qq~<script type="text/javascript" src="/js/news_online.js"></script>
#    <script>
#    var varTarsshe=10000;
#    var LastOnline=0;
#    </script>
#    \n~;
#    }
  my $news_desc=$rm_->[0]->[4];

  my $comment_id=$id;
  my $out_form=1;

  if ($rm_->[0]->[19]!=0) {
    $news_desc=$rm_->[0]->[20];
    $comm_type=1;
    $comment_id=$rm_->[0]->[19];
    $out_form=0 if $rm_->[0]->[30]==0;
    }
  elsif ($news_desc=~/^\<p\>online\s*=/) {
    $news_desc=~s/^\<p\>online\s*=\s*(.+?)/<p>$1/s;
    }

  $news_desc=Encode::decode_utf8($news_desc);
  $news_desc=~s/\<.+?\>//sg;
  $news_desc=~s/^(.{60,}?[\.\!\?\r\n]+).+/$1/s;
  $news_desc=~s/\<.+?\>//gs;
  $news_desc=~s/^(.{180}).+/$1.../s if length($news_desc)>190;
  $news_desc=Encode::encode_utf8($news_desc);

  my $news_img="$langs_id{$prf}/chuvashorglogo.jpg";
  my $news_img_width="72";
  my $news_img_height="72";
  my $twcard="summary_large_image";

  use Image::Size;

  if ($rm_->[0]->[9] ne "") {
    my ($globe_x, $globe_y) = Image::Size::imgsize($basedir."/images/News/$prf/".$id.".".$rm_->[0]->[9]); 
    $news_img="$langs_id{$prf}/images/News/$prf/$id.$rm_->[0]->[9]";
    $news_img_width="$globe_x";
    $news_img_height="$globe_y";
    $twcard="summary" if $globe_x<280;
    $shead->{"OGImage"}=$news_img;
    }                                                        
  elsif ($rm_->[0]->[21] ne "") {
    my ($globe_x, $globe_y) = Image::Size::imgsize($basedir."/images/blogs/".$rm_->[0]->[19].".".$rm_->[0]->[21]); 
    $news_img="$langs_id{$prf}/images/blogs/$rm_->[0]->[19].$rm_->[0]->[21]";
    $news_img_width="$globe_x";
    $news_img_height="$globe_y";
    $twcard="summary" if $globe_x<280;
    $shead->{"OGImage"}=$news_img;
    }

  $shead->{"TwitterCard"}=qq~<meta property="og:description" content="$news_desc"/> 

<meta property="twitter:card" content="$twcard" />
<meta property="twitter:creator" content="\@ChuvashOrg">
<meta property="twitter:url" content="$langs_id{$prf}/news/$id.html" />
<meta property="twitter:title" content="$rm_->[0]->[8]" />
<meta property="twitter:description" content="$news_desc" />
<meta property="twitter:site" content="\@ChuvashOrg">
<meta property="twitter:image" content="$news_img" />
<meta property="twitter:image:width" content="$news_img_width" />
<meta property="twitter:image:height" content="$news_img_height" />
  ~;
  
  $shead->{"Other_Lang"}=$olng;
  $shead->{"NoRight"}=1;
  
  #----- Photos ------
  $qu="SELECT a.link,a.id,a.flag FROM ".$prf."_news n
       LEFT JOIN all_photo_albom a ON a.id=n.photo_albom
       WHERE photo_albom!=0 AND n.id=".$id;
  my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
  ($myd->execute) or &error("$DBI::errstr $qu");
  my ($ph_a_link,$ph_a_id,$ph_a_flag)=$myd->fetchrow_array;

  my $gallery_out;

  if ($ph_a_flag==3)  {
    $qu="SELECT id,url,rash,mini,opis FROM all_photos f
       WHERE albom_id=$ph_a_id";
    my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $fotos=$myd->fetchall_arrayref;

    $qu="SELECT count(*) FROM all_photos f  WHERE albom_id=$ph_a_id";
    my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $fotos_cnt=$myd->fetchrow_array;
    
    $shead->{"JavaScript"}.=qq~<link rel="stylesheet" type="text/css" href="/slider/slider-pro.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="/slider/examples.css" media="screen"/>
<script type="text/javascript" src="/slider/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/slider/jquery.sliderPro.min.js"></script>

<script type="text/javascript">
	\$( document ).ready(function( \$ ) {
		\$( '#gallery' ).sliderPro({
			width: 720,
			height: 540,
			fade: true,
			arrows: true,
			buttons: false,
			fullScreen: true,
			shuffle: false,
			smallSize: 500,
			mediumSize: 1000,
			imageScaleMode: 'contain',
			fadeFullScreen: false,
			largeSize: 3000,
			thumbnailArrows: true,
			autoplay: false
		});
	});
</script>~;
    
    $gallery_out.=qq~~;

    my ($minig,$maing);
    foreach (@$fotos) {
      $maing.=qq~<div class="sp-slide"><img class="sp-image" src="@$_[1]"/></div>~;
      $minig.=qq~<img class="sp-thumbnail" src="data:image/@$_[2];base64,@$_[3]"/>~;
      }

    $gallery_out.=qq~<tr><td><h3 class='ch1'>$lng{"Sansem"} ($fotos_cnt)</h3><div id="gallery" class="slider-pro">
		<div class="sp-slides">$maing</div><div class="sp-thumbnails">$minig</div></div></td></tr>
    ~;
    }

  #-//---- Photos ------

  $shead->{"JavaScript"}.=qq~<link rel="stylesheet" href="/borda.css" type="text/css" media="screen" />~;

  # Out_Menu
  $shead->{"Menu_Data"}=&get_menu($id);

  &headprint($lng{"News_One"},$shead);

  if ($lng{"Borda_Razdels"} ne "") {
    require "borda.pm";
    
    my @razdels=split(/,/,$lng{"Borda_Razdels"});
    my @razdel_colors=split(/,/,$lng{"Borda_Razdels_Color"});
    my @r_links=split(/,/,$lng{"Borda_Razdel_Links"});

   
    my $qu="SELECT id,if (char_length(text_)>80,concat(left(text_,80),'...'),text_),razdel,tel,sihanu,tip FROM ${prf}_borda WHERE moder=1 ORDER BY upla DESC LIMIT 0,3";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $bdata=$myd->fetchall_arrayref;

    my $adm_a_;
    if ($group>2) {
      $adm_a_.=qq~<a href='/moder/amd.html'>$lng{"Tereslev"}</a> &nbsp;~;
      }

    print qq~<script type="text/javascript" src="/js/borda.js"></script>
    <div style='display: grid;'>
    <div style='color: #ff5d00; padding: 5px; font-size: 14pt;'><span style='float:right;font-size:80%'>$adm_a_<a href='/cgi-bin/borda.cgi?a=add'>$lng{"add_advert"}</span><a style='color:inherit' href='/borda'>$lng{"Adverts"}</a></div>~;
    &out_borda($bdata,\@razdel_colors,\@razdels,$lng{"Advert_Help_Click"},\@r_links);
    print qq~<div style='border-top: 1px solid #f9a473;height:35px;'></div></div>~;
    
    }


#  print qq~
#    <table style='padding:0px 0px 0px 0px' cellpadding="0" cellspacing="0">~;

  foreach (@$rm_) {
    my @l;
    if (@$_[13]!=0 && @$_[13] ne "" && $prf ne 'ch') {
      push @l,qq~<span class='olang_flg_cv'><a href='http://chuvash.org/news/@$_[13].html'>$lng{"Read_News_Cv"}</a></span>~;
      }
    if (@$_[16]!=0 && @$_[16] ne "" && $prf ne 'ru') {
      push @l,qq~<span class='olang_flg_ru'><a href='http://ru.chuvash.org/news/@$_[16].html'>$lng{"Read_News_Ru"}</a></span>~;
      }
    if (@$_[14]!=0 && @$_[14] ne "" && $prf ne 'en') {
      push @l,qq~<span class='olang_flg_en'><a href='http://en.chuvash.org/news/@$_[14].html'>$lng{"Read_News_En"}</a></span>~;
      }
    if (@$_[15]!=0 && @$_[15] ne "" && $prf ne 'eo') {
      push @l,qq~<span class='olang_flg_eo'><a href='http://eo.chuvash.org/news/@$_[15].html'>$lng{"Read_News_Eo"}</a></span>~;
      }
    &out_hipar(@$_[0],@$_[7],@$_[3],@$_[2],@$_[4],@$_[1],@$_[6],@$_[9],@$_[8],1,@$_[10],@$_[11],@$_[12],\@l,@$_[17],$tema,@$_[19],@$_[20],@$_[22],@$_[24],@$_[25],@$_[26],@$_[27],@$_[23],@$_[28]);

    }

  
  print $gallery_out;
  
  if ($rm_->[0]->[18]!=0) { #encen te iytam pur pulsan
    $qu="select name,teple,s_open,tip FROM ${prf}_sas_iytu where id=".$rm_->[0]->[18];
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my @iytam=$myd->fetchrow_array;

    print qq~<h3 class='ch2'><a href='/iytam/$rm_->[0]->[18].html'>$iytam[0]</a></h3>
    <blockquote>$iytam[1]</blockquote>~;

    &iytam_out($rm_->[0]->[18],$sas_c,300,$iytam[2],$iytam[3]);
#    print qq~</td></tr>~;
    }

  print qq~<div class='banner728_content'>
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 728x90x2 -->
<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1696718739327811"
     data-ad-slot="4229496696"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>~;

  #Перешкел хыпарсем
  my $p_list;
  if ($rm_->[0]->[29] ne "") {
    
    $qu=qq~SELECT n.id,n.subj,DATE_FORMAT(n.added,'%Y, %m, %d'),n.img,n.icon,n.img_icon,n.blog_id,b.top_image 
       FROM `${prf}_news` n
       LEFT JOIN all_blogs b ON b.id=n.blog_id
       WHERE n.id IN ($rm_->[0]->[29])~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $taglisem=$myd->fetchall_arrayref;
  
    foreach (@$taglisem) {
      my $image=qq~<span class='blog_line_avatar'><img src='/images/News/$prf/icon/@$_[0].@$_[3]' width='32' height='32'></span>~;
      if (@$_[6]!=0) {
        $image=qq~<span class='blog_line_avatar_blue'><img src='/images/blogs/@$_[6].@$_[7]' width='32' height='32'></span>~;
        }
  
      $p_list.=qq~<div class='new_yish_yerke'><div class='new_yish_san'>$image</div><div class='new_yish_yat'><a href='/news/@$_[0].html' class='hipar_also_title'>@$_[1]</a><br />
        <span class='hipar_also_time'>@$_[2]</span></div></div>\n~;
      }
    if ($p_list ne "") {
      print qq~<h3 class='ch1'>$lng{"Also"}</h3><div class='new_yish_area'>$p_list</div>
      <style>
      .new_yish_area {}
      .new_yish_yerke {display: grid;grid-auto-columns: 45px auto;margin-bottom: 5px;}
      .new_yish_san {grid-area: 1;}
      .new_yish_yat {grid-area: 1;}
      </style>~;
      }

    }
    
#  print qq~<tr><td style='padding:0px 0px 0px 0px'>~;

  &out_comments ($comm_type,$comment_id); 

  my $return_comm_link=qq~/news/__ID__.html~;
  $return_comm_link=qq~/news/$id.html~ if $comm_type==1;

  &comm_form($comment_id,$comm_type,$return_comm_link,"blog.cgi") if $out_form==1; #if

#  print qq~
#  </td></tr>
#  </table>
#  ~;    

  &bottomprint($shead);
  }

sub get_menu {
  my $tema=shift; # not show

  open (FNEWS,qq~${prf}_menu_news.dat~);

  open (FNEWS,qq~$basecgi/src/${prf}_menu_news.dat~);
  my @fnews=<FNEWS>;
  close (FNEWS);

  my $out_data=join '',@fnews;
  return ($out_data);
  }

sub video {
  $id=$in->param("id");
  my $id_=$dbh->quote($id);
  $shead->{"NoRight"}=1;
  
  if ($id ne "") {
    $qu="SELECT count(*) FROM all_videos WHERE vid=".$id_;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $vk=$myd->fetchrow_array;
    $id="" if $vk<1;
    }
  if ($id ne "") {
    $qu="SELECT vid,o_name,ch_name,ru_name,en_name,eo_name,ch_id,v.link,DATE_FORMAT(pub_date,'%Y, %m, %d %H:%i'),ch.name,ch.link FROM all_videos v
      LEFT JOIN all_videos_ch ch ON ch.channel=v.ch_id WHERE viewed=1 AND vid=".$id_;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my @vids=$myd->fetchrow_array;

    my $mass={"ch"=>$vids[2],"ru"=>$vids[3],"en"=>$vids[4],"eo"=>$vids[5]};
    my $v_name=&str_lang_out($mass,$prf);
    &headprint($vids[9].": ".$v_name,$shead);
    

    $qu=qq~SELECT v.vid,v.o_name,v.ch_name,v.ru_name,v.en_name,v.eo_name,v.ch_id,v.link,DATE_FORMAT(v.pub_date,'%Y, %m, %d %H:%i'),ch.name,ch.link,count(t.tag_id) nn 
       FROM `all_video_tagsem` t 
       LEFT JOIN `all_videos` v ON t.vid=v.vid
       LEFT JOIN all_videos_ch ch ON ch.channel=v.ch_id 
       WHERE tag_id in (SELECT tag_id FROM all_video_tagsem ts WHERE ts.vid=$id_) AND v.viewed=1 AND v.vid!=$id_ AND pub_date>DATE_SUB(NOW(), INTERVAL 6 MONTH) 
       GROUP BY t.vid ORDER BY nn DESC,v.pub_date DESC LIMIT 0,3~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $also=$myd->fetchall_arrayref;
    my $also_out;
    
    if (@$also>0) {
      $also_out.=qq~<div><h3 class='ch1'>$lng{"Also"}</h3></div>~;
      my $ii=-1;
      my @mar_col=('margin-right:7px;','margin-right:5px;margin-left:5px;','margin-left:7px;');
      my @width_col=('33','34','33');
    
      foreach (@$also) {
        $ii++;
        my $mass={"ch"=>@$_[2],"ru"=>@$_[3],"en"=>@$_[4],"eo"=>@$_[5]};
        my $video_name=&str_lang_out($mass,$prf);
    
        $also_out.=qq~<div style='width:$width_col[$ii]%;float:left;'>
          <div style='$mar_col[$ii]'><a href='/video/@$_[0].html' style='position:relative;text-shadow: 0px 0px 5px #FFF,0px 0px 3px #FFF,0px 0px 1px #FFF;'><img 
          src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg' border='0' style='box-shadow: 0px 0px 3px #7e7e7e; margin:5px; width: calc(100% - 10px);'>
          <span style='background-color: rgba(247, 249, 209, 0.5);position: absolute;bottom: 3px;font-family: "Ubuntu Condensed",sans-serif;width: calc(100% - 24px);display: block;margin: 5px;padding: 5px;text-align: right;color:#65480D;'>@$_[8]</span></a>
          <h3 class='video_block_name' style='margin-bottom: 0px;'><a target='_blank' href='/video/@$_[0].html'>$video_name</a></h3>
          <div style='font-family: "Ubuntu Condensed",sans-serif;text-align: right;margin-right: 5px;'>@$_[9]</div>
          </div>
          </div>~;
        }
      $also_out.=qq~<div class="clear">&nbsp;</div>
      </div>~;
      }



    print qq~<iframe width="640" height="480" src="https://www.youtube.com/embed/$id" frameborder="0" allowfullscreen></iframe>
    <h3 class='video_block_name'>$v_name</h3>
    <div style='margin-top:50px;'>&nbsp;</div>
    $also_out
    <div class="encyc_tags"><a href='/video'>$lng{"Videos"}</a></div>
    ~;
    }
  else {  # Вывод списка
    my $n=20;
    my $st=0;
    my $p=$in->param("p");
    $p=1 if $p<1 || $p eq "";
   
    if ($p==1) {
      &headprint($lng{"Video_List"},$shead);

      $qu=qq~SELECT vid,ch_name,ru_name,en_name,eo_name,ch_id,link,unix_timestamp(pub_date),o_name FROM all_videos WHERE viewed=1 ORDER BY pub_date DESC LIMIT 0,3~;
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $video=$myd->fetchall_arrayref;

      $new_video[1]=$new_video[8] if $new_video[1] eq "" && $new_video[2] eq "" && $new_video[3] eq "" && $new_video[4]  eq "";
      my $mass={"ch"=>$new_video[1],"ru"=>$new_video[2],"en"=>$new_video[3],"eo"=>$new_video[4]};
      my $vname=&str_lang_out($mass,$prf);
    
      print qq~<div class='video_block'><h3 class='video_block_hd'><a href='/video'>$lng{"Blog_New_Notes"}</a></h3><div style='margin: 2px 0px;padding: 13px 0px 0px 0px;border-top: 1px solid #6690EE;border-bottom: 1px solid #6690EE;'>~;
      my @mar_col=('','margin-right:15px;','margin-right-:5px;margin-left-:5px;','margin-left-:7px;');
      my @width_col=('','70','30','30');
    
      foreach (sort {@$b[7] <=> @$a[7]} @$video) {
        $ii++;
        @$_[1]=@$_[8] if @$_[1] eq "" && @$_[2] eq "" && @$_[3] eq "" && @$_[4]  eq "";
        my $mass={"ch"=>@$_[1],"ru"=>@$_[2],"en"=>@$_[3],"eo"=>@$_[4]};
        my $vname=&str_lang_out($mass,$prf);

        print qq~<div style='width:$width_col[$ii]%;float:left;'>
          <div style='$mar_col[$ii]'><a class='video_block_a' target='_blank' href='/video/@$_[0].html'><img class='video_block_img' src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg' width='100%' border='0'></a>
          <h3 class='video_block_name'><a rel="nofollow" target='_blank' href='@$_[6]'>$vname</a></h3>
          </div>
          </div>~;
        }
    
      print qq~<div class="clear"></div></div>
      <div style='height:30px;box-shadow: 0px 37px 20px -35px #6690EE inset;border-top: 1px solid #6690EE;'><a href='/video/2.html' style='float: right;margin: 7px 15px;font-size: 110%;'>$lng{"User_Kunkeneki_Itti"}</a></div>
      </div>~;

      # ---- Channels 
      $qu="SELECT ch.name,ch.channel,count(ch.channel) FROM all_videos_ch ch 
           LEFT JOIN all_videos v ON ch.channel=v.ch_id 
           WHERE to_days(now())-to_days(v.pub_date)<121 GROUP BY v.ch_id ORDER BY count(ch.channel) desc, v.pub_date DESC LIMIT 0,3";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $chs=$myd->fetchall_arrayref;

      print qq~<h3 class='blog_main_head'>$lng{"Video_Channels"}</h3>~;

      my $ttcnt=0;
      my @twidth=(0,33,34,33);

      foreach (@$chs) {
        $ttcnt++;
        print qq~<div class='blog_tags_block' style='width:$twidth[$ttcnt]\%;'>
        <h4 class='blog_tags_head'>@$_[0]</h4>~;
        $ch_=$dbh->quote(@$_[1]);

        $qu="SELECT v.vid,v.ch_name,v.ru_name,v.en_name,v.eo_name,v.ch_id,v.link,unix_timestamp(v.pub_date),v.o_name 
             FROM all_videos v
             WHERE v.viewed=1 AND v.ch_id=$ch_ ORDER BY v.pub_date DESC LIMIT 0,1";
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my @tg_top=$myd->fetchrow_array;

        $tg_top[1]=$tg_top[8] if $tg_top[1] eq "" && $tg_top[2] eq "" && $tg_top[3] eq "" && $tg_top[4]  eq "";
        my $mass={"ch"=>$tg_top[1],"ru"=>$tg_top[2],"en"=>$tg_top[3],"eo"=>$tg_top[4]};
        my $vtop_name=&str_lang_out($mass,$prf);

        print qq~<img src='https://i2.ytimg.com/vi/$tg_top[0]/hqdefault.jpg' width='100%'>
        <p style='min-height:32px;font-size:13pt;'><span 
        class='blog_line_avatar'><img src='http://img.youtube.com/vi/$tg_top[0]/default.jpg' width='19' height='19'></span><a href='/video/$tg_top[0].html'>$vtop_name</a></p></div>~;

        }
      # ----- /// Channels ---

      $qu="SELECT t.id,t.cnt,count(t.id) FROM all_video_tagsem ts 
           LEFT JOIN all_videos v ON ts.vid=v.vid 
           LEFT JOIN all_blog_tags t ON t.id=ts.tag_id 
           WHERE to_days(now())-to_days(v.pub_date)<121 GROUP BY t.id ORDER BY count(t.id) desc, v.pub_date DESC LIMIT 0,9";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $tgs=$myd->fetchall_arrayref;

      print qq~<div class='clear'></div><h3 class='blog_main_head'>$lng{"Blog_Themes"}</h3>~;

      my @pulna;
      $ttcnt=0;
      foreach (@$tgs) {
        my ($tname,$tcnt)=&get_tag_lng(@$_[0]);
        $ttcnt++;
    
        print qq~<div class='blog_tags_block' style='width:$twidth[$ttcnt]\%;'>
        <h4 class='blog_tags_head'><a href='/blogs/tags/@$_[0].html'>$tname</a></h4>~;
    
        my $blogs_idds=0;
        $blogs_idds=join ",",@pulna if @pulna>0;
    
        $qu="SELECT v.vid,v.ch_name,v.ru_name,v.en_name,v.eo_name,v.ch_id,v.link,unix_timestamp(v.pub_date),v.o_name 
             FROM all_videos v
             LEFT JOIN all_video_tagsem ts ON ts.vid=v.vid
             WHERE v.viewed=1 AND ts.tag_id=@$_[0] AND v.vid not in ($blogs_idds) ORDER BY v.pub_date DESC LIMIT 0,1";
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my @tg_top=$myd->fetchrow_array;
    
        push @pulna,$dbh->quote($tg_top[0]);
        $blogs_idds=join ",",@pulna if @pulna>0;
    
        $qu="SELECT v.vid,v.ch_name,v.ru_name,v.en_name,v.eo_name,v.ch_id,v.link,unix_timestamp(v.pub_date),v.o_name 
             FROM all_videos v
             LEFT JOIN all_video_tagsem ts ON ts.vid=v.vid
             WHERE v.viewed=1 AND ts.tag_id=@$_[0] AND v.vid not in ($blogs_idds) ORDER BY v.pub_date DESC LIMIT 0,3";
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my $tg_blogs=$myd->fetchall_arrayref;
    
        $tg_top[1]=$tg_top[8] if $tg_top[1] eq "" && $tg_top[2] eq "" && $tg_top[3] eq "" && $tg_top[4]  eq "";
        my $mass={"ch"=>$tg_top[1],"ru"=>$tg_top[2],"en"=>$tg_top[3],"eo"=>$tg_top[4]};
        my $vtop_name=&str_lang_out($mass,$prf);
    
        print qq~<img src='https://i2.ytimg.com/vi/$tg_top[0]/hqdefault.jpg' width='100%'>
        <p style='min-height:32px;font-size:13pt;'><span 
        class='blog_line_avatar'><img src='http://img.youtube.com/vi/$tg_top[0]/default.jpg' width='19' height='19'></span><a href='/video/$tg_top[0].html'>$vtop_name</a></p>~;
    
    
        foreach my $ii (@$tg_blogs) {
          @$ii[1]=@$ii[8] if @$ii[1] eq "" && @$ii[2] eq "" && @$ii[3] eq "" && @$ii[4]  eq "";
          my $mass={"ch"=>@$ii[1],"ru"=>@$ii[2],"en"=>@$ii[3],"eo"=>@$ii[4]};
          my $vname=&str_lang_out($mass,$prf);
    
          print qq~<div>
          <p style='font-size:11pt;min-height:32px;'><span 
        class='blog_line_avatar'><img src='http://img.youtube.com/vi/@$ii[0]/default.jpg' width='19' height='19'></span><a href='/video/@$ii[0].html'>$vname</a></p></div>~;
          push @pulna,$dbh->quote(@$ii[0]);
          }
    
        print qq~</div>~;
    
        if ($ttcnt==3) {
          print qq~<div class='clear'></div>~;
          $ttcnt=0;
          }
        }

      $qu="SELECT count(*) FROM all_videos v WHERE viewed=1";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $count=$myd->fetchrow_array;
   
      $pages=int($count/$n);
      $pages++ if int($count/$n)!=$count/$n;

      }
    else { # для 2-ой страницы и далее
      $qu="SELECT count(*) FROM all_videos v WHERE viewed=1";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $count=$myd->fetchrow_array;
   
      my $pages=int($count/$n);
      $pages++ if int($count/$n)!=$count/$n;
      $p=$pages if $p>$pages;
      $st=$p*$n-$n-17;
      $st=0 if $st<0;
   
      $qu="SELECT vid,o_name,ch_name,ru_name,en_name,eo_name,ch_id,v.link,DATE_FORMAT(pub_date,'%Y.%m.%d %H:%i'),ch.name,ch.link FROM all_videos v
        LEFT JOIN all_videos_ch ch ON ch.channel=v.ch_id WHERE viewed=1 ORDER BY pub_date DESC LIMIT $st,$n";
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $vids=$myd->fetchall_arrayref;
   
      &headprint($lng{"Video_List"},$shead);

      foreach (@$vids) {
        my $mass={"ch"=>@$_[2],"ru"=>@$_[3],"en"=>@$_[4],"eo"=>@$_[5]};
        my $v_name=&str_lang_out($mass,$prf);

        my $vd_=$dbh->quote(@$_[0]);
        $qu="SELECT tag_id FROM all_video_tagsem WHERE vid=$vd_";
        my $myd= $dbh->prepare($qu);
        ($myd->execute) or &error("$DBI::errstr $qu");
        my $vtags=$myd->fetchall_arrayref;

        my @tmp;

        foreach my $tt (@$vtags) {
          my ($tname,$tcnt)=&get_tag_lng(@$tt[0]);
          push @tmp,"#".$tname if $tname ne "";
          }
        my $tag_out;
        if (@tmp>0) {
          $tag_out=join ", ",@tmp;  
          $tag_out="<p class='tag'>$tag_out</p>";
          }
   
        print qq~<div class='video_block_item'>
        <a href='/video/@$_[0].html'><img src='https://i2.ytimg.com/vi/@$_[0]/hqdefault.jpg' class='video_block_item_img' alt='$v_name' border='0'></a>
        <h3 class='video_block_name'><a href='/video/@$_[0].html'>$v_name</a></h3>
        <div class='video_pref'><p>$lng{"Channel"}: <a href='@$_[10]' target='_blank'><b>@$_[9]</b></a></p><p>$lng{"Hushna"}: <b>@$_[8]</b></p>$tag_out</div>
        <div class='clear'>&nbsp;</div>
        </div>~;
        }

  
      }

    if ($pages>1) {
      print "<div class='encyc_tags'>".$lng{"Pages"}.": ";
      my $sn=$p-10;
      $sn=1 if $sn<1;
      my $en=$p+10;
      $en=$pages if $en>$pages;

      print " <a href='/video/1.html'>1</a> " if $sn>1;
   
      print " ... " if $sn>2;
      
      for (my $ii=$sn;$ii<$en+1;$ii++) {
        if ($ii!=$p) {
          print " <a href='/video/$ii.html'>$ii</a>";
          }
        else {print " <b>\[".$ii."\]</b>"}
        print ", " if $ii!=$pages;
        }

      print " ..." if $en<$pages-1;
      
      print " <a href='/video/$pages.html'>$pages</a> " if $en<$pages;
      print "</div>\n";
      }

    }

  &bottomprint($shead);
  }

sub gallery {

  $id=$in->param("id");
  $shead->{"NoRight"}=1;
  
#  if ($id ne "") {
#    $qu="SELECT count(*) FROM all_photo_albom WHERE id=".$id;
#    my $myd= $dbh->prepare($qu);
#    ($myd->execute) or &error("$DBI::errstr $qu");
#    my $gk=$myd->fetchrow_array;
#    $id="" if $gk<1;
#    }

  if ($id ne "") {

    $qu="SELECT a.link,a.id,a.flag,a.name,a.ch_name,a.ru_name,a.en_name,a.eo_name,a.cover_id FROM all_photo_albom a WHERE a.id=".$id;
    my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
    ($myd->execute) or &error("$DBI::errstr $qu");
    my ($ph_a_link,$ph_a_id,$ph_a_flag,$ph_a_name,$ph_a_chname,$ph_a_runame,$ph_a_enname,$ph_a_eoname,$ph_a_cover)=$myd->fetchrow_array;
  
    my $gallery_out;
  
    if ($ph_a_flag==3)  {
      $qu="SELECT id,url,rash,mini,opis FROM all_photos f WHERE albom_id=$ph_a_id";
      my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $fotos=$myd->fetchall_arrayref;
  
      $qu="SELECT count(*) FROM all_photos f  WHERE albom_id=$ph_a_id";
      my $myd= $dbh->prepare($qu) or &error("$DBI::errstr $qu");
      ($myd->execute) or &error("$DBI::errstr $qu");
      my $fotos_cnt=$myd->fetchrow_array;
      
      $shead->{"JavaScript"}.=qq~<link rel="stylesheet" type="text/css" href="/slider/slider-pro.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="/slider/examples.css" media="screen"/>
<script type="text/javascript" src="/slider/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/slider/jquery.sliderPro.min.js"></script>

<script type="text/javascript">
	\$( document ).ready(function( \$ ) {
		\$( '#gallery' ).sliderPro({
			width: 720,
			height: 540,
			fade: true,
			arrows: true,
			buttons: false,
			fullScreen: true,
			shuffle: false,
			smallSize: 500,
			mediumSize: 1000,
			imageScaleMode: 'contain',
			fadeFullScreen: false,
			largeSize: 3000,
			thumbnailArrows: true,
			autoplay: false
		});
	});
  </script>~;
    
       $gallery_out.=qq~~;
  
      my ($minig,$maing);
      foreach (@$fotos) {
        $maing.=qq~<div class="sp-slide"><img class="sp-image" src="@$_[1]"/></div>~;
        $minig.=qq~<img class="sp-thumbnail" src="data:image/@$_[2];base64,@$_[3]"/>~;
        }
  
      $gallery_out.=qq~<div id="gallery" class="slider-pro">
		<div class="sp-slides">$maing</div><div class="sp-thumbnails">$minig</div></div>
      ~;
      }
  
    $ph_a_chname=$ph_a_name if $ph_a_chname eq "" && $ph_a_runame eq "" && $ph_a_enname eq "" && $ph_a_eoname eq ""; 
    my $mass={"ch"=>$ph_a_chname,"ru"=>$ph_a_runame,"en"=>$ph_a_enname,"eo"=>$ph_a_eoname};
    my $v_name=&str_lang_out($mass,$prf);
    #my $v_name=$ph_a_name;

    &headprint($lng{"Sansem"}.": ".$v_name,$shead);
    


    print qq~
    <!--h3 class='video_block_name'>$v_name</h3-->
    $gallery_out
    <div class="encyc_tags"><a href='/gallery'>$lng{"Sansem"}</a></div>
    ~;
    }
  else {
    my $n=20;
    my $st=0;
   
    $qu="SELECT count(*) FROM all_photo_albom WHERE flag=3";
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $count=$myd->fetchrow_array;

    my $p=$in->param("p");
    my $pages=int($count/$n);
    $pages++ if int($count/$n)!=$count/$n;
    $p=$pages if $p>$pages;
    $p=1 if $p<1;
    $st=$p*$n-$n;
    $st=0 if $st<0;

    $qu=qq~SELECT a.id,a.name,(SELECT count(*) FROM all_photos WHERE albom_id=a.id),DATE_FORMAT(a.kertne,'%Y.%m.%d %H:%i'),ch_name,ru_name,en_name,eo_name,a.cover_id FROM all_photo_albom a WHERE flag=3 ORDER BY a.id DESC LIMIT $st,$n~;
    my $myd= $dbh->prepare($qu);
    ($myd->execute) or &error("$DBI::errstr $qu");
    my $gallery=$myd->fetchall_arrayref;
   
    my $gm_link;
   
    if ($group>2) {
      $gm_link=qq~<a href='/moder/gmd.html' style='float:right;'><img src='/images/cog.png' border='0' style='box-shadow: unset;'></a>~;
      }

    &headprint($lng{"Sansem"},$shead);

    foreach (@$gallery) {
      $ii++;
      @$_[4]=@$_[1] if @$_[4] eq "" && @$_[5] eq "" && @$_[6] eq "" && @$_[7]  eq "";
      my $mass={"ch"=>@$_[4],"ru"=>@$_[5],"en"=>@$_[6],"eo"=>@$_[7]};
      my $v_name=&str_lang_out($mass,$prf);
      #my $v_name=@$_[1];
    
      if (@$_[8]==0) {
        $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=@$_[0] ORDER BY id LIMIT 0,1~;
        }
      else {
        $qu=qq~SELECT mini,rash FROM all_photos WHERE albom_id=@$_[0] AND id=@$_[8]~;
        }
      my $myd= $dbh->prepare($qu);
      ($myd->execute) or &error("$DBI::errstr $qu");
      my ($g_mini,$g_rash)=$myd->fetchrow_array;
  
      my $tmp=$lng{"Gallery_On_Photos"};
      $tmp=~s/__COUNT__/@$_[2]/gs;

      print qq~<div style='margin-bottom: 15px;border-bottom: 1px dotted rgba(27, 147, 116, 0.54);padding-bottom: 25px;'>
      <a href='/gallery/@$_[0].html'><img src='data:image/$g_rash;base64,$g_mini' class='gallery_block_img' style='margin:10px 20px 0px;float:left;width:200px;' alt='$v_name' border='0'></a>
      <h3 style='padding-top:10px;margin-top:0px;font-size:17pt;' class='gallery_block_name'><a href='/gallery/@$_[0].html'>$v_name</a></h3>
      <div class='gallery_pref' style=''>$tmp<br />$lng{"Hushna"}: <b>@$_[3]</b><br /></div>
      <div class='clear'>&nbsp;</div>
      </div>~;

      }
    

    if ($pages>1) {
      print "<div class='encyc_tags'>".$lng{"Pages"}.": ";
      my $sn=$p-10;
      $sn=1 if $sn<1;
      my $en=$p+10;
      $en=$pages if $en>$pages;

      print " <a href='/gallery/1.html'>1</a> " if $sn>1;
   
      print " ... " if $sn>2;
      
      for (my $ii=$sn;$ii<$en+1;$ii++) {
        if ($ii!=$p) {
          print " <a href='/gallery/$ii.html'>$ii</a>";
          }
        else {print " <b>\[".$ii."\]</b>"}
        print ", " if $ii!=$pages;
        }

      print " ..." if $en<$pages-1;
      
      print " <a href='/gallery/$pages.html'>$pages</a> " if $en<$pages;
      print "</div>\n";
      }
    }

  &bottomprint($shead);
  }


sub ban {
  $prichina=$in->param("m");
  $prichina="паллă мар..." if $prichina eq "";
  $prichina=Encode::decode_utf8($prichina);

      print "Content-Type:text/html;charset='utf-8'\n\n";
      print qq~<html>
<head>
<title>Чăваш халăх сайчĕ</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="10; url=$link" window-location="_top">
<link type="text/css" href="/style.css" rel="stylesheet">
</head>
<body bgcolor="white" style='background-color:white'>
<center>
<table cellpadding='0' cellspacing='0' border='0' width="500" height='100%'>
<tr align='center' valign='middle'><td><center>
<table cellpadding='0' cellspacing='0' border='0'>
<tr><td><div style='text-align:right;border-bottom:2px solid yellow'><img src='/images/star.gif'>&nbsp;<img src='/images/star.gif'>&nbsp;<img src='/images/star.gif'>&nbsp;</td></tr>
<tr><td><div style='text-align:center;'> 
<center><h2>Cирĕн IP-пе вăхăтлăха ĕçлеме чарнă</h2>
<p>Сăлтавĕ: $prichina</p>
Кăштах кěтěр, сире кирлě страницăна куçаратпăр...
<br><br>
(<a href='$link'>е, кěтес килмет пулсан кунта пусăр</a>)</center>
</div>
</td></tr>
<tr><td><div style='text-align:left;border-top:2px solid yellow'>&nbsp;<img src='/images/star.gif'>&nbsp;<img src='/images/star.gif'>&nbsp;<img src='/images/star.gif'>&nbsp;</td></tr>
</table>
</center>
</td></tr></table></center>
</body>
</html>\n~;
  }



sub chname_ {
my $nn=$_[0];
my $ename=0;
my $nn_=$dbh->quote($nn);
$qu="select count(*) from all_users where name = $nn_"; 
my $myd= $dbh->prepare($qu);
($myd->execute) or &error("$DBI::errstr $qu");
my $kolvo=$myd->fetchrow_array;
$ename=1 if $kolvo>0;
return($ename);
  }

sub nodot {
  my $a=shift;
  $a=~s/\./_P-а-N_С-h-a_/g;
  $a=~s/\?/_Y-i-T_u-u-U_/g;
  $a=~s/\!/_K-a-S_H-k-A_/g;
  return ($a);
  }


sub controlhtml {
  my $a=shift;
  $a=~s/\</\&lt;/g;
  $a=~s/\>/\&gt;/g;
  $a=~s/\r//g;
  $a=~s/\n+/<br>/g;
  $a=~s/\&lt;([BbIiUuSs])\&gt;(.+?)\&lt;\/\1\&gt;/<$1>$2<\/$1>/g;
  $a=~s/\&lt;(pre|h1|h2|h3|sub|sup|ul|li|ol)\&gt;(.+?)\&lt;\/\1\&gt;/<$1>$2<\/$1>/g;
  $a=~s/\&lt;!--(.+?)--\&gt;/<!--$1-->/g;
  $a=~s/\&lt;br\&gt;/<br>/g;
  $a=~s/\&lt;img(.+?)\&gt;/&imgsrc($1)/gsie;
  $a=~s/\&lt;a(.+?)\&gt;(.+?)\&lt;\/a\&gt;/&asrc($1,$2)/gsie;
  $a=~s/\&lt;iframe width="(\d+\%*)" height="(\d+)"( scrolling="no"|) src="([^\"]+?)" *( frameborder=".*"| title=".*"| gesture="media"| allow="encrypted-media"| allowfullscreen|)*\&gt;\&lt;\/iframe\&gt;/\<iframe width="$1" height="$2"$3 src="$4" frameborder="$5"$6\>\<\/iframe\>/gsi;
  $a=~s/\&lt;iframe((\s*width="(\d+\%*)"|\s*height="(\d+)"|\s*src="([^\"]+?)"|\s*style=".+?"|\s*scrolling="no"|\s*allowfullscreen|\s*frameborder="(\d+|no)"|\s*allow="[^"]+")*)\&gt;\&lt;\/iframe\&gt;/\<iframe$1\>\<\/iframe\>/gsi;
  $a=~s/\&lt;html\&gt;(.+?)\&lt;\/html\&gt;/&yurathtml($1)/gsie;

  $a=&persasp($a);
  return ($a);
  }

sub yurathtml {
  my $v=shift;
  $v=~s/\&lt;/\</g;
  $v=~s/\&gt;/\>/g;
  return ($v);
  }

sub imgsrc {
  my $v=shift;
  my @alink=split(/ +/,$v);
  foreach (@alink) {
    if (/^src=/i && not /(jpg|png|gif|jpeg|tiff|svg|webp)('|"|)$/i) {
      $_='src=\'\'';
      }
    s/javascript/java_script/ig;
    }
  $v=join " ",@alink;
  return ("<img $v>")
  }

sub asrc {
  my $v=shift;
  my $t=shift;
  my @alink=split(/ +/,$v);
  foreach (@alink) {
    s/javascript/java_script/ig;
    }
  $v=join " ",@alink;
  return ("<a $v>$t<\/a>")
  }


sub enc {
  my $v=shift;

  $v=~s/\~\~(.+?)\~\~/<i>$1<\/i>/gs;
  $v=~s/\*\*(.+?)\*\*/<b>$1<\/b>/gs;
  
#  $v=~s/(\<br\>)+/<br>/gs;

  my @abz=split /\<br\>/,$v;
  my @ab;
  foreach (@abz) {
    if (/^\<h(2|1) /i) {
      push @ab,$_;
      next;
      }
    my @style;
    if ($_=~/^\{\{(.+?)\}\}.+/) {
      push @style,$1;
      $_=~s/^\{\{.+?\}\}\s*(.+)/$1/s;
      }

    if ($_=~/^\&lt;\&lt;/) {
      $_=~s/^\&lt;\&lt;\s*//;
      push @style,qq~text-align:left;'~;
      }
    elsif ($_=~/^\&gt;\&gt;/) {
      $_=~s/^\&gt;\&gt;\s*//;
      push @style,qq~text-align:right;'~;
      }
    elsif ($_=~/^\&lt;\&gt;/) {
      $_=~s/^\&lt;\&gt;\s*//;
      push @style,qq~text-align:justify;'~;
      }
    elsif ($_=~/^\&gt;\&lt;/) {
      $_=~s/^\&gt;\&lt;\s*//;
      push @style,qq~text-align:center;'~;
      }

    if ($_=~/^(:+) /) {
      my $ks=length($1);
      $_=~s/^(:+) //;
      $ks=$ks*40;
      if ($ks>0) {push @style,qq~padding-left:${ks}px;'~}
      }
    my $st='';
    my $kk=@style;
    if ($kk>0) {$st=join ";",@style; $st=qq~ style='$st'~;}
    push @ab,"<p$st>".$_."</p>";
    }
  $v=join "",@ab;

  
  $v=~s/__(.+?)__/&lnk($1)/ges;
  $v=~s/(?<!\\)___(.+?)___/<u>$1<\/u>/gs;
  $v=~s/(\%\%(.+?)\%\%(.+?)\%\%\/(\2)\%\%)/&bclr($1,$2,$3,$4)/ges;
  $v=~s/(\%(.+?)\%(.+?)\%\/(\2)\%)/&clr($1,$2,$3,$4)/ges;
  $v=~s/::(.+?):(.+?)::/<span class='comm' title='$2'>$1<\/span>/gs;
  return ($v);
  }

sub dnc {
  my $v=shift;
  $v=~s/<span class='comm' title='(.+?)'>(.+?)<\/span>/\:\:$2\:$1\:\:/gs;
  $v=~s/<font color="(.+?)">(.+?)<\/font>/\%$1\%$2\%\/$1\%/gs;
  $v=~s/<span style='background-color:(.+?);'>(.+?)<\/span>/\%\%$1\%\%$2\%\%\/$1\%\%/gs;
  $v=~s/<u>(.+?)<\/u>/___$1___/gs;
  $v=~s/<a href='\/e\/(.+?)'>(.+?)<\/a>/dlnk($1,$2)/ges;
  $v=~s/<a href='\/cgi\-bin\/ee\.cgi\?id=(.+?)'>(.+?)<\/a>/__$1__/gs;
  $v=~s/<a (target='blank' |)href='(.+?)'>(.+?)<\/a>/__$2|$3__/gs;
  $v=~s/<b>(.+?)<\/b>/\*\*$1\*\*/gs;
  $v=~s/<i>(.+?)<\/i>/\~\~$1\~\~/gs;
  return ($v);
  }

sub dlnk {
  my $v=shift;
  my $v2=shift;
  $v=~s/\n/NNN/g;
  my $v1=$v;
  $v1=~s/(..)/pack("C",hex($1))/eg;
  if ($v1 eq $v2) {return "__".$v2."__"}
  else {return("__".$v1."|".$v2."__");}
  }

sub lnk {
  my $v=shift;
  if ($v=~/\|/) {
    $v=~/(.+)\|(.+)/;
    $l=$1;
    $s=$2;
    my $trg="";
    if ($l=~/^https*/) {
      $trg=" target='blank' class='exlink'";
      }
    elsif ($l=~/^audio:\/\//) {
      $l=~s/^audio/http/;
      return (qq~<audio controls="" src="$l"></audio>~);
      }
    elsif ($l=~/^[\/]/) {
      $l=$l;
      }
    else {
#      $l=~s/(.)/unpack("H2",$1)/eg;
      $l="/wiki/".$l;
      }
    return ("<a$trg href='".$l."'>".$s."</a>");
    }

  else {
#    $vv=$v;
#    $vv=~s/(.)/unpack("H2",$1)/eg;
    return ("<a href='/wiki/".$v."'>".$v."</a>");
    }
  }

sub clr {
  my $is=shift;
  my $v=shift;
  my $t=shift;
  my $c=shift;
  if ($v ne $c) {return($is)}
  else {
    return("<font color=\"".$v."\">".$t."</font>");
    }
  }

sub bclr {
  my $is=shift;
  my $v=shift;
  my $t=shift;
  my $c=shift;
  if ($v ne $c) {return($is)}
  else {
    return("<span style='background-color:".$v.";'>".$t."</span>");
    }
  }

sub get_razdi {
  my $tema;
  my @aa=split(/\,/,$lng{'News_Temasem'});

  for (my $i=0;$i<@aa;$i++) {
    $tema->{$i}=$aa[$i];
    }
  return ($tema);
  }

