<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to wiki</title><link>https://sourceforge.net/p/phpbaseplate/wiki/</link><description>Recent changes to wiki</description><atom:link href="https://sourceforge.net/p/phpbaseplate/wiki/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 25 Feb 2017 16:27:29 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/phpbaseplate/wiki/feed.rss" rel="self" type="application/rss+xml"/><item><title>OOPSQL modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/OOPSQL/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="oopsql-mysqli-database-handler"&gt;OOPSQL (MySQLi Database Handler)&lt;/h1&gt;
&lt;p&gt;OOPSQL is automatically called by common.php when the &lt;code&gt;define("DB_ENABLE", false);&lt;/code&gt; in &lt;strong&gt;config.php&lt;/strong&gt; is set to on.&lt;/p&gt;
&lt;p&gt;ie.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;require_once&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"OOPSQL.class.php"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Include&lt;/span&gt; &lt;span class="nt"&gt;OOPSQL&lt;/span&gt; &lt;span class="nt"&gt;MySQLi&lt;/span&gt; &lt;span class="nt"&gt;Database&lt;/span&gt; &lt;span class="nt"&gt;Handler&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;OOPSQL&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;:getInstance&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Create&lt;/span&gt; &lt;span class="nt"&gt;MySQL&lt;/span&gt; &lt;span class="nt"&gt;DB&lt;/span&gt; &lt;span class="nt"&gt;Instance&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;connect&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_HOSTNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_USERNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_PASSWORD"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_DATABASE"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Connect&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;DB&lt;/span&gt; &lt;span class="nt"&gt;and&lt;/span&gt; &lt;span class="nt"&gt;get&lt;/span&gt; &lt;span class="nt"&gt;Connection&lt;/span&gt; &lt;span class="nt"&gt;Object&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Generic SQL can be called as follows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Custom&lt;/span&gt; &lt;span class="nt"&gt;SQL&lt;/span&gt; &lt;span class="nt"&gt;Query&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;doQuery&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"SELECT * FROM people ORDER BY dob DESC"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="nt"&gt;while&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;ROW&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;loadObjectList&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;echo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Firstname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;firstname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Surname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;surname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Nickname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;nickname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Date Of Birth: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dob&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Hobbies: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;hobbies&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;hr/&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;OOPSQL&lt;/strong&gt; (Object Oriented Programming SQL)&lt;br/&gt;
In order to objectify an SQL table in code the following must be setup beforehand:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Setup&lt;/em&gt;&lt;/strong&gt;&lt;br/&gt;
1. Create &lt;span&gt;[TABLENAME]&lt;/span&gt;.class.php in includes/classes/oopsqltables folder (Where &lt;span&gt;[TABLENAME]&lt;/span&gt; is the name of the MySQL Table)&lt;br/&gt;
2. Edit &lt;span&gt;[TABLENAME]&lt;/span&gt;.class.php (eg. people.class.php) and populate with Table Columns in this Format&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="c1"&gt;//People DBT Class (Database Table Class)&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;people&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;table&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$firstname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$surname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$nickname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$dob&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$hobbies&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"people"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Instantiate Table Class: &lt;code&gt;require_once(LOC_DBTCLASSES."people.class.php");&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Usage&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Init Table Class&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;=new people();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Load And Display Single Record By ID&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;people-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;load&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'1'&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Load&lt;/span&gt; &lt;span class="nt"&gt;Person&lt;/span&gt; &lt;span class="nt"&gt;with&lt;/span&gt; &lt;span class="nt"&gt;id&lt;/span&gt; &lt;span class="nt"&gt;1&lt;/span&gt; &lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="nt"&gt;people&lt;/span&gt; &lt;span class="nt"&gt;table&lt;/span&gt;
&lt;span class="nt"&gt;echo&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Firstname: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;firstname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Surname: $peoplepeople&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;surname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Nickname: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;nickname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Date Of Birth: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dob&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Hobbies: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;hobbies&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Insert New Record&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;=array("firstname"=&amp;gt;"Steven","surname"=&amp;gt;"Graham","nickname"=&amp;gt;"Stevie G","dob"=&amp;gt;"1981-10-01","hobbies"=&amp;gt;"Singing,XBOX");&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;bind(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;store();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Update Existing Record&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;load('1'); //Select User id 1 (Steven Graham)&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;=array("firstname"=&amp;gt;"Steven","surname"=&amp;gt;"Graham","nickname"=&amp;gt;"Stevie G","dob"=&amp;gt;"1981-10-01","hobbies"=&amp;gt;"Singing,XBOX,Snooker");&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;bind(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;store();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:27:29 -0000</pubDate><guid>https://sourceforge.net56be9b2e34290245bc903422d3b07727646272a4</guid></item><item><title>TimeMachine modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/TimeMachine/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="timemachine-timezonetime-conversion-manager"&gt;TimeMachine (TimeZone/Time Conversion Manager)&lt;/h1&gt;
&lt;p&gt;Time Machine can be used as follows:&lt;/p&gt;
&lt;p&gt;$timeMac=new TimeMachine(); //Instantiate Time Machine&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Set TimeZone&lt;/strong&gt;&lt;br/&gt;
Time Machine can be set to &lt;code&gt;$timeMac-&amp;gt;setTZ("Australia/Sydney");&lt;/code&gt;or &lt;code&gt;$timeMac-&amp;gt;setTZ("Australia/Brisbane");&lt;/code&gt;with no problem. But when a non existant timezone is specified it will throw an error ie &lt;code&gt;$timeMac-&amp;gt;setTZ("Hogwarts");&lt;/code&gt;&lt;br/&gt;
A list of valid timezones can be found at &lt;a href="http://www.php.net/manual/en/timezones.php" rel="nofollow"&gt;http://www.php.net/manual/en/timezones.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Get TimeZone&lt;/strong&gt;&lt;br/&gt;
&lt;code&gt;$timezone=$timeMac-&amp;gt;getTZ();&lt;/code&gt; (or &lt;code&gt;$timezone=$timeMac-&amp;gt;getTZ("basic");&lt;/code&gt;)&lt;br/&gt;
&lt;code&gt;echo $timezone;&lt;/code&gt;&lt;br/&gt;
Would return the current timezone&lt;br/&gt;
Example: &lt;code&gt;Australia/Sydney&lt;/code&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;$TIMEZONE=$timeMac-&amp;gt;getTZ("full");
die("&lt;span class="nt"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;".print_r($TIMEZONE,true)."&lt;span class="nt"&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;");
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;would return an array of the current timezone and is Daylight time is active or not&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Array
(
    [timezone] =&amp;gt; Australia/Sydney
    [dstactive] =&amp;gt; 1
)
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;or&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Array
(
    [timezone] =&amp;gt; Australia/Brisbane
    [dstactive] =&amp;gt; 0
)
&lt;/pre&gt;&lt;/div&gt;


&lt;h1 id="list-all-timezones"&gt;List All TimeZones&lt;/h1&gt;
&lt;p&gt;An array can be populated with a list of timezones in the Country/City Format as shown below&lt;/p&gt;
&lt;p&gt;Example:&lt;br/&gt;
&lt;code&gt;$RETURN=$timeMac-&amp;gt;getTimeZones('basic');&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;RETURNS:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Array
(
    [0] =&amp;gt; Africa/Abidjan
    [1] =&amp;gt; Africa/Accra
    [2] =&amp;gt; Africa/Addis_Ababa
    [3] =&amp;gt; Africa/Algiers
    [4] =&amp;gt; Africa/Asmara
    [5] =&amp;gt; Africa/Bamako
    [6] =&amp;gt; Africa/Bangui
    [7] =&amp;gt; Africa/Banjul
    [8] =&amp;gt; Africa/Bissau
    [9] =&amp;gt; Africa/Blantyre
    [10] =&amp;gt; Africa/Brazzaville
    [11] =&amp;gt; Africa/Bujumbura
    [12] =&amp;gt; Africa/Cairo
    [13] =&amp;gt; Africa/Casablanca
    [14] =&amp;gt; Africa/Ceuta
    [15] =&amp;gt; Africa/Conakry
    [16] =&amp;gt; Africa/Dakar
    ...
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Example 2:&lt;br/&gt;
&lt;code&gt;$RETURN=$timeMac-&amp;gt;getTimeZones('full');&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;RETURNS:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Array
(
    [Africa] =&amp;gt; Array
        (
            [0] =&amp;gt; Abidjan
            [1] =&amp;gt; Accra
            [2] =&amp;gt; Addis_Ababa
            [3] =&amp;gt; Algiers
            [4] =&amp;gt; Asmara
            [5] =&amp;gt; Bamako
            [6] =&amp;gt; Bangui
            [7] =&amp;gt; Banjul
            ...
        )

    [America] =&amp;gt; Array
        (
            [0] =&amp;gt; Adak
            [1] =&amp;gt; Anchorage
            [2] =&amp;gt; Anguilla
            ...
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Example 3:&lt;br/&gt;
&lt;code&gt;$RETURN=$timeMac-&amp;gt;getTimeZones('countries');&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;RETURNS:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Array
(
    [0] =&amp;gt; Africa
    [1] =&amp;gt; America
    [2] =&amp;gt; Antarctica
    [3] =&amp;gt; Arctic
    [4] =&amp;gt; Asia
    [5] =&amp;gt; Atlantic
    [6] =&amp;gt; Australia
    [7] =&amp;gt; Europe
    [8] =&amp;gt; Indian
    [9] =&amp;gt; Pacific
    [10] =&amp;gt; UTC
)
&lt;/pre&gt;&lt;/div&gt;


&lt;h1 id="time-conversion"&gt;Time Conversion&lt;/h1&gt;
&lt;p&gt;Can be used to convert times between TimeZones.&lt;/p&gt;
&lt;p&gt;Example 1:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;sourcetime&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"2000-01-01 17:30:00"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;RETURN&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="nt"&gt;timeMac-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;timeZoneConvert&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;sourcetime&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Australia/Sydney"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"UTC"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;RETURNS:&lt;br/&gt;
&lt;code&gt;2000-01-01 06:30:00&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Example 2:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;sourcetime&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;date&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Y-m-d H:i:s"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;RETURN&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="nt"&gt;timeMac-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;timeZoneConvert&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;sourcetime&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Australia/Sydney"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"America/New_York"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;RETURNS:&lt;br/&gt;
&lt;code&gt;2017-02-25 10:28:14&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:25:38 -0000</pubDate><guid>https://sourceforge.net1630cbd7e5a65a6bc9392c65349ef9f3aa3b5b1a</guid></item><item><title>Konstruct modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/Konstruct/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:22:57 -0000</pubDate><guid>https://sourceforge.net93f689e81b5022c5c9a4e7d51907254886632ea8</guid></item><item><title>Blunder modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/Blunder/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="blunder-error-logger"&gt;Blunder (Error Logger)&lt;/h1&gt;
&lt;p&gt;Blunder Error logger is automatically started in the common.php file.&lt;/p&gt;
&lt;p&gt;Blunder has 3 Modes:&lt;br/&gt;
Example 1: &lt;code&gt;$elog=new errorLogger(); //Default Mode: Log to Logs Folder&lt;/code&gt;&lt;br/&gt;
Example 2: &lt;code&gt;$elog=new errorLogger("user@domain.com"); //Email Errors and Log to Logs Folder&lt;/code&gt;&lt;br/&gt;
Example 3: &lt;code&gt;$elog=new errorLogger(NULL,"/var/log/phperrors.php"); //No Email but specify custom path&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Bluder can be tested by throwing an error such as &lt;code&gt;$val=0/0;&lt;/code&gt; which would throw a divide by zero error.&lt;br/&gt;
Alternatively you can throw your own error using &lt;code&gt;trigger_error("My Custom Error Message",E_USER_ERROR);&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:22:10 -0000</pubDate><guid>https://sourceforge.netf0740639c11852d4b13fe999e2bc1b174b735deb</guid></item><item><title>BluePrint modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/BluePrint/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,4 +1,4 @@
-*BluePrint Template Engine**
+BluePrint Template Engine
 ===
 By default the BluePrint Engine is started in common.php
 ~~~
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:20:11 -0000</pubDate><guid>https://sourceforge.net503c81cb88553d77012ae898f5a255ff894bc0c6</guid></item><item><title>BluePrint modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/BluePrint/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="blueprint-template-engine"&gt;&lt;em&gt;BluePrint Template Engine&lt;/em&gt;*&lt;/h1&gt;
&lt;p&gt;By default the BluePrint Engine is started in common.php&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="x"&gt;require_once(LOC_CLASSES."BluePrint.class.php"); //Include BluePrint Template Engine&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;template&lt;/span&gt;&lt;span class="x"&gt;=new BluePrint(THEME_PATH); //BluePrint Theme Switcher&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The Blueprint template engine can be called as follows&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;multiset&lt;/span&gt;&lt;span class="x"&gt;=array(&lt;/span&gt;
&lt;span class="x"&gt;"PageTitle"=&amp;gt;"Welcome to ComputerM8",&lt;/span&gt;
&lt;span class="x"&gt;"MetaDescription"=&amp;gt;"ComputerM8 - I.T. services, sales, support, remote assistance, web design, web hosting, troubleshooting, networking, custom built computers and more.",&lt;/span&gt;
&lt;span class="x"&gt;"MetaKeywords"=&amp;gt;"Computer Repair, Computer Engineer, Web Design, Web Application Design, Web Developer, PHP, HTML, CSS",&lt;/span&gt;
&lt;span class="x"&gt;"PageAuthor"=&amp;gt;"Steven Graham",&lt;/span&gt;
&lt;span class="x"&gt;"URL_IMAGES"=&amp;gt;URL_IMAGES,&lt;/span&gt;
&lt;span class="x"&gt;"URL_CSS"=&amp;gt;URL_CSS,&lt;/span&gt;
&lt;span class="x"&gt;"BodyContent"=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;content&lt;/span&gt;&lt;span class="x"&gt;&lt;/span&gt;
&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;template&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;multiSet(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;multiset&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="x"&gt;echo &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;page&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;output();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You can set multiple SuperTagz at once using the multiset function shown above. This uses the array &lt;code&gt;key=&amp;gt;value&lt;/code&gt; format. Each of the SuperTagz specified can then be used in the template (ie ...&lt;code&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;[@PageTitle]&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;[@BodyContent]&amp;lt;/body&amp;gt;&lt;/code&gt;...)&lt;/p&gt;
&lt;p&gt;Alternatively you can specify a single tag as follows&lt;br/&gt;
&lt;code&gt;$template-&amp;gt;set("DATE", date("Y-m-d"));&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This could then be called in the template file like this &lt;code&gt;[@date]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;BluePrint has the ability to output the contents of theme files or php variables, see the following example.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;myvar&lt;/span&gt;&lt;span class="x"&gt;="The date is [@DATE] and the PHP version is [@PHP_VERSION]";&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;content&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;template&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;output(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;myvar&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="x"&gt;echo &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;content&lt;/span&gt;&lt;span class="x"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:19:48 -0000</pubDate><guid>https://sourceforge.netea95d7b69c3bd6478627d30df6f6389f2e8a5a4a</guid></item><item><title>common.php modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/common.php/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="commonphp"&gt;Common.php&lt;/h2&gt;
&lt;p&gt;The Common.php is used to include or instantiate any classes/functions files that need to be loaded at startup.&lt;/p&gt;
&lt;p&gt;Lets take a look at the default common.php&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="c1"&gt;### Include every class and function set we use&lt;/span&gt;
&lt;span class="k"&gt;require_once&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"ToolChest.class.php"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Include ToolChest Utilities&lt;/span&gt;
&lt;span class="k"&gt;require_once&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"Blunder.class.php"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Include Blunder Error Handler&lt;/span&gt;
&lt;span class="k"&gt;require_once&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"OOPSQL.class.php"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Include OOPSQL MySQLi Database Handler&lt;/span&gt;
&lt;span class="k"&gt;require_once&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"BluePrint.class.php"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Include BluePrint Template Engine&lt;/span&gt;
&lt;span class="k"&gt;require_once&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"TimeMachine.class.php"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Include TimeMachine TimeZone/Time Conversion Manager&lt;/span&gt;

&lt;span class="c1"&gt;### Instantiate the major classes here&lt;/span&gt;
&lt;span class="nv"&gt;$utils&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;ToolChest&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//Instantiate Blunder Error Handler&lt;/span&gt;

&lt;span class="nv"&gt;$elog&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Blunder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;LOC_LOGPATH&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//Instantiate Blunder Error Handler&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;DB_ENABLE&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$dbo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;OOPSQL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;getInstance&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//Create MySQL DB Instance&lt;/span&gt;
    &lt;span class="nv"&gt;$dbo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_HOSTNAME"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_USERNAME"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_PASSWORD"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_DATABASE"&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt; &lt;span class="c1"&gt;//Connect to DB and get Connection Object&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nv"&gt;$template&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;BluePrint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;THEME_PATH&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//BluePrint Theme Switcher&lt;/span&gt;

&lt;span class="cm"&gt;/* Make Konstruct paths available to BluePrint */&lt;/span&gt;
&lt;span class="nv"&gt;$KonstructBPPaths&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="s2"&gt;"BASE_URL"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;$CFG&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="s2"&gt;"URL_CSS"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;URL_CSS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="s2"&gt;"URL_IMAGES"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;URL_IMAGES&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="s2"&gt;"URL_JS"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;URL_JS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="s2"&gt;"CURRENT_DATETIME"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Y-m-s H:i:s"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="s2"&gt;"PHP_VERSION"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;phpversion&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$template&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;multiSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$KonstructBPPaths&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You will notice that the Konstuct paths are exported to the theme manager at startup so that they can be easily accessed within templates. This ins fantastic as it cuts down the amount of work required coding and remembering path names.&lt;/p&gt;
&lt;p&gt;This can be done by using BluePrint SuperTagz (ie &lt;code&gt;[@URL_CSS]&lt;/code&gt; would be populated with the CSS Path, &lt;code&gt;[@URL_IMAGES]&lt;/code&gt;would be populated with the images path, &lt;code&gt;[@URL_JS]&lt;/code&gt;would be populated with the JavaScript path and &lt;code&gt;[@CURRENT_DATETIME]&lt;/code&gt; would be populated with the current date time stamp.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:18:15 -0000</pubDate><guid>https://sourceforge.netce0efcc68f7a7b28c84745806f84d758a1bb9b2e</guid></item><item><title>Konstruct modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/Konstruct/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -57,7 +57,7 @@
 $CFG[1]["PROJECT_VERSION"] = "1.0.0";
 ~~~

-You will notice that each variable has a number ie $CFG[0], you can add addition server configuration set by adding $CFG[1] and so on.
+You will notice that each variable has a number ie `$CFG[0]`, you can add addition server configuration set by adding `$CFG[1]` and so on.

 Lets take a look at what each setting does:
 1. `$CFG[0]["DB_HOSTNAME"]` This setting specifies the MySQLi Database Hostname
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:16:21 -0000</pubDate><guid>https://sourceforge.net4db0c0d34efe67dba500cd43e789fa124d686db1</guid></item><item><title>Konstruct modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/Konstruct/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,4 +1,4 @@
-onstruct (Intelligent Extensible Configuration Manager)
+Konstruct (Intelligent Extensible Configuration Manager)
 ===
 **Directory Structure**
 ![](http://a.fsdn.com/con/app/proj/phpbaseplate/screenshots/Screen%20Shot%202017-02-25%20at%2011.59.37%20PM.png/1)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:15:14 -0000</pubDate><guid>https://sourceforge.net7278035abe52c81baf8dd13313f223683bee58d3</guid></item><item><title>Konstruct modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/Konstruct/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="onstruct-intelligent-extensible-configuration-manager"&gt;onstruct (Intelligent Extensible Configuration Manager)&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Directory Structure&lt;/strong&gt;&lt;br/&gt;
&lt;img alt="" rel="nofollow" src="http://a.fsdn.com/con/app/proj/phpbaseplate/screenshots/Screen%20Shot%202017-02-25%20at%2011.59.37%20PM.png/1"/&gt;&lt;br/&gt;
The Directory Structure (shown in the image above) consists of 2 main directories, &lt;strong&gt;includes&lt;/strong&gt; and &lt;strong&gt;resources&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Includes&lt;/strong&gt; directory is designed to store php server side files such as &lt;em&gt;classes, functions, packages and templates&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Resources&lt;/strong&gt; directory is designed to store client side materials such as &lt;em&gt;CSS, Images&lt;/em&gt; and &lt;em&gt;JavaScript&lt;/em&gt; files.&lt;/p&gt;
&lt;p&gt;There are 2 additional directories&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Logs&lt;/strong&gt; directory is designed to store error logs to help debug.&lt;br/&gt;
The &lt;strong&gt;Install&lt;/strong&gt; directory is used for the installer (currrently in development)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration File&lt;/strong&gt;&lt;br/&gt;
Opening config.php you will be presented with the central configuration.&lt;/p&gt;
&lt;h2 id="error-handlingtimezonedbtheme-config"&gt;&lt;strong&gt;ERROR HANDLING/TIMEZONE/DB/THEME CONFIG&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;define("SHOW_ERRORS", true);&lt;/code&gt;will turn on the PHP ini_set('display errors') setting&lt;/li&gt;
&lt;li&gt;&lt;code&gt;define("ERROR_LEVEL", "E_ALL ^ E_NOTICE");&lt;/code&gt;  will set the PHP error_reporting error level. More Information can be found here &lt;a href="http://php.net/manual/en/function.error-reporting.php" rel="nofollow"&gt;http://php.net/manual/en/function.error-reporting.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;define("TIMEZONE", "Australia/Sydney");&lt;/code&gt; Allows you to set the timezoneusing PHP date_default_timezone_set(). More information in TimeZones and formats can be found here &lt;a href="http://www.php.net/manual/en/timezones.php" rel="nofollow"&gt;http://www.php.net/manual/en/timezones.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;define("DB_ENABLE", false);&lt;/code&gt;  Enables/Disables OOPSQL MySQLi Database Connection&lt;/li&gt;
&lt;li&gt;&lt;code&gt;define("THEME", "default");&lt;/code&gt; Sets the BluePrint Theme Name which by default points to  /includes/templates/THEMENAME.theme.html (where THEMENAME is the name you specify ie. default)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="database-url-configuration"&gt;Database &amp;amp; URL Configuration&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Configuration Switch&lt;/em&gt;&lt;/strong&gt;&lt;br/&gt;
&lt;code&gt;define("LOC", 0);&lt;/code&gt; This setting when changed sets which configuration set is active ie. &lt;code&gt;$CFG[0]&lt;/code&gt; or &lt;code&gt;$CFG[1]&lt;/code&gt;etc&lt;/p&gt;
&lt;p&gt;Below you will see an example of a server configuration&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Server&lt;/span&gt; &lt;span class="nt"&gt;1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;Development&lt;/span&gt; &lt;span class="nt"&gt;Server&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_HOSTNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"localhost"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_USERNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"root"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_PASSWORD"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_DATABASE"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_TABLEPREFIX"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"BASE_URL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"http://localhost/PHPBasePlate/"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"ADMIN_URL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"http://localhost/PHPBasePlate/admin/"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"ADMIN_EMAIL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"webmaster@computerm8.com"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"PROJECT_NAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"PHPBasePlate"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"PROJECT_VERSION"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"1.0.0"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Server&lt;/span&gt; &lt;span class="nt"&gt;2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;Production&lt;/span&gt; &lt;span class="nt"&gt;Server&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_HOSTNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"host2.example.com"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_USERNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"host2dbuser"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_PASSWORD"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"host2dbpass"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_DATABASE"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"host2db"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_TABLEPREFIX"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"BASE_URL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"http://host2.example.com/"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"ADMIN_URL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"http://host2.example.com/admin/"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"ADMIN_EMAIL"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"admin@host2.example.com"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"PROJECT_NAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Example Project Name"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;CFG&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"PROJECT_VERSION"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"1.0.0"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;You will notice that each variable has a number ie $CFG&lt;span&gt;[0]&lt;/span&gt;, you can add addition server configuration set by adding $CFG&lt;span&gt;[1]&lt;/span&gt; and so on.&lt;/p&gt;
&lt;p&gt;Lets take a look at what each setting does:&lt;br/&gt;
1. &lt;code&gt;$CFG[0]["DB_HOSTNAME"]&lt;/code&gt; This setting specifies the MySQLi Database Hostname&lt;br/&gt;
2. &lt;code&gt;$CFG[0]["DB_USERNAME"]&lt;/code&gt; This setting specifies the MySQLi Database Username&lt;br/&gt;
3. &lt;code&gt;$CFG[0]["DB_PASSWORD"]&lt;/code&gt; This setting specifies the MySQLi Database Password&lt;br/&gt;
4. &lt;code&gt;$CFG[0]["DB_DATABASE"]&lt;/code&gt; This setting specifies the MySQLi Database Schema&lt;br/&gt;
5. &lt;code&gt;$CFG[0]["DB_TABLEPREFIX"]&lt;/code&gt; This setting specified if a table prefix (if used)&lt;br/&gt;
6. &lt;code&gt;$CFG[0]["BASE_URL"]&lt;/code&gt; This setting specifies the absolute URL path where the PHPBasePlate files are located ie. &lt;a href="http://localhost/MyWebSite/" rel="nofollow"&gt;http://localhost/MyWebSite/&lt;/a&gt;&lt;br/&gt;
7. &lt;code&gt;$CFG[0]["ADMIN_URL"]&lt;/code&gt; This setting will be used when a full administraion panel is added to PHPBasePlate (in Development)&lt;br/&gt;
8. &lt;code&gt;$CFG[0]["ADMIN_EMAIL"]&lt;/code&gt; This setting specifies the server Admins Email (may be used for notifications and errors)&lt;br/&gt;
9. &lt;code&gt;$CFG[0]["PROJECT_NAME"]&lt;/code&gt; This setting is used to describe the website/project you are working on&lt;br/&gt;
10. &lt;code&gt;$CFG[0]["PROJECT_VERSION"]&lt;/code&gt; This setting specifies the version of the website/project you are working on&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:14:52 -0000</pubDate><guid>https://sourceforge.net94082b47c9d0556397b959aa66b7d2461b5841b6</guid></item></channel></rss>