Added .htaccess
Changed kwotes.conf.pl to not use "constant", and modified the rest of the scripts to reflect that
This commit is contained in:
		
							
								
								
									
										3
									
								
								.htaccess
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.htaccess
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					AddHandler cgi-script .pl
 | 
				
			||||||
 | 
					Options +ExecCGI
 | 
				
			||||||
 | 
					Options -Indexes
 | 
				
			||||||
@@ -50,23 +50,23 @@ sub cleanup {
 | 
				
			|||||||
		"INSERT INTO kwote_backup SELECT * FROM kwote WHERE ".
 | 
							"INSERT INTO kwote_backup SELECT * FROM kwote WHERE ".
 | 
				
			||||||
		"(now()-submit_dt)>? AND rating<=?"
 | 
							"(now()-submit_dt)>? AND rating<=?"
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
	$sth->bind_param(1, NEGATIVE_KWOTE_TTL);
 | 
						$sth->bind_param(1, $NEGATIVE_KWOTE_TTL);
 | 
				
			||||||
	$sth->bind_param(2, KWOTE_DEATH_RATING);
 | 
						$sth->bind_param(2, $KWOTE_DEATH_RATING);
 | 
				
			||||||
	$sth->execute() or die "Couldn't backup kwotes";
 | 
						$sth->execute() or die "Couldn't backup kwotes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# delete kwotes
 | 
						# delete kwotes
 | 
				
			||||||
	$sth = $dbh->prepare(
 | 
						$sth = $dbh->prepare(
 | 
				
			||||||
		"DELETE FROM kwote WHERE (now()-submit_dt)>? AND rating<=?"
 | 
							"DELETE FROM kwote WHERE (now()-submit_dt)>? AND rating<=?"
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
	$sth->bind_param(1, NEGATIVE_KWOTE_TTL);
 | 
						$sth->bind_param(1, $NEGATIVE_KWOTE_TTL);
 | 
				
			||||||
	$sth->bind_param(2, KWOTE_DEATH_RATING);
 | 
						$sth->bind_param(2, $KWOTE_DEATH_RATING);
 | 
				
			||||||
	$sth->execute() or die "Couldn't delete kwotes";
 | 
						$sth->execute() or die "Couldn't delete kwotes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# delete the vote log (this doesn't affect kwote rating)
 | 
						# delete the vote log (this doesn't affect kwote rating)
 | 
				
			||||||
	$sth = $dbh->prepare(
 | 
						$sth = $dbh->prepare(
 | 
				
			||||||
		"DELETE FROM vote WHERE (now()-vote_dt)>?"
 | 
							"DELETE FROM vote WHERE (now()-vote_dt)>?"
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
	$sth->bind_param(1, VOTE_TTL);
 | 
						$sth->bind_param(1, $VOTE_TTL);
 | 
				
			||||||
	$sth->execute() or die "Couldn't delete votes";
 | 
						$sth->execute() or die "Couldn't delete votes";
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# let em know we're good 
 | 
						# let em know we're good 
 | 
				
			||||||
@@ -99,7 +99,7 @@ sub  vote {
 | 
				
			|||||||
	my $row = $sth->fetchrow_hashref();
 | 
						my $row = $sth->fetchrow_hashref();
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# check if they suck
 | 
						# check if they suck
 | 
				
			||||||
	return undef if ($row->{"vote_count"}>=MAX_VOTES_PER_IP);
 | 
						return undef if ($row->{"vote_count"}>=$MAX_VOTES_PER_IP);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# prepare
 | 
						# prepare
 | 
				
			||||||
	$sth = $dbh->prepare(
 | 
						$sth = $dbh->prepare(
 | 
				
			||||||
@@ -136,7 +136,7 @@ sub add_kwote {
 | 
				
			|||||||
		"SELECT COUNT(*) as kwote_count FROM kwote WHERE ip_address=? AND (now()-submit_dt)<?"
 | 
							"SELECT COUNT(*) as kwote_count FROM kwote WHERE ip_address=? AND (now()-submit_dt)<?"
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
	$sth->bind_param(1, $ip_address);
 | 
						$sth->bind_param(1, $ip_address);
 | 
				
			||||||
	$sth->bind_param(2, SECS_BETWEEN_KWOTES);
 | 
						$sth->bind_param(2, $SECS_BETWEEN_KWOTES);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# execute
 | 
						# execute
 | 
				
			||||||
	$sth->execute() or return undef;
 | 
						$sth->execute() or return undef;
 | 
				
			||||||
@@ -145,7 +145,7 @@ sub add_kwote {
 | 
				
			|||||||
	my $row = $sth->fetchrow_hashref() or return undef;
 | 
						my $row = $sth->fetchrow_hashref() or return undef;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# check if they suck
 | 
						# check if they suck
 | 
				
			||||||
	return undef if ($row->{"kwote_count"}>=MAX_KWOTES_PER_IP);
 | 
						return undef if ($row->{"kwote_count"}>=$MAX_KWOTES_PER_IP);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	# prepare statement
 | 
						# prepare statement
 | 
				
			||||||
	my $sth = $dbh->prepare(
 | 
						my $sth = $dbh->prepare(
 | 
				
			||||||
@@ -258,9 +258,9 @@ sub list_kwotes {
 | 
				
			|||||||
sub get_db_connection {
 | 
					sub get_db_connection {
 | 
				
			||||||
	if (!$GLOBAL_DBH) {
 | 
						if (!$GLOBAL_DBH) {
 | 
				
			||||||
		$GLOBAL_DBH = DBI->connect(
 | 
							$GLOBAL_DBH = DBI->connect(
 | 
				
			||||||
			"dbi:".DB_TYPE.":".DB_NAME.":".DB_HOST,
 | 
								"dbi:$DB_TYPE:$DB_NAME:$DB_HOST",
 | 
				
			||||||
			DB_USER,
 | 
								$DB_USER,
 | 
				
			||||||
			DB_PASS
 | 
								$DB_PASS
 | 
				
			||||||
		);
 | 
							);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return $GLOBAL_DBH;
 | 
						return $GLOBAL_DBH;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,45 +1,54 @@
 | 
				
			|||||||
#!/usr/bin/perl
 | 
					#!/usr/bin/perl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use constant {
 | 
					$DB_TYPE = "mysql";
 | 
				
			||||||
	DB_TYPE						=> "mysql",		# dbi database type (only MySQL is
 | 
					# dbi database type (only MySQL is
 | 
				
			||||||
												# supported currently, due to the
 | 
					# supported currently, due to the
 | 
				
			||||||
												# fact that "LIMIT X,X" is used
 | 
					# fact that "LIMIT X,X" is used
 | 
				
			||||||
												
 | 
																	
 | 
				
			||||||
	DB_NAME						=> "kwotes",	# database name
 | 
					$DB_NAME = "kwotes";
 | 
				
			||||||
 | 
					# database name
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	DB_HOST						=> "127.0.0.1",	# database host
 | 
					$DB_HOST = "mysql";
 | 
				
			||||||
 | 
					# database host
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$DB_USER = "kwotes";
 | 
				
			||||||
 | 
					# database user
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	DB_USER						=> "kwotes",	# database user
 | 
					$DB_PASS = "kw0t3s";
 | 
				
			||||||
 | 
					# database password
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	DB_PASS						=> "kw0tes",	# database password
 | 
					$SECS_BETWEEN_KWOTES = 60*60;
 | 
				
			||||||
 | 
					# seconds a user must wait after
 | 
				
			||||||
 | 
					# submitting MAX_KWOTES_PER_IP
 | 
				
			||||||
 | 
					# kwotes to the system before they
 | 
				
			||||||
 | 
					# are allowed to submit another
 | 
				
			||||||
 | 
					# kwote
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	SECS_BETWEEN_KWOTES			=>	60*60,		# seconds a user must wait after
 | 
					$KWOTE_DEATH_RATING = -1;
 | 
				
			||||||
												# submitting MAX_KWOTES_PER_IP
 | 
					# lowest rating a quote can be
 | 
				
			||||||
												# kwotes to the system before they
 | 
					# before it's deleted.  A kwote is
 | 
				
			||||||
												# are allowed to submit another
 | 
					# only deleted if it's been this
 | 
				
			||||||
												# kwote
 | 
					# number (or lower) for longer than
 | 
				
			||||||
	
 | 
					# the KWOTE_TTL
 | 
				
			||||||
	KWOTE_DEATH_RATING			=>	-1,			# lowest rating a quote can be
 | 
					 | 
				
			||||||
												# before it's deleted.  A kwote is
 | 
					 | 
				
			||||||
												# only deleted if it's been this
 | 
					 | 
				
			||||||
												# number (or lower) for longer than
 | 
					 | 
				
			||||||
												# the KWOTE_TTL
 | 
					 | 
				
			||||||
												
 | 
																	
 | 
				
			||||||
	KWOTE_TTL					=> (60*60)*24,	# seconds before a "dead"
 | 
					$KWOTE_TTL = (60*60)*24;	
 | 
				
			||||||
												# quote is moved to the kwote
 | 
					# seconds before a "dead"
 | 
				
			||||||
												# backup table and deleted
 | 
					# quote is moved to the kwote
 | 
				
			||||||
 | 
					# backup table and deleted
 | 
				
			||||||
												
 | 
																	
 | 
				
			||||||
	VOTE_TTL					=> (60*60)*24,	# seconds a vote log lasts, the vote
 | 
					$VOTE_TTL = (60*60)*24;
 | 
				
			||||||
												# log is the mechanism that keeps
 | 
					# seconds a vote log lasts, the vote
 | 
				
			||||||
												# people from voting over and over
 | 
					# log is the mechanism that keeps
 | 
				
			||||||
 | 
					# people from voting over and over
 | 
				
			||||||
												
 | 
																	
 | 
				
			||||||
	MAX_VOTES_PER_IP			=>	4,			# maximum votes per ip address per
 | 
					$MAX_VOTES_PER_IP = 4;
 | 
				
			||||||
												# VOTE_TTL seconds.
 | 
					# maximum votes per ip address per
 | 
				
			||||||
 | 
					# VOTE_TTL seconds.
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	MAX_KWOTES_PER_IP			=>  5			# maximum kwotes allowed per ip
 | 
					$MAX_KWOTES_PER_IP = 5;
 | 
				
			||||||
												# in SECS_BETWEEN_KWOTES
 | 
					# maximum kwotes allowed per ip
 | 
				
			||||||
 | 
					# in SECS_BETWEEN_KWOTES
 | 
				
			||||||
												
 | 
																	
 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
1;
 | 
					1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								kwotes.pl
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								kwotes.pl
									
									
									
									
									
								
							@@ -7,12 +7,12 @@
 | 
				
			|||||||
# something about kwotes being GPL                #
 | 
					# something about kwotes being GPL                #
 | 
				
			||||||
###################################################
 | 
					###################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# bring in the config
 | 
					 | 
				
			||||||
require "kwotes.conf.pl";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# bring in the required libs
 | 
					# bring in the required libs
 | 
				
			||||||
require "kwotes-lib.pl";
 | 
					require "kwotes-lib.pl";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# bring in the config
 | 
				
			||||||
 | 
					require "kwotes.conf.pl";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# is this getting called by the "delete" cronjob?
 | 
					# is this getting called by the "delete" cronjob?
 | 
				
			||||||
if ($ARGV[0] eq "cleanup") {
 | 
					if ($ARGV[0] eq "cleanup") {
 | 
				
			||||||
	exit cleanup();
 | 
						exit cleanup();
 | 
				
			||||||
@@ -31,13 +31,13 @@ foreach my $key (keys %ENV) {
 | 
				
			|||||||
	$vars{$key} = $ENV{$key};
 | 
						$vars{$key} = $ENV{$key};
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# send the HTML header
 | 
					 | 
				
			||||||
send_html_header();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# add information that is displayed on every page
 | 
					# add information that is displayed on every page
 | 
				
			||||||
$vars{KWOTE_COUNT} = get_kwote_count();
 | 
					$vars{KWOTE_COUNT} = get_kwote_count();
 | 
				
			||||||
$vars{KWOTE_BACKUP_COUNT} = get_kwote_backup_count();
 | 
					$vars{KWOTE_BACKUP_COUNT} = get_kwote_backup_count();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# send the HTML header
 | 
				
			||||||
 | 
					send_html_header();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
############
 | 
					############
 | 
				
			||||||
# action: add (show add form)
 | 
					# action: add (show add form)
 | 
				
			||||||
if ($action eq "add") {
 | 
					if ($action eq "add") {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user