7 Commits

8 changed files with 187 additions and 85 deletions
Generated
+55 -55
View File
@@ -1619,16 +1619,16 @@
},
{
"name": "symfony/cache",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "eb3272ed2daed13ed24816e862d73f73d995972a"
"reference": "a1b306757c34b96fe97c0c586f50dceed05c7adb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/eb3272ed2daed13ed24816e862d73f73d995972a",
"reference": "eb3272ed2daed13ed24816e862d73f73d995972a",
"url": "https://api.github.com/repos/symfony/cache/zipball/a1b306757c34b96fe97c0c586f50dceed05c7adb",
"reference": "a1b306757c34b96fe97c0c586f50dceed05c7adb",
"shasum": ""
},
"require": {
@@ -1695,7 +1695,7 @@
"psr6"
],
"support": {
"source": "https://github.com/symfony/cache/tree/v6.4.30"
"source": "https://github.com/symfony/cache/tree/v6.4.31"
},
"funding": [
{
@@ -1715,7 +1715,7 @@
"type": "tidelift"
}
],
"time": "2025-12-01T16:41:59+00:00"
"time": "2025-12-27T18:26:25+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -1874,16 +1874,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e"
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e",
"reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e",
"url": "https://api.github.com/repos/symfony/console/zipball/f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"shasum": ""
},
"require": {
@@ -1948,7 +1948,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.30"
"source": "https://github.com/symfony/console/tree/v6.4.31"
},
"funding": [
{
@@ -1968,20 +1968,20 @@
"type": "tidelift"
}
],
"time": "2025-12-05T13:47:41+00:00"
"time": "2025-12-22T08:30:34+00:00"
},
{
"name": "symfony/dependency-injection",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "5328f994cbb0855ba25c3a54f4a31a279511640f"
"reference": "10058832a74a33648870aa2057e3fdc8796a6566"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5328f994cbb0855ba25c3a54f4a31a279511640f",
"reference": "5328f994cbb0855ba25c3a54f4a31a279511640f",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/10058832a74a33648870aa2057e3fdc8796a6566",
"reference": "10058832a74a33648870aa2057e3fdc8796a6566",
"shasum": ""
},
"require": {
@@ -2033,7 +2033,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dependency-injection/tree/v6.4.30"
"source": "https://github.com/symfony/dependency-injection/tree/v6.4.31"
},
"funding": [
{
@@ -2053,7 +2053,7 @@
"type": "tidelift"
}
],
"time": "2025-12-07T09:29:59+00:00"
"time": "2025-12-23T13:34:50+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2505,16 +2505,16 @@
},
{
"name": "symfony/finder",
"version": "v6.4.27",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "a1b6aa435d2fba50793b994a839c32b6064f063b"
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/a1b6aa435d2fba50793b994a839c32b6064f063b",
"reference": "a1b6aa435d2fba50793b994a839c32b6064f063b",
"url": "https://api.github.com/repos/symfony/finder/zipball/5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"shasum": ""
},
"require": {
@@ -2549,7 +2549,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v6.4.27"
"source": "https://github.com/symfony/finder/tree/v6.4.31"
},
"funding": [
{
@@ -2569,20 +2569,20 @@
"type": "tidelift"
}
],
"time": "2025-10-15T18:32:00+00:00"
"time": "2025-12-11T14:52:17+00:00"
},
{
"name": "symfony/framework-bundle",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
"reference": "3c212ec5cac588da8357f5c061194363a4e91010"
"reference": "0ab60c05570b9e2bfab92b9944b938b8ffb5ba96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3c212ec5cac588da8357f5c061194363a4e91010",
"reference": "3c212ec5cac588da8357f5c061194363a4e91010",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0ab60c05570b9e2bfab92b9944b938b8ffb5ba96",
"reference": "0ab60c05570b9e2bfab92b9944b938b8ffb5ba96",
"shasum": ""
},
"require": {
@@ -2702,7 +2702,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/framework-bundle/tree/v6.4.30"
"source": "https://github.com/symfony/framework-bundle/tree/v6.4.31"
},
"funding": [
{
@@ -2722,20 +2722,20 @@
"type": "tidelift"
}
],
"time": "2025-11-29T11:31:32+00:00"
"time": "2025-12-23T14:16:13+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "0384c62b79d96e9b22d77bc1272c9e83342ba3a6"
"reference": "a35ee6f47e4775179704d7877a8b0da3cb09241a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/0384c62b79d96e9b22d77bc1272c9e83342ba3a6",
"reference": "0384c62b79d96e9b22d77bc1272c9e83342ba3a6",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/a35ee6f47e4775179704d7877a8b0da3cb09241a",
"reference": "a35ee6f47e4775179704d7877a8b0da3cb09241a",
"shasum": ""
},
"require": {
@@ -2783,7 +2783,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.4.30"
"source": "https://github.com/symfony/http-foundation/tree/v6.4.31"
},
"funding": [
{
@@ -2803,20 +2803,20 @@
"type": "tidelift"
}
],
"time": "2025-12-01T20:07:31+00:00"
"time": "2025-12-17T10:10:57+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "ceac681e74e824bbf90468eb231d40988d6d18a5"
"reference": "16b0d46d8e11f480345c15b229cfc827a8a0f731"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceac681e74e824bbf90468eb231d40988d6d18a5",
"reference": "ceac681e74e824bbf90468eb231d40988d6d18a5",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/16b0d46d8e11f480345c15b229cfc827a8a0f731",
"reference": "16b0d46d8e11f480345c15b229cfc827a8a0f731",
"shasum": ""
},
"require": {
@@ -2901,7 +2901,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v6.4.30"
"source": "https://github.com/symfony/http-kernel/tree/v6.4.31"
},
"funding": [
{
@@ -2921,7 +2921,7 @@
"type": "tidelift"
}
],
"time": "2025-12-07T15:49:34+00:00"
"time": "2025-12-31T08:27:27+00:00"
},
{
"name": "symfony/intl",
@@ -4018,16 +4018,16 @@
},
{
"name": "symfony/twig-bridge",
"version": "v6.4.30",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
"reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34"
"reference": "24a498d80fd2a28087fbac0a96e0721ce2756b65"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d77a78c7fffaf7cb0158d28db824ba78d89a9f34",
"reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/24a498d80fd2a28087fbac0a96e0721ce2756b65",
"reference": "24a498d80fd2a28087fbac0a96e0721ce2756b65",
"shasum": ""
},
"require": {
@@ -4107,7 +4107,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/twig-bridge/tree/v6.4.30"
"source": "https://github.com/symfony/twig-bridge/tree/v6.4.31"
},
"funding": [
{
@@ -4127,20 +4127,20 @@
"type": "tidelift"
}
],
"time": "2025-12-05T13:01:31+00:00"
"time": "2025-12-11T18:16:47+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v7.4.0",
"version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "41fd6c4ae28c38b294b42af6db61446594a0dece"
"reference": "7e99bebcb3f90d8721890f2963463280848cba92"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece",
"reference": "41fd6c4ae28c38b294b42af6db61446594a0dece",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/7e99bebcb3f90d8721890f2963463280848cba92",
"reference": "7e99bebcb3f90d8721890f2963463280848cba92",
"shasum": ""
},
"require": {
@@ -4194,7 +4194,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v7.4.0"
"source": "https://github.com/symfony/var-dumper/tree/v7.4.3"
},
"funding": [
{
@@ -4214,7 +4214,7 @@
"type": "tidelift"
}
],
"time": "2025-10-27T20:36:44+00:00"
"time": "2025-12-18T07:04:31+00:00"
},
{
"name": "symfony/var-exporter",
@@ -4583,5 +4583,5 @@
"prefer-lowest": false,
"platform": {},
"platform-dev": {},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.9.0"
}
+1 -1
View File
@@ -22,7 +22,7 @@ php.buildComposerProject rec {
};
pname = "pvv-nettsiden";
version = "0.0.1";
vendorHash = "sha256-7I7Fdp5DvCwCdYY66Mv0hZ+a8xRzQt+WMUKG544k7Fc=";
vendorHash = "sha256-3+hX9tzC7IvU2bDKpPsfk/TH1ZxffTp+5k5ky5tP7yg=";
passthru.simplesamlphpPath = "share/php/pvv-nettsiden/vendor/simplesamlphp/simplesamlphp";
+1 -1
View File
@@ -10,7 +10,7 @@ main {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
padding: 2rem;
margin: 6% 2%;
margin: 50px 2%;
}
/* Base styles for all cards */
+1 -1
View File
@@ -37,7 +37,7 @@ require_once dirname(__DIR__, 2) . implode(\DIRECTORY_SEPARATOR, ['', 'inc', 'in
<body>
<nav id="navbar" class="">
<?php echo navbar(1, 'Hjem'); ?>
<?php echo navbar(1, ''); ?>
<?php echo loginbar(null, $pdo); ?>
</nav>
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 61 81" fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round"><style><![CDATA[.B{stroke:none}.C{fill:#000}.D{fill:#eceff1}.E{fill:url(#A)}.F{stroke-opacity:.34}.G{fill:#ffee58}.H{fill:#d9ff66}.I{fill:#4caf50}]]></style><use xlink:href="#C" x=".5" y=".5"/><defs><linearGradient id="A" x1="0%" y1="50%" x2="100%" y2="50%"><stop offset="0%" stop-color="#90a4ae"/><stop offset="100%" stop-color="#b0bec5"/></linearGradient><path id="B" d="M7.059 67.43c5.142 3.383 12.674 5.604 21.176 5.875"/></defs><symbol id="C" overflow="visible"><ellipse cx="30" cy="50" rx="30" ry="16.667" class="B D"/><g transform="translate(0 50)"><path d="M0 0v13.333C0 22.567 13.38 30 30 30s30-7.433 30-16.667V0c0 9.233-13.38 16.667-30 16.667S0 9.233 0 0z" class="B E"/></g><use xlink:href="#B" fill="none" class="F"/><g class="B"><ellipse cx="37.362" cy="73.34" rx="2.068" ry="1.993" class="G"/><ellipse cx="44.52" cy="71.326" rx="2.068" ry="1.993" class="H"/><ellipse cx="51.579" cy="68.66" rx="2.068" ry="1.993" class="I"/><ellipse cx="30" cy="33.334" rx="30" ry="16.667" class="D"/></g><g transform="translate(0 33.333)"><path d="M0 0v13.333C0 22.567 13.38 30 30 30s30-7.433 30-16.667V0c0 9.233-13.38 16.667-30 16.667S0 9.233 0 0z" class="B E"/></g><use xlink:href="#B" y="-16.667" fill="none" class="F"/><g class="B"><ellipse cx="37.362" cy="56.673" rx="2.068" ry="1.993" class="G"/><ellipse cx="44.52" cy="54.66" rx="2.068" ry="1.993" class="H"/><ellipse cx="51.579" cy="51.993" rx="2.068" ry="1.993" class="I"/><ellipse cx="30" cy="16.667" rx="30" ry="16.667" class="D"/></g><g transform="translate(0 16.667)"><path d="M0 0v13.333C0 22.567 13.38 30 30 30s30-7.433 30-16.667V0c0 9.233-13.38 16.667-30 16.667S0 9.233 0 0z" class="B E"/></g><use xlink:href="#B" y="-33.334" fill="none" class="F"/><g class="B"><ellipse cx="37.362" cy="40.007" rx="2.068" ry="1.993" class="G"/><ellipse cx="44.52" cy="37.993" rx="2.068" ry="1.993" class="H"/><ellipse cx="51.579" cy="35.326" rx="2.068" ry="1.993" class="I"/><ellipse cx="30" cy="16.666" rx="26.471" ry="13.333" fill="#cfd8dc"/></g></symbol></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

+74
View File
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" viewBox="0 0 256 256" id="svg383" sodipodi:docname="vaultwarden-icon.svg" inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)" width="256" height="256" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs387" />
<sodipodi:namedview id="namedview385" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="3.3359375" inkscape:cx="128" inkscape:cy="128" inkscape:window-width="1874" inkscape:window-height="1056" inkscape:window-x="46" inkscape:window-y="24" inkscape:window-maximized="1" inkscape:current-layer="svg383" />
<title id="title287">Vaultwarden Icon</title>
<g id="logo" transform="matrix(2.4381018,0,0,2.4381018,128,128)">
<g id="gear" mask="url(#holes)">
<path d="m-31.1718-33.813208 26.496029 74.188883h9.3515399l26.49603-74.188883h-9.767164l-16.728866 47.588948q-1.662496 4.571864-2.805462 8.624198-1.142966 3.948427-1.870308 7.585137-.72734199-3.63671-1.8703079-7.689043-1.142966-4.052334-2.805462-8.728104l-16.624959-47.381136z" stroke="#000" stroke-width="4.51171" id="path289" />
<circle transform="scale(-1,1)" r="43" fill="none" stroke="#000" stroke-width="9" id="circle291" />
<g id="cogs" transform="scale(-1,1)">
<polygon id="cog" points="51 0 46 -3 46 3" stroke="#000" stroke-linejoin="round" stroke-width="3" />
<use transform="rotate(11.25)" xlink:href="#cog" id="use294" />
<use transform="rotate(22.5)" xlink:href="#cog" id="use296" />
<use transform="rotate(33.75)" xlink:href="#cog" id="use298" />
<use transform="rotate(45)" xlink:href="#cog" id="use300" />
<use transform="rotate(56.25)" xlink:href="#cog" id="use302" />
<use transform="rotate(67.5)" xlink:href="#cog" id="use304" />
<use transform="rotate(78.75)" xlink:href="#cog" id="use306" />
<use transform="rotate(90)" xlink:href="#cog" id="use308" />
<use transform="rotate(101.25)" xlink:href="#cog" id="use310" />
<use transform="rotate(112.5)" xlink:href="#cog" id="use312" />
<use transform="rotate(123.75)" xlink:href="#cog" id="use314" />
<use transform="rotate(135)" xlink:href="#cog" id="use316" />
<use transform="rotate(146.25)" xlink:href="#cog" id="use318" />
<use transform="rotate(157.5)" xlink:href="#cog" id="use320" />
<use transform="rotate(168.75)" xlink:href="#cog" id="use322" />
<use transform="scale(-1)" xlink:href="#cog" id="use324" />
<use transform="rotate(191.25)" xlink:href="#cog" id="use326" />
<use transform="rotate(202.5)" xlink:href="#cog" id="use328" />
<use transform="rotate(213.75)" xlink:href="#cog" id="use330" />
<use transform="rotate(225)" xlink:href="#cog" id="use332" />
<use transform="rotate(236.25)" xlink:href="#cog" id="use334" />
<use transform="rotate(247.5)" xlink:href="#cog" id="use336" />
<use transform="rotate(258.75)" xlink:href="#cog" id="use338" />
<use transform="rotate(-90)" xlink:href="#cog" id="use340" />
<use transform="rotate(-78.75)" xlink:href="#cog" id="use342" />
<use transform="rotate(-67.5)" xlink:href="#cog" id="use344" />
<use transform="rotate(-56.25)" xlink:href="#cog" id="use346" />
<use transform="rotate(-45)" xlink:href="#cog" id="use348" />
<use transform="rotate(-33.75)" xlink:href="#cog" id="use350" />
<use transform="rotate(-22.5)" xlink:href="#cog" id="use352" />
<use transform="rotate(-11.25)" xlink:href="#cog" id="use354" />
</g>
<g id="mounts" transform="scale(-1,1)">
<polygon id="mount" points="0 -35 7 -42 -7 -42" stroke="#000" stroke-linejoin="round" stroke-width="6" />
<use transform="rotate(72)" xlink:href="#mount" id="use358" />
<use transform="rotate(144)" xlink:href="#mount" id="use360" />
<use transform="rotate(216)" xlink:href="#mount" id="use362" />
<use transform="rotate(-72)" xlink:href="#mount" id="use364" />
</g>
</g>
<mask id="holes">
<rect x="-60" y="-60" width="120" height="120" fill="#fff" id="rect368" />
<circle id="hole" cy="-40" r="3" />
<use transform="rotate(72)" xlink:href="#hole" id="use371" />
<use transform="rotate(144)" xlink:href="#hole" id="use373" />
<use transform="rotate(216)" xlink:href="#hole" id="use375" />
<use transform="rotate(-72)" xlink:href="#hole" id="use377" />
</mask>
</g>
<metadata id="metadata381">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:title>Vaultwarden Icon</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Mathijs van Veluw</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>Rust Logo</dc:relation>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

+54 -27
View File
@@ -240,6 +240,13 @@ $services = [
"link_text" => "Se dokumentasjon for gophertjening",
"image" => "img/gopher.png",
],
[
"name" => "Brukerdatabaser",
"description" => "PVV har en MariaDB server som er tilgjengelig for bruk av alle medlemmer, gjennom et spesielt administatorverktøy.",
"link" => "https://git.pvv.ntnu.no/Projects/muscl",
"link_text" => "Se prosjektsiden til administatorverktøyet",
"image" => "img/database.svg",
],
[
"name" => "Wiki",
"description" => "PVVs wiki er åpen for alle medlemmer, og kan brukes til dokumentasjon, notater, prosjektsider og mye mer.",
@@ -256,32 +263,6 @@ $services = [
],
],
],
"recreational" => [
"title" => "Underholdning og fritid",
"services" => [
[
"name" => "Minecraft",
"description" => "Vi har en egen Minecraft-server for medlemmer, som du kan koble til med IP-adressen minecraft.pvv.ntnu.no. Spør om whitelist på matrix/discord.",
"link" => "https://minecraft.pvv.ntnu.no",
"link_text" => "Gå til verdenskartet vårt",
"image" => "img/minecraft.png",
],
// [
// "name" => "MiniFlux RSS reader",
// "description" => "Trenger du en cross-platform RSS/Atom-leser for å følge med på omverdenen som det er 1990? ",
// "link" => "https://feeds.pvv.ntnu.no",
// "link_text" => "Gå til MiniFlux",
// "image" => "img/rss.svg",
// ],
[
"name" => "Bildegalleri",
"description" => "PVV har et felles bildegalleri, der alle kan legge relevante bilder, som automatisk blir inkludert på nettsiden.",
"link" => "https://www.pvv.ntnu.no/galleri/",
"link_text" => "Se galleriet",
"image" => "img/gallery.png",
],
],
],
"physical" => [
"title" => "Fysiske tjenester",
"services" => [
@@ -321,7 +302,53 @@ $services = [
"image" => "img/terminal.png",
],
],
]
],
"other" => [
"title" => "Annet",
"services" => [
[
"name" => "Minecraft",
"description" => "Vi har en egen Minecraft-server for medlemmer, som du kan koble til med IP-adressen minecraft.pvv.ntnu.no. Spør om whitelist på matrix/discord.",
"link" => "https://minecraft.pvv.ntnu.no",
"link_text" => "Gå til verdenskartet vårt",
"image" => "img/minecraft.png",
],
[
"name" => "Mapcrafter",
"description" => "Det finnes enda et verdenskart for minecraft, mapcrafter. Her kan du se verdenskartet fra en mer isometrisk vinkel.",
"link" => "http://isvegg.pvv.ntnu.no/kart",
"link_text" => "Gå til det andre verdenskartet vårt",
"image" => "img/mapcrafter.webp",
],
// [
// "name" => "MiniFlux RSS reader",
// "description" => "Trenger du en cross-platform RSS/Atom-leser for å følge med på omverdenen som det er 1990? ",
// "link" => "https://feeds.pvv.ntnu.no",
// "link_text" => "Gå til MiniFlux",
// "image" => "img/rss.svg",
// ],
[
"name" => "Bildegalleri",
"description" => "PVV har et felles bildegalleri, der alle kan legge relevante bilder, som automatisk blir inkludert på nettsiden.",
"link" => "https://www.pvv.ntnu.no/galleri/",
"link_text" => "Se galleriet",
"image" => "img/gallery.png",
],
[
"name" => "Vaultwarden",
"description" => implode(
" ",
[
"PVV har en passordlagringstjeneste, hvor medlemmer kan lagre passordene sine, og drift kan dele passord mellom seg.",
"Passordene blir kryptert og dekryptert på klientsiden, så det er ikke mulig for drift å snoke rundt i passordene dine."
],
),
"link" => "https://pw.pvv.ntnu.no/",
"link_text" => "Gå til vevgrensesnittet",
"image" => "img/vaultwarden.svg",
],
],
],
];
$servicesArrayKeys = array_keys($services);