Documentation is available at basic_collection.php
1 <?php
2 require_once('basic_view.php');
3
4 class basic_collection extends basic_view {
5 var $menuwidth = 200;
6
7 function basic_collection() {
8 $this->basic_view();
9 }
10
11 function loadLanguage() {
12 basic_view::loadLanguage();
13 }
14
15 function contextmenu_single() {
16 /* if ($this->CanView('view')) $result .= '
17 if (parent.dialog) {
18 addMenuItem(new menuItem("Vis'.$this->gl('context_view').'", "view", "code:parent.dialog.location.href=\''.$this->callGuiDynamic('','view').'\'"));
19 } else {
20 addMenuItem(new menuItem("Vis'.$this->gl('context_view').'", "view", "code:window.location.href=\''.$this->callGuiDynamic('','view').'\'"));
21 }
22 ';
23 */
24 if ($this->CanView('edit')) $result .= 'addMenuItem(new menuItem("Rediger'.$this->gl('context_edit').'", "combi", "code:oe();"));';
25 if ($this->CanView('preview')) $result .= 'addMenuItem(new menuItem("Preview'.$this->gl('context_preview').'", "preview", "code:open(\''.$this->userhandler->getViewerUrl().'showpage.php?pageid=\' + o_id)"));';
26 if ($this->CanView('view') && $this->otype == 'binfile') $result .= 'addMenuItem(new menuItem("'.$this->gl('context_viewfile').'", "viewfile", "code:open(\''.$this->userhandler->getSystemUrl().'getfile.php?objectid=\' + o_id)"));';
27 if ($this->CanView('delete')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_delete').'", "delete", "code:'.$this->modelessdialogdynamic('','delete','jscallerreload,jswindowclose').'"));';
28 if ($this->CanView('createcopy')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_createcopy').'", "createcopy", "code:'.$this->modelessdialogdynamic('','createcopy','jscallerreload,jswindowclose').'"));';
29 if ($this->CanView('createvariant')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_createvariant').'", "createvariant", "code:'.$this->modelessdialogdynamic('','createvariant','jscallerreload,jswindowclose').'"));';
30 if ($this->CanView('createrevision')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_createrevision').'", "createrevision", "code:'.$this->modelessdialogdynamic('','createrevision','jscallerreload,jswindowclose').'"));';
31 if ($this->CanView('requestapproval')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_requestapproval').'", "requestapproval", "code:'.$this->modelessdialogdynamic('','requestapproval','jscallerreload,jswindowclose').'"));';
32 if ($this->CanView('approvepublish')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_approvepublish').'", "approvepublish", "code:'.$this->modelessdialogdynamic('','approvepublish','jscallerreload,jswindowclose').'"));';
33 if ($this->CanView('default')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_default').'", "default", "code:'.$this->modelessdialogdynamic('','default','jscallerreload,jswindowclose').'"));';
34 return $result;
35 }
36
37 function contextmenu_advanced() {
38 if ($this->CanView('language')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_language').'", "language", "code:'.$this->modelessdialogdynamic('','language','jscallerreload,jswindowclose').'"));';
39 if ($this->CanView('publish')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_publish').'", "publish", "code:'.$this->modelessdialogdynamic('','publish','jscallerreload,jswindowclose').'"));';
40 if ($this->CanView('active')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_active').'", "active", "code:'.$this->modelessdialogdynamic('','active','jscallerreload,jswindowclose').'"));';
41 $result .= 'addMenuItem(new menuItem("-"));';
42 if ($this->CanView('category')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_categories').'", "category1", "code:'.$this->modelessdialogdynamicLarge('','category','jscallerreload,jswindowclose').'"));';
43 if ($this->CanView('access')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_access').'", "access", "code:'.$this->modelessdialogdynamicVeryLarge('','access','jscallerreload,jswindowclose').'"));';
44 $result .= 'addMenuItem(new menuItem("-"));';
45 if ($this->CanView('createdby')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_createdby').'", "createdby", "code:'.$this->modelessdialogdynamic('','createdby','jscallerreload,jswindowclose').'"));';
46 if ($this->CanView('checkedby')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_checkedby').'", "checkedby", "code:'.$this->modelessdialogdynamic('','checkedby','jscallerreload,jswindowclose').'"));';
47 if ($this->CanView('changedby')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_changedby').'", "changedby", "code:'.$this->modelessdialogdynamic('','changedby','jscallerreload,jswindowclose').'"));';
48 if ($this->CanView('created')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_created').'", "created", "code:'.$this->modelessdialogdynamic('','created','jscallerreload,jswindowclose').'"));';
49 if ($this->CanView('checked')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_checked').'", "checked", "code:'.$this->modelessdialogdynamic('','checked','jscallerreload,jswindowclose').'"));';
50 if ($this->CanView('changed')) $result .= 'addMenuItem(new menuItem("'.$this->gl('context_changed').'", "changed", "code:'.$this->modelessdialogdynamic('','changed','jscallerreload,jswindowclose').'"));';
51 #$result .= 'addMenuItem(new menuItem("Eksport til objektfil", "exportobj", "code:'.$this->modelessdialogdynamic('','exportobj','jscallerreload,jswindowclose').'"));';
52 return $result;
53 }
54
55 function contextmenu_multiple() {
56 }
57
58 function oeJavascript() {
59 /* return "
60 if (parent.dialog) {
61 parent.dialog.location.href='gui.php?view=combi&objectid=' + o_id + '&_ret=".$this->view."';
62 } else {
63 window.location.href='gui.php?view=combi&objectid=' + o_id + '&_ret=".$this->view."&_parentid='.$this->parentid.'&_relcol='.$this->.'&_relval';
64 }
65 return false;
66 ";*/
67 return "
68 if (parent.dialog) {
69 parent.dialog.location.href='".$this->callGuiDynamic('','combi','',$this->view,$this->parentid)."';
70 } else {
71 window.location.href='".$this->callGuiDynamic('','combi','',$this->view,$this->parentid)."';
72 }
73 return false;
74 ";
75 }
76
77 function view() {
78 $this->context->addonload('initjsDOMenu();');
79
80 $this->context->addheader('
81 <link rel="stylesheet" type="text/css" href="css/jsdomenu.css">
82 <script type="text/javascript" src="js/selectableelements.js"></script>
83 <script type="text/javascript" src="js/selectabletablerows.js"></script>
84 <script type="text/javascript" src="js/jsdomenu.js"></script>');
85 $this->context->addheader('<script type="text/javascript">');
86
87 $obj = owNew('category');
88 $obj->listobjects();
89 $z = 0;
90 $category = '';
91 while ($z < $obj->elementscount) {
92 if ($obj->elements[$z]['datatype'] == $this->otype || $obj->elements[$z]['datatype'] == '') {
93 $category .= 'addMenuItem(new menuItem("' . $obj->elements[$z]['name'].'", "category", "code:' . $this->modelessdialogdynamic('', 'addcategory', 'jscallerreload,jswindowclose', '', '&categoryid=' . $obj->elements[$z]['objectid']) . '"));';
94 }
95 $z++;
96 }
97 unset($obj);
98
99 $obj = owNew('filter');
100 $obj->listobjects();
101 $z = 0;
102 $filter = '';
103 while ($z < $obj->elementscount) {
104 if ($obj->elements[$z]['datatype'] == $this->otype || $obj->elements[$z]['datatype'] == '')
105 $filter .= 'addMenuItem(new menuItem("'.$obj->elements[$z]['name'].'", "filter", "code:'.$this->modelessdialogdynamic('','filter','jscallerreload,jswindowclose','','&filterid='.$obj->elements[$z]['objectid']).'"));';
106 $z++;
107 }
108 unset($obj);
109
110
111
112 $this->context->addheader('
113 function createjsDOMenu() {
114 mainMenu = new jsDOMenu('.$this->menuwidth.');
115 with (mainMenu) {
116 '.$this->contextmenu_single().'
117 }
118 categoryMenu = new jsDOMenu('.$this->menuwidth.');
119 with (categoryMenu) {
120 '.$category.'
121 }
122 filterMenu = new jsDOMenu('.$this->menuwidth.');
123 with (filterMenu) {
124 '.$filter.'
125 }
126 advancedMenu = new jsDOMenu('.$this->menuwidth.');
127 with (advancedMenu) {
128 '.$this->contextmenu_advanced().'
129 }
130 if (mainMenu.items.category) mainMenu.items.category.setSubMenu(categoryMenu);
131 if (mainMenu.items.filter) mainMenu.items.filter.setSubMenu(filterMenu);
132 if (mainMenu.items.advanced) mainMenu.items.advanced.setSubMenu(advancedMenu);
133 // mainMenu.items["edit"].enabled = false;
134 // mainMenu.items["edit"].setClassName("jsdomenuinactive");
135 mainMenu.setNoneExceptFilter(new Array("A.cm","TD.*"));
136 activatePopUpMenuBy(1, 0);
137 setPopUpMenu(mainMenu);
138
139 multiMenu = new jsDOMenu('.$this->menuwidth.');
140 with (multiMenu) {
141 '.$this->contextmenu_multiple().'
142 }
143 if (mainMenu.items.category) multiMenu.items.category.setSubMenu(categoryMenu);
144 if (mainMenu.items.filter) multiMenu.items.filter.setSubMenu(filterMenu);
145 if (mainMenu.items.advanced) multiMenu.items.advanced.setSubMenu(advancedMenu);
146 multiMenu.setNoneExceptFilter(new Array("A.cm","TD.*"));
147 }
148 ');
149
150 ob_start();
151 ?>
152 function modifysinglemenu() {
153 // This function parses all elements of the contextmenu for single
154 // object selections (mainMenu), to determine the availability of
155 // the menuitems
156 }
157
158 function cm(el) {
159 // This function is called on oncontextmenu from object listings
160 // where single and multiple object selections are possible
161 var event = el.ownerDocument.parentWindow.event;
162
163 // If right-click
164 if (event && event.button == 2) {
165 if (st.getSelectedItems().length == 0) {
166 el.click(event);
167 } else if (st.getSelectedItems().length > 0 && ! st.getItemSelected(el)) {
168 el.click(event);
169 }
170 }
171
172 if(st.gsi().length >1) {
173 setPopUpMenu(multiMenu);
174 } else {
175 modifysinglemenu();
176 setPopUpMenu(mainMenu);
177 }
178 hideAllMenus();
179 }
180
181 function scm(el) {
182 // This function is called on oncontextmenu from object listings
183 // where only single object selections are possible
184 modifysinglemenu();
185 setPopUpMenu(mainMenu);
186 hideAllMenus();
187 }
188
189 function oe(ask) {
190 <?php
191 echo $this->oeJavascript();
192 ?>
193 }
194
195 var o_id = '';
196 </script>
197 <?php
198
199 $output = ob_get_contents();
200 ob_end_clean();
201 $this->context->addheader($output);
202 }
203
204 }
205
206 ?>
Documentation generated on Thu, 9 Jun 2005 06:51:01 +0200 by phpDocumentor 1.2.3