init repo
This commit is contained in:
commit
1014468a0e
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
229
index.html
Normal file
229
index.html
Normal file
@ -0,0 +1,229 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
|
||||
<title>Slack Invite</title>
|
||||
<style>
|
||||
.splash {
|
||||
width: 300px;
|
||||
margin: 200px auto;
|
||||
text-align: center;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial
|
||||
}
|
||||
@media (max-width: 500px) {
|
||||
.splash {
|
||||
margin-top: 100px
|
||||
}
|
||||
}
|
||||
.head {
|
||||
margin-bottom: 40px
|
||||
}
|
||||
.logos {
|
||||
position: relative;
|
||||
margin-bottom: 40px
|
||||
}
|
||||
.logo {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
display: inline-block;
|
||||
background-size: cover
|
||||
}
|
||||
.logo.slack {
|
||||
background-image: url(https://a.slack-edge.com/66f9/img/icons/ios-64.png)
|
||||
}
|
||||
.logo.org::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
content: "+";
|
||||
top: 15px;
|
||||
left: 0;
|
||||
width: 300px;
|
||||
text-align: center;
|
||||
color: #D6D6D6;
|
||||
font: 15px Helvetica Neue
|
||||
}
|
||||
.logo.org {
|
||||
background-image: url(https://s3-us-west-2.amazonaws.com/slack-files2/avatars/2016-05-31/46963461766_2f407e84c067da510e5c_88.png);
|
||||
margin-right: 70px
|
||||
}
|
||||
.coc {
|
||||
font-size: 12px;
|
||||
padding: 15px 0 5px;
|
||||
color: #666
|
||||
}
|
||||
.coc label {
|
||||
cursor: pointer
|
||||
}
|
||||
.coc input {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
border: none;
|
||||
vertical-align: middle;
|
||||
margin: 0 5px 0 0
|
||||
}
|
||||
.coc input::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
vertical-align: middle;
|
||||
background: url(/assets/checkbox.svg);
|
||||
cursor: pointer
|
||||
}
|
||||
.coc input:checked::after {
|
||||
background-position: right
|
||||
}
|
||||
.coc a {
|
||||
color: #666
|
||||
}
|
||||
.coc a:hover {
|
||||
background-color: #666;
|
||||
text-decoration: none;
|
||||
color: #fff
|
||||
}
|
||||
p {
|
||||
font-size: 15px;
|
||||
margin: 5px 0
|
||||
}
|
||||
select {
|
||||
background: none
|
||||
}
|
||||
button,
|
||||
.form-item {
|
||||
font-size: 12px;
|
||||
margin-top: 10px;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
padding: 9px
|
||||
}
|
||||
button {
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
border-width: 0;
|
||||
background: #E01563;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
appearence: none;
|
||||
-webkit-appearence: none;
|
||||
outline: 0;
|
||||
transition: background-color 150ms ease-in, color 150ms ease-in
|
||||
}
|
||||
button.loading {
|
||||
pointer-events: none
|
||||
}
|
||||
button:disabled {
|
||||
color: #9B9B9B;
|
||||
background-color: #D6D6D6;
|
||||
cursor: default;
|
||||
pointer-events: none
|
||||
}
|
||||
button.error {
|
||||
background-color: #F4001E;
|
||||
text-transform: none
|
||||
}
|
||||
button.success:disabled {
|
||||
color: #fff;
|
||||
background-color: #68C200
|
||||
}
|
||||
button:not(.disabled):active {
|
||||
background-color: #7A002F
|
||||
}
|
||||
b {
|
||||
transition: transform 150ms ease-in
|
||||
}
|
||||
b.grow {
|
||||
transform: scale(1.3)
|
||||
}
|
||||
form {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
input {
|
||||
color: #9B9B9B;
|
||||
border: 1px solid #D6D6D6
|
||||
}
|
||||
input:focus {
|
||||
color: #666;
|
||||
border-color: #999;
|
||||
outline: 0
|
||||
}
|
||||
.active {
|
||||
color: #E01563
|
||||
}
|
||||
p.signin {
|
||||
padding: 10px 0 10px;
|
||||
font-size: 11px
|
||||
}
|
||||
p.signin a {
|
||||
color: #E01563;
|
||||
text-decoration: none
|
||||
}
|
||||
p.signin a:hover {
|
||||
background-color: #E01563;
|
||||
color: #fff
|
||||
}
|
||||
footer {
|
||||
color: #D6D6D6;
|
||||
font-size: 11px;
|
||||
margin: 200px auto 0;
|
||||
width: 300px;
|
||||
text-align: center
|
||||
}
|
||||
footer a {
|
||||
color: #9B9B9B;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #9B9B9B
|
||||
}
|
||||
footer a:hover {
|
||||
color: #fff;
|
||||
background-color: #9B9B9B
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="splash">
|
||||
<div class="logos">
|
||||
<div class="logo org"></div><div class="logo slack"></div>
|
||||
</div>
|
||||
<p>
|
||||
Join <b>TheTownServer</b> on Slack.
|
||||
</p>
|
||||
<form>
|
||||
<input type="text" id="email" placeholder="you@yourdomain.com" autofocus="true" class="form-item">
|
||||
<input type="password" id="passwd" placeholder="TheTown Password" placeholder="" class="form-item">
|
||||
<button id="sendInvite" class="">Get my Invite</button>
|
||||
</form>
|
||||
<p class="signin">
|
||||
or <a href="https://thetownserver.slack.com" target="_top">sign in</a>.
|
||||
</p>
|
||||
<footer>designe by <a href="http://rauchg.com/slackin" target="_blank">slackin</a></footer>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
$( "#sendInvite" ).click(function(e) {
|
||||
e.preventDefault();
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "invite.php",
|
||||
data: {email: $('#email').val(), passwd: $('#passwd').val()}
|
||||
})
|
||||
.done (function (data) {
|
||||
if(data.indexOf("SUCCESS:") == 0) {
|
||||
alert(data);
|
||||
} else {
|
||||
alert("Es ist ein Fehler aufgetreten: " + data);
|
||||
}
|
||||
})
|
||||
.fail(function (jqXHR, exception) {
|
||||
console.log(exception);
|
||||
alert("Es ist ein Fehler aufgetreten: " + exception);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</html>
|
37
invite.php
Normal file
37
invite.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
header('content-type: text/html; charset=utf-8');
|
||||
if(isset($_POST["passwd"]) && !empty($_POST["passwd"])){
|
||||
if($_POST["passwd"] !== "Password???YouWantOneß") {
|
||||
echo "Falsches Kennwort";
|
||||
exit();
|
||||
}
|
||||
} else {
|
||||
echo "Falsches Kennwort";
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
$token = "xoxp-SLACK TOKEN XOCOCO";
|
||||
if(isset($_POST["email"]) && !empty($_POST["email"])){
|
||||
if (filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
|
||||
$url = "https://thetownserver.slack.com/api/users.admin.invite?email=" . $_POST["email"] . "&token=" . $token . "&set_active=true";
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_URL,$url);
|
||||
$result=curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
$jsonR = json_decode($result, true);
|
||||
if($jsonR["ok"]){
|
||||
echo "SUCCESS: Dir wurde erfolgreich eine Einladung zugesendet!";
|
||||
} else {
|
||||
echo "Es ist ein Slack Fehler aufgetreten: " . $jsonR["error"];
|
||||
}
|
||||
} else {
|
||||
echo "Die eingegebende Email ist nicht gültig";
|
||||
}
|
||||
} else {
|
||||
echo "Keine Email wurde angegeben";
|
||||
}
|
Loading…
Reference in New Issue
Block a user