{"id":70772,"date":"2025-11-25T03:01:00","date_gmt":"2025-11-24T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=70772"},"modified":"2025-11-24T12:19:54","modified_gmt":"2025-11-24T02:19:54","slug":"local-operating-system-menu-intranet-feel-multiple-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/local-operating-system-menu-intranet-feel-multiple-tutorial\/","title":{"rendered":"Local Operating System Menu Intranet Feel Multiple Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Local Operating System Menu Intranet Feel Multiple Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/open_extravaganza_multiple.gif\" title=\"Local Operating System Menu Intranet Feel Multiple Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Local Operating System Menu Intranet Feel Multiple Tutorial<\/p><\/div>\n<p>Our normal tack regarding the <i><a target=\"_blank\" title='HTML form method attribute information from W3schools' href='https:\/\/www.w3schools.com\/tags\/att_form_method.asp' rel=\"noopener\">method<\/a><\/i> attribute to use on an HTML form element when the recipient webpage is written in PHP is &#8230;<\/p>\n<ul>\n<li>preferably use method=POST &#8230; because so much more data can be handled that way &#8230; but today we&#8217;re &#8230;<\/li>\n<li>preferring to use method=GET &#8230; for several reasons &#8230;\n<ol>\n<li>we cannot see that the data will get too long for method=GET<\/li>\n<li>we&#8217;re allowing dropdown (ie. select element) <a target=\"_blank\" title='HTML input multiple property information from W3schools' href='https:\/\/www.w3schools.com\/tags\/att_input_multiple.asp#:~:text=The%20multiple%20attribute%20is%20a,types%3A%20email%2C%20and%20file.' rel=\"noopener\"><i>multiple<\/i><\/a> selection mode and we found it easier to handle data wise for the recipient to use method=GET with a PHP recipient <font color=blue>$_SERVER[&#8216;QUERY_STRING&#8217;]<\/font> able to help better parse a method=GET <a target=\"_blank\" title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info' rel=\"noopener\">MAMP<\/a> style URL like &#8230;<br \/>\n<code><br \/>\nht<font color=black>tp<\/font>:\/\/localhost:8888\/open_extravaganza.php<font color=blue>?afteropen=+https%3A%2F%2Fgoogle.com&afteropen=+https%3A%2F%2Fwikipedia.org&afteropen=+https%3A%2F%2Fwww.rjmprogramming.com.au<\/font><br \/>\n<\/code><br \/>\n &#8230; as per &#8230;<br \/>\n&lt;?php<br \/>\n<code><br \/>\n  $afteropens=[];<br \/>\n  $thisone=1;<br \/>\n  <br \/>\n  if (isset($_GET['afteropen'])) {<br \/>\n    if (sizeof(explode('afteropen=', '?' . $_SERVER['QUERY_STRING'])) &gt; 2) {<br \/>\n    for ($thisone=1; $thisone&lt;sizeof(explode('afteropen=', '?' . $_SERVER['QUERY_STRING'])); $thisone++) {<br \/>\n    array_push($afteropens, str_replace('+',' ',urldecode(explode('#',explode('&',explode('afteropen=', $_SERVER['QUERY_STRING'])[$thisone])[0])[0])));<br \/>\n    }<br \/>\n    } else {<br \/>\n    $afteropen=(trim(str_replace('+',' ',urldecode($_GET['afteropen']))) == '' ? '' : ' ' . trim(str_replace('+',' ',urldecode($_GET['afteropen']))));<br \/>\n    $afteropens=[$afteropen];<br \/>\n    }<br \/>\n  }<br \/>\n<\/code><br \/>\n?&gt;<br \/>\n &#8230; whereas method=POST loses those $_SERVER[&#8216;QUERY_STRING&#8217;] possibilities\n<\/li>\n<li>there will be method=GET URLs anyway coming from the newly arranged RJM Programming origin form elements presented now if <i><a target=\"_blank\" title='navigator.platform' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/platform' rel=\"noopener\">navigator.platform<\/a><\/i> indicates your underlying operating system is either macOS or Windows (ie. it takes a punt on the form action <i>localhost<\/i> attribute defined pointing at a local web server (eg. MAMP) &#8230; where there is no harm done just trying)<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p>And so, improving on yesterday&#8217;s <a title='Local Operating System Menu Intranet Feel Tutorial' href='#losmift'>Local Operating System Menu Intranet Feel Tutorial<\/a> &#8230;<\/p>\n<ul>\n<li>the Execute button now means something &#8230; ie. you click it ahead of a 10 second allowance before the web application clicks it &#8230; allowing for &#8230;<\/li>\n<li>multiple operating system actions off that dropdown list can be attempted in any one foray<\/li>\n<li>the RJM Programming incarnation of it may show more functionality possibilities than it used to &#8230; all within the limitation of non-mobile platforms only<\/li>\n<\/ul>\n<p>The advice, then, becomes <a download=\"open_extravaganza.php\" target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php-GETME\" rel=\"noopener\">download<\/a> as <a data-download=\"open_extravaganza.php\" target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php-GETME\" rel=\"noopener\">open_extravaganza.php<\/a> filename (changed  <a data-download=\"open_extravaganza.php\" target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php-GETME\" rel=\"noopener\">this way<\/a>) to MAMP&#8217;s Document Root folder\/directory), and we think it is now less boring for macOS or Windows users to begin with interfacing to our public RJM Programming website <font size=1>(though if you have no Apache\/PHP\/MySql local web server, and want to install one, a right click on the dropdown below, for your non-mobile platform is a possibility for port 8888 on macOS and port 80 (ie. the default) on Windows)<\/font> or <a href='#thisiffy'>try it below<\/a> &#8230;<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=\"_blank\" href='\/\/www.rjmprogramming.com.au\/ITblog\/local-operating-system-menu-intranet-feel-multiple-tutorial\/' rel=\"noopener\">Local Operating System Menu Intranet Feel Multiple Tutorial<\/a>.<\/p-->\n<hr>\n<p id='losmift'>Previous relevant <a target=\"_blank\" title='Local Operating System Menu Intranet Feel Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/local-operating-system-menu-intranet-feel-tutorial\/' rel=\"noopener\">Local Operating System Menu Intranet Feel Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Local Operating System Menu Intranet Feel Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/open_extravaganza.gif\" title=\"Local Operating System Menu Intranet Feel Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Local Operating System Menu Intranet Feel Tutorial<\/p><\/div>\n<p>Because we are fortunate enough to have the great <a target=\"_blank\" title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info' rel=\"noopener\">MAMP<\/a> local Apache\/PHP\/MySql web server in our macOS MacBook Air programming life &#8230;<\/p>\n<ul>\n<li>we have a great testing platform to go to before uploading any software to the public RJM Programming domain (quite often as a web application) there<\/li>\n<li>it can be an &#8220;Intranet feeling&#8221; partner to our public RJM Programming domain<\/li>\n<\/ul>\n<p>So, what do we mean by &#8220;Intranet feeling&#8221;?  Well, have you ever been involved at a workplace that combined &#8230;<\/p>\n<ul>\n<li>a public facing website on the <strong>Internet<\/strong> &#8230; but which had a &#8230;<\/li>\n<li>members area for &#8220;office use only&#8221; that if you logged into would take you into a woooorrrrllllddd of procedures and advice and documentation and health and safety rules etcetera etcetera etcetera related to that company, the data of which is &#8220;not public&#8221; &#8230; well, that &#8220;not public&#8221; bit can sometimes be referred to as an <strong>Intranet<\/strong>\n<\/li>\n<\/ul>\n<p>?   Well &#8230; &#8230; &#8230; &#8230; <font size=1>(four holes in the ground)<\/font> &#8230; <font size=1>(make that 5 or 6)<\/font> &#8230; we did\/have.  And we are awwwwwffffuuuulllllyyy fond of the concept.  The thing is though, we are using that &#8220;non public&#8221; &#8230;<\/p>\n<blockquote><p>\nIntranet &#8220;feeling&#8221;\n<\/p><\/blockquote>\n<p> &#8230; interfacing to, by and large, offer new web application (quite often PHP) ideas because back at the MAMP local Apache\/PHP\/MySql local web server we have the freedom to install software not allowed when you host a public website (as well as macOS having some brilliantly unique command line commands such as &#8220;open&#8221; and <a target=\"_blank\" title='say command information from Apple' href='https:\/\/ss64.com\/osx\/say.html' rel=\"noopener\">&#8220;say&#8221;<\/a> <font size=1>(for which we&#8217;d ask you to <a target=\"_blank\" title='macos_say_record.php' href='https:\/\/www.rjmprogramming.com.au\/macos_say_record.php---------------------------------GETME' download='macos_say_record.php' rel=\"noopener\">download<\/a> to a macOS MAMP port 8888 Document Root folder the PHP <a target=\"_blank\" title='macos_say_record.php' href='https:\/\/www.rjmprogramming.com.au\/macos_say_record.php---------------------------------GETME' rel=\"noopener\">macos_say_record.php<\/a>)<\/font> to offer) perhaps that little bit different to the usual Intranet usage <font size=1>(hence <a target=\"_blank\" href='\/PHP\/animegif\/nala_timelapse.mp4' rel=\"noopener\">Nala<\/a>&#8216;s use of the word <strike><a target=\"_blank\" title=\"?\" href='https:\/\/www.youtube.com\/watch?v=eTHPe7wFMOY' rel=\"noopener\">fillings<\/a><\/strike>feelings)<\/font>, unless you run the hosting company, <span><a target=\"_blank\" title='?' class=\"audioytplay\" href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a><\/span> &#8230; and <span><a target=\"_blank\" title='?' class=\"audioytplay\" href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a><\/span><sup>n&#8217;t<\/sup><\/a> us &#8230; though if <a target=\"_blank\" href='\/HTMLCSS\/nala_downstairs.jpg' rel=\"noopener\">Nala<\/a> wants to entertain a gentleman caller one of these days &#8230; well &#8230; what are we going to say?!   Hmmmmm?!<\/p>\n<p>Now, when we presented <a target=\"_blank\" title='YouTube API Caller Radio Play Playlist Windows Local System Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-api-caller-radio-play-playlist-windows-local-system-tutorial\/' rel=\"noopener\">YouTube API Caller Radio Play Playlist Windows Local System Tutorial<\/a> we threw down the gauntlet, <a target=\"_blank\" title='Luna' href='\/HTMLCSS\/luna_car.jpg' rel=\"noopener\">Luna<\/a> would say, venturing &#8230;<\/p>\n<blockquote><p>\n\u2026 as your starting gambit, here, where the equivalent of macOS\u2019s \u201copen\u201d is \u201cexplorer.exe\u201d on Windows (ie. the File Explorer) \u2026 <strong>almost as cute<\/strong>!\n<\/p><\/blockquote>\n<p><strong>The audacity<\/strong><sup>, <a target=\"_blank\" title='Nala' href='\/nala_praise_be.jpg' rel=\"noopener\">Nala<\/a><\/sup>?!<\/p>\n<p>Well, we don&#8217;t want to involve ourselves in a &#8220;software war&#8221; here, but the &#8220;bedside better scrutiny&#8221; of the great <a target=\"bank\" tite='https:\/\/scriptingosx.com\/2017\/02\/the-macos-open-command\/' href='\/\/scriptingosx.com\/2017\/02\/the-macos-open-command\/' rel=\"noopener\">https:\/\/scriptingosx.com\/2017\/02\/the-macos-open-command\/<\/a> advice has only enhanced respect for the macOS <a target=\"bank\" tite='https:\/\/scriptingosx.com\/2017\/02\/the-macos-open-command\/' href='\/\/scriptingosx.com\/2017\/02\/the-macos-open-command\/' rel=\"noopener\">open<\/a> command&#8217;s talents, which go far beyond just being able to open a URL from the macOS &#8220;Terminal application&#8221; command line in your default web browser.<\/p>\n<p>How do we count the ways &#8230; <a target=\"_blank\" title='Luna' href='\/HTMLCSS\/luna_vehicle.jpg' rel=\"noopener\">Luna<\/a>?!!!!   See the compartmentalization and modularization at play <font size=1>(not the command)<\/font> here, <strike>Dumbo<\/strike><strike><sub><a target=\"_blank\" title=\"?\" href='https:\/\/www.youtube.com\/watch?v=lPKjA_7MVgQ' rel=\"noopener\">web master<\/a><\/sub><\/strike>bugalugs?!<\/p>\n<p>Anyway, we&#8217;re off and running on a new project with these themes.  The first draft concentrates on ..<\/p>\n<ol>\n<li>macOS .. open &#8230; MAMP &#8230; but &#8230;<\/li>\n<li>Windows &#8230; explorer.exe &#8230; MAMP<\/li>\n<\/ol>\n<p> &#8230; is there for the popcorn and beer nuts <font size=1>(best in that order)<\/font> and as you can see below this new web application (best <a download=\"open_extravaganza.php\" target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php_GETME\" rel=\"noopener\">downloaded<\/a> as <a data-download=\"open_extravaganza.php\" target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/open_extravaganza.php_GETME\" rel=\"noopener\">open_extravaganza.php<\/a> filename to MAMP&#8217;s Document Root folder\/directory) is kind of boring to begin with interfacing to our public RJM Programming website <font size=1>(though if you have no Apache\/PHP\/MySql local web server, and want to install one, a right click on the dropdown below, for your non-mobile platform is a possibility for port 8888 on macOS and port 80 (ie. the default) on Windows)<\/font> &#8230;<\/p>\n<p><iframe id=thisiffy src='\/open_extravaganza.php' style=width:100%;height:800px;><\/iframe><\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d70747' onclick='var dv=document.getElementById(\"d70747\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/open\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d70747' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d70772' onclick='var dv=document.getElementById(\"d70772\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/multiple\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d70772' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Our normal tack regarding the method attribute to use on an HTML form element when the recipient webpage is written in PHP is &#8230; preferably use method=POST &#8230; because so much more data can be handled that way &#8230; but &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/local-operating-system-menu-intranet-feel-multiple-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,29,37],"tags":[3028,85,112,174,2127,319,5344,1750,360,3471,5341,5342,5343,436,452,621,624,714,2178,744,1830,2092,4032,3049,885,899,932,950,1772,997,5346,5345,2350,1866,1116,3942,2334,1215,1319,1343,1345,1411,1435],"class_list":["post-70772","post","type-post","status-publish","format-standard","hentry","category-elearning","category-operating-system","category-tutorials","tag-action","tag-apache","tag-attribute","tag-button","tag-cursor","tag-desktop","tag-dmain","tag-document-root","tag-download","tag-dropdowm","tag-explorer","tag-explorer-exe","tag-file-explorer","tag-finder","tag-form","tag-internet","tag-intranet","tag-local-web-server","tag-macos","tag-mamp","tag-method","tag-multiple","tag-navigator-platform","tag-open","tag-operating-system-2","tag-parse","tag-php","tag-platform","tag-port","tag-programming","tag-public-domain","tag-public-website","tag-say","tag-select","tag-selection","tag-shell_exec","tag-submit","tag-submit-button","tag-tutorial","tag-upload","tag-url","tag-web-server","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70772"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=70772"}],"version-history":[{"count":9,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70772\/revisions"}],"predecessor-version":[{"id":70782,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70772\/revisions\/70782"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=70772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=70772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=70772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}