#!/usr/bin/perl ################################################################## # 诗歌报文章管理系统 编写:小鱼儿(诗歌报) # # ============================================================== # # Copyright (c) 2001-2002 Xiaoran Studio - All Rights Reserved. # ################################################################## BEGIN { $CGIPATH = '.'; my $pgm = $0; $pgm =~ s/\\/\//g; $pgm =~ s/^.*\/([^\/]+)$/$1/g; unless (-e $CGIPATH . '/' . $pgm) { foreach ($0, $ENV{'SCRIPT_FILENAME'}, $ENV{'PATH_TRANSLATED'}) { s!\\!/!g; s/^(.*)\/[^\/]+$/$1/g; if (-e $_ . '/' . $pgm) { $CGIPATH = $_; last; } } } unshift (@INC, "$CGIPATH"); } use XRBASE; require "config/settings.cgi"; require "data/order.cgi"; print "Content-type: text/html\n\n"; my $BUFFER; my @DATAPAIRS; my $PAIR; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $BUFFER, $ENV{'CONTENT_LENGTH'}); @DATAPAIRS = split(/\&/, $BUFFER); } else { $BUFFER = $ENV{'QUERY_STRING'}; @DATAPAIRS = split(/\;/, $BUFFER); } foreach $PAIR (@DATAPAIRS) { my ($name, $value) = split(/=/, $PAIR); $value =~tr/+/ /; $value =~s/%([a-fA-f0-9][a-fA-f0-9])/pack("C", hex($1))/eg; $form{"$name"} = $value; } my $id = $form{'id'}; my $classid = $form{'class'}; $id =~ s/[^0-9]//g; $classid =~ s/[^A-Za-z0-9\_]//g; &no_output('未指定ID或未找到此栏目。') unless(defined $id) or (-e "$path_cgi/categories/classes/$classid.cgi"); my %article; my $obj = tie %article, 'XRBASE', DIRECTORY => "$path_cgi/classes/$classid", SUFIX => '.pl', LOCK => 1, READONLY => 0, FILEMODE => 0777, SCHEMA => { ORDER => [@ord_article] }; &no_output('文章ID未找到。') unless(exists $article{"$id"}); my $count = $article{"$id"}{'count'}; $article{"$id"}{'count'} ++; $obj -> sync(); $count ++; print qq~document.write('$count');~; exit; sub no_output { my $msg = shift; print qq~document.write('');~; exit; }