Nice article about the inputmode attribute

I wasn’t aware of the inputmode-attribute for input or textarea elements in HTML, but this excellent article on CSS-Tricks opened up a new world.

<input type=”text” inputmode=”numeric”>
on an Android device

Ensure your mobile users have a good experience by using inputmode rather than <input type="number" ...> etc. inputmode="numeric" can be used with maxlengthminlength and pattern attributes and therefore allows for a more controlled input.

Note: you probably want to add your own validation checks, as the browser will not do any validation with <input type="text" ...>.

Share Button

How to ignore @ errors in a custom PHP error handler

In my PHP pages, I’m using a custom error handler, to make potential errors a bit more user-friendly. However, in some very particular cases, I don’t want an error to be raised (e.g. I’m logging all errors to a server file, but if writing to that file does not work for whatever reason, I don’t want to bother the user with it). In those cases, I’m using the @ error-control operator to ignore any error:
@error_log($error_trace.' ['.str_replace("\n",'\n',$error_message).'] ['.str_replace("\n",'\n',$error_data)."]\n",3,ERROR_LOG);

The @ error-control operator, However, even with @, the custom error handler is still triggered.

Thanks to this blog post I learned that error_reporting is 0 if the statement that caused the error was prepended by the @ error-control operator. So the solution is to add:
if (error_reporting() === 0) {
// continue script execution, skipping standard PHP error handler  (e.g.when using @ in front of an expression)
return true;

to the custom error handler

Share Button

Update to removing annoying context menu items

Time for an update of the various things you need to do to remove annoying context menu items:

3D Print with 3D Builder context

  • regedit: remove subkeys

Edit with Photos

  • regedit: add
    HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit > New String Value = ProgrammaticAccessOnly

Cast to Device (*)

  • regedit: add
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked > New String Value = {7AD84985-87B4-4a16-BE58-8B72A5B390F7}


  • regedit: remove subkeys from
    HKEY_Classes_ROOT\*\shellex\ContextMenuHandlers\ and
    HKEY_CLASSES_ROOT\Directory\shellex and
    • Adobe.Acrobat.ContextMenu
    • DropboxExt
    • Modern Sharing
    • PicaViewCtxMenuShlExt
    • Sharing
    • SnagItMainShellExt
    • TeraCopy
Share Button