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);