{"id":26991,"date":"2016-12-19T03:01:12","date_gmt":"2016-12-18T17:01:12","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=26991"},"modified":"2016-12-19T05:03:39","modified_gmt":"2016-12-18T19:03:39","slug":"timezone-country-places-emoji-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-emoji-tutorial\/","title":{"rendered":"TimeZone Country Places Emoji Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"TimeZone Country Places Emoji Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places_yet_more_again_emoji.jpg\" title=\"TimeZone Country Places Emoji Tutorial\"  \/><\/a><p class=\"wp-caption-text\">TimeZone Country Places Emoji Tutorial<\/p><\/div>\n<p>Maybe you&#8217;re like me, and prefer websites where there is lots of functionality, and whether you use it or not, is up to the individual user.   We might be wrong about this, but this represents to us an idea in a webpage where you don&#8217;t think all users are looking for the bare minimum of what the webpage nominally does, but that for those users not interested in all the &#8220;bells and whistles&#8221; it is still fairly obvious where the main flow of &#8220;business logic&#8221; (in the webpage) goes.  This is where, for us, we&#8217;ve been making more and more use of Emojis, and we do this for three main reasons &#8230;<\/p>\n<ol>\n<li>Emojis can represent the &#8220;optional&#8221; (on top of the bare minimum) functionality of the webpage &#8230; and &#8230;<\/li>\n<li>Emojis take up very little room in an &#8220;online&#8221; world with smaller and smaller screen size expectations &#8230; and &#8230;<\/li>\n<li>Emojis look like fun, and can look like buttons (which users are used to as &#8220;action&#8221; items)<\/li>\n<\/ol>\n<p>So what Emoji &#8220;buttons&#8221; did we add today, building on that work from yesterday with <a title='TimeZone Country Places CSS Tutorial' href='#tzcpct'>TimeZone Country Places CSS Tutorial<\/a>?<\/p>\n<ol>\n<li>Video (camera) emoji &#128249; next to Country and Place names to link the user to a <a target=_blank title='YouTube' href='http:\/\/youtube.com'>YouTube<\/a> <a target=_blank title='YouTube API for Iframe embedded videos' href='https:\/\/developers.google.com\/youtube\/iframe_api_reference'>API for Iframe embedded videos<\/a> (like we talked about at <a title='YouTube API Start and Stop Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-api-start-and-stop-primer-tutorial\/'>YouTube API Start and Stop Primer Tutorial<\/a>)  for the purposes of looking up general &#8220;where&#8221; content about these countries and places<\/li>\n<li>An Alarm Clock emoji &#9200; signifies TimeZones that have a Daylight Saving Mode to link the user to further information about this<\/li>\n<li>Time Clock emojis like &#128347; (which we found out about thanks to <a target=_blank title='Time Clock emoji information webpage ... thanks' href='http:\/\/www.iemoji.com\/emoji-cheat-sheet\/time'>this link<\/a>)<\/li>\n<\/ol>\n<p>Which leaves us looking at a TimeZone Places web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>live run<\/a> with what we hope you agree is an improved functionality using PHP code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php----GETME\" title=\"tz_places.php\">tz_places.php<\/a> that changed for the purposes of Emoji &#8220;button&#8221; functionality, in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php----GETME\" title=\"tz_places.php\">this way<\/a>.  As per usual, we hope you give it a go, as your trip planner, perhaps?!<\/p>\n<hr>\n<p id='tzcpct'>Previous relevant <a target=_blank title='TimeZone Country Places CSS Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-css-tutorial\/'>TimeZone Country Places CSS Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"TimeZone Country Places CSS Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places_yet_more_again.jpg\" title=\"TimeZone Country Places CSS Tutorial\"  \/><\/a><p class=\"wp-caption-text\">TimeZone Country Places CSS Tutorial<\/p><\/div>\n<p>Today we&#8217;ve started out on the first bits of CSS styling improvements to the web application at the heart of <a title='TimeZone Country Places Integration Tutorial' href='#tzcpit'>TimeZone Country Places Iintegration Tutorial<\/a> as shown below.  But today, as well as &#8230;<\/p>\n<ol>\n<li>CSS styling improvements &#8230;<br \/>\n<code><br \/>\n&lt;style&gt;<br \/>\ntd { vertical-align: top; }<br \/>\n.round, #isubmit {<br \/>\n   \/* Safari 3-4, iOS 1-3.2, Android 1.6- *\/<br \/>\n  -webkit-border-radius: 50%; <\/p>\n<p>  \/* Firefox 1-3.6 *\/<br \/>\n  -moz-border-radius: 50%; <\/p>\n<p>  \/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ *\/<br \/>\n  border-radius: 50%;<br \/>\n  padding: 17px 17px 17px 17px;<br \/>\n  font-family: Tahoma;<br \/>\n  color: red;<br \/>\n  font-size: 32px;<br \/>\n}<br \/>\nselect { background-color:#f0f0f0; border: 2px solid lightblue; }<br \/>\n.abut {  background-color:#ffffff; border: 2px solid olive; padding 3px 3px 3px 3px; color: purple; }<br \/>\n&lt;\/style&gt;<br \/>\n<\/code><br \/>\nas well as &#8220;bugs&#8221; &#8230;<\/li>\n<li>fix for Google Maps directions map URLs that occasionally get confused by using the TimeZone <i>Continent\/Place<\/i> naming as the aid to construct the URL required rather than involving <i>Country\/Place<\/i> where as you will recall we can derive the <i>Country<\/i> name via our ISO two letter Country Code mappings &#8230; as exemplified by the bad <a target=_blank title='Bad URL' href='https:\/\/www.google.com\/maps\/dir\/Jakarta+Asia\/Tokyo+Asia'><i>Continent\/Place<\/i><\/a> URL compared to a good <a target=_blank title='Bad URL' href='https:\/\/www.google.com\/maps\/dir\/Jakarta+Indonesia\/Tokyo+Japan'><i>Country\/Place<\/i><\/a> URL version &#8230; as well as &#8230;<\/li>\n<li>fix for &#8220;bug&#8221; where we had assumed all TimeZone names were of the form <i>Continent\/Place<\/i> whereas you can also have, as in Argentinian TimeZones, those of the form <i>Continent\/Country\/Place<\/i><\/li>\n<\/ol>\n<p>Basically the CSS styling above is intended to emphasise the HTML input type=buttons that when clicked start up the &#8220;when&#8221; and &#8220;where&#8221; data hookups, which is the main purpose of the web application.  Those buttons, as well as the &#8220;new iframe &#8216;parent'&#8221; HTML <i>a<\/i> links that now look like buttons, get their increased emphasis via the use of a CSS(3) <a target=_blank title='CSS3 border-radious information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/css3_pr_border-radius.asp'><i>border-radius<\/i><\/a> property of 50% to form an ellipse as a background &#8220;shape&#8221; to the HTML element of interest, the idea for which we got from this <a target=_blank title='Useful border-radius link' href='https:\/\/css-tricks.com\/almanac\/properties\/b\/border-radius\/'>great link<\/a>, thanks.  To facilitate this styling we added into the HTML classnames for <i>abut<\/i> and <i>round<\/i> and one new ID <i>isubmit<\/i> to help with this.<\/p>\n<p>The last item in the list above, first discovered in <a target=_blank title='Tutorial picture today' href='http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places_yet_more_again.jpg'>unit testing of Argentinian TimeZone places<\/a> (it now works better than as shown), had implications not only for our &#8230;<\/p>\n<ul>\n<li>TimeZone Places web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>live run<\/a> PHP code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php---GETME\" title=\"tz_places.php\">tz_places.php<\/a> that changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php---GETME\" title=\"tz_places.php\">this way<\/a> for the changes we&#8217;re talking about today &#8230; as well as &#8230;<\/li>\n<li>the reshaped PHP code now additionally catering for email &#8220;messaging&#8221; functionality, of <a target=_blank title='Calendar iCal Integration Itinerary Post Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/calendar-ical-integration-itinerary-post-tutorial\/'>Calendar iCal Integration Itinerary Post Tutorial<\/a>, you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ics_attachment.php---GETME\">ics_attachment.php<\/a>, which changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ics_attachment.php---GETME\">this way<\/a> regrading these unexpected TimeZone naming convention issues &#8230; as well as &#8230;<\/li>\n<li>PHP &#8220;Itinerary&#8221; (web application), and now, also, &#8220;Generic Timeline with Dates and Times&#8221; code, from <a target=_blank title='Calendar iCal Integration Itinerary Time Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/calendar-ical-integration-itinerary-time-tutorial\/'>Calendar iCal Integration Itinerary Time Tutorial<\/a>, you could call <a target=_blank title='itinerary.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/itinerary.php----GETME'>itinerary.php<\/a> which <a target=_blank title='itinerary.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/itinerary.php----GETME'>changed a little<\/a> regarding this same issue<\/li>\n<li><a target=_blank title='HTML\/PHP Timezone Feed Function Keys Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-function-keys-tutorial\/'>HTML\/PHP Timezone Feed Function Keys Tutorial<\/a>&#8216;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php----GETME\">daylight_saving_time.php<\/a> changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php----GETME\">this way<\/a> regarding this same issue<\/li>\n<\/ul>\n<p>Please feel free to try our <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>TimeZone Places<\/a> web application, and perhaps plan a holiday.<\/p>\n<hr>\n<p id='tzcpit'>Previous relevant <a target=_blank title='TimeZone Country Places Integration Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-integration-tutorial\/'>TimeZone Country Places Iintegration Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"TimeZone Country Places Integration Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places_yet_more.jpg\" title=\"TimeZone Country Places Integration Tutorial\"  \/><\/a><p class=\"wp-caption-text\">TimeZone Country Places Integration Tutorial<\/p><\/div>\n<p>Yesterday we set up the framework for our software integration improvements to the web application at the heart of <a title='TimeZone Country Places Iframe Tutorial' href='#tcpit'>TimeZone Country Places Iframe Tutorial<\/a> as shown below.  It ended up, yesterday, in its completed framework &#8230; in other words, we no longer need to add or subtract any hierarchies, to the architecture &#8230; we ended up with (what we hinted at, then) &#8230;<\/p>\n<ol>\n<li>a &#8220;parent&#8221; web application of &#8220;when&#8221; content &#8230; supervising &#8230;<\/li>\n<li>an HTML table row cell&#8217;s &#8220;child&#8221; HTML iframe layer combining &#8220;when&#8221; and &#8220;where&#8221; content &#8230; supervising &#8230;<\/li>\n<li><a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> <a target=_blank title='Google Chart Map Chart' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4832'>Map Chart<\/a> HTML &#8220;grandchildren&#8221; iframe &#8220;where&#8221; content<\/li>\n<\/ol>\n<p> &#8230; where the &#8220;grandchild&#8221; Map Chart above sees the &#8220;grandparent&#8221; as <i>top.document<\/i> and the &#8220;parent&#8221; HTML table row cell&#8217;s &#8220;child&#8221; HTML iframe layer as <i>parent.document<\/i> so that with our Map Chart new functionality code &#8230;<\/p>\n<p><code><br \/>\n&lt;?php echo \"\\n var topdocumentURL='\" . $_SERVER['HTTP_REFERER'] . \"'; \\n\"; ?&gt;<br \/>\n<b><\/b><br \/>\nfunction mapadvice(opl) {<br \/>\n           var tprop='';<br \/>\n           if (topdocumentURL.indexOf('rjmprogramming.com.au') != -1) {<br \/>\n           <b>if (top.document.getElementById('mapphpmailbox')) {<\/b><br \/>\n             if (parent.document.getElementById('aof_' + opl.replace(' ','_').replace(' ','_').replace(' ','_').replace(' ','_').replace(' ','_'))) {<br \/>\n              tprop=parent.document.getElementById('aof_' + opl.replace(' ','_').replace(' ','_').replace(' ','_').replace(' ','_').replace(' ','_')).title;<br \/>\n              if (top.document.getElementById('mapphpmailbox').value.indexOf(tprop) == -1) {<br \/>\n                if (top.document.getElementById('mapphpmailbox').value == '') {<br \/>\n                  top.document.getElementById('mapphpmailbox').value=tprop;<br \/>\n                } else {<br \/>\n                  top.document.getElementById('mapphpmailbox').value+=';' + tprop;<br \/>\n                }<br \/>\n                tprop=String.fromCharCode(10) + 'As you click multiple places see TimeZone Places supervisor dropdown options' + String.fromCharCode(10);<br \/>\n              }<br \/>\n             }<br \/>\n           }<br \/>\n           }<br \/>\n           return tprop;<br \/>\n}<br \/>\n<\/code><\/p>\n<p> &#8230; we can add any Google Chart Map Chart select (onclick) event data points into the mix of the &#8220;parent&#8221; who organizes a dropdown presenting pairs of TimeZone Place From\/To set proposals, showing on the dropdown &#8230;<\/p>\n<ul>\n<li>From\/To names &#8230; and &#8230;.<\/li>\n<li>Distance between (as the crow flies) regarding &#8220;where&#8221; &#8230; and &#8230;<\/li>\n<li>Time Difference regarding &#8220;when&#8221; &#8230; that, when clicked &#8230;<\/li>\n<li>Access to a <a target=_blank title='Google Maps' href='http:\/\/maps.google.com'>Google Maps<\/a> directions map for that From\/To scenario &#8230; thanks<\/li>\n<\/ul>\n<p>The middle <strike>man<\/strike>person data item we add, and populate via Javascript DOM techniques here is a <i>title<\/i> property to the HTML <i>a<\/i> link TimeZone name parts of the &#8220;middle&#8221; HTML table row cell&#8217;s &#8220;child&#8221; HTML iframe layer.<\/p>\n<p>You&#8217;ll see from the &#8220;grandchild&#8221; code we show above, a &#8220;child&#8221; method of determining and, thus, filtering its actions according to its boolean return, where an HTML element with a <b>particular ID property (ie. mapphpmailbox)<\/b> exists, or not.  With regard to this &#8220;interprocess&#8221; (web application) messaging we also use these types of techniques when we presented <a target=_blank title='Emoji Overlay Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-overlay-primer-tutorial\/'>Emoji Overlay Primer Tutorial<\/a> (though there we also checked existences of &#8220;parent&#8221; Javascript <i>function<\/i>s as well).<\/p>\n<p>In a similar line of thinking regarding &#8220;interprocess&#8221; (web application) messaging we recommend the understanding of window.postMessage ideas we gave an introductory look at with <a target=_blank title='Legend for and from HTML Map Element Web Server Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-web-server-tutorial\/'>Legend for and from HTML Map Element Web Server Tutorial<\/a>.<\/p>\n<p>And so we have our amended &#8220;parent&#8221; (and &#8220;child&#8221;) <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>live run<\/a> PHP code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php--GETME\" title=\"tz_places.php\">tz_places.php<\/a> that changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php--GETME\" title=\"tz_places.php\">this way<\/a> for integration with Google Chart Map Charts with regard to TimeZone Place From\/To pairings, supervising Google Chart Map Chart &#8220;grandchild&#8221; iframe PHP <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php----------GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> changed as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-----------GETME\" title=\"map.php\" target=\"_blank\">these changes<\/a>.<\/p>\n<p>Why not try it out for yourself?<\/p>\n<hr>\n<p id='tcpit'>Previous relevant <a target=_blank title='TimeZone Country Places Iframe Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-iframe-tutorial\/'>TimeZone Country Places Iframe Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"TimeZone Country Places Iframe Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places_more.jpg\" title=\"TimeZone Country Places Iframe Tutorial\"  \/><\/a><p class=\"wp-caption-text\">TimeZone Country Places Iframe Tutorial<\/p><\/div>\n<p>Just because a concept is simple doesn&#8217;t mean it should somehow be disrespected.  For the most part, we often wonder why complicated things that supercede simple things that worked well (and were well understood) become obsolete.  If we were to be a little less naive perhaps we&#8217;d understand, but that&#8217;s business.  What we most respect here, are simple ideas, and ones that ask little, and give a lot, and ones that are renewable or leave a small footprint on the world &#8230; EOR &#8230; end of rave.<\/p>\n<p>Today&#8217;s &#8220;simple concept&#8221; is the HTML <a target=_blank title='HTML iframe element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp'>iframe<\/a> element, which to us means &#8220;child&#8221; in &#8220;parent\/child&#8221; or &#8220;client&#8221; in &#8220;server\/client&#8221; for web applications.  A &#8220;child&#8221; talks to their &#8220;parent&#8221;, and vice vera.  And a &#8220;child&#8221; can influence their &#8220;parent&#8221; &#8230; you bet!  That&#8217;s a (metaphor for a) web application &#8220;parent&#8221; web page, and its relationship to an HTML iframe element.  We find it the easiest way to understand (and practically arrange) the modularisation of web application functionality, where all that functionality can even be contained within the one piece of code, but just called differently, with a feel of <a target=_blank title='Recursion information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Recursion_(computer_science)'>recursion<\/a>.<\/p>\n<p>With our <a title='TimeZone Country Places Primer Tutorial' href='#tcppt'>TimeZone Country Places Primer Tutorial<\/a> as shown below, we&#8217;d actually already started on HTML iframe work, because the <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> <a target=_blank title='Google Chart Map Chart' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4832'>Map Chart<\/a> functionality is already (contained) in an HTML iframe element.  But we&#8217;re talking, today, about another level of HTML iframe use, by allowing for an HTML table row&#8217;s worth of TimeZone\/MapChart cells (up to 10).   Why?  We&#8217;ll let you know more tomorrow, but the obvious reason for today, is that you see information sidled up next to each other horizontally &#8230; simple and effective way we humans work &#8230; we naturally compare and contrast and observe data, ideally all within eyesight of each other.<\/p>\n<p>Which leaves us with our amended <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>live run<\/a> PHP code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php-GETME\" title=\"tz_places.php\">tz_places.php<\/a> that changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php-GETME\" title=\"tz_places.php\">this way<\/a> for your perusal.  Perhaps, today, you can visualize this web application&#8217;s practical use and can imagine what we are tempted to do next?<\/p>\n<hr>\n<p id='tcppt'>Previous relevant <a target=_blank title='TimeZone Country Places Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-primer-tutorial\/'>TimeZone Country Places Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"TimeZone Country Places Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.jpg\" title=\"TimeZone Country Places Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">TimeZone Country Places Primer Tutorial<\/p><\/div>\n<p>We&#8217;ve elaborated on the PHP TimeZone functionalities today to write another web application where &#8220;when&#8221; meets &#8220;where&#8221; via TimeZones.<\/p>\n<p>Into the mix of the logic here, we need to venture into the world of two letter ISO Country Codes, and we work this with help from <a target=_blank title='http:\/\/php.net\/manual\/en\/datetimezone.getlocation.php' href='http:\/\/php.net\/manual\/en\/datetimezone.getlocation.php'>http:\/\/php.net\/manual\/en\/datetimezone.getlocation.php<\/a> and <a target=_blank title='http:\/\/stackoverflow.com\/questions\/17842003\/php-intl-country-code-2-chars-to-country-name' href='http:\/\/stackoverflow.com\/questions\/17842003\/php-intl-country-code-2-chars-to-country-name'>http:\/\/stackoverflow.com\/questions\/17842003\/php-intl-country-code-2-chars-to-country-name<\/a> and <a target=_blank title=http:\/\/php.net\/manual\/en\/function.timezone-identifiers-list.php href=http:\/\/php.net\/manual\/en\/function.timezone-identifiers-list.php>http:\/\/php.net\/manual\/en\/function.timezone-identifiers-list.php<\/a> and <a target=_blank title=http:\/\/www.timezoneconverter.com\/ href=http:\/\/www.timezoneconverter.com\/>http:\/\/www.timezoneconverter.com\/<\/a> to &#8220;hardcode&#8221; our HTML select &#8220;dropdown&#8221; elements we create in the process, and offer TimeZone information HTML select &#8220;dropdown&#8221; elements as well.<\/p>\n<p>Also in the mix, as is so often the case for us here, when &#8220;where&#8221; is part of the &#8220;equation&#8221;, we use that wonderful <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> <a target=_blank title='Google Chart Map Chart' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4832'>Map Chart<\/a> functionality, to help us out.<\/p>\n<p>And so we have written our <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php\" title='Click picture'>live run<\/a> of the PHP code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php_GETME\" title=\"tz_places.php\">tz_places.php<\/a> for your perusal.<\/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='#d26907' onclick='var dv=document.getElementById(\"d26907\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/timezone\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d26907' 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='#d26931' onclick='var dv=document.getElementById(\"d26931\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/iframe\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d26931' 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='#d26945' onclick='var dv=document.getElementById(\"d26945\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/integration\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d26945' 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='#d26961' onclick='var dv=document.getElementById(\"d26961\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/css\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d26961' 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='#d26991' onclick='var dv=document.getElementById(\"d26991\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/emoji\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d26991' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Maybe you&#8217;re like me, and prefer websites where there is lots of functionality, and whether you use it or not, is up to the individual user. We might be wrong about this, but this represents to us an idea in &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/timezone-country-places-emoji-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,37],"tags":[88,1798,174,2081,281,282,385,481,518,519,527,587,614,626,745,1616,932,997,1034,1212,1279,1693,1319,1493,2017],"class_list":["post-26991","post","type-post","status-publish","format-standard","hentry","category-elearning","category-tutorials","tag-api","tag-border-radius","tag-button","tag-country","tag-css","tag-css3","tag-emoji","tag-geographicals","tag-google-chart","tag-google-charts","tag-google-maps","tag-iframe","tag-integration","tag-ios","tag-map","tag-modularization","tag-php","tag-programming","tag-recursion","tag-styling","tag-time","tag-timezone","tag-tutorial","tag-youtube","tag-youtube-api"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/26991"}],"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=26991"}],"version-history":[{"count":7,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/26991\/revisions"}],"predecessor-version":[{"id":27002,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/26991\/revisions\/27002"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=26991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=26991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=26991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}