Platform  3.1
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
popupdoc.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
5  * @package FDL
6 */
7 /**
8  * Specific menu for family
9  *
10  * @author Anakeen 2000
11  * @version $Id: popupdoc.php,v 1.23 2008/10/09 08:00:55 eric Exp $
12  * @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
13  * @package FDL
14  * @subpackage
15  */
16 /**
17  */
18 
19 include_once ("FDL/Class.Doc.php");
20 // -----------------------------------
21 function popupdoc(&$action, $tlink, $tsubmenu = array())
22 {
23  if ($action->getmenulink) { // to be use in viewbarmenu function
24  $action->menulink = $tlink;
25  return;
26  }
27 
28  header('Content-type: text/xml; charset=utf-8');
29  $onlyctrl = (GetHttpVars("onlyctrl") == "yes"); // view only ctrl
30  $onlysub = GetHttpVars("submenu"); // view only sub menu
31  $action->lay = new Layout(getLayoutFile("FDL", "popupdoc.xml") , $action);
32 
33  if ($onlysub && (!seems_utf8($onlysub))) $onlysub = utf8_encode($onlysub);
34 
35  $mb = microtime();
36 
37  $action->lay->set("CODE", "OK");
38  $action->lay->set("warning", "");
39  // define accessibility
40  $action->lay->Set("SEP", false);
41  $noctrlkey = ($action->getParam("FDL_CTRLKEY", "yes") == "no");
42 
43  $useicon = false;
44  $rlink = array();
45  $rlinkbottom = array();
46  foreach ($tlink as $k => $v) {
47  if ($onlyctrl) {
48  if (($v["visibility"] != POPUP_CTRLACTIVE) && ($v["visibility"] != POPUP_CTRLINACTIVE)) $v["visibility"] = POPUP_INVISIBLE;
49  if ($v["visibility"] == POPUP_CTRLACTIVE) $v["visibility"] = POPUP_ACTIVE;
50  else if ($v["visibility"] == POPUP_CTRLINACTIVE) $v["visibility"] = POPUP_INACTIVE;
51  }
52 
53  if ($onlysub) {
54  if ($v["submenu"] != $onlysub) $v["visibility"] = POPUP_INVISIBLE;
55  else $v["submenu"] = "";
56  }
57  if ($v["visibility"] == POPUP_INACTIVE) {
58  if ($v["title"]) {
59  $v["url"] = '';
60  $v["jsfunction"] = sprintf("alert('%s')", str_replace("'", "&rsquo;", $v["title"]));
61  } else {
62  $v["url"] = '#';
63  $v["jsfunction"] = '';
64  }
65  $v["confirm"] = 'false';
66  }
67  if ($v["visibility"] != POPUP_INVISIBLE) {
68  if ($v["submenu"] == "") {
69  if ($v["icon"]) $useicon = true;
70  $v["ICONS"] = "mainicon";
71  } else {
72  $smid = base64_encode($v["submenu"]);
73  if (!isset($tsubmenu[$smid])) $action->lay->set("icon" . $smid, false);
74  $v["ICONS"] = "icon" . $smid;
75  if ($v["icon"]) $action->lay->set("icon" . $smid, true);
76  }
77 
78  if ((!isset($v["icon"])) || ($v["icon"] == "")) {
79  $v["icon"] = "Images/none.gif";
80  }
81 
82  $v["issubmenu"] = false;
83  $v["descr"] = ucfirst(($v["descr"]));
84  $v["title"] = ucfirst(($v["title"]));
85  $v["tconfirm"] = str_replace(array(
86  "\n",
87  "\r",
88  '"'
89  ) , array(
90  "\\n",
91  '',
92  '-'
93  ) , ($v["tconfirm"]));
94  if (!isset($v["visibility"])) $v["visibility"] = "";
95  if (!isset($v["confirm"])) $v["confirm"] = "";
96  if (!isset($v["color"])) $v["color"] = false;
97  if (!isset($v["title"])) $v["title"] = false;
98 
99  if (!isset($v["jsfunction"])) $v["jsfunction"] = "";
100  if (!isset($v["barmenu"])) $v["barmenu"] = "";
101  if (!isset($v["url"])) $v["url"] = "";
102  else $v["url"] = ($v["url"]);
103  if (!isset($v["separator"])) $v["separator"] = false;
104  if ((!isset($v["idlink"])) || ($v["idlink"] == "")) $v["idlink"] = $k;
105  if ((!isset($v["target"])) || ($v["target"] == "")) $v["target"] = $k;
106  if ((!isset($v["mwidth"])) || ($v["mwidth"] == "")) $v["mwidth"] = $action->getParam("FDL_HD2SIZE", 300);
107  if ((!isset($v["mheight"])) || ($v["mheight"] == "")) $v["mheight"] = $action->getParam("FDL_VD2SIZE", 400);
108  if ((isset($v["url"])) && ($v["url"] != "")) $v["URL"] = true;
109  else $v["URL"] = false;
110 
111  if ($noctrlkey) {
112  if ($v["visibility"] == POPUP_CTRLACTIVE) {
113  $v["submenu"] = N_("menuctrlkey");
114  $v["visibility"] = POPUP_ACTIVE;
115  }
116  }
117 
118  if ((isset($v["jsfunction"])) && ($v["jsfunction"] != "")) $v["JSFT"] = true;
119  else $v["JSFT"] = false;
120  $v["smid"] = "";
121  if ((isset($v["submenu"])) && ($v["submenu"] != "")) {
122  $smid = base64_encode($v["submenu"]);
123  $v["smid"] = $smid;
124 
125  if (!isset($tsubmenu[$smid])) {
126  if ((!isset($v["icon"])) || ($v["icon"] == "")) {
127  $icon = "Images/none.gif";
128  } else {
129  $icon = $v["icon"];
130  }
131  $tsubmenu[$smid] = array(
132  "idlink" => $smid,
133  "descr" => ucfirst((_($v["submenu"]))) ,
134  "icon" => $v["icon"],
135  "visibility" => false,
136  "ICONS" => "mainicon",
137  "confirm" => false,
138  "color" => false,
139  "title" => false,
140  "jsfunction" => false,
141  "barmenu" => false,
142  "url" => false,
143  "target" => false,
144  "mwidth" => false,
145  "mheight" => false,
146  "smid" => false,
147  "tconfirm" => false,
148  "issubmenu" => false
149  );
150  }
151 
152  if (!isset($tsubmenu[$smid]["displayed"])) {
153  $tsubmenu[$smid]["displayed"] = true;
154  $tsubmenu[$smid]["issubmenu"] = true;
155  $tsubmenu[$smid]["URL"] = false;
156  $tsubmenu[$smid]["JSFT"] = false;
157  $tsubmenu[$smid]["separator"] = false;
158  if ($noctrlkey && ($v["submenu"] == "menuctrlkey")) {
159  $rlinkbottom[] = $tsubmenu[$smid];
160  } else {
161  $rlink[] = $tsubmenu[$smid];
162  }
163  }
164  }
165 
166  $rlink[] = $v;
167  }
168  }
169 
170  if ($noctrlkey) {
171  // ctrlkey submenu at bottom
172  $rlink = array_merge($rlink, $rlinkbottom);
173  }
174 
175  $action->lay->Set("mainicon", $useicon);
176  $action->lay->SetBlockData("ADDLINK", $rlink);
177  $action->lay->SetBlockData("SUBMENU", $tsubmenu);
178  $action->lay->SetBlockData("SUBDIVMENU", $tsubmenu);
179  $action->lay->Set("count", count($tlink));
180  $action->lay->Set("SEP", (count($tsubmenu) > 0)); // to see separator
181  $action->lay->set("delay", microtime_diff(microtime() , $mb));
182 }
183 ?>
← centre documentaire © anakeen - published under CC License - Dynacase