PX : code

Automated Navigation System (Modified CLASS Version) by Nilashis Chatterjee
Rating: 5.00
Download this code


<?php
/////////////////////////////////////////////////////
//                                                 //
//          Automated Navigation System            //
//                Version 1.0.0                    //
//       CLASS VERSION : You are here part         //
//         Release Date : 01 June 2004             //
//                                                 //
//                Copyright 2003-04                //
//               Nilashis Chatterjee               //
//              http://php-dev.t35.com/            //
//               All Rights Reserved               //
//                                                 //
//          In using this script you               //
//           agree to the following:               //
//                                                 //
//      This script may be used and modified       //
//              freely as long as this             //
//             copyright remains intact.           //
//         Please inform any bugs, suggestions     //
//           etc. at nilashis@softhome.net.        //
//                                                 //
//     You may not distibute this script, or       //
//           any modifications of it.              //
//                                                 //
//   It will be great if you give me a small link  //
//        in your website if you use this script   //
//         to http://php-dev.t35.com/              //
//         This choice is up to you obviously      //
//                                                 //
//      This script is distributed with            //
//        no warrenty, free of charge.             //
//                                                 //
/////////////////////////////////////////////////////

/***************************************************************************************
Sometimes it may happen that you do not require the images , only the You are here part is needed. thats why I created a modified version of this script (A Class) which will do that for you. The php file (part.php) which will do this for you. If you just need the "You are here" part , then use this file & include it in every page. The rest is done here..
 

/********************************* INSTRUCTIONS *****************************************

INSTALLATION INSTRUCTIONS :

Step by Step Guidence to use this script : ----->

(1) First you must remember & follow some basic configuration for your website.

(a) You should give all the directories a meaningful name , since those names will appear in the "you are here " part of this navigation system  (see this screenshot if you don't understand   what it is ). For ex. if your downloads directory is "dl" , which may seems meaningful to you confuses the viewers of your site . They will see that they are :

Home >> Dl

which is of no meaning . But if the name of the directory is "downloads" , then it will appear as:

Home >> Downloads

which is meaningful.

(b) You should arrange your files & directories in a proper manner in diff. directories. All the contents of a subcategory should reside in directories in or under the directory of that sub-category .

For ex. say your download directory is :

Root_Dir/downloads/

if some of the files resides in any other sub-category , say :

Root_Dir/wrong-cat/

Then your viewers will be confused about thier position in the site. 

*/

/****************************************************************************************
Class 'CurPosIndicator' defined here ...........
*****************************************************************************************/

echo "<title>Automatic Navigation System Demo - PHP-DEV website </title>";
class 
CurPosIndicator {
var 
$curfile,$temp_cat,$temp_link,$back;

// Constructor - initializing the values......

function CurPosIndicator() {
$this->curfile=$_SERVER['PHP_SELF'];
$this->temp_cat=explode("/",$this->curfile);
/******************** Set the referer. Used for the "Previous Page" link. ******************/
$this->back $_SERVER['HTTP_REFERER'];
/***************** Used for the link of the topics .****************************************/
$this->temp_link="/";
}

function 
calculatePosition() {
if(
$this->curfile!="/" && $this->curfile!="/index.php") {
$last_ele=array_pop($this->temp_cat);
// printing the actual pagename without the extension (i.e. , .php,.html,.htm,.phtml,.shtml etc.)

$last_part=explode(".",$last_ele);
echo 
"<table border=0 width=100% class=dtext align=center><tr><td valign=top colspan=3> &nbsp; You are here : &nbsp;
<a href=\"/\">"
.$_SERVER['SERVER_NAME']." Home</a> ";
if(
$last_ele=="" || $last_ele=="index.php") {
for(
$j=1;$j<count($this->temp_cat)-1;$j++) {
for(
$k=1;$k<=$j;$k++)
$this->temp_link=$this->temp_link.$this->temp_cat[$k]."/";

/****************** Making the first letter of each words Capital **************************/

echo " >> <a href=\"$this->temp_link\">".ucfirst($this->temp_cat[$j])."</a>";
$this->temp_link="/";
}
echo 
" >> ".ucfirst($this->temp_cat[$j])." Section";
}
else {
for(
$j=1;$j<=count($this->temp_cat);$j++) {
for(
$k=1;$k<=$j;$k++)
$this->temp_link=$this->temp_link.$this->temp_cat[$k]."/";

echo 
" >> <a href=\"$this->temp_link\">".ucfirst($this->temp_cat[$j])."</a>";

/************ After each inner for loop , the variable "$temp_link" must be initilized to it's 
initial value ("/" , i.e. the homepage). ***************************************************/

$this->temp_link="/";
}
echo 
"".ucfirst($last_part[0])."  Section";
}
}
else 
echo 
"<table border=0 width=100% class=dtext align=center><tr><td colspan=3>&nbsp;";
/************ As long as the referer and the current page don't match, make a 
"Previous page" link. **********************************************************************/

$file_url "http://" $_SERVER['SERVER_NAME'] . $this->curfile ;

if (
$this->back != $file_url && $this->back && $this->curfile!="/" && $this->curfile!="/index.php") {
echo 
"</td><td colsapn=2 align=right> <a href=\"$this->back\"><< Previous </a> &nbsp;&nbsp;";
echo 
"</td></tr></table><hr>";
}
else 
echo 
"</td></tr></table><hr>";
}
}


/********************* Calling the object of the class ***********************************/
$dispPos=new CurPosIndicator();
$dispPos->calculatePosition();
/*****************************************************************************************/

?>

Comments or questions?
PX is running PHP 5.2.17
Thanks to Miranda Productions for hosting and bandwidth.
Use of any code from PX is at your own risk.