Compare commits

...

22 Commits

Author SHA1 Message Date
dan a874da3cc0 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:45:21 +01:00
dan 50b2e9ecda (Grav GitSync) Automatic Commit from dan 2023-12-19 07:45:18 +01:00
dan 14fa5b0b5b (Grav GitSync) Automatic Commit from dan 2023-12-19 07:42:13 +01:00
dan 7abc31dea1 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:42:10 +01:00
dan bec3cc5751 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:42:00 +01:00
dan 104d626f4a (Grav GitSync) Automatic Commit from dan 2023-12-19 07:29:21 +01:00
dan 3bdefc8ec7 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:29:16 +01:00
dan fa8324daf4 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:29:07 +01:00
dan 65359f4147 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:23:48 +01:00
dan 75158e2426 (Grav GitSync) Automatic Commit from dan 2023-12-19 07:23:45 +01:00
dan 64e2e6cc2f (Grav GitSync) Automatic Commit from dan 2023-12-19 07:23:35 +01:00
dan a898b5c60a (Grav GitSync) Automatic Commit from dan 2023-12-19 07:17:44 +01:00
dan a1436ab89a (Grav GitSync) Automatic Commit from dan 2023-12-19 07:17:39 +01:00
dan f1230ead6e (Grav GitSync) Automatic Commit from dan 2023-12-19 07:17:27 +01:00
dan c2daf53613 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:54:04 +01:00
dan 20fe71b6a7 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:53:28 +01:00
dan 1254c82873 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:53:22 +01:00
dan 037a138767 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:53:12 +01:00
dan 34233177d9 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:50:53 +01:00
dan 6eb6dcc396 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:50:51 +01:00
dan f8293c8a0d (Grav GitSync) Automatic Commit from dan 2023-12-19 06:50:18 +01:00
dan 1967c97af9 (Grav GitSync) Automatic Commit from dan 2023-12-19 06:50:12 +01:00
20 changed files with 177 additions and 2 deletions

View File

@ -16,5 +16,6 @@ feed:
description: 'Sample Blog Description'
limit: 10
pagination: true
aura: { }
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,29 @@
---
title: 'Governments spying on Apple, Google users through push notifications - US senator'
author: Dan
published: true
date: '19-12-2023 06:27'
taxonomy:
category:
- news
tag:
- spying
- google
- apple
- push_notifications
aura:
author: dan
media_order: Apple-y-Google.webp
---
WASHINGTON, Dec 6 (Reuters) - Unidentified governments are surveilling smartphone users via their apps' push notifications, a U.S. senator warned on Wednesday.
In a letter to the Department of Justice, Senator Ron Wyden said foreign officials were demanding the data from Alphabet's (GOOGL.O) Google and Apple (AAPL.O). Although details were sparse, the letter lays out yet another path by which governments can track smartphones.
Apps of all kinds rely on push notifications to alert smartphone users to incoming messages, breaking news, and other updates. These are the audible "dings" or visual indicators users get when they receive an email or their sports team wins a game. What users often do not realize is that almost all such notifications travel over Google and Apple's servers.
That gives the two companies unique insight into the traffic flowing from those apps to their users, and in turn puts them "in a unique position to facilitate government surveillance of how users are using particular apps," Wyden said. He asked the Department of Justice to "repeal or modify any policies" that hindered public discussions of push notification spying.
In a statement, Apple said that Wyden's letter gave them the opening they needed to share more details with the public about how governments monitored push notifications.
More at https://www.reuters.com/technology/cybersecurity/governments-spying-apple-google-users-through-push-notifications-us-senator-2023-12-06/

View File

@ -0,0 +1,18 @@
---
title: 'Let''s be part of "less than 1%"!'
author: Dan
published: true
date: '19-12-2023 06:41'
taxonomy:
category:
- news
tag:
- donate
- thunderbird
- email
aura:
author: dan
media_order: thunderbird_donation.png
---
https://www.thunderbird.net/en-US/thunderbird/115.0/holidayeoy/

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

View File

