La til epost knapp
This commit is contained in:
		
							parent
							
								
									4cc7ff821c
								
							
						
					
					
						commit
						fdddbbb0ef
					
				@ -46,6 +46,13 @@
 | 
				
			|||||||
  <button type="submit">Søk</button>
 | 
					  <button type="submit">Søk</button>
 | 
				
			||||||
</form>
 | 
					</form>
 | 
				
			||||||
<div id="runner_info" class="profile-card"></div>
 | 
					<div id="runner_info" class="profile-card"></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<button hx-get="/api/email.php" hx-target="#emails" hx-headers='js:{"password": localStorage.getItem("passord")}'>hent alle eposter</button>
 | 
				
			||||||
 | 
					<button hx-get="/api/email.php?course=Kadaverløpet" hx-target="#emails" hx-headers='js:{"password": localStorage.getItem("passord")}'>Hent bare eposter for fullkadavern</button>
 | 
				
			||||||
 | 
					<button hx-get="/api/email.php?course=Minikadaver'n" hx-target="#emails" hx-headers='js:{"password": localStorage.getItem("passord")}'>Hent bare eposter for minikadaver'n</button>
 | 
				
			||||||
 | 
					<div class="flash default">
 | 
				
			||||||
 | 
					<output id="emails"></output>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
<h1>Løpende resultater</h1>
 | 
					<h1>Løpende resultater</h1>
 | 
				
			||||||
<?php
 | 
					<?php
 | 
				
			||||||
include("api/table.php");
 | 
					include("api/table.php");
 | 
				
			||||||
@ -83,6 +90,6 @@ liveresult_table($runners);
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<script src="https://cdn.jsdelivr.net/npm/htmx.org@2.0.8/dist/htmx.min.js" integrity="sha384-/TgkGk7p307TH7EXJDuUlgG3Ce1UVolAOFopFekQkkXihi5u/6OCvVKyz1W+idaz" crossorigin="anonymous"></script>
 | 
					<script src="/lib/htmx.min.js"></script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
@ -13,7 +13,7 @@ function write_ini_file($assoc_array, $path) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        $content .= "\n";
 | 
					        $content .= "\n";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    file_put_contents($path, $content);
 | 
					    file_put_contents($path, data: $content);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$config = parse_ini_file("$documentRoot/data/config.ini");
 | 
					$config = parse_ini_file("$documentRoot/data/config.ini");
 | 
				
			||||||
