#!/usr/bin/perl use strict; use lib qw(/usr/home/web/users/a0017451/html/cgi-bin); use CGI qw(:standard escapeHTML); use AklaatDB; use AklaatUser; use AklaatDB::Session; my $ScriptLocation = "http://www.aklaat.com/cgi-bin"; my $baseurl = '../../'; my $mailprog = '/usr/sbin/sendmail'; my $version = '1.4.1'; my $basedir = '/usr/home/web/users/a0017451/html/'; #Include external libraries my ($count, @FileData, @temp, $name, $value, $buffer, @pairs, $pair, $allow_html, %QUERY); $count=0; if ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; if ($allow_html != 1) { $value =~ s/<([^>]|\n)*>//g; } $QUERY{$name} = $value; } if (!defined (cookie ("aklaat_user_name"))) { print redirect(-url => "http://www.aklaat.com/cgi-bin/users/logon.pl?filename=$QUERY{'filename'}"); #print "Location:http://www.aklaat.com/cgi-bin/users/logon.pl?filename=$QUERY{'filename'}\n\n"; } else { if($ENV{'CONTENT_LENGTH'} != 0) {GetPostData();} # if POST info was sent, put information in hash %POST if($QUERY{'action'} eq 'AddRate') { AddRate(); # Add the rating for the selected recipe } else { PostRate(); } } exit(0); ############################################################# sub PostRate { my ($line); my $dbh = AklaatDB::connect (); $dbh->do ('SET NAMES CP1256'); $dbh->do ('SET COLLATION_CONNECTION=CP1256_GENERAL_CI'); my $title = $dbh->selectrow_array ("SELECT re_title FROM recipes WHERE re_filename = '$QUERY{'filename'}'"); $dbh->disconnect (); my $userName = cookie ("aklaat_user_name"); print "Content-type:text/html\n\n"; print< HTMLTOP my $data_file="includes/style.htm"; open(DAT, "$basedir$data_file") || die("Could not open file!"); my @raw_data=; close(DAT); foreach $line (@raw_data) { print "$line"; } $data_file="includes/script.htm"; open(DAT, "$basedir$data_file") || die("Could not open file!"); @raw_data=; close(DAT); foreach $line (@raw_data) { print "$line"; } print< function changeDir(direction) { document.frmRate.txtDirection.value = direction; if (direction == 'arb') { document.frmRate.comments.dir = "rtl"; } else { document.frmRate.comments.dir = "ltr"; } } function cancelScreen(){ window.location.href="ShowRecipeRate.pl?filename=$QUERY{'filename'}" } function submitRate() { if ((document.frmRate.comments.value == "") && (document.frmRate.genrating[0].checked == false) && (document.frmRate.genrating[1].checked == false) && (document.frmRate.genrating[2].checked == false) && (document.frmRate.genrating[3].checked == false) && (document.frmRate.qckrating[0].checked == false) && (document.frmRate.qckrating[1].checked == false) && (document.frmRate.qckrating[2].checked == false) && (document.frmRate.qckrating[3].checked == false) && (document.frmRate.easrating[0].checked == false) && (document.frmRate.easrating[1].checked == false) && (document.frmRate.easrating[2].checked == false) && (document.frmRate.easrating[3].checked == false) && (document.frmRate.kidrating[0].checked == false) && (document.frmRate.kidrating[1].checked == false) && (document.frmRate.kidrating[2].checked == false) && (document.frmRate.kidrating[3].checked == false)) { alert('الرجاء تعبئة "تقييم الوصفة" أو الضغط على إلغاء للخروج من صفحة التقييم'); } else { document.frmRate.submit(); } } //--> HTMLTOP require "../ui/top.pl"; print<

تعليق وتقييم:

$title


يسعدنا أن تضيفوا أرائكم وتعليقاتكم عن الوصفة المختارة في صفحتنا، وسوف يظهر التقييم والتعليق إلى جانب الأكلة.


HTMLTOP print "اسم المقيم: $userName ، لتغير اسم المقيم إضغط هنا."; print<

  تقييم الوصفة
5 نجوم = رائعة إجمالي
***** **** *** ** *
5 نجوم = سريعة التحضير تقييم السرعة
***** **** *** ** *
5 نجوم = سهلة التحضير تقييم السهولة
***** **** *** ** *
5 نجوم = محبوبة من الأطفال تقييم حب الأطفال لها
***** **** *** ** *
  تعليق

الاِتجاه: عربي إنجليزي
     
