Thursday, 4 June 2015

Navbar.php3 - Dynamic hyperlinked navigation bars

<?php
    /*

      *  TODO:
      *      o    Read  array  from  a  flat  text  file
      *      o    Read  array  from  database
      *      o    Support  for  graphical  buttons  instead  of  just  text
      *      o    Support  for  frame  targets
      */

    /*  User  configurable  variables  */

    $links_arr  =  array(
        "Test  Page  1"  =>  "/~dougal/test1.phtml",
        "Test  Page  2"  =>  "/~dougal/test2.phtml",
        "Test  Page  3"  =>  "/~dougal/test3.phtml"
    );

    $separator  =  "  |  ";  /*  Put  a  vertical  bar  between  links  */

    /*  Main  code  begins  here  */
    
    /*  Step  through  the  array....  */
    for  (reset($links_arr);  $name  =  key($links_arr);  next($links_arr))  {

        $hyper  =  1;  /*  Hyperlink  on  by  default  */

        /*
          *  If  the  current  page  URI  matches  the  current  array  
element,  
          *  don't  add  the  <A  HREF....>  stuff.  Use  the  $hyper  var  to  
flag  it.
          */
        if  ($REQUEST_URI  ==  $links_arr[$name])  {
            $hyper  =  0;  /*  Don't  hyperlink  a  page  to  itself  */
        }

        /*  Conditionally  do  the  <A  HREF...>  part  for  hyperlinks  */
        if  ($hyper)  {
            print  "<A  HREF=\""  .  $links_arr[$name]  .  "\">";
        }

        print  $name;    /*  Print  the  name  of  the  link  */

        if  ($hyper)  {  print  "</A>";  }  /*  Close  the  hyperlink  */

        /*  Do  fancy  tricks  to  print  separators  between  links  
          *  The  next/prev  stuff  keeps  it  from  putting  a  trailing  '|'
          *  at  the  end  of  the  list  by  testing  to  see  if  we  are  
currently
          *  looking  at  the  last  element  of  the  $links_arr  array.
          */
        if  (next($links_arr))    {  print  $separator;  prev($links_arr);  }  
    }
?>

0 comments:

Post a Comment