Hauptmenü

Werkzeuge

Kategorien

Archiv

Einhell

DS Youtube – Youtube Videos datenschutzkonform in Webseite einbinden

Erstellt in PHP, Wordpress am 15. Oktober 2022 vom Daschmi

Mit der Bibliothek DSYoutube ist es auf einfache Weise möglich YouTube Videos in eine Webseite einzubinden. Man braucht lediglich die VideoID und muss den Pfad für das Vorschaubild konfigurieren.

Weitere Informationen und Downloads bekommen Sie auf der Demoseite der Bibliothek.

Für WordPress gibt es ein Plugin, mit dem sie die Funktionalität einfach über einen Shortcode z.B.

[ds_youtube]OepAzzGcz4E[/ds_youtube]

nutzen können.

Im Frontend sieht das ganze dann so aus.

Datenschutz ist uns wichtig!

Daher wird dieses Video erst geladen wenn sie der Verwendung des Drittanbieters "YouTube" zustimmen durch den möglicherweise Cookies gesetzt und Nutzerdaten übertragen werden.

Ich bin einmalig damit einverstanden.
DSGVO Script powered by https://daschmi.de.

Ds Youtube

Stückpreis: 15,00 EUR
Mit dieser Bibliothek können YouTube Videos datenschutzkonform eingebunden werden.
Mit diesem Plugin können YouTube Videos datenschutzkonform eingebunden werden. Die Videos werden dabei erst nach Nutzerzustimmung geladen. Eine Demo sehen sie hier https://daschmi.de/ds_youtube/

EXIF Bildrotation mit gd / imagerotate korrigieren

Erstellt in PHP am 12. Oktober 2022 vom Daschmi

Möchte man mittels der GD-Bibliothek die Drehung/Spiegelung von Bildern anhand der EXIF Meta Daten korrigieren kann man folgenden Code verwenden:

$srcImage = @imagecreatefrompng($src_file);

$exif = exif_read_data($src_file);

if ($exif && !empty($exif['Orientation'])) {

  $srcImage = match ($exif['Orientation']) {
    8 => imagerotate($srcImage, 90, 0),
    3 => imagerotate($srcImage, 180, 0),
    6, 5, 7 => magerotate($srcImage, -90, 0)
  };

}

Filter/Action unter WordPress innerhalb von Namespaces verwenden

Erstellt in Wordpress am 5. Oktober 2022 vom Daschmi

Nutzt man Namespaces und möchte unter WordPress mit add_filter oder add_action ein Callback übergeben, kann man so vorgehen:

namespace ds;

function wp_enqueue_scripts() {

}

\add_action('wp_enqueue_scripts', __NAMESPACE__.'wp_enqueue_scripts');

Verzeichnis rekursiv mit PHP kopieren

Erstellt in PHP am 23. September 2022 vom Daschmi

abstract class DirHelper {

    public static function cpdir(string $source, string $target): void {
        
        $src_dir = opendir($source);
        
        mkdir($target);
        
        while (($file = readdir($src_dir))) {

            if (!in_array($file, ['.', '..'])) {
        
                if (is_dir($source.DIRECTORY_SEPARATOR.$file)) {
            
                    self::cpdir($source.DIRECTORY_SEPARATOR.$file, $target.DIRECTORY_SEPARATOR.$file);
        
                } else {
            
                    copy($source.DIRECTORY_SEPARATOR.$file,$target.DIRECTORY_SEPARATOR.$file);
            
                }

            }

        }
        
        closedir($src_dir);

    }

}

Link zur Datenschutzseite

Erstellt in Wordpress am 4. September 2022 vom Daschmi

Um den Link zur Datenschutzseite für WordPress zu generieren kann folgender Code verwendet werden.

<?php echo get_permalink(get_option('wp_page_for_privacy_policy')); ?>

Vue3 Composition API Spickzettel

Erstellt in Javascript am 1. September 2022 vom Daschmi

import { defineEmits, watch, inject, defineProps, computed, ref } from "vue";

Eigene Events mit defineEmits definieren