HTMLTOP require "../ui/nav.pl"; print< HTMLTOP } ############################################################# ## ** NON HTML PAGES ** ################################### ############################################################# sub GetPostData { my (@pairs, $pair, $name, $value, $buffer, $x, %POST); read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; # Change all +'s to spaces $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # Convert all Hex back to regular characters if($QUERY{'sub'} ne 'no') { $value =~ s/\/\>/g; $value =~ s/\|/\&\#124/g; $value =~ s/\=/\&\#61/g; $value =~ s/\r/
/g; # Replace hard returns $value =~ s/\n//g; # remove newlines $value =~ s/\cM//g; # remove ^M's } $POST{$name} = $value; } } ############################################################# sub AddRate { my $dbh = AklaatDB::connect (); $dbh->do ('SET NAMES CP1256'); $dbh->do ('SET COLLATION_CONNECTION=CP1256_GENERAL_CI'); my $usernameCookie = AklaatDB::trim(AklaatDB::fix_quotes(cookie ("aklaat_user_name"))); my $rateExist = $dbh->selectrow_array ("SELECT COUNT(*) FROM rates WHERE genrating > 0 AND recipe = '$QUERY{'filename'}' AND username = '$usernameCookie'"); my $sql_username = $usernameCookie; my $sql_recipe = AklaatDB::trim(AklaatDB::fix_quotes($QUERY{'filename'})); my $sql_comments = AklaatDB::trim(AklaatDB::fix_quotes($QUERY{'comments'})); my $sql_genrating = 0; my $sql_qckrating = 0; my $sql_easrating = 0; my $sql_kidrating = 0; if ($rateExist == 0) { $sql_genrating = $QUERY{'genrating'} if (defined ($QUERY{'genrating'})); $sql_qckrating = $QUERY{'qckrating'} if (defined ($QUERY{'qckrating'})); $sql_easrating = $QUERY{'easrating'} if (defined ($QUERY{'easrating'})); $sql_kidrating = $QUERY{'kidrating'} if (defined ($QUERY{'kidrating'})); } my $emailcontent = ""; my $ref; if (($sql_genrating == 0) && ($sql_qckrating == 0) && ($sql_easrating == 0) && ($sql_kidrating == 0) && ($sql_comments eq "")) { } else { my $query = "INSERT INTO rates (recipe, genrating, qckrating, easrating, kidrating, username, date, comments) "; $query .= "values ('$sql_recipe',$sql_genrating,$sql_qckrating,$sql_easrating,$sql_kidrating,'$sql_username',CURDATE(),'$sql_comments');"; $dbh->do ("$query"); if ($sql_comments ne "") { my $title = $dbh->selectrow_array ("SELECT re_title FROM recipes WHERE re_filename = '$QUERY{'filename'}'"); $query = "SELECT u.email, u.realname FROM notify_rates r, users u WHERE r.username = u.username AND r.filename = '$sql_recipe' AND r.username <> '$sql_username'"; my $sth = $dbh->prepare ($query); $sth->execute (); my $subject; while ($ref = $sth->fetchrow_hashref ()) { $emailcontent = 'موقع أكلات يرحب بعضوها '; $emailcontent .= $ref->{realname}; $emailcontent .= ':
'; $emailcontent .= 'لقد تم إضافة تعليق جديد على وصفة '; $emailcontent .= $title; $emailcontent .= "\n"; $emailcontent .= 'بإمكانك تصفح التقيمات والتعليقات على الوصفة بالضغط على العنوان الإلكترونى في الأسفل
'; $emailcontent .= 'http://www.aklaat.com/cgi-bin/rates/ShowRecipeRate.pl?filename=$sql_recipe

'; $emailcontent .= 'مع تحيات مشرف موقع أكلات\n'; $emailcontent .= 'admin@aklaat.com'; $subject = 'إضافة تعليق لوصفة '; $subject .= $title; #SendMail('admin@aklaat.com', $ref->{email}, $subject, $emailcontent); open(MAIL,"|$mailprog -t"); my $from = 'admin@aklaat.com'; my $to = lc($ref->{email}); my $isHotmail = index($to, '@hotmail'); my $isMsn = index($to, '@msn'); my $isYahoo = index($to, '@yahoo'); print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL "Content-Type: text/html; charset=ISO-8859-6"; print MAIL "\n"; if (($isHotmail > 0) || ($isMsn > 0) || ($isYahoo > 0)) { print MAIL "

موقع أكلات يرحب بك $ref->{realname}

"; print MAIL "

لقد تم إضافة تعليق جديد على وصفة $title

"; print MAIL "

بإمكانك مراجعة التقيمات والتعليقات على الوصفة بالضغط على العنوان التالي

"; print MAIL "

http://www.aklaat.com/cgi-bin/rates/ShowRecipeRate.pl?filename=$sql_recipe


"; print MAIL "
مع تحيات مشرف موقع أكلات


"; print MAIL "-" x 75 . "\n\n"; print MAIL "

"; } else { print MAIL "
موقع أكلات يرحب بك $ref->{realname}\n\n";
					print MAIL "لقد تم إضافة تعليق جديد على وصفة $title\n\n";
					print MAIL "بإمكانك مراجعة التقيمات والتعليقات على الوصفة بالضغط على العنوان التالي\n\n";
					print MAIL "http://www.aklaat.com/cgi-bin/rates/ShowRecipeRate.pl?filename=$sql_recipe\n\n\n";
					print MAIL "مع تحيات مشرف موقع أكلات\n\n";
					print MAIL "-" x 75 . "\n\n";
					print MAIL "
"; } close (MAIL); } } } $dbh->disconnect(); print redirect(-url => "http://www.aklaat.com/cgi-bin/rates/ShowRecipeRate.pl?filename=$sql_recipe"); } ############################################################ sub SendMail { my ($from, $to, $subject, $content) = @_; # Open The Mail Program open(MAIL,"|$mailprog -t"); print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n"; print MAIL "$content\n\n"; print MAIL "-" x 75 . "\n\n"; close (MAIL); } ############################################################