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