From e89e2574c02f8bc893721aeaf705cb57de9489ee Mon Sep 17 00:00:00 2001
From: arf20
Date: Mon, 15 Apr 2024 17:45:26 +0200
Subject: Initial commit
---
README.md | 3 ++
arfnet_logo.png | Bin 0 -> 78409 bytes
example.html | 33 +++++++++++++++
index.php | 36 +++++++++++++++++
mlmmj.php | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
style.css | 82 +++++++++++++++++++++++++++++++++++++
subscribe.php | 55 +++++++++++++++++++++++++
tile1.jpg | Bin 0 -> 1500 bytes
8 files changed, 331 insertions(+)
create mode 100644 README.md
create mode 100755 arfnet_logo.png
create mode 100644 example.html
create mode 100644 index.php
create mode 100644 mlmmj.php
create mode 100644 style.css
create mode 100644 subscribe.php
create mode 100755 tile1.jpg
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..eac5110
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# arfnet2-lists
+ARFNET mailing lists index
+
diff --git a/arfnet_logo.png b/arfnet_logo.png
new file mode 100755
index 0000000..82adbef
Binary files /dev/null and b/arfnet_logo.png differ
diff --git a/example.html b/example.html
new file mode 100644
index 0000000..f969d57
--- /dev/null
+++ b/example.html
@@ -0,0 +1,33 @@
+
+
+
+mlmmj-webinterface
+
+
+
+
+
subscribe
+
+
+
+
+
unsubscribe
+
+
+
+
+
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..cc0b1bd
--- /dev/null
+++ b/index.php
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ ARFNET Lists
+
+
+
+
+
+
+
+
ARFNET Mailing Lists
+
+
+
+
+
+
diff --git a/mlmmj.php b/mlmmj.php
new file mode 100644
index 0000000..c976372
--- /dev/null
+++ b/mlmmj.php
@@ -0,0 +1,122 @@
+
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+
+// error_reporting(E_ALL);
+
+class mlmmj
+{
+ var $email;
+ var $mailinglist;
+ var $job;
+ var $redirect_success;
+ var $redirect_failure;
+
+ var $delimiter;
+ var $errors;
+
+ function is_email($string="") {
+ return eregi("^[a-z0-9\._-]+".chr(64)."+[a-z0-9\._-]+\.+[a-z]{2,4}$", $string);
+ }
+
+ function error($string="") {
+ $this->errors = TRUE;
+ die($string);
+ }
+
+ function mlmmj() {
+ // set mandatory vars...
+ $this->errors = FALSE;
+ $this->delimiter = "+";
+
+ if (!isset($_POST["email"]) &&
+ !isset($_POST["mailinglist"]) &&
+ !isset($_POST["job"]) &&
+ !isset($_POST["redirect_success"]) &&
+ !isset($_POST["redirect_failure"]))
+ {
+ $this->errors = TRUE;
+ if(isset($_POST["redirect_failure"])) {
+ header("Location: ".$_POST["redirect_failure"]);
+ exit;
+ }
+ else
+ die("An error occurred. Please check contrib/web/php-user/README for details.");
+ }
+ else {
+ if ($this->is_email($_POST["email"]))
+ $this->email = $_POST["email"];
+ else
+ $this->error("ERROR: email is not a valid email address.");
+
+ if ($this->is_email($_POST["mailinglist"]))
+ $this->mailinglist = $_POST["mailinglist"];
+ else
+ $this->error("ERROR: mailinglist is not a valid email address.");
+
+ $this->job = $_POST["job"];
+
+ if (!(($this->job == "subscribe") OR ($this->job == "unsubscribe"))) {
+ $this->error("ERROR: job unknown.");
+ }
+
+ $this->redirect_failure = $_POST["redirect_failure"];
+ $this->redirect_success = $_POST["redirect_success"];
+
+ }
+
+ // now we should try to go ahead and {sub,unsub}scribe... ;)
+
+ if(!$this->errors) {
+ // @ ^= char(64)
+
+ $to = str_replace(chr(64),$this->delimiter.$this->job.chr(64),$this->mailinglist);
+ $subject = $this->job." to ".$this->mailinglist;
+ $body = $this->job;
+ $addheader = "";
+ $addheader .= "Received: from ". $_SERVER["REMOTE_ADDR"]
+ ." by ". $_SERVER["SERVER_NAME"]. " with HTTP;\r\n\t".date("r")."\n";
+ $addheader .= "X-Originating-IP: ".$_SERVER["REMOTE_ADDR"]."\n";
+ $addheader .= "X-Mailer: mlmmj-webinterface powered by PHP/". phpversion() ."\n";
+ $addheader .= "From: ".$this->email."\n";
+ $addheader .= "Cc: ".$this->email."\n";
+
+ if(!mail($to, $subject, $body, $addheader))
+ $this->error($this->job." failed.");
+ }
+
+ if($this->errors) {
+ //header("Location: ".$this->redirect_failure);
+ //exit;
+ die($this->errors);
+ } else {
+ header("Location: ".$this->redirect_success);
+ exit;
+ }
+ }
+}
+
+
+$mailinglist = new mlmmj;
+
+?>
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..6bd7bd7
--- /dev/null
+++ b/style.css
@@ -0,0 +1,82 @@
+header *{
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.title {
+ font-size: 36px;
+ vertical-align: middle;
+}
+
+body {
+ background-image: url("tile1.jpg");
+ background-repeat: repeat;
+}
+
+.fst {
+ font-size: 150%;
+}
+
+.sec {
+ margin-left: 20px;
+ font-size: 150%;
+}
+
+.col {
+ float: left;
+}
+
+.col5 {
+ float: left;
+ width: 50%;
+}
+
+.col8 {
+ float: left;
+ width: 80%;
+}
+
+.col2 {
+ float: left;
+ width: 20%;
+}
+
+.col3 {
+ float: left;
+ width: 30%;
+}
+
+.row:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.img {
+ width: 60%;
+}
+
+.wrapper{
+ width: 350px;
+ padding: 20px;
+ border-style: double;
+ margin: auto;
+ margin-top: 200px;
+}
+
+.form {
+ width: fit-content;
+ padding: 20px;
+ border-style: double;
+}
+
+.border {
+ width: fit-content;
+ padding: 20px;
+ border: 1px solid black;
+}
+
+table, th, td {
+ border: 1px solid black;
+}
+
diff --git a/subscribe.php b/subscribe.php
new file mode 100644
index 0000000..d944530
--- /dev/null
+++ b/subscribe.php
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+ ARFNET Lists
+
+
+
+
+
+
+
+
+
+
+ Subscription
+
+
+ Unsubscription
+
+
+
+
+
diff --git a/tile1.jpg b/tile1.jpg
new file mode 100755
index 0000000..2e993e3
Binary files /dev/null and b/tile1.jpg differ
--
cgit v1.2.3