Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - kott

Страницы: [1]
1
Веб-технологии / Верно ли? (rss)
« : 30 Января 2005, 11:41:53 »
Господа! Подкорректируйте чайника!
Сделал для своих статичных чтмл страниц rss:
создал файл rss.xml с таким вот содержанием:

- xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-
  сайт
  урл
  ххх...
  Sun, 30 Jan 2005 10:40:25 +0300
  ru
  ххх
  хх@ххххх.ru
  хххх
-
  тема
  урл
  урл
  текст
  Sun, 30 Jan 2005 04:25:25 +0300
  ххх
 


 

рсс ридер читает, рсс валидатор говорит ок!
Далее глупые вопросы:
1) Правильный ли код - что например означают xmlns:dcterms, xmlns:dc... вроде если оставить просто все тоже работает и валидно?
2) является ли такой рсс полноценным - можно ли его импортировать в дружественный сайт, например?
2) пардон, а какую кнопочку надо ставить "rss" "xml"?
Надеюсь не особо разгневал вас своей некомпетентностью!

2
у меня есть простейший скрипт голосования:

#!/usr/bin/perl

print "Content-type:text/html\\n\\n";
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
       @pairs = split(/&/, $buffer);

       foreach $pair (@pairs)
       {
           ($name, $value) = split(/=/, $pair);
            $FORM{$name} = $value;
      $FORM{\'req\'}=~s/ //g;
                   }

open (LOG,"@ST = ;
close (LOG);
foreach $line (@ST)
{
chop $line;
}

if ($FORM{\'put\'} eq "yes")
{
$ST[0]++;
}
elsif ($FORM{\'put\'} eq "no")
{
$ST[1]++;
}
else
{
$ST[2]++;
}
open (LOG,">stats.log");
flock LOG, 2;
print LOG "$ST[0]\\n";
print LOG "$ST[1]\\n";
print LOG "$ST[2]\\n";
close (LOG);

#calculate percentages

$hundred = $ST[0]+$ST[1]+$ST[2];
$yes = 100*$ST[0]/$hundred;
$yes = int ($yes);
$no = 100*$ST[1]/$hundred;
$no = int ($no);
$op = 100-$yes-$no;
print <<"EOF";






Results:

$hundred people have voted!

EOF
print "";
print "";
print "";

print <<"EOF";
Yes";
while ($num < $yes)
{
print "";
$num++;
}
print "
$yes%
No";
while ($nm < $no)
{
print "";
$nm++;
}
print "
$no%
No opinion";
while ($nmi < $op)
{
print "";
$nmi++;
}

print "
$op%


EOF

подскажите чайнику как добавить в него функцию защиты от накруток (определение ип), а главное как сделать, чтобы просмотр результатов происходил не автоматически (как сейчас), а по клику на ссылку????
хелп!!! :confused:

3
Perl / помогите разобраться!
« : 12 Марта 2004, 16:05:46 »
NeoNox - да это у хостера библиотека готовых скриптов....
Mog. - за ссылку спасибо!

4
Perl / помогите разобраться!
« : 12 Марта 2004, 13:20:28 »
Помогите пожалуйста разобратьмся с кодом/настройками счетчика посещений!  нужно 1) чтобы вместо картинок он выдавал цифири в текстовом виде 2) как установить начальное значение посещений не с нуля, а с произвольной цифры (чтоб синхронизировать его с уе имеющимися счетчиком нот лога)
помогите чайнику (полному)!
привожк код счетчика:

#!/usr/bin/perl -w

use strict;

use DBI;
use CGI;
use Fcntl \':flock\';
use IO::Seekable;

use constant COUNTER_COOKIE => \'RBC_Counter\';
use constant COUNTER_EXPIRES => \'+8h\';
use constant COUNTER_DATA_PATH => (getpwuid($<))[7] . \'/www/data/rbccounter/\';
use constant COUNTER_ID_DATA_PATH => (getpwuid($<))[7] . \'/www/data/rbccounter/data/\';
use constant COUNTER_FILE => \'counter.dat\';
use constant DIGITS => [\'0.png\', \'1.png\', \'2.png\', \'3.png\', \'4.png\', \'5.png\',
                        \'6.png\', \'7.png\', \'8.png\', \'9.png\'];
use constant EMPTY_IMAGE => \'empty.png\';

use constant SIZEOF_LONG => 4;

sub check_remote_host($$)
{
    my ($query, $id) = @_;
    my $cookie_name = $id ? COUNTER_COOKIE . \'_\' . $id : COUNTER_COOKIE;
    my $cookie = $query->cookie($cookie_name);
    my $exists = $cookie ? 1 : 0;
    $cookie = $query->cookie(-name => $cookie_name, -value => \'1\',
                             -expires => COUNTER_EXPIRES, -path => \'/\');
    return ($cookie, $exists);                                
}

sub image($$)
{
    require GD;
    my ($type, $number) = @_;
    my $image;
    if ($type eq \'empty\')
    {
        open IMAGE, COUNTER_DATA_PATH . EMPTY_IMAGE;
        local ($/) = undef;
        $image = ;
        close IMAGE;
        return (\'image/png\', $image);
    }
    else
    {
        my @digits = ();
        my @number = split \'\', $number;
        my ($width, $height) = (0, 0);
        foreach (@number)
        {
            my $digit = $digits[$_];
            unless ($digit)
            {
                $digit = $digits[$_] = GD::Image->new(COUNTER_DATA_PATH . DIGITS->[$_]);
            }
            my ($w, $h) = $digit->getBounds;
            $width += $w;
            $height = $h if $height < $h;
        }
        my $image = GD::Image->new($width, $height);
        my $x = 0;
        foreach (@number)
        {
            my $digit = $digits[$_];
            my ($w, $h) = $digit->getBounds;
            $image->copy($digit, $x, 0, 0, 0, $w, $h);
            $x += $w;
        }
        return (\'image/png\', $image->png);
    }
}

sub main()
{
    my $ip = $ENV{\'HTTP_X_FORWARDED_FOR\'} || $ENV{\'REMOTE_ADDR\'} || \'\';
    my $query = CGI->new;
    my $id = $query->param(\'id\');
    my $counter;
    if ((defined $id) && ($id ne \'\'))
    {
        $id =~ s/[^A-Z0-9_]//gi;
        $id = substr($id, 0, 16);
        $counter = COUNTER_ID_DATA_PATH . $id;
        undef $id unless -e $counter;
    }
    $counter = COUNTER_DATA_PATH . COUNTER_FILE
        unless (defined $id) && ($id ne \'\');
    my ($cookie, $exists) = check_remote_host($query, $id);
    if (-e $counter)
    {
        open COUNTER, \'+<\' . $counter;
    }
    else
    {
        open COUNTER, \'+>\' . $counter;
    }
    flock(COUNTER, LOCK_EX);
    read(COUNTER, $counter, SIZEOF_LONG, 0);
    $counter = unpack(\'L\', $counter) || 0;
    unless ($exists)
    {
        $counter++;
        seek(COUNTER, SEEK_SET, 0);
        print COUNTER pack(\'L\', $counter);
    }
    flock(COUNTER, LOCK_UN);
    close COUNTER;
    my $type = $query->param(\'type\') || \'\';
    if ($type eq \'text\')
    {
        print $query->header(-type => \'text/plain\', -cookie => $cookie,
                             -expires => \'now\') . $counter;
    }
    else
    {
        my ($content_type, $image) = image($type, $counter);
        print $query->header(-type => $content_type, -cookie => $cookie,
                             -expires => \'now\') . $image;
    }
}

main;

__END__

к странице подключаю таким образом: http://www.unost.org/cgi-bin/RBCcounter.pl">

5
Всё о Html / динамически скрыть слой в Opere ?
« : 13 Февраля 2004, 19:20:42 »
СПАСИБО! :-)

6
Всё о Html / динамически скрыть слой в Opere ?
« : 13 Февраля 2004, 17:46:15 »
проверял в ИЕ и Сафари...
так в чем проблема? подскажите плиз чайнику!

7
Всё о Html / динамически скрыть слой в Opere ?
« : 13 Февраля 2004, 13:57:47 »
все привет!
проблема такая: делаю закрывающийся див

мой контент


везде работает кроме как в Опере (проверял 6.03_ и выше) что не так?
и еще: а как вместо закрывающей кнопки сделать картинку или текст?

Страницы: [1]