From 36e51b2d8504ae5966b4526e65f28057386094b9 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:12:29 -0700 Subject: [PATCH 01/97] Update MANUAL_INSTALL.md --- guides/MANUAL_INSTALL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guides/MANUAL_INSTALL.md b/guides/MANUAL_INSTALL.md index 37ac36b..f305fba 100644 --- a/guides/MANUAL_INSTALL.md +++ b/guides/MANUAL_INSTALL.md @@ -23,8 +23,9 @@ RewriteRule ^(the name of your settings file regex encoded)$ - [L] # --URLS ADD_COND BEGIN-- # --URLS ADD_COND END-- - RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f [OR] + RewriteCond %{REQUEST_FILENAME} \.php$ RewriteRule . (the name of your settings file regex encoded) [L] RewriteRule ^$ (the base directory followed by the settings file name) [L] # --URLS END-- From e801137c584345d1cdc3a393eb0658f9f43ec048 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:12:59 -0700 Subject: [PATCH 02/97] Update MANUAL_INSTALL.md --- guides/MANUAL_INSTALL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guides/MANUAL_INSTALL.md b/guides/MANUAL_INSTALL.md index f305fba..20642f8 100644 --- a/guides/MANUAL_INSTALL.md +++ b/guides/MANUAL_INSTALL.md @@ -43,8 +43,9 @@ RewriteRule ^settings\.php$ - [L] # --URLS ADD_COND BEGIN-- # --URLS ADD_COND END-- - RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f [OR] + RewriteCond %{REQUEST_FILENAME} \.php$ RewriteRule . /blog/setting.php [L] RewriteRule ^$ /blog/settings.php [L] # --URLS END-- From 59c60bdf61d1185459f28d844acbdddb48be7041 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:15:58 -0700 Subject: [PATCH 03/97] Add files via upload --- urls_install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/urls_install.php b/urls_install.php index bc813e6..7ffe208 100644 --- a/urls_install.php +++ b/urls_install.php @@ -43,7 +43,7 @@ if ($htaccess = fopen('.htaccess', 'a')) { - fwrite($htaccess, "# --URLS BEGIN--\n# The following lines between \"--URLS BEGIN--\" and \"--URLS END--\" are\n# automatically generated by the URLS framework. These lines should\n# not be edited as it may result in unwanted behavior of the site. Any\n# edits made may be overwritten automatically.\nOptions +FollowSymLinks\nRewriteEngine On\nRewriteBase ".$base."\nRewriteRule ^".preg_quote($settings)."$ - [L]\n# --URLS ADD_COND BEGIN--\n# --URLS ADD_COND END--\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule . ".$base.$settings." [L]\nRewriteRule ^$ ".$base.$settings." [L]\n# --URLS END--\n"); + fwrite($htaccess, "# --URLS BEGIN--\n# The following lines between \"--URLS BEGIN--\" and \"--URLS END--\" are\n# automatically generated by the URLS framework. These lines should\n# not be edited as it may result in unwanted behavior of the site. Any\n# edits made may be overwritten automatically.\nOptions +FollowSymLinks\nRewriteEngine On\nRewriteBase ".$base."\nRewriteRule ^".preg_quote($settings)."$ - [L]\n# --URLS ADD_COND BEGIN--\n# --URLS ADD_COND END--\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteCond %{REQUEST_FILENAME} !-f [OR]\nRewriteCond %{REQUEST_FILENAME} \.php$\nRewriteRule . ".$base.$settings." [L]\nRewriteRule ^$ ".$base.$settings." [L]\n# --URLS END--\n"); fclose($htaccess); } else { die('Error creating ".htaccess" file.'); From 582fab217d544243e7b7696937f18c22462b084d Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:29:00 -0700 Subject: [PATCH 04/97] Update templates.md --- guides/tutorial/templates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/tutorial/templates.md b/guides/tutorial/templates.md index 7874cdc..e04ea9c 100644 --- a/guides/tutorial/templates.md +++ b/guides/tutorial/templates.md @@ -105,5 +105,5 @@ Now that we covered the basics of URLS templates, we can combine it with traditi ## Explanation There is not much to explain here since this is mostly regular PHP and HTML and you should already have a good knowledge of it. Just like any other PHP program you make, you can include other PHP files without interfering in URLS. The biggest difference here is that URLS automatically protects your template files. With a regular PHP website, any user can easily access your template files, which could result in unwanted behavior. With URLS, the only PHP files users can access are the ones set by the path functions. Another thing to mention is how to refrence other pages. For the most part, it is the same as a traditional website but, you can use the `Urls::$base` variable in the links to get you to your project's directory from the public root as seen in `header.inc.php` when setting the Home links. ___ -[Previous: Templates](templates.md) +[Previous: Getting Started with URLS](getting_started.md) [Next: Static Files](static_files.md) From 6f48ece78fbed008a897626feba49e04fa013915 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:29:49 -0700 Subject: [PATCH 05/97] Update getting_started.md --- guides/tutorial/getting_started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/tutorial/getting_started.md b/guides/tutorial/getting_started.md index 572769a..3fde9df 100644 --- a/guides/tutorial/getting_started.md +++ b/guides/tutorial/getting_started.md @@ -73,5 +73,5 @@ The line `$urls->exe();` lets URLS know that you are done setting paths and are If everything looks good, then you are ready to move on. ___ -[Previous: Project Setup](Setup.md) +[Previous: Project Setup](setup.md) [Next: Templates](templates.md) From 501e4a013f66594285fdf8c7985374f47ae3779b Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:18:12 -0700 Subject: [PATCH 06/97] Add files via upload --- guides/tutorial/assets/home_tutorial.png | Bin 0 -> 22532 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 guides/tutorial/assets/home_tutorial.png diff --git a/guides/tutorial/assets/home_tutorial.png b/guides/tutorial/assets/home_tutorial.png new file mode 100644 index 0000000000000000000000000000000000000000..67920aba4685197b3f4482d0ccc68751344b4e63 GIT binary patch literal 22532 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 literal 0 HcmV?d00001 From e2c5a3436a28b589fa83804b9d51b1e213bdb948 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:21:10 -0700 Subject: [PATCH 07/97] Update static_files.md --- guides/tutorial/static_files.md | 79 +++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/guides/tutorial/static_files.md b/guides/tutorial/static_files.md index 8b4cade..52aa839 100644 --- a/guides/tutorial/static_files.md +++ b/guides/tutorial/static_files.md @@ -1 +1,80 @@ # Static Files +URLS makes it easy to link static files, such as CSS and JavaScript files to HTML. Unlike other web frameworks, you don't have to register your static files before using them. URLS only redirects requests to PHP files and directories so you can directly access any static files in any subfolder. +# Adding a Custom Style Sheet +Next, lets add a banner styled with a custom CSS file. +1. Create a new file in the `static` folder called `style.css` and fill it with the following code: + ```CSS + .header { + height: 300px; + background-color: DodgerBlue; + } + ``` +2. Under `` in `header.inc.php`, add the following code. + ```HTML +
+
+
+
+

