19 include_once (
"FDL/Class.Doc.php");
28 $menuitems[
$name] = $items;
29 $tsubmenu[
$name] = array();
30 if (count($menuitems[
$name]) == 0) {
34 foreach ($menuitems[$name] as $ki => $imenu) {
36 $jsarray.=
'"' . $imenu .
'",';
43 $tsubmenu[
$name][
'v' . $ki] =
"";
46 $jsarray[strlen($jsarray) - 1] =
"]";
48 $tmenus[
$name][
"menuitems"] = $jsarray;
50 $tmenus[
$name][
"nbmitem"] = count($menuitems[$name]);
51 $tmenus[
$name][
"menulabel"] =
'["' . implode(
'","', $tsubmenu[$name]) .
'"]';
52 $tmenus[
$name][
"nbdiv"] =
"";
62 $menuitems[
$name][] = $imenu;
64 $ki = count($menuitems[
$name]) - 1;
74 $tsubmenu[
$name][
'v' . $ki] =
"";
76 $tmenus[
$name][
"menuitems"] =
'["' . implode(
'","', $menuitems[$name]) .
'"]';
77 $tmenus[
$name][
"nbmitem"] = count($menuitems[$name]);
78 $tmenus[
$name][
"menulabel"] =
'["' . implode(
'","', $tsubmenu[$name]) .
'"]';
85 if (!isset($tmenuaccess[
$name][$k][
"divid"])) {
86 $tmenuaccess[
$name][$k][
"divid"] = $k;
87 reset($menuitems[
$name]);
88 while (list($ki, $v) = each($menuitems[$name])) {
89 $tmenuaccess[
$name][$k][
'v' . $ki] = 2;
99 $tsubmenu[
$name][$$nameid] = $mlabel;
110 foreach ($tsubmenu[
$name] as $k => $v) {
112 $ti[] = $menuitems[
$name][$ki];
164 return ($tmenuaccess[
$name][$k][$$nameid]);
169 $na = intval(substr(
$a, 1));
170 $nb = intval(substr($b, 1));
172 if ($na == $nb)
return 0;
173 return ($na < $nb) ? -1 : 1;
179 if (isset($tmenuaccess)) {
181 foreach ($tmenuaccess as
$name => $v)
foreach ($v as $ki => $vi)
foreach ($vi as $kj => $vj) {
183 $tmenuaccess[
$name][$ki][$kj] = 1;
184 if ($tsubmenu[
$name][$kj] ==
"") $tsubmenu[
$name][$kj] =
"ctrlkey";
195 $ta = $tmenuaccess[$popname][1];
198 $ti = $menuitems[$popname];
199 foreach (
$ta as $v) {
200 $tu[current($ti) ] = $v;
211 $ti = $menuitems[$popname];
212 foreach (
$ta as $i =>
$a) {
213 $kt = array_keys($ti, $i);
214 if (count($kt) == 1) {
216 $tmenuaccess[$popname][1][
"v$k"] =
$a;
232 $action->parent->AddJsRef($action->GetParam(
"CORE_JSURL") .
"/DHTMLapi.js");
233 $action->parent->AddJsRef($action->GetParam(
"CORE_JSURL") .
"/geometry.js");
234 $action->parent->AddJsRef($action->GetParam(
"CORE_PUBURL") .
"/FDL/Layout/common.js");
235 $action->parent->AddJsRef($action->Getparam(
"CORE_PUBURL") .
"/FDL/Layout/popupfunc.js");
240 $action->parent->AddCssRef(
"FDL:POPUP.CSS",
true);
243 $lpopup =
new Layout($action->Getparam(
"CORE_PUBDIR") .
"/FDL/Layout/popup.js",
$action);
244 if (isset($tmenuaccess)) {
246 foreach ($tmenuaccess as
$name => $v2) {
248 while (list($k, $v) = each($v2)) {
250 uksort($v,
'vcompare');
252 $tma[$kv][
"vmenuitems"] =
"[";
253 foreach ($v as $ki => $vi) {
255 $tma[$kv][
"vmenuitems"].=
"" . $vi .
",";
258 $tma[$kv][
"vmenuitems"][strlen($tma[$kv][
"vmenuitems"]) - 1] =
"]";
260 $tma[$kv][
"name"] =
$name;
261 $tma[$kv][
"divid"] = $v[
"divid"];
265 $tmenus[
$name][
"nbdiv"] = $nbdiv;
266 $tmenus[
$name][
"menulabel"] =
'["' . implode(
'","', $tsubmenu[
$name]) .
'"]';
268 $lpopup->SetBlockData(
"MENUACCESS", $tma);
269 $lpopup->SetBlockData(
"MENUS", $tmenus);
270 if (isset($tcmenus)) $tcmenus = array_merge($tcmenus, $tmenus);
271 else $tcmenus = $tmenus;
272 foreach ($tsubmenu as $kl => $vl)
foreach ($vl as $sm)
if ($sm !=
"") $tcmenus[$sm][
"name"] = $sm;
273 $lpopup->SetBlockData(
"CMENUS", $tcmenus);
275 $action->parent->AddJsCode($lpopup->gen());
277 if ($action->Read(
"navigator",
"") ==
"EXPLORER") $action->lay->Set(
"divpos",
"absolute");
278 else $action->lay->Set(
"divpos",
"fixed");
281 $tmenuaccess = array();
282 $menuitems[
$name] = array();
284 unset($tmenusaccess);
297 $lpopup =
new Layout($action->Getparam(
"CORE_PUBDIR") .
"/FDL/Layout/popupadd.js");
298 if (isset($tmenuaccess)) {
301 while (list(
$name, $v2) = each($tmenuaccess)) {
303 while (list($k, $v) = each($v2)) {
304 uksort($v,
'vcompare');
306 $tma[$kv][
"vmenuitems"] =
"[";
307 while (list($ki, $vi) = each($v)) {
309 $tma[$kv][
"vmenuitems"].=
"" . $vi .
",";
312 $tma[$kv][
"vmenuitems"][strlen($tma[$kv][
"vmenuitems"]) - 1] =
"]";
314 $tma[$kv][
"name"] =
$name;
315 $tma[$kv][
"divid"] = $v[
"divid"];
319 $tmenus[
$name][
"nbdiv"] = $nbdiv;
320 $tmenus[
$name][
"menulabel"] =
'["' . implode(
'","', $tsubmenu[
$name]) .
'"]';
323 $lpopup->SetBlockData(
"ADDMENUACCESS", $tma);
324 $lpopup->SetBlockData(
"ADDMENUS", $tmenus);
326 $action->parent->AddJsCode($lpopup->gen());
329 $tmenuaccess = array();
330 $menuitems[
$name] = array();
332 unset($tmenusaccess);