From gitlab at videolan.org Sat May 2 20:55:03 2026
From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=)
Date: Sat, 02 May 2026 22:55:03 +0200
Subject: [www-doc] [Git][VideoLAN.org/websites][master] donation: add stripe
as an option
Message-ID: <69f664a7cf293_34239a98952486345a6@gitlab.mail>
Felix Paul K?hne pushed to branch master at VideoLAN organization / websites
Commits:
25880bc2 by Felix Paul K?hne at 2026-05-02T22:40:04+02:00
donation: add stripe as an option
- - - - -
3 changed files:
- www.videolan.org/contribute.php
- + www.videolan.org/include/donate_stripe.php
- + www.videolan.org/stripe/checkout.php
Changes:
=====================================
www.videolan.org/contribute.php
=====================================
@@ -3,6 +3,7 @@ $title = "Contribute to the project";
$lang = "en";
$menu = array( "project", "contribute" );
require($_SERVER["DOCUMENT_ROOT"]."/include/header.php");
+require_once($_SERVER["DOCUMENT_ROOT"]."/include/donate_stripe.php");
?>
VideoLAN is a non-profit organization, under French law.
VideoLAN has its own bank account and is responsible for running and maintaining the VideoLAN servers.
+
Donate to VideoLAN via card, Apple Pay, Google Pay or SEPA
+
+
+
You can donate by credit or debit card, Apple Pay, Google Pay,
+ or SEPA Direct Debit (for EUR donations from eligible European bank accounts).
+ Payments are processed securely by Stripe;
+ no account is required.
+
+
+
Euros €
+
+
+
+
Dollars $
+
+
+
Donate to VideoLAN via PayPal
=====================================
www.videolan.org/include/donate_stripe.php
=====================================
@@ -0,0 +1,29 @@
+
+
+
=====================================
www.videolan.org/stripe/checkout.php
=====================================
@@ -0,0 +1,99 @@
+ 10000000) {
+ http_response_code(400);
+ echo 'Amount out of range (minimum 1.00, maximum 100000.00).';
+ exit;
+}
+
+$params = [
+ 'mode' => 'payment',
+ 'submit_type' => 'donate',
+ 'success_url' => 'https://www.videolan.org/thank_you.html?session_id={CHECKOUT_SESSION_ID}',
+ 'cancel_url' => 'https://www.videolan.org/contribute.html#money',
+ 'line_items' => [
+ [
+ 'quantity' => 1,
+ 'price_data' => [
+ 'currency' => strtolower($currency),
+ 'unit_amount' => $unit_amount,
+ 'product_data' => [
+ 'name' => 'Donation to VideoLAN',
+ 'description' => 'Development and communication of VideoLAN',
+ 'images' => [
+ 'https://images.videolan.org/images/goodies/Cone-Video-small.png',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'metadata' => [
+ 'item_name' => 'Development and communication of VideoLAN',
+ ],
+];
+
+$ch = curl_init('https://api.stripe.com/v1/checkout/sessions');
+curl_setopt_array($ch, [
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_POST => true,
+ CURLOPT_POSTFIELDS => http_build_query($params, '', '&'),
+ CURLOPT_HTTPHEADER => [
+ 'Authorization: Bearer ' . $secret_key,
+ 'Content-Type: application/x-www-form-urlencoded',
+ ],
+ CURLOPT_TIMEOUT => 15,
+]);
+$response = curl_exec($ch);
+$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
+$err = curl_error($ch);
+unset($ch);
+
+if ($response === false) {
+ http_response_code(502);
+ error_log('donate_stripe: curl error: ' . $err);
+ echo 'Could not reach payment provider. Please try again later.';
+ exit;
+}
+
+$body = json_decode($response, true);
+if ($status >= 400 || !isset($body['url'])) {
+ http_response_code(502);
+ $msg = isset($body['error']['message']) ? $body['error']['message'] : 'unknown error';
+ error_log('donate_stripe: Stripe API error (HTTP ' . $status . '): ' . $msg);
+ echo 'Could not start the payment session. Please try again later.';
+ exit;
+}
+
+header('Location: ' . $body['url'], true, 303);
+exit;
+?>
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/25880bc2a73f8c2aa5421f7ba01a628259d1f11b
--
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/25880bc2a73f8c2aa5421f7ba01a628259d1f11b
You're receiving this email because of your account on code.videolan.org.
From gitlab at videolan.org Sun May 3 10:29:25 2026
From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=)
Date: Sun, 03 May 2026 12:29:25 +0200
Subject: [www-doc] [Git][VideoLAN.org/websites][master] menu: switch to
stripe donation box
Message-ID: <69f7238592b03_34239a71cc6e86917bb@gitlab.mail>
Felix Paul K?hne pushed to branch master at VideoLAN organization / websites
Commits:
b99e7f46 by Felix Paul K?hne at 2026-05-03T12:29:13+02:00
menu: switch to stripe donation box
The legacy code is left as is for now to allow an easy fallback
- - - - -
1 changed file:
- www.videolan.org/include/menus.php
Changes:
=====================================
www.videolan.org/include/menus.php
=====================================
@@ -1,6 +1,6 @@
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/b99e7f461fa74a44d5c82872f7367d551c0b9808
--
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/b99e7f461fa74a44d5c82872f7367d551c0b9808
You're receiving this email because of your account on code.videolan.org.
From gitlab at videolan.org Tue May 5 10:31:16 2026
From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=)
Date: Tue, 05 May 2026 12:31:16 +0200
Subject: [www-doc] [Git][VideoLAN.org/websites] Pushed new branch
hugo-rewrite
Message-ID: <69f9c6f4c9e3f_34239a98282d811017f0@gitlab.mail>
Felix Paul K?hne pushed new branch hugo-rewrite at VideoLAN organization / websites
--
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/tree/hugo-rewrite
You're receiving this email because of your account on code.videolan.org.
From gitlab at videolan.org Tue May 5 10:39:01 2026
From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=)
Date: Tue, 05 May 2026 12:39:01 +0200
Subject: [www-doc] [Git][VideoLAN.org/websites][hugo-rewrite] hugo: move
language label and direction under params
Message-ID: <69f9c8c5d317a_34239a98282d811027ef@gitlab.mail>
Felix Paul K?hne pushed to branch hugo-rewrite at VideoLAN organization / websites
Commits:
aadddc29 by Felix Paul K?hne at 2026-05-05T12:38:45+02:00
hugo: move language label and direction under params
- - - - -
4 changed files:
- www.videolan.org/bin/po2hugo.py
- www.videolan.org/layouts/_default/baseof.html
- www.videolan.org/layouts/partials/site/footer.html
- www.videolan.org/layouts/partials/site/head.html
Changes:
=====================================
www.videolan.org/bin/po2hugo.py
=====================================
@@ -211,10 +211,11 @@ def write_languages_toml(langs, out_path):
for i, lang in enumerate(ordered, start=1):
name = LANGUAGE_NAMES.get(lang, lang)
f.write(f"[{lang}]\n")
- f.write(f' label = "{name}"\n')
f.write(f" weight = {i}\n")
+ f.write(f" [{lang}.params]\n")
+ f.write(f' label = "{name}"\n')
if lang in RTL_LANGUAGES:
- f.write(' direction = "rtl"\n')
+ f.write(' direction = "rtl"\n')
f.write("\n")
=====================================
www.videolan.org/layouts/_default/baseof.html
=====================================
@@ -1,5 +1,5 @@
-
+
{{ partial "site/head.html" . }}
=====================================
www.videolan.org/layouts/partials/site/footer.html
=====================================
@@ -93,7 +93,7 @@
{{- range hugo.Sites }}
{{- $lang := .Language -}}
{{- $href := cond (eq $lang.Lang "en") $relPath (printf "/%s%s" $lang.Lang $relPath) -}}
-
+
{{- end }}
=====================================
www.videolan.org/layouts/partials/site/head.html
=====================================
@@ -1,5 +1,5 @@
{{- $page := . -}}
-{{- $isRTL := eq site.Language.Direction "rtl" -}}
+{{- $isRTL := eq site.Language.Params.direction "rtl" -}}
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/aadddc294f7b6fbd95557c5900e1e7ea833d692c
--
View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/aadddc294f7b6fbd95557c5900e1e7ea833d692c
You're receiving this email because of your account on code.videolan.org.
From gitlab at videolan.org Tue May 5 11:08:12 2026
From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=)
Date: Tue, 05 May 2026 13:08:12 +0200
Subject: [www-doc] [Git][VideoLAN.org/websites][hugo-rewrite] hugo: use
site.Sites/Data instead of hugo.* for 0.131 compatibility
Message-ID: <69f9cf9cd4449_34239a71be7b4110356a@gitlab.mail>
Felix Paul K?hne pushed to branch hugo-rewrite at VideoLAN organization / websites
Commits:
be46a702 by Felix Paul K?hne at 2026-05-05T13:07:49+02:00
hugo: use site.Sites/Data instead of hugo.* for 0.131 compatibility
- - - - -
10 changed files:
- www.videolan.org/layouts/index.html
- www.videolan.org/layouts/partials/site/footer.html
- www.videolan.org/layouts/partials/site/head.html
- www.videolan.org/layouts/partials/site/sponsors.html
- www.videolan.org/layouts/partials/vlc/download-hero.html
- www.videolan.org/layouts/partials/vlc/download-os-hero.html
- www.videolan.org/layouts/partials/vlc/url.html
- www.videolan.org/layouts/release/single.html
- www.videolan.org/layouts/shortcodes/vlc-version.html
- www.videolan.org/layouts/vlc/list.html
Changes:
=====================================
www.videolan.org/layouts/index.html
=====================================
@@ -154,7 +154,7 @@