Cheetah
ChWsbMemberMenu.php
Go to the documentation of this file.
1 <?php
2 
92  {
93  // contain all registered menu's bubbles;
94  var $sBubbles = null;
95 
96  // contain current menu possition (allowed values : top, bottom, fixed)
98 
99  var $iBubblesUpdateTime = 30000; // in milliseconds;
100 
101  var $iNotifyDestroyTime = 3000; // in milliseconds;
102 
103  // page that will procces all ajax queries from member menu ;
104  var $sQueryPageReciver = 'member_menu_queries.php';
105 
106  var $sBubblePrefix = 'bubble_';
107  var $sMenuPopupPrefix = 'extra_menu_popup_';
108  var $sDescriptionPrefix = 'descr_';
109 
111 
112  var $iKeysFileTTL = 600; //cache life time
113  var $sMenuCacheFile = 'sys_menu_member';
114  var $sMenuMemberKeysCache = 'mm_sys_menu_member_keys_';
115 
120  function __construct()
121  {
122  $this -> sMemberMenuPosition = ( isset($_COOKIE['menu_position']) )
123  ? $_COOKIE['menu_position']
124  : getParam( 'ext_nav_menu_top_position' );
125  }
126 
140  function getGetExtraMenuLink(&$aLinkInfo)
141  {
143 
144  $aTemplateKeys = array(
145 
146  'item_img' => $GLOBALS['oFunctions']->sysImage($aLinkInfo['item_img_src'], '', $aLinkInfo['item_title'], '', 'icon'),
147  'item_link' => $aLinkInfo['item_link'],
148  'item_onclick' => ($aLinkInfo['item_onclick']) ? ' onclick="' . $aLinkInfo['item_onclick'] . ';return false"' : null,
149  'item_title' => $aLinkInfo['item_title'],
150 
151  'extra_info' => ($aLinkInfo['extra_info']) ? ' (' . $aLinkInfo['extra_info'] . ')' : null,
152  );
153 
154  $sOutputCode = $oSysTemplate -> parseHtmlByName( 'member_menu_sub_item.html', $aTemplateKeys );
155  return $sOutputCode;
156  }
157 
164  function getDescriptionWindow($sDescription)
165  {
167 
168  $aTemplateKeys = array(
169  'description' => $sDescription,
170  );
171 
172  $sOutputCode = $oSysTemplate -> parseHtmlByName( 'member_menu_descr_window.html', $aTemplateKeys );
173  return $sOutputCode;
174  }
175 
181  function getCacheObject()
182  {
183  if ($this -> oCacheObject != null) {
184  return $this->oCacheObject;
185  } else {
186  $sEngine = getParam('sys_mm_cache_engine');
187  $this->oCacheObject = ch_instance ('ChWsbCache'.$sEngine);
188  if (!$this->oCacheObject->isAvailable())
189  $this->oCacheObject = ch_instance ('ChWsbCacheFile');
190  return $this->oCacheObject;
191  }
192  }
193 
201  function _parseStructure($aMemberInfo, $aMenuStructure)
202  {
204 
205  if(!$aMenuStructure) {
206  return;
207  }
208 
209  $oCache = $this -> getCacheObject();
210 
211  $oPermalinks = new ChWsbPermalinks();
212 
213  $aReplaced = $aDefinedMenuItems = array();
214  $memberID = $aMemberInfo['ID'];
215  $iIndex = 0;
216  $sStartPosition = '';
217 
218  //-- process menu structure --//
219  $aDefinedMenuItems = $oCache->getData(
220  $this -> getCacheKey($aMemberInfo['ID']), $this -> iKeysFileTTL);
221 
222  if(!$aDefinedMenuItems) {
223  foreach($aMenuStructure AS $sPosition => $aMenuItems ) {
224  foreach($aMenuItems as $iKey => $aItems) {
225  $isSkipItem = false;
226  foreach($aItems AS $sMenuKey => $sValue ) {
227  if ( $sMenuKey != 'PopupMenu' && $sMenuKey != 'linked_items' ) {
228  if ( $sMenuKey == 'Caption' ) {
229  $aReplaced[$sPosition][$iKey][$sMenuKey] = $oFunctions -> markerReplace($aMemberInfo, $sValue, $aItems['Eval'], true);
230  } else {
231  $aReplaced[$sPosition][$iKey][$sMenuKey] = $oFunctions -> markerReplace($aMemberInfo, $sValue, $aItems['Eval']);
232  }
233  } else {
234  $aReplaced[$sPosition][$iKey][$sMenuKey] = $sValue;
235  }
236  }
237 
238  if($sStartPosition != $sPosition) {
239  $iIndex = 0;
240  $sStartPosition = $sPosition;
241  }
242 
243  //-- process next --//
244  // collect the link;
245  if ( $aReplaced[$sPosition][$iKey]['Type'] == 'link'
246  && $aReplaced[$sPosition][$iKey]['Caption']
247  && ($aReplaced[$sPosition][$iKey]['Link'] || $aReplaced[$sPosition][$iKey]['Script']) ) {
248 
249  $sMenuClass = '';
250  if($sPosition == 'top_extra') {
251  $sMenuClass = 'extra_item {evalResultCssClassWrapper}';
252  $sMenuClass = $oFunctions -> markerReplace($aMemberInfo, $sMenuClass, $aItems['Eval']);
253  }
254 
255  $sPartCaption = $aReplaced[$sPosition][$iKey]['Caption'];
256 
257  //define some settings for "Member block" ;
258  if($aReplaced[$sPosition][$iKey]['Name'] == 'MemberBlock') {
260 
261  $sUserThumbnail = $GLOBALS['oFunctions']->getMemberAvatar($aMemberInfo['ID'], 'small');
262  $sUserThumbnailDouble = $GLOBALS['oFunctions']->getMemberAvatar($aMemberInfo['ID'], 'small', true);
263  if(empty($sUserThumbnailDouble))
264  $sUserThumbnailDouble = $sUserThumbnail;
265 
266  $bUserThumbnail = !empty($sUserThumbnail);
267 
268  $sMenuImage = $GLOBALS['oSysTemplate']->parseHtmlByName('member_menu_thumbnail.html', array(
269  'ch_if:show_thumbnail_image' => array(
270  'condition' => $bUserThumbnail,
271  'content' => array(
272  'thumbnail_url' => $sUserThumbnail,
273  'thumbnail_url_2x' => $sUserThumbnailDouble,
274  )
275  ),
276  'ch_if:show_thumbnail_icon' => array(
277  'condition' => !$bUserThumbnail,
278  'content' => array()
279  ),
280  'status_icon' => $oUserStatus->getStatusIcon($aMemberInfo['ID'], 'icon8'),
281  'status_title' => $oUserStatus->getStatus($aMemberInfo['ID']),
282  ));
283 
284  $sReduceImage = '';
285  }
286  else {
287  $sMenuImage = $aReplaced[$sPosition][$iKey]['Icon'];
288  if(strpos($sMenuImage, '.') !== false)
289  $sMenuImage = getTemplateIcon($sMenuImage);
290 
291  $sReduceImage = $sMenuImage;
292  $sMenuImage = $this->getImage($sMenuImage);
293  }
294 
295  if ($aReplaced[$sPosition][$iKey]['Caption'] == '{system}') {
296  $sMenuImage = $aReplaced[$sPosition][$iKey]['Icon'] ? $aReplaced[$sPosition][$iKey]['Icon'] : 'spacer.gif';
297  if(strpos($sMenuImage, '.') !== false)
298  $sMenuImage = getTemplateIcon($sMenuImage);
299  $sMenuImage = $this->getImage($sMenuImage);
300 
301  $sPartCaption = eval($aReplaced[$sPosition][$iKey]['Eval']);
302  }
303 
304  if ($aReplaced[$sPosition][$iKey]['Bubble']) {
305  $sCode = str_replace('{iOldCount}', 0, $aReplaced[$sPosition][$iKey]['Bubble']);
306  $sCode = str_replace('{ID}', $memberID, $sCode);
307 
308  eval($sCode);
309  $this -> sBubbles .= "\"{$aReplaced[$sPosition][$iKey]['Name']}\" : {count:'{$aRetEval['count']}'}, \n";
310  }
311 
312  if ($isSkipItem)
313  continue;
314 
315  $sDescription = _t(!empty($aReplaced[$sPosition][$iKey]['Description']) ? $aReplaced[$sPosition][$iKey]['Description'] : $aReplaced[$sPosition][$iKey]['Caption']);
316 
317  $aDefinedMenuItems[$sPosition][$iIndex] = array
318  (
319  'ch_if:show_class' => array(
320  'condition' => !empty($sMenuClass),
321  'content' => array(
322  'class' => $sMenuClass
323  )
324  ),
325 
326  // primary link's info ;
327  'menu_caption' => $aReplaced[$sPosition][$iKey]['Name'] == 'MemberBlock'
328  || $aReplaced[$sPosition][$iKey]['Caption'] == '{system}'
329  ? $sPartCaption
330  : null,
331 
332  'menu_link' => $aReplaced[$sPosition][$iKey]['Script']
333  ? 'javascript:void(0)'
334  : $oPermalinks->permalink($aReplaced[$sPosition][$iKey]['Link']),
335 
336  'extended_action' => $aReplaced[$sPosition][$iKey]['Script']
337  ? 'onclick="' . $aReplaced[$sPosition][$iKey]['Script'] . '"'
338  : null,
339 
340  'target' => $aReplaced[$sPosition][$iKey]['Target'] == '_blank'
341  ? 'target="_blank"'
342  : null,
343 
344  'menu_image' => $sMenuImage,
345 
346  'bubble_box' => $aReplaced[$sPosition][$iKey]['Bubble']
347  ? $oSysTemplate -> parseHtmlByName( 'member_menu_bubble.html',
348  array(
349  'extra_styles' => ( $aRetEval['count'] ) ? null : 'style="display:none"',
350  'count' => $aRetEval['count'],
351  'bubble_id' => $this -> sBubblePrefix . $aReplaced[$sPosition][$iKey]['Name']))
352  : null,
353 
354  'indent' => ( $this -> sMemberMenuPosition == 'bottom' ) ? 'menu_item_bottom' : 'menu_item_top',
355  'item_link_indent' => ( $this -> sMemberMenuPosition == 'bottom' ) ? 'bottom_indent' : 'top_indent',
356 
357  'menu_id' => $aReplaced[$sPosition][$iKey]['ID'],
358 
359  // menu description ;
360  'ch_if:menu_desc' => array(
361  'condition' => !empty($sDescription),
362  'content' => array (
363  'menu_id' => $aReplaced[$sPosition][$iKey]['ID'],
364  'desc_window' => $this -> getDescriptionWindow($sDescription),
365  'desc_indent' => ( $this -> sMemberMenuPosition == 'bottom' ) ? 'description_bottom' : 'description_top',
366  ),
367  ),
368  );
369 
370  if($aReplaced[$sPosition][$iKey]['Caption'] == '{system}') {
371  $sPartCaption = _t($aReplaced[$sPosition][$iKey]['Description']);
372  }
373 
374  // define top menu's popup section ;
375  $aContentKeys = array (
376  'menu_id' => $aReplaced[$sPosition][$iKey]['ID'],
377  'menu_name' => $aReplaced[$sPosition][$iKey]['Name'],
378 
379  // draw reduce element by top side ;
380  'ch_if:reduce_element_top' => array (
381  'condition' => ( $this -> sMemberMenuPosition == 'bottom' ),
382  'content' => array (
383  'menu_id' => $aReplaced[$sPosition][$iKey]['ID'],
384  'item_link' => $aReplaced[$sPosition][$iKey]['Link'],
385  'extended_action' => empty($aReplaced[$sPosition][$iKey]['extended_action']) ? '' : $aReplaced[$sPosition][$iKey]['extended_action'],
386  'cover' => 'top_cover',
387  'item_name' => $sPartCaption,
388 
389  'ch_if:part_image' => array(
390  'condition' => ($sReduceImage),
391  'content' => array(
392  'item_img' => $this->getImage($sReduceImage, strip_tags($aReplaced[$sPosition][$iKey]['Caption'])),
393  ),
394  ),
395  ),
396  ),
397 
398  // draw reduce element by top side ;
399  'ch_if:reduce_element_bottom' => array (
400  'condition' => ( $this -> sMemberMenuPosition == 'top' || $this -> sMemberMenuPosition == 'static' ),
401  'content' => array (
402  'menu_id' => $aReplaced[$sPosition][$iKey]['ID'],
403  'item_link' => $aReplaced[$sPosition][$iKey]['Link'],
404  'extended_action' => empty($aReplaced[$sPosition][$iKey]['extended_action']) ? '' : $aReplaced[$sPosition][$iKey]['extended_action'],
405  'cover' => 'bottom_cover',
406  'item_name' => $sPartCaption,
407 
408  'ch_if:part_image' => array(
409  'condition' => ($sReduceImage),
410  'content' => array(
411  'item_img' => $this->getImage($sReduceImage, strip_tags($aReplaced[$sPosition][$iKey]['Caption'])),
412  ),
413  ),
414  ),
415  ),
416  );
417 
418  if ( $aReplaced[$sPosition][$iKey]['PopupMenu'] ) {
419  $aDefinedMenuItems[$sPosition][$iIndex]['menu_link'] = 'javascript:void(0)';
420  $aDefinedMenuItems[$sPosition][$iIndex]['extended_action'] = null;
421  }
422 
423  $aDefinedMenuItems[$sPosition][$iIndex]['ch_if:sub_menu'] = array (
424  'condition' => $aReplaced[$sPosition][$iKey]['PopupMenu'],
425  'content' => $aContentKeys,
426  );
427 
428  $iIndex++;
429  }
430  //--
431  }
432  }
433 
434  //generate cache file
435  $aBubbles = array('bubbles' => $this -> sBubbles);
436  $aDefinedMenuItems = array_merge($aDefinedMenuItems, $aBubbles);
437  $oCache->setData( $this -> getCacheKey($aMemberInfo['ID'])
438  , $aDefinedMenuItems, $this -> iKeysFileTTL);
439  }
440  //--
441 
442  if (ChWsbRequest::serviceExists('pageac', 'menu_items_filter')) {
443  ChWsbService::call('pageac', 'menu_items_filter', array('member', &$aDefinedMenuItems));
444  }
445 
446  //define bubble list
447  $sBubbleList = isset($aDefinedMenuItems['bubbles'])
448  ? trim($aDefinedMenuItems['bubbles']) //get it from cache
449  : trim($this -> sBubbles);
450 
451  //generate data
452  $aTemplateKeys = array (
453  'items' => $oSysTemplate->parseHtmlByName('extra_top_menu_items.html', array('ch_repeat:items' => $aDefinedMenuItems['top'])),
454  'items_extra' => $oSysTemplate->parseHtmlByName('extra_top_menu_items.html', array('ch_repeat:items' => $aDefinedMenuItems['top_extra'])),
455  'site_url' => CH_WSB_URL_ROOT,
456  'menu_position' => $this -> sMemberMenuPosition,
457  'is_profile_page' => defined('CH_PROFILE_PAGE') ? 'true' : 'false',
458  'bubbles_list' => preg_replace('/,$/', '', $sBubbleList),
459  'bubbles_update_time' => $this -> iBubblesUpdateTime,
460  'notify_destroy_time' => $this -> iNotifyDestroyTime,
461  'page_reciver' => $this -> sQueryPageReciver,
462  'bubble_prefix' => $this -> sBubblePrefix,
463  'menu_popup_prefix' => $this->sMenuPopupPrefix,
464  'description_prefix' => $this->sDescriptionPrefix
465  );
466 
467  $oSysTemplate -> addJs('user_status.js');
468  return $oSysTemplate -> parseHtmlByName('extra_top_menu.html', $aTemplateKeys);
469  }
470 
477  function genMemberMenu($memberID = 0)
478  {
479  if (isset($GLOBALS['ch_profiler'])) $GLOBALS['ch_profiler']->beginMenu('Member Menu');
480 
481  // ** init some needed variables ;
482 
483  $aMemberInfo = array();
484  $sOutputCode = null;
485  //--
486 
487  // if member's id was defined, that will receive all member's info ;
488  if ($memberID) {
490  $aMemberInfo['ProfileLink'] = getProfileLink($aMemberInfo['ID']);
491  }
492 
493  // if member not logged ;
494  if (!$aMemberInfo) {
495  if (isset($GLOBALS['ch_profiler'])) $GLOBALS['ch_profiler']->endMenu('Member Menu');
496  return ;
497  }
498 
499  // read data from cache file ;
500  $oCache = $this -> getCacheObject();
501  $aMenuStructure = $oCache->getData($GLOBALS['MySQL']->genDbCacheKey($this -> sMenuCacheFile));
502  if(!$aMenuStructure) {
503  $aMenuStructure = $this -> createMemberMenuCache();
504  }
505 
506  $sOutputCode = $this -> _parseStructure($aMemberInfo, $aMenuStructure);
507 
508  if (isset($GLOBALS['ch_profiler'])) $GLOBALS['ch_profiler']->endMenu('Member Menu');
509 
510  return $sOutputCode;
511  }
512 
521  function getSubMenuContent( $iMemberId, $sSubMenuCode, $aLinkedItems = array() )
522  {
524 
525  $iMemberId = (int) $iMemberId;
526 
528  $sSubMenuCode = eval( $oFunctions -> markerReplace( $aMemberInfo, $sSubMenuCode) );
529 
530  if($aLinkedItems) {
531  foreach($aLinkedItems as $iKey => $aItems) {
532  $sSubMenuCode .= eval( $oFunctions -> markerReplace( $aMemberInfo, $aItems['code']) );
533  }
534  }
535 
536  return $sSubMenuCode;
537  }
538 
546  {
547  global $site;
548 
549  return $this -> sMenuMemberKeysCache . $iProfileId . '_' . md5($site['ver']
550  . $site['build'] . $site['url'] . getCurrentLangName(false)
551  . $GLOBALS['oSysTemplate']->getCode()) . '.php';
552  }
553 
560  function deleteMemberMenuKeyFile($iProfile)
561  {
562  $oCache = $this -> getCacheObject();
563  $oCache -> setData($this -> getCacheKey($iProfile), array(), $this -> iKeysFileTTL);
564  }
565 
572  {
573  //remove all member_menu_keys files
574  $oCache = $this -> getCacheObject();
575  $oCache->removeAllByPrefix($this -> sMenuMemberKeysCache);
576 
577  return $GLOBALS['MySQL']->cleanCache($this -> sMenuCacheFile);
578  }
579 
586  {
587  $this -> deleteMemberMenuCaches();
588 
589  $oPermalink = new ChWsbPermalinks();
590  $aCacheData = array();
591 
592  $sQuery = "SELECT * FROM `sys_menu_member` WHERE `Active` = '1' ORDER BY `Order`";
593  $rResult = db_res($sQuery);
594 
595  while( true == ($aRow = $rResult->fetch()) ) {
596  $aRow['Link'] = $oPermalink -> permalink($aRow['Link']);
597  $aRow['linked_items'] = $this -> getLinkedItem($aRow['ID']);
598 
599  $aCacheData[$aRow['Position']][$aRow['ID']] = $aRow;
600  }
601 
602  // if items not found ;
603  if ( !$rResult->rowCount() ) {
604  $aCacheData[$sMenuSection] = array();
605  }
606 
607  $oCache = $this -> getCacheObject();
608  if (!empty($aCacheData) && is_array($aCacheData)) {
609  $oCache->setData ($GLOBALS['MySQL']->genDbCacheKey($this -> sMenuCacheFile), $aCacheData);
610  }
611 
612  return $aCacheData;
613  }
614 
622  function getLinkedItem($iMenuId)
623  {
624  $iMenuId = (int) $iMenuId;
625  $sQuery = "SELECT `Eval` FROM `sys_menu_member` WHERE `Parent` = {$iMenuId} AND `Type` = 'linked_item'";
626  $rResult = db_res($sQuery);
627 
628  $aLinkedItems = array();
629  while ( true == ($aRow = $rResult->fetch()) ) {
630  $aLinkedItems[] = array(
631  'code' => $aRow['Eval']
632  );
633  }
634 
635  return $aLinkedItems;
636  }
637 
638  function getImage($sImg, $sAlt = '', $sAttr = '')
639  {
640  return $GLOBALS['oFunctions']->sysImage($sImg, '', $sAlt, $sAttr);
641  }
642 
643  }
$iMemberId
$iMemberId
Definition: profile.php:91
ChWsbMemberMenu\getLinkedItem
getLinkedItem($iMenuId)
Definition: ChWsbMemberMenu.php:622
ChWsbMemberMenu\$iKeysFileTTL
$iKeysFileTTL
Definition: ChWsbMemberMenu.php:112
ChWsbMemberMenu\$iNotifyDestroyTime
$iNotifyDestroyTime
Definition: ChWsbMemberMenu.php:101
getCurrentLangName
if(!defined('CH_SKIP_INSTALL_CHECK')) getCurrentLangName($isSetCookie=true)
Definition: languages.inc.php:36
ChWsbMemberMenu\$sQueryPageReciver
$sQueryPageReciver
Definition: ChWsbMemberMenu.php:104
ChWsbRequest\serviceExists
static serviceExists($mixedModule, $sMethod, $sClass="Module")
Definition: ChWsbRequest.php:70
$sCode
$sCode
Definition: explanation.php:19
ChWsbMemberMenu\$sBubbles
$sBubbles
Definition: ChWsbMemberMenu.php:94
ChWsbMemberMenu
Definition: ChWsbMemberMenu.php:92
ChWsbMemberMenu\__construct
__construct()
Definition: ChWsbMemberMenu.php:120
php
$aMemberInfo
$aMemberInfo
Definition: profile_info.php:34
$oCache
$oCache
Definition: prof.inc.php:10
$memberID
$memberID
Definition: profile.php:20
$oFunctions
$oFunctions
Definition: ChTemplFunctions.php:20
ChWsbMemberMenu\$iBubblesUpdateTime
$iBubblesUpdateTime
Definition: ChWsbMemberMenu.php:99
ChWsbMemberMenu\$sMemberMenuPosition
$sMemberMenuPosition
Definition: ChWsbMemberMenu.php:97
ChWsbMemberMenu\_parseStructure
_parseStructure($aMemberInfo, $aMenuStructure)
Definition: ChWsbMemberMenu.php:201
$iIndex
$iIndex
Definition: bottom_menu_compose.php:142
ChWsbMemberMenu\$oCacheObject
$oCacheObject
Definition: ChWsbMemberMenu.php:110
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
ChWsbMemberMenu\getCacheObject
getCacheObject()
Definition: ChWsbMemberMenu.php:181
getTemplateIcon
getTemplateIcon($sFileName)
Definition: design.inc.php:193
$site
$site['ver']
Definition: version.inc.php:8
ChWsbMemberMenu\$sBubblePrefix
$sBubblePrefix
Definition: ChWsbMemberMenu.php:106
ChWsbMemberMenu\genMemberMenu
genMemberMenu($memberID=0)
Definition: ChWsbMemberMenu.php:477
ch_instance
ch_instance($sClassName, $aParams=array(), $aModule=array())
Definition: utils.inc.php:1264
ChWsbMemberMenu\deleteMemberMenuCaches
deleteMemberMenuCaches()
Definition: ChWsbMemberMenu.php:571
ChWsbUserStatusView
Definition: ChWsbUserStatusView.php:9
global
if(!defined("GLOBAL_MODULE")) define("GLOBAL_MODULE" global
Definition: header.inc.php:25
ChWsbMemberMenu\$sMenuCacheFile
$sMenuCacheFile
Definition: ChWsbMemberMenu.php:113
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
getProfileLink
getProfileLink( $iID, $sLinkAdd='')
Definition: profiles.inc.php:484
ChWsbMemberMenu\$sMenuPopupPrefix
$sMenuPopupPrefix
Definition: ChWsbMemberMenu.php:107
ChWsbMemberMenu\getCacheKey
getCacheKey($iProfileId)
Definition: ChWsbMemberMenu.php:545
ChWsbMemberMenu\getDescriptionWindow
getDescriptionWindow($sDescription)
Definition: ChWsbMemberMenu.php:164
ChWsbMemberMenu\getSubMenuContent
getSubMenuContent( $iMemberId, $sSubMenuCode, $aLinkedItems=array())
Definition: ChWsbMemberMenu.php:521
db_res
db_res($query, $bindings=[])
Definition: db.inc.php:39
ChWsbMemberMenu\$sMenuMemberKeysCache
$sMenuMemberKeysCache
Definition: ChWsbMemberMenu.php:114
ChWsbMemberMenu\getGetExtraMenuLink
getGetExtraMenuLink(&$aLinkInfo)
Definition: ChWsbMemberMenu.php:140
getProfileInfo
getProfileInfo($iProfileID=0, $checkActiveStatus=false, $forceCache=false)
Definition: profiles.inc.php:249
ChWsbMemberMenu\createMemberMenuCache
createMemberMenuCache()
Definition: ChWsbMemberMenu.php:585
$sMenuSection
$sMenuSection
Definition: member_menu_compose.php:40
$oSysTemplate
$oSysTemplate
Definition: params.inc.php:22
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
ChWsbMemberMenu\deleteMemberMenuKeyFile
deleteMemberMenuKeyFile($iProfile)
Definition: ChWsbMemberMenu.php:560
ChWsbService\call
static call($mixed, $sMethod, $aParams=array(), $sClass='Module')
Definition: ChWsbService.php:32
$oUserStatus
$oUserStatus
Definition: short_profile_info.php:27
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
$iProfileId
if( $sMembersList) $iProfileId
Definition: communicator.php:29
ChWsbMemberMenu\$sDescriptionPrefix
$sDescriptionPrefix
Definition: ChWsbMemberMenu.php:108
$GLOBALS
$GLOBALS['iAdminPage']
Definition: advanced_settings.php:10
ChWsbMemberMenu\getImage
getImage($sImg, $sAlt='', $sAttr='')
Definition: ChWsbMemberMenu.php:638