XOOPS RMCommon Utilities  2.1.8.91RC
 All Classes Namespaces Files Functions Variables
designiafunctions.class.php
Go to the documentation of this file.
1 <?php
2 // $Id$
3 // --------------------------------------------------------------
4 // Designia v1.0
5 // Theme for Common Utilities 2
6 // Author: Eduardo Cort├ęs <i.bitcero@gmail.com>
7 // Email: i.bitcero@gmail.com
8 // License: GPL 2.0
9 // --------------------------------------------------------------
10 
12 {
16  public function currentModuleMenu($m=''){
17 
18  global $xoopsModule, $xoopsUser;
19 
20  if(!is_a($xoopsModule, 'XoopsModule')){
21  return false;
22  } else {
24  }
25  // Check user
26  if(!is_a($xoopsUser, 'XoopsUser')) return false;
27 
28  if(!$xoopsUser->isAdmin($mod->mid())) return false;
29 
30  $amenu = $mod->getAdminMenu();
31  $amenu = RMEvents::get()->run_event('rmcommon.current.module.menu', $amenu);
32  if ($amenu){
33  foreach ($amenu as $menu){
34  RMTemplate::get()->add_menu(
35  $menu['title'],
36  strpos($menu['link'], 'http://')!==FALSE && strpos($menu['link'], 'ftp://')!==FALSE ? $menu['link'] : XOOPS_URL.'/modules/'.$mod->getVar('dirname','n').'/'.$menu['link'],
37  isset($menu['icon']) ? $menu['icon'] : '', isset($menu['location']) ? $menu['location'] : '',
38  isset($menu['options']) ? $menu['options'] : null
39  );
40  //RMTemplate::get()->add_tool($menu['title'], $menu['link'], isset($menu['icon']) ? $menu['icon'] : '');
41  }
42  }
43 
44  if($mod->hasconfig()){
45  RMTemplate::get()->add_menu(__('Settings','rmcommon'), XOOPS_URL.'/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod='.$mod->mid(), RMTHEMEURL.'/images/settings.png','');
46  }
47 
48  }
49 
53  public function moduleMenu($m){
54 
55  global $xoopsModule, $xoopsUser;
56 
57  if(!is_a($xoopsModule, 'XoopsModule')){
59  } else {
60  if($xoopsModule->dirname()==$m)
61  $mod = $xoopsModule;
62  else
64  }
65 
66  if(!is_a($mod, 'XoopsModule')) return false;
67 
68  // Check user
69  if(!is_a($xoopsUser, 'XoopsUser')) return false;
70 
71  if(!$xoopsUser->isAdmin($mod->mid())) return false;
72 
73  $amenu = $mod->getAdminMenu();
74  $amenu = RMEvents::get()->run_event($mod->dirname().'.module.menu', $amenu);
75  if(empty($amenu)) return false;
76 
77  $return_menu = array();
78 
79  foreach ($amenu as $menu){
80  $return_menu[] = array(
81  'title' => $menu['title'],
82  'link' => strpos($menu['link'], 'http://')!==FALSE && strpos($menu['link'], 'ftp://')!==FALSE ? $menu['link'] : XOOPS_URL.'/modules/'.$mod->getVar('dirname','n').'/'.$menu['link'],
83  'icon' => isset($menu['icon']) ? (strpos($menu['icon'], 'http://')!==FALSE ? $menu['icon'] : XOOPS_URL.'/modules/'.$mod->dirname().'/'.$menu['icon']) : '',
84  'location' => isset($menu['location']) ? $menu['location'] : '',
85  'options' => isset($menu['options']) ? self::moduleSubmenu($menu['options'], $mod) : null
86  );
87  }
88 
89  if($mod->hasconfig()){
90  $return_menu[] = array(
91  'title' => __('Options','rmcommon'),
92  'link' => XOOPS_URL.'/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod='.$mod->mid(),
93  'icon' => RMTHEMEURL.'/images/settings.png',''
94  );
95  }
96 
97  return $return_menu;
98 
99  }
100 
104  public function moduleSubmenu($submenu, $mod){
105 
106  if(!is_array($submenu)) return array();
107 
108  foreach($submenu as $i => $menu){
109  $submenu[$i]['link'] = strpos($menu['link'], 'http://')!==FALSE && strpos($menu['link'], 'ftp://')!==FALSE ? $menu['link'] : XOOPS_URL.'/modules/'.$mod->getVar('dirname','n').'/'.$menu['link'];
110  }
111 
112  return $submenu;
113 
114  }
115 
116 
120  public function module_icon($module, $size = '16'){
121 
122  global $xoopsModule;
123 
124  if(!is_a($xoopsModule, 'XoopsModule')) return false;
125 
126  if($xoopsModule->dirname()!=$module){
127  $mod = RMFunctions::load_module($module);
128  } else {
129  $mod = $xoopsModule;
130  }
131 
132  $icon = $mod->getInfo('icon'.$size);
133  $path = XOOPS_ROOT_PATH.'/modules/'.$mod->dirname().'/'.$icon;
134  if(!is_file($path)){
135  return DESIGNIA_URL.'/images/module'.$size.'.png';
136  } else {
137  return str_replace(XOOPS_ROOT_PATH, XOOPS_URL, $path);
138  }
139 
140  }
141 
145  public function extra_headers(){
146  global $xoopsModule;
147 
148  if($xoopsModule->dirname()=='rmcommon'
149  && RMCLOCATION=='modules'
150  && rmc_server_var($_REQUEST, 'action', '')==''){
151 
152  include DESIGNIA_PATH.'/include/sorter.inc';
153 
154  }
155  }
156 }