Rufen Sie uns an: +49 341 242 502 10

Ich war hier: WikkaCategoryTree

Baum mit Kategorien in WikkaWiki

Funktionsweise und Skripte

Siehe libs/wikka.class.php gegen Ende:

  1. -------------------------
  2.  
  3. // tree from polskieustawy
  4.  
  5.  
  6.     function getTree () {
  7.         $imgpath = "images/";
  8.         $txt = "<table cellspacing='0' cellpadding='0' border='0' width='100%'>";
  9.         $txt .= "<tr valign=top><td style='font-size: 12px' nowrap>";
  10.         $txt .= "<img src='".$imgpath."ksiazka_otw.gif' hspace=0 vspace=0 border=0 align=left>";
  11.         $txt .= "&nbsp;<b>Proszę wybrać kategorię:</b></td></tr>";
  12.         $txt .= "<tr valign=top><td height='4'>";
  13.         $txt .= "</td></tr>";
  14.         // call this recursive function for grab the tree
  15.         $txt .= $this->getLevel("CategoryWiki");
  16.         $txt .= "</table>";
  17.         return $txt;
  18.     }
  19.     function getLevel($catname = "CategoryCategory") {
  20.         function isParent () {
  21.             // check, if one is parent of other
  22.             return true;
  23.         }
  24.         $imgpath = "images/";
  25.         //if ($cattag = $_GET['wakka']) {}
  26.         $txt = ""; //$str ="";
  27.         $page = $catname; //"CategoryWiki";
  28.         if ($page=="/") $page="CategoryCategory";
  29.         if ($this->CheckMySQLVersion(4,0,1)) $results = $this->FullCategoryTextSearch($page);
  30.         else $results = $this->FullTextSearch($page);
  31.         if ($results) {
  32.             //$txt .= "<table cellspacing='0' cellpadding='0' border='0' width='100%'>";
  33.             $count = 0;
  34.             $pagecount = 0;
  35.             $list = array();
  36.             $active = array();              // lista elementów aktywnych na wszystkich poziomach
  37.             $last = array();                    // lista elementów ostatnich na poziomach = czujnik do wyglądu
  38.             $level = 1;                             // dummy => później pobierać jako numer poszczególnych przerabianych poziomów
  39.             $active[$level] = 3;            // dummy => później pobierać jako numer otwartego na poziomie $level
  40.            
  41.             foreach ($results as $i => $cpage) {
  42.                 if($cpage['tag'] != $page) {
  43.                     array_push($list,$cpage['tag']);
  44.                 }
  45.             }
  46.             sort($list);
  47.             while (list($key, $val) = each($list)) {
  48.                 $count++;
  49.                 // kontrola nad "addin", czyli obrazkiem przeznaczonym do wyświetlenia przed samym elementem
  50.                 // drzewka - związane z przesunięciem poziomów drzewka
  51.                 //if (!(isset($last[$x]))) {
  52.                 if ($count == count($list)) {
  53.                     $addin = "<img src='".$imgpath."pusty_for_last.gif' hspace='0' vspace='0' border='0' align=left>";
  54.                 } else {
  55.                     $addin = "<img src='".$imgpath."menu_bar.gif' hspace='0' vspace='0' border='0' align=left>";
  56.                 }
  57.                
  58.                 $wybrany = 5;               // aktywny element, ten który aktualnie wybrano;
  59.                 $cat = $wybrany;            // w drzewie pu.com oparto o id elementu; -> wartość rezerwowa
  60.                 $myid = $key + 1;                   // element aktualnie opracowywany w pętli
  61.                                                             // w pu.com w oparciu o $rec["id"];
  62.                 $title = $val;
  63.                 $nazwa = $val;
  64.                 $myhref = "";
  65.                 //for ($y = 1; $y <= $level; $y = $y+1) {
  66.                 //  if ($y == $level) {
  67.                 //  $myhref .= "&a".$y."=".$rec["id"];
  68.                 //  } else {
  69.                 //  $myhref .= "&a".$y."=".$active[$y];
  70.                 //  }
  71.                 //}
  72.                 $myhref .= "&cat=".$myid;
  73.                 if (isParent()) { // jeśli element ma dzieci
  74.                     if ($count == count($list)) { // jeśli jest to ostatni w liście na danym poziomie
  75.                         if ($active[$level] == $key+1) {
  76.                             $pic1 = "menu_corner_minus";
  77.                             $pic2 = "ksiazka_otw";
  78.                         } else {
  79.                             $pic1 = "menu_corner_plus";
  80.                             $pic2 = "ksiazka_zamk";
  81.                         }
  82.                         $last[$level] = 1;
  83.                     } else {
  84.                         if ($active[$level] == $key+1) {
  85.                             $pic1 = "menu_tee_minus";
  86.                             $pic2 = "ksiazka_otw";
  87.                         } else {
  88.                             $pic1 = "menu_tee_plus";
  89.                             $pic2 = "ksiazka_zamk";
  90.                         }
  91.                         $last[$level] = 0;
  92.                     }
  93.                 } else {
  94.                     // tutaj elementy nie posiadają już dzieci!!!
  95.                     if ($active[$level] == $key) {
  96.                         // ostatni pusty
  97.                         $pic1 = "menu_corner";
  98.                         $pic2 = "stronica";
  99.                     } else {
  100.                         // nieostatni pusty
  101.                         $pic1 = "menu_tee";
  102.                         $pic2 = "stronica";
  103.                     }
  104.                 }
  105.                 $myA = "<a href='?".$myhref."' title='".$title."' style='text-decoration:none; font-family:arial;'>";
  106.                 $txt .= "<tr valign=top><td style='font-size: 12px' nowrap>".$addin;
  107.                 $txt .= $myA."<img src='".$imgpath.$pic1.".gif' hspace=0 vspace=0 border=0 align=left></a>";
  108.                 $txt .= $myA."<img src='".$imgpath.$pic2.".gif' hspace=0 vspace=0 border=0 align=left></a> ";
  109.                 if ($myid == $cat) {
  110.                     $txt .= "&nbsp;<b>".$myA.$nazwa."</b></a></b>";
  111.                 } else {
  112.                     $txt .= "&nbsp;".$myA.$nazwa."</a>";
  113.                 }
  114.                 $txt .= "</td></tr>";
  115.                 // jesli konieczne, wlacz kolejny poziom
  116.                 //if ($active[$level] == $myid) getLevel($active[$level], $level+1, $conn, &$txt, $active, $cat, $last);
  117.                 //$rec = mysql_fetch_array($rs);
  118.                
  119.                 $pagecount++;
  120.             }
  121.             //$txt .= '</table>';
  122.         } else $txt .= 'Sorry, no items found for ' . $page .'.';
  123.         return $txt;
  124.     }
  125.  
  126. ------------------------
Auf dieser Seite sind keine Kommentare vorhanden