Hauptmenü

Werkzeuge

Kategorien

Archiv

Putty Key unter Linux als SSH Key verwenden

Erstellt in Linux/Unix am 23. November 2021 vom Daschmi

Um aus einem bestehenden Key, der z.B. unter Windows mit Putty(gen) generiert wurde einen Key zur Anmeldung mit einem SSH Clienten unter Linux/Unix zu machen kann man wie folgt vorgehen:

Putty Tools installieren (Beispiel Debian/Ubuntu)

sudo apt-get install putty-tools

Privater Putty Schlüssel private.ppk in SSH Schlüssel private.ssh umwalden

puttygen private.ppk -O private-openssh -o private.ssh

Öffentlicher Putty Schlüssel public.ppk in SSH Schlüssel public.ssh umwandeln

puttygen public.ppk -O public-openssh -o public.ssh

Event mit Javascript manuell auslösen

Erstellt in Javascript am 26. Oktober 2021 vom Daschmi

Im folgenden Codeblock ist dargestellt, wie man mit Javascript ein Event (click, change, input etc.) programmatisch auslösen kann.

let el = document.getElementById('select');

el.addEventListener('select', (event) => {
  ..
});

el.dispatchEvent(new Event('change'));

Bitvergleich mit Javascript

Erstellt in Allgemein am 19. Oktober 2021 vom Daschmi

Mit folgender JavaScript Funktion kann man einzelne Bits einer Zahl vergleichen.

checkBit(hayStack, bit, needle) {
    
    return (hayStack >> (bit - 1) & 1) === needle;

}

Die Anwendung kann dann wie folgt erfolgen:

let b = checkBit(2, 0, 1); // false
let b = checkBit(3, 0, 1); // true

Dateigröße mit PHP Formatieren

Erstellt in Allgemein am 2. September 2021 vom Daschmi

Mit folgender statischer Funktion kann die Dateigröße formatiert ausgegeben werden.

/**
 * Gibt die Dateigröße einer Datei formatiert zurück
 * @param mixed $size Dateigröße in Bytes der Datei
 */
public static function formatFileSize($size): string {
        
  if (is_string($size) && !is_numeric($size)) $size = filesize($size);

  $mod = 1024;

  $units = explode(' ', 'B KB MB GB TB PB');

  for ($i = 0; $size > $mod; $i++) {

    $size /= $mod;

  }

  return round($size, 2).' '.$units[$i];

}

Die Gleiche Funktion in Typescript/Javascript

Rootline / Breadcrumb eines WordPress Menüs

Erstellt in Allgemein am 3. August 2021 vom Daschmi

Mit folgender Funktion kann man die Rootline / Breadcrumb eines WordPress Menüs bilden. Die Einträge im Menü sollten dabei nur einmal vorhanden sein, sonst ist der Pfad nicht eindeutig.

abstract class Nav {
		
    public static function getRootline(string $menu_location): array {
    
        $arMenuLocations = \get_nav_menu_locations();                
        $menuID = $arMenuLocations[$menu_location];
        $arNav = \wp_get_nav_menu_items($menuID);

        $arRootline = [];
        
        foreach ($arNav as $nav_item) {
            
            if ($nav_item->type === 'post_type' && get_the_ID() === intval($nav_item->object_id)) {
                
                $arRootline[] = $nav_item;
                
                while (intval($nav_item->menu_item_parent) !== 0) {
                    
                    foreach ($arNav as $sub_nav_item) {
                        
                        if (intval($sub_nav_item->ID) === intval($nav_item->menu_item_parent)) {
                            
                            $arRootline[] = $sub_nav_item;
                            
                            $nav_item = $sub_nav_item;
                            
                            break;
                            
                        }
                        
                    }
                    
                }
                
            }

        }
        
        array_reverse($arRootline);
        
        return $arRootline;
        
    }
    
} 

Beispielhafte Anwendung der Funktion

$arRootline = Nav::getRootline('main_menu');