forked from lolcat/4get
		
	create data/instances.php to demonstrate out-of-code configuration, and use it to dynamically generate the instance list (#8)
see title. the workflow here (i.e. a file data/*.php, which only has a data structure and is used to generate content elsewhere) could also be used for easier per-instance customization. [you can see what this looks like live here](https://4get.silly.computer/about) Co-authored-by: cynic <kurisufag1@gmail.com> Reviewed-on: lolcat/4get#8 Co-authored-by: cynic <admin@cynic.moe> Co-committed-by: cynic <admin@cynic.moe>
This commit is contained in:
		
							
								
								
									
										22
									
								
								about.php
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								about.php
									
									
									
									
									
								
							@@ -18,6 +18,19 @@ echo
 | 
			
		||||
		'</head>' .
 | 
			
		||||
		'<body class="' . $frontend->getthemeclass(false) . 'about">';
 | 
			
		||||
 | 
			
		||||
include "data/instances.php";
 | 
			
		||||
$compiledinstancelist  = "";
 | 
			
		||||
foreach ($instancelist as $instance)
 | 
			
		||||
{
 | 
			
		||||
	$compiledinstancelist .= "<tr> <td>".$instance["name"]."</td>";
 | 
			
		||||
	$compiledinstancelist .= "<td> <a href=\"".$instance["address"]["uri"]."\">".$instance["address"]["displayname"]."</a>";
 | 
			
		||||
	foreach ($instance["altaddresses"] as $alt)
 | 
			
		||||
	{
 | 
			
		||||
		$compiledinstancelist .= "<a href=\"".$alt["uri"]."\">(".$alt["displayname"].")</a></td>";
 | 
			
		||||
	}
 | 
			
		||||
	$compiledinstancelist .= "</tr>";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$left =
 | 
			
		||||
	'<a href="/" class="link">< Go back</a>
 | 
			
		||||
	
 | 
			
		||||
@@ -87,14 +100,7 @@ $left =
 | 
			
		||||
			<td>Name</td>
 | 
			
		||||
			<td>Address</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td>lolcat\'s instance (master)</td>
 | 
			
		||||
			<td><a href="https://4get.ca">4get.ca</a><a href="http://4getwebfrq5zr4sxugk6htxvawqehxtdgjrbcn2oslllcol2vepa23yd.onion">(tor)</a></td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td>zzls\'s instance</td>
 | 
			
		||||
			<td><a href="https://4get.zzls.xyz/">4get.zzls.xyz</a><a href="http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion">(tor)</a></td>
 | 
			
		||||
		</tr>
 | 
			
		||||
	'.$compiledinstancelist.'
 | 
			
		||||
	</table>
 | 
			
		||||
	
 | 
			
		||||
	<a href="#schizo"><h2 id="schizo">How can I trust you?</h2></a>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								data/instances.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								data/instances.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
<?php
 | 
			
		||||
/*
 | 
			
		||||
this file exists to separate instance data from the actual about page
 | 
			
		||||
 HTML, and to make it easier to add/modify instances cleanly.
 | 
			
		||||
*/
 | 
			
		||||
$instancelist = [
 | 
			
		||||
    [
 | 
			
		||||
        "name" => "lolcat's instance (master)",
 | 
			
		||||
        "address" => [
 | 
			
		||||
            "uri" => "https://4get.ca/",
 | 
			
		||||
            "displayname" => "4get.ca"
 | 
			
		||||
        ],
 | 
			
		||||
        "altaddresses" => [ // all these address blocks will be linked in parentheses
 | 
			
		||||
            [               // e.g. 4get.ca (tor) (i2p) etc.
 | 
			
		||||
                "uri" => "http://4getwebfrq5zr4sxugk6htxvawqehxtdgjrbcn2oslllcol2vepa23yd.onion",
 | 
			
		||||
                "displayname" => "tor"
 | 
			
		||||
            ]
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        "name" => "zzls's instance",
 | 
			
		||||
        "address" => [
 | 
			
		||||
            "uri" => "https://4get.zzls.xyz/",
 | 
			
		||||
            "displayname" => "4get.zzls.xyz"
 | 
			
		||||
        ],
 | 
			
		||||
        "altaddresses" => [
 | 
			
		||||
            [
 | 
			
		||||
                "uri" => "http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion",
 | 
			
		||||
                "displayname" => "tor"
 | 
			
		||||
            ]
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        "name" => "4get on a silly computer",
 | 
			
		||||
        "address" => [
 | 
			
		||||
            "uri" => "https://4get.silly.computer",
 | 
			
		||||
            "displayname" => "4get.silly.computer"
 | 
			
		||||
        ],
 | 
			
		||||
        "altaddresses" => [
 | 
			
		||||
            [
 | 
			
		||||
                "uri" => "https://4get.cynic.moe/",
 | 
			
		||||
                "displayname" => "fallback domain"
 | 
			
		||||
            ]
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
]
 | 
			
		||||
?>
 | 
			
		||||
		Reference in New Issue
	
	Block a user