+
+
+
+
+ ``` +3. Now it's time to link `style.css` to `header.inc.php`. Remember, all requests are going to be displayed as if it were in the base directory. To do this add the following line to the `` of `header.inc.php`: + ```HTML + + ``` + Notice the `href` is pointing to `static/style.css` rather than `./static/style.css`. +4. The full `header.inc.php` file should now look like: + ```HTML + + + + + + <?php if (isset($pageTitle)) echo $pageTitle; ?> - My Blog + + + + + + +
+
+
+
+

+
+
+
+
+
+ ``` +5. The output of [localhost](http://localhost) should now be: + + Output + +___ +[Previous: Templates](templates.md) +[Next: Pages](pages.md) From ad20aa776940c52b6ad043097f6df06ea642d71e Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:22:06 -0700 Subject: [PATCH 08/97] Update static_files.md --- guides/tutorial/static_files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/tutorial/static_files.md b/guides/tutorial/static_files.md index 52aa839..d544102 100644 --- a/guides/tutorial/static_files.md +++ b/guides/tutorial/static_files.md @@ -1,6 +1,6 @@ # Static Files URLS makes it easy to link static files, such as CSS and JavaScript files to HTML. Unlike other web frameworks, you don't have to register your static files before using them. URLS only redirects requests to PHP files and directories so you can directly access any static files in any subfolder. -# Adding a Custom Style Sheet +## Adding a Custom Style Sheet Next, lets add a banner styled with a custom CSS file. 1. Create a new file in the `static` folder called `style.css` and fill it with the following code: ```CSS From 591809c24b9452fcb29b9dd44cc4d24fab3061ee Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:22:37 -0700 Subject: [PATCH 09/97] Update COMPLETE_TUTORIAL.md --- guides/tutorial/COMPLETE_TUTORIAL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/guides/tutorial/COMPLETE_TUTORIAL.md b/guides/tutorial/COMPLETE_TUTORIAL.md index fbd0ee6..abdff2c 100644 --- a/guides/tutorial/COMPLETE_TUTORIAL.md +++ b/guides/tutorial/COMPLETE_TUTORIAL.md @@ -12,5 +12,6 @@ This guide will walk you through a complete implementaion of URLS. You will be m 2. [Getting Started with URLS](getting_started.md) 3. [Templates](templates.md) 4. [Static Files](static_files.md) +5. [Pages](pages.md) ___ [Next: Project Setup](setup.md) From 07db46a7de0fb7273e27c30c4c672a2cb7fa564d Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:27:36 -0700 Subject: [PATCH 10/97] Update static_files.md --- guides/tutorial/static_files.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/tutorial/static_files.md b/guides/tutorial/static_files.md index d544102..f705434 100644 --- a/guides/tutorial/static_files.md +++ b/guides/tutorial/static_files.md @@ -51,10 +51,10 @@ Next, lets add a banner styled with a custom CSS file. Home
From 74edaaf7e9f242c02c28782648e251d42d9d1223 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:28:14 -0700 Subject: [PATCH 11/97] Update templates.md --- guides/tutorial/templates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/tutorial/templates.md b/guides/tutorial/templates.md index e04ea9c..593cd41 100644 --- a/guides/tutorial/templates.md +++ b/guides/tutorial/templates.md @@ -68,10 +68,10 @@ Now that we covered the basics of URLS templates, we can combine it with traditi Home From 9512aa05c0e284b68c34cc8dcdded316360f5f21 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:45:35 -0700 Subject: [PATCH 12/97] Add files via upload --- src/Urls.php | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/Urls.php b/src/Urls.php index 9c0da8c..615a3cc 100644 --- a/src/Urls.php +++ b/src/Urls.php @@ -56,12 +56,14 @@ public function __construct(...$pathArrays) { // Error templates private $errorTemplates; - const VERSION = '2.0.0'; + const VERSION = '2.0.1'; private static $rewriteConds = array(); private static $numOfChecks = 0; + private static $currentBase = ''; + // Prints debug table rows private function printRow($msg, $value) { echo ''.$msg.':'.$value.''; @@ -150,8 +152,12 @@ private function checkPath($path, $url, $cs=true, $end=false){ $url = $url.'/'; } - if (substr($url, 0, strlen(self::$base)) == self::$base) { - $url = substr($url, strlen(self::$base)); + if (empty(self::$currentBase)) { + self::$currentBase = self::$base; + } + + if (substr($url, 0, strlen(self::$currentBase)) == self::$currentBase) { + $url = substr($url, strlen(self::$currentBase)); } //$url = ltrim($url, self::$base); @@ -160,7 +166,7 @@ private function checkPath($path, $url, $cs=true, $end=false){ $this->printRow('Check Number', self::$numOfChecks); $this->printRow('Objects Called', self::$objectsCalled); $this->printRow('Request Path', htmlspecialchars($url)); - $this->printRow('Base Path', htmlspecialchars(self::$base)); + $this->printRow('Base Path', htmlspecialchars(self::$currentBase)); //echo ''; } @@ -237,7 +243,7 @@ private function checkPath($path, $url, $cs=true, $end=false){ if ($include) { for ($i=0; $i < $count; $i++) { - self::$base = self::$base.$uri[$i].'/'; + self::$currentBase = self::$currentBase.$uri[$i].'/'; } } @@ -277,12 +283,12 @@ private function checkPath($path, $url, $cs=true, $end=false){ if ($cs) { if ($url === rtrim($dir, '/')) { - self::$base = self::$base.$url.'/'; + self::$currentBase = self::$currentBase.$url.'/'; return true; } } else { if (strcasecmp($url, rtrim($dir, '/')) === 0) { - self::$base = self::$base.$url.'/'; + self::$currentBase = self::$currentBase.$url.'/'; return true; } } @@ -534,4 +540,4 @@ public function error($doc=null, $str=null, $template="other", $code=null) { } include "update.php"; -?> +?> \ No newline at end of file From 40527e9d76f1d0345edf977877ff215951ad679c Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:46:47 -0700 Subject: [PATCH 13/97] Add files via upload --- update_files/UrlsUpdate.zip | Bin 8802 -> 8833 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/update_files/UrlsUpdate.zip b/update_files/UrlsUpdate.zip index a31b9bfd79ae2caed2cd52c1660dc649e8ebdb67..b90b32f5c6210d7dc1a85d795f86f2c3b8dc909d 100644 GIT binary patch delta 2528 zcmV<62_N?2M1e&NP)h>@6aWAK2mtX5u?#m84ykoeRlkYm)oBg@0Iff>Q4{L~0ko4n z7#e>CL~gnHK=SG7Pym$Koz(h)9oC5t8=9Wu?4`;Y15j=O~BxG>rJA$*X?@dWFx+fFgaX(skO0jDwrDh*trH1M?-H8#ngw~oZ zS?Zur#B`dF&UA_gbm2a%dQ(rHOJPHqbD4jSYk`oi&~SUDjLfh~&D9AK-&d>kZlQ|k z3DW6wh%s3*X5cK(uozdy(-gL@DEJ{z9!E($uf(Ea=E49>L5pN9 z6JO&rqqEvpz$j{*ml~%z<(Hau9Y87dOgqZr!lfhbT||jin@60jSy>U#tj+FXZr0l*jkIAI{DX56z+D)6+3tSLnGaOjg!sd*`QlK0Q#a+XuwD zE;qsUbRE~_*A{pQ%|<^<$KV>Gq-YI5s_d`kBB)On;T@DLXFZH|iX6%RKZu_sh$%0M zfRT)>m^#dzYr_iYsyF|SuCEe1O9>)(wlb7;g<@2Mv$?U!TooguH#d4v2p@l`Vbvgt z2O+cciBP~Rr3I~9XjN{MN*|eA1l3hu4*G0jWtonU|vJ<`2>7 z1&P@~t`Vh<)Wj9FR+aOH4BacHF{7FfPhPSkq-5c6Xz*h(kT73Uo{BaDqRtbYMi>c| zLAXSMVqnGfzZ*uP}6!~UlsfpF=u12H6G*778SV+ zyKYz0;wiP`M-9f!qKW*_PVxs`f{lJI$=vt2!#le;Ou3*vhq zuMEKdwy62G(vcPe6~OHY(`hYhO}cxgmnfO(!a!^nzWa_SLtk_{-=wMd18t@3bsF!W z?IvwyE<4iu0bG)!}!JAE%vO6uv(J6JqDb48g z`ttpc$%LIRWC;#u&U{YZC%@T8gLuSlC(_~B`r%#O^So-C zLg3Lm!Y;B+%(8&SQ)L=Nvg_W!m_NLlq#I5Qvcp(WzCDb;2Fy={@>;cBKNbu~y&4Pa_oVB)Mp}MiE>+`iB3o64+;(610 zzNkX_Ms?KjpB*lA!OXcvom6&O_gAzD|KgwYhNO2--Grzkabs@6$^c^Ue(0 z9Qi13gN!MO+4}DW>X>;T86{QG3G~$~a|%DSvUd{Y?2uv_wECl|fF1`%uW#0FvrF;^ zM(uyjxUk3w5-lPhXX}S(w#>gM}1z`68@P~+|SEhJHCiX*l*BE<$h!;M)_JbHzq z{%VVi)fBk*8?aV4+uC5Apt%k}pU&31_<{@SQo;K2i(hNr)t|EQg73K1Xi0`o+wOn7 z(b>=;!QYOp^UAzymve?3$n76!Kp6<>t-M@d{7w=_VGz@?JR=Kx@aiUX^=~-wJY1fK zLV&u!mZ~@6xB{XoHTVwuxJa9%!tdG1Tgyi~;82w-)#|-=VWU)FB#A69nQP;bRFb7j z%3efOC@)>3@gBxTvD=6Z>BgS)!t{S|8g=o~<6=vrx#1Ev4ft;Lk&ZUyICDAaI~^k+ zOmi}SrWA7CHX6Ih0m5x^T8%fm$pOOca(1+*^*MW*yUJ;9kfS~nj;qpkfA6iYBA%Q; z#N+#5!UBB#>npzsw^^}%I}Y~r$eB?)7L_K6ag!G>Gr4(=Z}qLYLf}^G?9_jgbtYdH zH#dSE zb37T=S-bE>SU*=@x1KMrTf2Yfb?b3?y;bsNjwi(Wzsl?8vtiwQKCGL&W8Hil)>|ZR z=6FJ^n_rA|9%s(b^1z*b*qeFXXjE+{E=SkXyV5SYwQ8y>jO4SYDY z0T>-r$}`!GQ96W28R@PRj-2d5^iu8{z2J59gdlz2VkP3ghSZ{YgnAOb@BRl+O928D q02BZK00;o_3zN4YYYwS(P*uN)=GAEq006B&lQ1GI2FM`*0002oq1&$j delta 2509 zcmV;;2{QJ9MdCyZP)h>@6aWAK2mtXDu?#m84m}c2RmVC@JxUG$0PsGuQ4{L~0kD%j z7#e@lzDwo>0G$jlE>5VpKN=F!LsNvL{cu?+FJd^WLOl5iRVhK;c}VOwht%d%Q2GEB z!kUB(PIE_as`b4oX-4;C;ydm~3(p^R4W-oVBdoztm!>;00+-NQvn5L%6pCm~Q_Y!9 z@#rlagY|6c$rC4R6>}~#Z4Kgdg@!{bWn_PbRcfwIkodk@t#=FcK~IoQr$da%k}(6P zbcSWNG9I6v^~d7_(yZ3(>zbypb*;b;f!{bv;&~+&wJ--Tn1U9`DkZ+gX|85ftAJ5d zFE2GtbILC@>pFlU>6vzv#Z^j2+^C4+tG0zWTeGqvpvw=EHez%(W)wo%r4_qgx&D9c z)m%8+ZcwI*9hH7s4*oMLGA zDrF&6>xCueTapq)?rdc!>-WT{2xoI+lesEJMsIHPpb$P%!>aWY4?))7}lD(+d)_H(Vo19jS>c zYON~g4H>!%Ok+m16`s64M@Y%S;n2FrVjy9@raTpG21K1FI*l+ADuZx|1jWFLi^WSb zFF;-{;L-%CO57(L3nywCPoRHm;0&vVu58$7G93fsc<$YTgC|@~gJ>)_kQH!Wt1T-flPTubj>xR^;gq+U|$vd7cpmJur(gz4-yr*47+Yu)8Z+$<3|m~ z&7z6?aWVl3imw3$oHL&W6~hXU)XAB(A~`3ah+V4`i>5Ft2=Z<-*=*z9ufWR-G+Yeoh6&QtcK_g)D|H}&XdIi&cUf=Mw46Jz<8m~D)PjU zvE~jUo0!!_6TxrROVF{~eU*z5ZDmC--0>o+f}@D;a1m36@W zvrO#+a@p_w0H^EW_@aN>>qAT`!?Ti_QH#2&AHhN*D9x4^XAK3TrfNp?igz+nI065D z)<~74=2l=Bo=Fgf>&Ifl^GeqZU(T_MsaTfi^eCP!fH=iT%L;!ZIsRE@a8V&Mj^~-7 zY9|3!L-A>f7rUCA?dsW_+)asH5ZD8GJ_rBXq72(gM_L6`0JkSh=d&y_>4uixSY)OP z191oc?mMCkebMQBlcwUYp_Q`NX}p6@n6#C-`0(mg7BOh07h{KxFpSC`G!wA4wIs%w zd?M#~Vda81n=F527f6t!Q|g9On$hX?GqMW<&eCt zirz*tX^FaT$ej6T(9Eg}e;6lr4gCG8SuHNX%0cfo$s6u2Os}q5WInVYd5B)D;``^H z;#Nm*pS>sWMH3Bp!JQf zW_B*cgu4}cs_`>K8qJS>bI}i7@s8sW^p#Rv^G085%ICjsZpya_ z$(Yn9z4v$}U!0_UV;OptlyjSJ%^z2_g^hnqS-rj`OBJ!E)%p&*BEgC*Gj4tJhRF-E z!e*otPR6cJoxo@%bFX{myz=N3iW;jeGFDUI-fzHK-9l@Fb%N%0d41+u@68Ktf=dPK z%P)SdC0BpS#yhg(R-+{uK5e^PMrT781b;iW&MWg$Th1ABAh&;@0c9YhxAObE@q>Rv z9ECwl$MWPW?7<6}(A7Vd#Pe`@9tr{KrdX=ph~o-~s?^|X;Nv1~k_x|P=V>h;?SP|F zu2id6!-b7ffsrJ#ykxG8M^Z_aE-8BvRiV6ejmE1C8^vxTHl!PS(hJkWY1G9_kBcph z=7vkyCgAJIM>^V+?Q{Yx69elp4R8= zY3?egxj~NlP&lqi+x^wCzKVEq0uhg|R0#|44XUsFHrZyy`UNxC(<5g_?O0TrB*sl% zybt8&Ilk2w&kBKCt+P{4)|q@++*l5?di*>k5H#&j|5jdckfar}5LS1ngjjzJsvCu@ zlkQ#&w@Tj3@tAtJW0~6ud@>aTdq`PCiRq|$zC&N11ioO7A z*ngf0YtZyuSmUO;Bi4d+cdWNc-pui2SZD3R7h(NedEI)xyl(BD*R99p^;XH7Ii3*f z|0=JW&xUpL`LJ&8j&<{KSZ{xkyqV((v2K1b)_I&c(_i&l;vGx;{|Hjf XI!irD4gdh~K9f%(EC#6|00000alpe= From e87ef4ccbde75ac991951e5753fc4ce0b9f9281b Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:47:19 -0700 Subject: [PATCH 14/97] Update version.txt --- update_files/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_files/version.txt b/update_files/version.txt index 227cea2..38f77a6 100644 --- a/update_files/version.txt +++ b/update_files/version.txt @@ -1 +1 @@ -2.0.0 +2.0.1 From 7243fb4d8050ec3326ecdb0ca7b13be327974d3f Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:55:04 -0700 Subject: [PATCH 15/97] Add files via upload --- guides/tutorial/assets/about_page.png | Bin 0 -> 24768 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 guides/tutorial/assets/about_page.png diff --git a/guides/tutorial/assets/about_page.png b/guides/tutorial/assets/about_page.png new file mode 100644 index 0000000000000000000000000000000000000000..25b9b10e9ef98752daade07c5f66c4b506fc50f7 GIT binary patch literal 24768 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 Date: Sun, 16 Oct 2022 14:57:15 -0700 Subject: [PATCH 16/97] Update static_files.md --- guides/tutorial/static_files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/tutorial/static_files.md b/guides/tutorial/static_files.md index f705434..1dab1c3 100644 --- a/guides/tutorial/static_files.md +++ b/guides/tutorial/static_files.md @@ -77,4 +77,4 @@ Next, lets add a banner styled with a custom CSS file. ___ [Previous: Templates](templates.md) -[Next: Pages](pages.md) +[Next: More Pages](pages.md) From 5167bb25990260ea793e4bffa10e62d74dba1a50 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:58:06 -0700 Subject: [PATCH 17/97] Update COMPLETE_TUTORIAL.md --- guides/tutorial/COMPLETE_TUTORIAL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guides/tutorial/COMPLETE_TUTORIAL.md b/guides/tutorial/COMPLETE_TUTORIAL.md index abdff2c..b293d2d 100644 --- a/guides/tutorial/COMPLETE_TUTORIAL.md +++ b/guides/tutorial/COMPLETE_TUTORIAL.md @@ -12,6 +12,7 @@ This guide will walk you through a complete implementaion of URLS. You will be m 2. [Getting Started with URLS](getting_started.md) 3. [Templates](templates.md) 4. [Static Files](static_files.md) -5. [Pages](pages.md) +5. [More Pages](pages.md) +6. [Nesting Pages](nesting.md) ___ [Next: Project Setup](setup.md) From 25abe90dea847de91b5e4852d4e7ea58e4ed69d7 Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 14:58:11 -0700 Subject: [PATCH 18/97] Create pages.md --- guides/tutorial/pages.md | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 guides/tutorial/pages.md diff --git a/guides/tutorial/pages.md b/guides/tutorial/pages.md new file mode 100644 index 0000000..3dd84be --- /dev/null +++ b/guides/tutorial/pages.md @@ -0,0 +1,41 @@ +# More Pages +Now it's time to create some more pages! +1. Create a new file in the templates directory called `about.php` and fill it with: + ```PHP + + +

My Blog

+

This is information about my blog!

+ + + ``` +2. Now add `$urls->path('about/', 'templates/about.php', true);` under the home path declaration in `settings.php`: + ```PHP + path('blog/', 'blog-home.php', true); + */ + include 'urls/Urls.php'; + Urls::$base = '/urlsblog/'; + + $urls = new Urls; + $urls->path('/', 'templates/home.php', true); + $urls->path('about/', 'templates/about.php', true); + + $urls->exe(); + + ?> + ``` +3. If you go to [localhost/about](http://localhost/about), you should see: + + Output + +___ +[Previous: Static Files](static_files.md) +[Next: Nesting Pages](nesting.md) From e40b921114f1ede344df2eb526a289656c4664ec Mon Sep 17 00:00:00 2001 From: micahbaumann <78232761+micahbaumann@users.noreply.github.com> Date: Sun, 16 Oct 2022 15:16:01 -0700 Subject: [PATCH 19/97] Update static_files.md --- guides/tutorial/static_files.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guides/tutorial/static_files.md b/guides/tutorial/static_files.md index 1dab1c3..2edcd96 100644 --- a/guides/tutorial/static_files.md +++ b/guides/tutorial/static_files.md @@ -21,11 +21,11 @@ Next, lets add a banner styled with a custom CSS file. ``` -3. Now it's time to link `style.css` to `header.inc.php`. Remember, all requests are going to be displayed as if it were in the base directory. To do this add the following line to the `` of `header.inc.php`: +3. Now it's time to link `style.css` to `header.inc.php`. To do this add the following line to the `` of `header.inc.php`: ```HTML - + ``` - Notice the `href` is pointing to `static/style.css` rather than `./static/style.css`. + Notice the `href` is pointing to `static/style.css`. Since this header is going to be displayed on all pages, the `href` starts with `` to make sure the file can be accessed the same way no matter what the path is. 4. The full `header.inc.php` file should now look like: ```HTML @@ -36,7 +36,7 @@ Next, lets add a banner styled with a custom CSS file. <?php if (isset($pageTitle)) echo $pageTitle; ?> - My Blog - +