@ -0,0 +1,20 @@
---
title: 'OPNsense 23.7.10 released & OPNsense business edition 23.10.1 released'
author: Dan
published: true
date: '19-12-2023 05:52'
taxonomy:
category:
- news
tag:
- opnsense
- release
aura:
author: dan
media_order: opnsense.png
---
The updates went smoothly as always.
https://forum.opnsense.org/index.php?topic=37511.msg183948#msg183948
https://forum.opnsense.org/index.php?topic=37532.msg184055#msg184055

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,26 @@
---
title: 'Resolved: Microsoft Outlook Blocking All Email from @tutanota.com Domain as Spam.'
author: Dan
published: true
date: '19-12-2023 06:16'
taxonomy:
category:
- news
tag:
- microsoft
- email
- outlook
- hotmail
- spam
aura:
author: dan
media_order: stop_microsoft.png
---
tuta.com/blog/outlook-falsely-marks-tutanota-emails-as-junk/
This is just another example of how much power Microsoft has. But sometimes I'm not sure they really know what they're doing.
Anyway, dealing with Windows email users (businesses and individuals) can be a nightmare.
If you plan on using your own email server, sooner or later you'll be playing this game too.

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -0,0 +1,22 @@
---
title: 'Router Freedom tech wiki is now online!'
author: Dan
published: true
date: '19-12-2023 06:23'
taxonomy:
category:
- news
tag:
- router
- freedom
- wiki
aura:
author: dan
media_order: router_freedom.jpg
---
> In recent years we have focused on the policy and legal aspects of Router Freedom. Now, with the help of our Netherlands volunteer team, we are publishing the Router Freedom tech wiki, which provides information on the necessary steps you need to use and connect your own router. We need your help to get it printed!
>
> The FSFE has concentrated its efforts in recent years to conduct a European-wide initiative to defend the rights and interests of end-users regarding Router Freedom, after the series of reforms introduced by EU telecom law with regards to internet devices and terminal equipment. Numerous reports, policy papers, news items, and dedicated studies have been published so that regulators and legislators all around Europe could make informed decisions to safeguard this fundamental right for net neutrality.
More at https://fsfe.org/news/2023/news-20231214-01.en.html

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,3 +1,18 @@
# v7.3.0
## 12/14/2023
1. [](#new)
* Added XHR/Ajax form submission as an option in the form blueprint. See [Learn Forms](https://learn.getgrav.org/17/forms/forms/how-to-ajax-submission) for details.
# v7.2.2
## 12/13/2023
1. [](#improved)
* Add _inline errors_ for `file` field. Useful in combination with `form: no-validate: true` form setting.
* Validate filename against `uploads_dangerous_extensions` when using the `save:` action
1. [](#bugfix)
* Cleared 'basic captcha' value when invalid
# v7.2.1
## 06/27/2023

View File

@ -1,7 +1,7 @@
name: Form
slug: form
type: plugin
version: 7.2.1
version: 7.3.0
description: Enables forms handling and processing
icon: check-square
author:

View File

@ -518,7 +518,7 @@ class FormPlugin extends Plugin
$captcha_value = trim($form->value('basic-captcha'));
if (!$captcha->validateCaptcha($captcha_value)) {
$message = $params['message'] ?? $this->grav['language']->translate('PLUGIN_FORM.ERROR_BASIC_CAPTCHA');
$form->setData('basic-captcha', '');
$this->grav->fireEvent('onFormValidationError', new Event([
'form' => $form,
'message' => $message
@ -667,6 +667,11 @@ class FormPlugin extends Plugin
$filename = $prefix . $this->udate($format, $raw_format) . $postfix . $ext;
}
// Handle bad filenames.
if (!Utils::checkFilename($filename)) {
throw new RuntimeException(sprintf('Form save: File with extension not allowed: %s', $filename));
}
/** @var Twig $twig */
$twig = $this->grav['twig'];
$vars = [
@ -1130,6 +1135,10 @@ class FormPlugin extends Plugin
return false;
}
if (isset($form->xhr_submit) && $form->xhr_submit) {
$form->set('template', $form->template ?? 'form-xhr');
}
// Set page template if passed by form
if (isset($form->template)) {
$this->grav['page']->template($form->template);

View File

@ -0,0 +1 @@
{% extends "forms/default/form.html.twig" %}

View File

@ -1,3 +1,4 @@
{% block xhr %}{% endblock %}
{% set form = form ?? grav.session.getFlashObject('form') %}
{% set layout = layout ?? form.layout ?? 'default' %}
{% set field_layout = field_layout ?? layout %}

View File

@ -89,7 +89,14 @@
{{ macro.preview(path, file, _context) }}
{% endfor %}
{% include 'forms/fields/hidden/hidden.html.twig' with {field: {name: '_json.' ~ field.name}, value: (value ?? [])|json_encode } %}
</div>
{% if inline_errors and errors %}
<div class="{{ form_field_inline_error_classes }}">
<p class="form-message"><i class="fa fa-exclamation-circle"></i> {{ errors|first|raw }}</p>
</div>
{% endif %}
{% if grav.browser.browser == 'msie' and grav.browser.version < 12 %}
{% do assets.addJs('plugin://form/assets/object.assign.polyfill.js') %}

View File

@ -26,4 +26,9 @@ You can also override individual fields by copying (using text field as an examp
templates/forms/fields/text/text.html.twig -> templates/forms/fields/text/tailwind-text.html.twig
#}
{% extends "forms/default/form.html.twig" %}
{% block xhr %}
{% include 'forms/layouts/xhr.html.twig' %}
{% endblock %}

View File

@ -0,0 +1,21 @@
{% if form.xhr_submit == true %}
{% do assets.addInlineJs("
document.addEventListener('DOMContentLoaded', function() {
var form = document.getElementById('" ~ form.id ~ "');
form.addEventListener('submit', function(e) {
// prevent standard form submission
e.preventDefault();
// submit the form via Ajax
var xhr = new XMLHttpRequest();
xhr.open(form.getAttribute('method'), form.getAttribute('action'));
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
if (xhr.status === 200) {
document.getElementById('" ~ form.id ~ "').innerHTML = xhr.responseText;
}
};
xhr.send(new URLSearchParams(new FormData(form)).toString());
});
});
", {'group': 'bottom', 'position': 'before', 'priority': 100}) %}
{% endif %}