[ PHPXref.com ] [ Generated: Sun Jul 20 18:38:40 2008 ] [ METAjour 2.1 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/ -> basic_collection.php (source)

   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  ?>


[ Powered by PHPXref - Served by Debian GNU/Linux ]