const emit = defineEmits(['select']);

...

emit('select');

Watcher definieren

watch(var, (newValue) => { .. });

Funktion aus Elternklasse nutzen

const xhr = inject(xhr);

Properties definieren

const props = defineProps(['label', 'invoicein']);

Computed Properties

const var = computed(() => { return ... };

HTML Referenzen nutzen

<script setup>

  let form = ref(null);

</script>

<template>
  <form ref="form">
  ...
</template>

Router mit Properties

#router.js
..
{ path: 'user/:id', component: CustomerUserEdit, props:true }
..

#.vue
const props = defineProps(['id']);

Methoden einer Komponente über ref nach außen verfügbar machen

defineExpose({
  toggleDisplay
});

WordPress Zugang über FTP/sFTP anlegen

Erstellt in Allgemein am 30. Juli 2022 vom Daschmi

Mit folgender Funktion kann man sich einen Nutzer mit Administrator Berechtigung anlegen wenn man noch den FTP/sFTP Zugang hat.

add_action('init', function() {
  
    $username = 'Administrator';
    $password = 'Kennwort';
    $email_address = 'info@domain.de';

    if (!\username_exists($username)) {
    
        $user_id = \wp_create_user($username, $password, $email_address);
        $user = new \WP_User($user_id);
    
	$user->add_role('administrator');
	grant_super_admin($user_id);

    }

});

TYPO3 Update 9 -> 10

Erstellt in TYPO3 am 22. Juli 2022 vom Daschmi

Folgende Probleme sind bei einem Update von 9 -> 10 aufgetreten

Fehlermeldung

Symfony\Component\Mime\Message::setBody(): Argument #1 ($body) must be of type ?Symfony\Component\Mime\Part\AbstractPart, string given,

Lösung

Statt

$message = $this->objectManager->get('TYPO3\\CMS\\Core\\Mail\\MailMessage'); 
$message->setTo([$this->settings['to']])
    ->setFrom([$this->settings['from_email'] => $this->settings['from_name']])
    ->setSubject($this->settings['subject']); 
$message->setBody('text/html', $emailBody); 

die setBody wie folgt aufrufen:

$message = $this->objectManager->get('TYPO3\\CMS\\Core\\Mail\\MailMessage'); 
$message->setTo([$this->settings['to']])
    ->setFrom([$this->settings['from_email'] => $this->settings['from_name']])
    ->setSubject($this->settings['subject']); 
$message->setBody()->html($emailBody);

Standardabweichung mit PHP berechnen

Erstellt in PHP am 24. April 2022 vom Daschmi

Um mit PHP die Standardabweichung zu berechnen, kann folgende Funktion verwendet werden.

/**
 * Berechnet die Standardabweichung aus einem Array von Werten
 * @param $ar
 *
 * @return float
 */
public static function calculateDeviation($ar) {
    
  $num = sizeof($ar);
  $avg = array_sum($ar) / $num;
  $abw = 0;

  foreach ($ar as $item) {

    $abw += ($item - $avg) * ($item - $avg);

  }

  return sqrt((1 / ($num - 1)) * $abw);

}

IBAN mit Vanilla/JavaScript bei Eingabe formatieren

Erstellt in Allgemein am 16. März 2022 vom Daschmi

Mit folgendem Codeblock kann man die Eingabe auf dem Input Feld mit der id=“supplier_iban“ bei Eingabe nach ISO 13616-1 und EBS 204 formatieren.

let el_supplier_iban = document.getElementById('supplier_iban');
						
el_supplier_iban.addEventListener('input', (event) => {
    
    let v = event.target.value.toUpperCase().replace(/ /g, '');
    let r = '';

    for (let i = 0; i < v.length; i ++) {
        
        r += v[i];
        
        if ((i + 1) % 4 === 0 && i > 0) r += ' ';
        
        
    }
    
    event.target.value = r.trim();
    
});

el_supplier_iban.dispatchEvent(new Event('input'));

Beispiel:

Siehe auch:

IBAN Validieren