basic working version with a little flair

This commit is contained in:
kake26 2022-01-04 22:49:36 -06:00
parent f1f703cf38
commit 235672abab

96
email.php Normal file
View file

@ -0,0 +1,96 @@
<?php
// A full rewrite of a old script with some improvements
class eatspam {
// Six paragraphs of Lorem Ipsum to make generated e-mail less like random stuff and more like words
// All periods and commas stripped ahead of time
private $lipsum = "Lorem ipsum dolor sit amet consectetur adipiscing elit Mauris laoreet id nisi semper auctor Proin sollicitudin tincidunt leo vel commodo Morbi maximus aliquam placerat Phasellus non nunc tristique condimentum ex eu mollis erat Maecenas vitae lobortis lorem Mauris id placerat leo non faucibus ex Vestibulum rhoncus ligula id sodales auctor Mauris eget sem euismod mollis eros ut accumsan mauris Duis non maximus ipsum Nunc quis lorem eget orci feugiat pretium Pellentesque tempor ex nec dui malesuada facilisis Morbi non nulla cursus venenatis enim in aliquam lorem Vestibulum et tellus dictum eleifend arcu nec luctus massa Nunc facilisis felis erat id elementum risus elementum sit amet Maecenas nisi magna vulputate id semper sit amet congue non augue In diam diam vulputate ut ligula in eleifend condimentum felis Ut imperdiet pulvinar metus et ultricies odio cursus in Suspendisse tempor est vel felis molestie eget hendrerit eros condimentum Etiam eu velit vel enim laoreet lobortis Mauris in varius turpis Duis massa risus dapibus id nulla quis vulputate facilisis justo Praesent id ligula vehicula accumsan justo quis consectetur lacus Mauris iaculis viverra tincidunt Sed tempor urna a finibus volutpat Etiam finibus id risus quis gravida Ut at viverra urna Aliquam euismod turpis sit amet felis cursus pretium Integer urna lacus condimentum id tempus non pretium a erat Duis blandit placerat molestie In enim ante posuere ut risus id iaculis mattis enim Aenean sed urna ac lacus auctor iaculis eget quis est Integer fermentum orci in dignissim sagittis Integer sed nibh vel metus blandit tempus Maecenas dignissim egestas malesuada Ut ut rhoncus arcu et dapibus purus Nullam eu sapien eget arcu volutpat porta Proin luctus ex eget neque tincidunt ac tincidunt justo eleifend Vestibulum id arcu nisi Quisque suscipit condimentum massa et dictum Donec feugiat metus ut blandit interdum Praesent sit amet dapibus erat Phasellus faucibus efficitur magna lacinia finibus risus egestas non Vivamus non posuere dolor Sed dui libero viverra dignissim finibus sit amet mattis sit amet quam Nullam a vehicula sem vitae iaculis ligula Vestibulum rhoncus mi orci vitae vulputate nunc varius a In eleifend metus at lacinia posuere Sed sed nunc elit Nam dignissim sapien non convallis maximus ex mi fringilla augue molestie gravida mi ex id urna Vestibulum mattis dignissim tristique Nunc commodo ante at justo commodo in posuere justo pretium Donec velit nisi consequat quis lorem nec fermentum ultrices velit Nulla vulputate libero quis libero aliquet eleifend Sed sodales tristique dolor at fermentum Donec sapien sem luctus sit amet lectus in pellentesque hendrerit lorem Curabitur at lacinia nibh Suspendisse lobortis orci vitae dictum feugiat Donec ut cursus tortor id maximus sapien Donec aliquam et urna dapibus fermentum Integer ornare urna quis diam congue fringilla accumsan urna bibendum Ut sollicitudin nibh mattis interdum egestas Proin hendrerit purus nec dolor fringilla finibus Nam sed commodo lorem Vivamus lacinia lectus eu metus pharetra at vehicula mauris malesuada Duis mauris felis vestibulum at rutrum quis ullamcorper et mi Ut et nisi non eros ornare venenatis eget vitae turpis Lorem ipsum dolor sit amet consectetur adipiscing elit";
private $chars = "0123456789_.-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
// Other repeated variables in functions are for consistency and not just scope abuse
// Also I could public or private the functions, but thats not needed here
function __constructor(){
// Constructor only here to hold my beer
// this might not be the best way to do this but meh I blame the alchol
}
function genstr($n = 15){
// this function just generates a string of random characters
// $n is the number of random characters we want
$chars = $this->chars;
$crap = "";
for ($i = 0; $i < $n; $i++) {
$index = rand(0, strlen($chars) - 1); // note -1 because 0 based index
$crap .= $chars[$index];
}
return $crap;
}
function getwords($n = 1){
// defaults to one word
$crap= [];
$lsw = explode(" ",$this->lipsum);
for ($i = 0; $i < $n; $i++ ) {
$index = rand(0,count($lsw) - 1 );
array_push($crap,$lsw[$index]);
}
return $crap;
}
function genemail($n = 1) {
// for each email we want two words
$tcrap = "";
$crap = [];
for ($i = 0; $i < $n; $i++){
$words = $this->getwords(2);
$tcrap .= $words[0] . "." . $words[1] . "@gmail.com";
array_push($crap,$tcrap);
$tcrap = "";
}
return $crap;
}
}
$espam = new eatspam();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Contact E-mails</title>
</head>
<body>
<pre>
<?php
foreach ($espam->genemail(3) as $email){
print "<a href=\"mailto:".$email."\">". $email . "</a>\n";
}
?>
</pre>
<?php
// lets have a littls fun back links to lock these clowns in a loop
// good measures we make it seem like each link back is a different page
print "<a href=\"".$_SERVER['PHP_SELF']."?page=".$espam->genstr(6)."\">next page</a>";
?>
</body>
</html>