package WebGUI::Macro::s_specificMenuHorizontal; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black Software. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use strict; use WebGUI::Macro; use WebGUI::Macro::Shared; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; #------------------------------------------------------------------- sub _replacement { my ($temp, @data, $pageTitle, $parentId, $sth, $first, @param, $delimeter); @param = WebGUI::Macro::getParams($_[0]); if ($param[1] eq "") { $delimeter = " · "; } else { $delimeter = " ".$param[1]." "; } $temp = ''; $first = 1; ($parentId) = WebGUI::SQL->quickArray("select pageId from page where urlizedTitle='$param[0]'"); $sth = WebGUI::SQL->read("select menuTitle,urlizedTitle,pageId from page where parentId='$parentId' order by sequenceNumber"); while (@data = $sth->array) { if (WebGUI::Privilege::canViewPage($data[2])) { if ($first) { $first = 0; } else { $temp .= $delimeter; } $temp .= ''; if ($session{page}{pageId} == $data[2]) { $temp .= ''.$data[0].''; } else { $temp .= $data[0]; } $temp .= ''; } } $sth->finish; $temp .= ''; return $temp; } #------------------------------------------------------------------- sub process { my ($output); $output = $_[0]; $output =~ s/\^s\((.*?)\)\;/_replacement($1)/ge; return $output; } 1;