@ -31,7 +31,8 @@ if ($method == "POST") {
 | 
				
			|||||||
        $file = "$documentRoot/data/config.ini";
 | 
					        $file = "$documentRoot/data/config.ini";
 | 
				
			||||||
        $config["start_date"] = $start_time . "+01";
 | 
					        $config["start_date"] = $start_time . "+01";
 | 
				
			||||||
        write_ini_file($config, $file);
 | 
					        write_ini_file($config, $file);
 | 
				
			||||||
        header("Location: $documentRoot/config_editor.html");
 | 
					        header("HX-Replace-Url: false");
 | 
				
			||||||
 | 
					        echo("Starttida er oppdatert til: $start_time");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
elseif ($method == "GET"){
 | 
					elseif ($method == "GET"){
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										25
									
								
								api/email.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								api/email.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					$documentRoot = $_SERVER['DOCUMENT_ROOT'];
 | 
				
			||||||
 | 
					include("$documentRoot/import_runners.php");
 | 
				
			||||||
 | 
					$hash = file_get_contents("$documentRoot/data/hash.txt");
 | 
				
			||||||
 | 
					$method = $_SERVER['REQUEST_METHOD'];
 | 
				
			||||||
 | 
					if ($method == "GET") {
 | 
				
			||||||
 | 
					    parse_str($_SERVER['QUERY_STRING'], $query);
 | 
				
			||||||
 | 
					    $course = $query['course'];
 | 
				
			||||||
 | 
					    $password = getallheaders()['password'];
 | 
				
			||||||
 | 
					    if (!password_verify($password, $hash)) {
 | 
				
			||||||
 | 
					        http_response_code(response_code: 401);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    $runners = read_runners_from_csv();
 | 
				
			||||||
 | 
					    $emails = "";
 | 
				
			||||||
 | 
					    for ($i = 0; $i < count($runners); $i++) {
 | 
				
			||||||
 | 
					            $email = $runners[$i]->email;
 | 
				
			||||||
 | 
					            if (!isset($query['course'])){
 | 
				
			||||||
 | 
					                $emails .= "$email, ";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            elseif ($course == $runners[$i]->course) {
 | 
				
			||||||
 | 
					                $emails .= "$email, ";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    echo($emails);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -23,6 +23,8 @@ if ($method == "POST") {
 | 
				
			|||||||
    else {
 | 
					    else {
 | 
				
			||||||
        $file = "$documentRoot/data/db.csv";
 | 
					        $file = "$documentRoot/data/db.csv";
 | 
				
			||||||
        file_put_contents($file, $line, FILE_APPEND);
 | 
					        file_put_contents($file, $line, FILE_APPEND);
 | 
				
			||||||
 | 
					        header("HX-Replace-Url: false");
 | 
				
			||||||
 | 
					        echo("Løper lagt til: $line");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
if ($method == "GET") {
 | 
					if ($method == "GET") {
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@
 | 
				
			|||||||
</nav>
 | 
					</nav>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <h2>Sett dato og tid startskuddet gikk:</h2>
 | 
					  <h2>Sett dato og tid startskuddet gikk:</h2>
 | 
				
			||||||
  <form action="/api/config.php" method="POST">
 | 
					  <form action="/api/config.php" method="POST" hx-boost="true" hx-target="#updated" hx-swap="show:none">
 | 
				
			||||||
    <input style="display: none;" type="text" id="password" name="password" required>
 | 
					    <input style="display: none;" type="text" id="password" name="password" required>
 | 
				
			||||||
    <label>
 | 
					    <label>
 | 
				
			||||||
      Dato og tid
 | 
					      Dato og tid
 | 
				
			||||||
@ -32,7 +32,7 @@
 | 
				
			|||||||
    </label>
 | 
					    </label>
 | 
				
			||||||
    <button type="submit">Oppdater</button>
 | 
					    <button type="submit">Oppdater</button>
 | 
				
			||||||
  </form>
 | 
					  </form>
 | 
				
			||||||
 | 
					<div id="updated"></div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
  function log_out(){
 | 
					  function log_out(){
 | 
				
			||||||
@ -57,5 +57,6 @@
 | 
				
			|||||||
  console.log(xmlHttpReq.response)
 | 
					  console.log(xmlHttpReq.response)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					<script src="/lib/htmx.min.js"></script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
@ -23,7 +23,7 @@
 | 
				
			|||||||
  </menu>
 | 
					  </menu>
 | 
				
			||||||
</nav>
 | 
					</nav>
 | 
				
			||||||
  <h2>Legg til løper</h2>
 | 
					  <h2>Legg til løper</h2>
 | 
				
			||||||
  <form action="/api/runner.php" method="POST">
 | 
					  <form action="/api/runner.php" method="POST" hx-boost="true" hx-target="#updated" hx-swap="show:none">
 | 
				
			||||||
    <input style="display: none;" type="text" id="password" name="password" required>
 | 
					    <input style="display: none;" type="text" id="password" name="password" required>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <label for="id">Startnummer:
 | 
					    <label for="id">Startnummer:
 | 
				
			||||||
@ -51,6 +51,7 @@
 | 
				
			|||||||
  </form>
 | 
					  </form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					<div id="updated"></div>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
  function log_out(){
 | 
					  function log_out(){
 | 
				
			||||||
    localStorage.removeItem("navn");
 | 
					    localStorage.removeItem("navn");
 | 
				
			||||||
@ -69,5 +70,6 @@
 | 
				
			|||||||
  document.getElementById('password').value = localStorage.getItem("passord");
 | 
					  document.getElementById('password').value = localStorage.getItem("passord");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					<script src="/lib/htmx.min.js"></script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										1
									
								
								lib/htmx.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								lib/htmx.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -19,7 +19,7 @@
 | 
				
			|||||||
<figure><img src="img/kadaver.png" alt="" width="100px" class="invert"></figure>
 | 
					<figure><img src="img/kadaver.png" alt="" width="100px" class="invert"></figure>
 | 
				
			||||||
<h1>Påmeldte Kadaverløpet 2025</h1>
 | 
					<h1>Påmeldte Kadaverløpet 2025</h1>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
<h2>Oppdatert 24.10.25</h2>
 | 
					<h2>Oppdatert 28.10.25</h2>
 | 
				
			||||||
<div class="flash attention">Startnummer blir tildelt nærmere arrangementet. Prøver å oppdatere lista jevnlig. TBN</div>
 | 
					<div class="flash attention">Startnummer blir tildelt nærmere arrangementet. Prøver å oppdatere lista jevnlig. TBN</div>
 | 
				
			||||||
<?php
 | 
					<?php
 | 
				
			||||||
$query = ["type"=>"paameldte"];
 | 
					$query = ["type"=>"paameldte"];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user