So, 19. Juni, 2016
Das hier fällt unter die Kategorie: ein Codesnippet als Merker im Blog hinterlegt.
Ich brauchte für eine Doku die Ausgabe eines Konfigurations-Objektes als auch den Dump einer Rückgabe als Objekt.
Um ein Javascript Objekt schön formatiert (pretty print) auszugeben, hilft dieser Codeschnipsel:
<script>document.write(’<pre>’+JSON.stringify(myObject, null, ’\t’)+’</pre>’);</script>
Der Trick besteht darin, in der Methode JSON.stringify als 3. Parameter einen Abstand-Halter zu definieren (hier ein Tab-Zeichen) und in ein pre-Tag zu schieben.
Mo, 6. Juni, 2016
Ich habe da eine PHP-Klasse, die parst aus einer URL von Karten-Anbietern die Position. Und kann mit einer bekannten Position die URLs zu alternativen Anbietern generieren lassen, die zur selben Position zeigen. Das klappt derzeit mit Google Maps (mit div. Länder-TLDs), Yandex.ru und OpenStreetMap.
Man kann die Klasse also zum Extrahieren einer Position nutzen oder aber zum Konvertieren beim gewünschten Wechsel des Karten-Anbieters.
Die Klasse wurde nominiert für einen Innovation Award auf phpclasses.org.
Wer kann und mag, der vote doch bitte für mich!
Beispiel:
require_once ’ahmaphelper.class.php’;
$oMaphelper = new ahmaphelper();
print_r($oMaphelper->getPos(”https://www.google.ch/maps/@46.9465944,7.4439426,17z”));
… gibt ein zurück Array (und behält es auch intern):
Array
(
[source] => https://www.google.ch/maps/@46.9465944,7.4439426,17z
[provider] => google
[lat] => 46.9465944
[lon] => 7.4439426
[zoom] => 17
)
… und nun zu den anderen Anbietern:
print_r($oMaphelper->getUrls());
zeigt dieses Array:
Array
(
[google] => https://www.google.com/maps/@46.9465944,7.4439426,17z
[osm] => https://www.openstreetmap.org/#map=17/46.9465944/7.4439426
[yandex] => https://yandex.ru/maps/?ll=7.4439426%2C46.9465944&z=17
)
weiterführende Links:
- phpclasses.org - Votet für mich!! (en)
- Quellcode auf Github (en)
- Demo: einmal ein paar URLs ausprobieren (en)
- Dokumentation der Klasse (en)
Mo, 23. Mai, 2016
Problem:
Ich habe mit Chocolatey Programme deinstalliert, z.B.
C:\Users\Axel>choco uninstall Quicktime
Aber dennoch verbleiben einige in der Liste der lokalen Anwendungen:
C:\Users\Axel>choco list -lo
7zip.commandline 16.01
7zip.install 16.01
AdobeAIR 20.0.0.233
autohotkey.portable 1.1.23.07
avirafreeantivirus 14.0.6.552
chocolatey 0.9.9.12
ChocolateyGUI 0.13.2
ConEmu 16.5.15.0
Far 3.0.4242
ffmpeg 3.0.1
flashplayeractivex 21.0.0.242
flashplayerplugin 14.0.0.179
javaruntime 8.0.73
jre8 8.0.91
netbeans-php 8.0
PDFXChangeViewer 2.5.317
Pencil 2.0.3
PowerShell 5.0.10586.20151218
Quicktime 7.7.5 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
SwissFileKnife 1.6.9
sysinternals 2016.04.28
virtualbox 5.0.20.106931
VirtualBox.ExtensionPack 5.0.20.106931
23 packages installed.
Lösung
Man gehe in das Lib Verzeichnis von Chocolatey
C:\Users\Axel>cd ”C:\ProgramData\chocolatey\lib”
C:\Program\Data\chocolatey\lib>dir
Datenträger in Laufwerk C: ist A
Volumeseriennummer: 4C76-01F1
Verzeichnis von C:\ProgramData\chocolatey\lib
23.05.2016 21:11 <DIR> .
23.05.2016 21:11 <DIR> ..
21.05.2016 13:14 <DIR> 7zip.commandline
21.05.2016 14:30 <DIR> 7zip.install
31.03.2016 23:40 <DIR> AdobeAIR
21.05.2016 13:15 <DIR> autohotkey.portable
13.08.2014 20:33 <DIR> avirafreeantivirus.14.0.6.552
31.03.2016 23:48 <DIR> chocolatey
17.11.2014 00:21 <DIR> chocolatey.0.9.8.28
23.05.2016 21:08 <DIR> ChocolateyGUI
21.05.2016 13:15 <DIR> ConEmu
16.05.2015 10:32 <DIR> Far
21.05.2016 13:16 <DIR> ffmpeg
21.05.2016 13:17 <DIR> flashplayeractivex
23.05.2016 21:11 <DIR> flashplayerplugin
21.05.2016 13:20 <DIR> javaruntime
21.05.2016 14:38 <DIR> jre8
13.08.2014 21:08 <DIR> netbeans-php.8.0
21.05.2016 13:20 <DIR> PDFXChangeViewer
21.05.2016 14:34 <DIR> Pencil
23.05.2016 21:08 <DIR> PowerShell
21.05.2016 15:14 <DIR> Quicktime <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
16.05.2015 11:06 <DIR> SwissFileKnife
21.05.2016 13:21 <DIR> sysinternals
21.05.2016 14:27 <DIR> virtualbox
21.05.2016 14:29 <DIR> VirtualBox.ExtensionPack
0 Datei(en), 0 Bytes
26 Verzeichnis(se), 337′768′534′016 Bytes frei
Hier habe ich das gleichnamige Verzeichnis gelöscht
C:\ProgramData\chocolatey\lib>del /S Quicktime
Möchten Sie ”C:\ProgramData\chocolatey\lib\Quicktime*” löschen (J/N)? J
Datei wurde gelöscht - C:\ProgramData\chocolatey\lib\Quicktime\Quicktime.7.7.5.nupkg
Anm:
ohne Garantie … ggf. in ein anderes Verzeichnis Verschieben, statt zu löschen.
… aber dann ist Quicktime bei mir auch weg gewesen:
C:\ProgramData\chocolatey\lib>choco list -lo
7zip.commandline 16.01
7zip.install 16.01
AdobeAIR 20.0.0.233
autohotkey.portable 1.1.23.07
avirafreeantivirus 14.0.6.552
chocolatey 0.9.9.12
ChocolateyGUI 0.13.2
ConEmu 16.5.15.0
Far 3.0.4242
ffmpeg 3.0.1
flashplayeractivex 21.0.0.242
flashplayerplugin 14.0.0.179
javaruntime 8.0.73
jre8 8.0.91
netbeans-php 8.0
PDFXChangeViewer 2.5.317
Pencil 2.0.3
PowerShell 5.0.10586.20151218
SwissFileKnife 1.6.9
sysinternals 2016.04.28
virtualbox 5.0.20.106931
VirtualBox.ExtensionPack 5.0.20.106931
22 packages installed.
weiterführende Links:
- https://chocolatey.org/
Sa, 6. Februar, 2016
Irgendwie nervt es. Es gibt diese Symbolleiste “Links” wo man Favouriten als Programmverknüpfungen ablegen kann.
Mit IE-Update, mit Windows 10 Upgrade und jetzt wieder mit einem Windows10 Update kommen die Sicherheitsdialoge immer wieder aufs Neue und fragen höflich “Datei öffnen - Sicherheitswarnung … Möchten Sie diese Datei öffnen? …”
Das, was ich zu einer früheren Windows einmal erfolgreich praktizierte (icacls-Aufruf), funktioniert seit Windows 10 scheinbar nicht mehr. Dass der Order mal Links oder aber Favouriten heisst, ist an der Stelle nicht einmal das Problem. Die Methode geht einfach nicht mehr.
Schnelle Lösungen, die ich gefunden habe …
Für eine einzelne Verknüpfung die nachfolgende Variante:
(1)
Icon aus der Links Leiste einfach mit gedrückter linker Maustaste auf den Desktop ziehen und dort fallenlassen.
(2)
Das Icon wird verschoben.
(3)
Das Icon auf dem Desktop dann zurück in die Links-Leiste mit gedrückter linker Maustaste plus Shift-Taste ziehen.
Icon nun aus der Link-Symbolleiste anklicken, um das Programm zu starten - der Sicherheitsdialog ist weg. Freu :-)
Um es für alle Verknüpfungen gleichzeitig zu machen, hab ich eine andere Lösung.
Man findet jenen Ordner für die Links im Explorer (Windows-Taste + E), wenn man %USERPROFILE%\Favorites\Links in die Adresszeile eingibt:
Wenn man
- einen neuen Ordner irgendwo anlegt
- die Dateien aus \Favorites\Links in den Zwischen-Ordner verschiebt
- dann zurück-kopiert
… ist der Sicherheitsdialog ebenfalls weg.
Ach ja, den Zwischenordner kann man dann löschen.
Ja und sowas wiederum kann man automatisieren und eine Bat-Datei schreiben - quick and dirty einmal so:
set linkdir=%USERPROFILE%\Favorites%\Links
set tmpdir=%TEMP%\Links
mkdir ”%tmpdir%”
move ”%linkdir%*.*” ”%tmpdir%”
dir ”%linkdir%” ”%tmpdir%”
pause
copy ”%tmpdir%*.*” ”%linkdir%”
dir ”%linkdir%” ”%tmpdir%”
pause
rmdir /s /q ”%tmpdir%”
Update vom 12.08.2017
Und mal wieder funktionierte der Trick nicht mehr … aber ich habe etwas gefunden (s.a. Screenshots unten):
- Im Explorer zu C:\Users\[Benutzername]\ navigieren und auf “Favoriten” die rechte Maustaste und Eigenschaften wählen.
- Im Tab Sicherheit waren “komische” unbekannte User (mit einer SID Nummer). Mit [erweitert] den Editor für die Berechtigungen wählen.
- Hier die falschen Benutzer entfernen. Und [Übernehmen] … und [OK]. Durch die aktive Vererbung werden sie in den Unterelementen, zu denen auch der Links-Ordner gehört, ebenfalls entfernt
- Das Skript starten, das Links temporär wegschiebt und dann zurückkopiert (entspricht der Beschreibung oben)
- Falls die Icons nach dem Zurückkopieren nicht da sind: Die Symbolleiste “Links” ausblenden (rechte Maustaste in der Taskbar -> Symbolleisten -> Links anklicken) … und dann wieder einblenden.
Viel Glück!
weiterführende Links:
- alter Blog-Eintrag Sicherheitswarnung bei Programmverknüpfungen nach Installation des IE 10
- Kommando copy
- Kommando dir
- Kommando mkdir
- Kommando move
- Kommando pause
- Kommando set
Do, 28. Januar, 2016
Ich habe ein aktuelles XAMPP heruntergeladen, um mit PHP7 zu prüfen, ob “mein” CMS und meine eigenen Klassen noch laufen.
Auf Sourceforge war der Download gar eine Minorversion neuer, als bei apachefriends.org.
Das Aktivieren der PHP-Module erfolgt durch Auskommentieren (Entfernen der Semikolon am Zeilenanfang) der jeweiligen Module in der C:\xampp\php\php.ini.
(…)
; extension=php_bz2.dll
extension=php_curl.dll
; extension=php_fileinfo.dll
(…)
Plus Restart des Apache. Dachte ich.
Mit phpinfo() wurde schnell klar, das Modul ist dennoch nicht aktiv. Die DLLs sind auch im C:\xampp\php\ext\ vorhanden.
Ursache:
Sie wurden nicht per Default gefunden. Es benötigte noch explizit den per Default auskommentierten Wert
extension_dir = ”c:/xampp/php/ext/”
Dann ein Restart des Apache. Schon war das Modul da.
weiterführende Links:
- XAMPP Download auf apachefriends.org
- XAMPP Downoad auf Sourceforge
So, 1. November, 2015
> Diashow starten (für Smartphone-User: Vorsicht Datenmenge!)
Ich habe nach einer Diashow gesucht, um mehr meiner Fotos ins Netz zu stellen.
Eine der Möglichkeiten: Fotos im Vollbild.
Die Überblendung rein mit CSS Mitteln fand ich auf tympanus.net. Auf Basis dessen entstand ein erster Prototyp mit Bildern dieses Hersbstes.
Eine PHP-Klasse liest Verzeichnisse, Dateien und Metadaten. Enstpr. Anzahl der Bilder werden HTML-Code und CSS erzeugt. Die Bildreihenfolge ist zufällig und bei jedem Neuladen anders.
Nachteil der Vollbild-Methode:
Meine Bilder sind im Verhälnis 4:3. Je nach Grösse des Browsers, werden Bereiche links+rechts bzw. oben+unten abgeschnitten. Nicht alle Fotos eignen sich dafür.
Ich brauche noch andere Skins, um andere Darstellungen zu ermöglichen, wo man stets das gesamte Foto sieht.
Und noch fehlen mir ein paar Funktionen, die ich noch nachrüsten möchte…
Weiterführende Links:
Fr, 26. Juni, 2015
Der Pimped Apache Status ist ein Werkzeug, um aus der “normalen” Apache Status Seite etwas Lesbares, und Durchsuchbares zu machen. Es ist ein Tool für die Live-Ansicht der aktuellen Prozesse des Apache Webservers. Verschiedene Ansichten listen aktive Requests, häufigste Aufrufe, aktivste IP-Adressen, längste Requests u.v.m. in sortierbaren und filterbaren Tabellen auf. So findet man schnell die Ursache aktueller Performance-Engpässe. Das Ganze funktioniert auch bei loadbalancten Webseiten: mehrere Server können zu einer Ansicht zusammengefasst werden. Ein integrierter Updater aktualisiert das Tool im Webbrowser. Ein Must-Have für Sysadmins und Hoster.
In dieser Version ist als wichtigste Neuerung eine Javascript Klasse hinzugekommen. Diese nimmt pro Kachel oben die Werte mit gemessenem Zeitpunkt auf und speichert diese im Localstorage des Webbrowsers. Sind einige Werte aufgezeichnet, lässt sich damit eine Grafik des Verlaufes zeichnen.
Nach der Aufzeichnung einiger Messwerte erscheint beim Mouseover einer Kachel die History als Balkengrafik. Klickt man die Kachel an, bleibt diese Grafik zunächst stehen.
weiterführende Links:
- Axels Webseite: Pimped Apache Status
- Sourceforge: Projektseite und Download (en)
- Axels Webseite: Dokumentation (en)