sMenuCacheFile) && filesize($oMemberMenu -> sMenuCacheFile) ) { $aMenuStructure = unserialize(file_get_contents($oMemberMenu -> sMenuCacheFile)); } // if cache file defined; if ($aMenuStructure) { $iMemberId = ( isset($_COOKIE['memberID']) ) ? (int) $_COOKIE['memberID'] : 0 ; $iMenuId = ( isset($_GET['menu_id']) ) ? (int) $_GET['menu_id'] : 0 ; $sOutputHtml = null; switch( $_GET['action'] ) { case 'get_menu_content' : if ($iMemberId && $iMenuId) { // define the menu's sub menu code ; $sSubMenuCode = null; $aLinkedItems = array(); foreach($aMenuStructure as $sKey => $aItems) { if( isset($aMenuStructure[$sKey][$iMenuId]) ) { $sSubMenuCode = $aMenuStructure[$sKey][$iMenuId]['PopupMenu']; if($aMenuStructure[$sKey][$iMenuId]['linked_items']) { $aLinkedItems = $aMenuStructure[$sKey][$iMenuId]['linked_items']; } break; } } if ($sSubMenuCode) { $sOutputHtml = $oMemberMenu -> getSubMenuContent ($iMemberId, $sSubMenuCode, $aLinkedItems); } } break; case 'get_bubbles_values' : $sBubbles = ( isset($_GET['bubbles']) ) ? $_GET['bubbles'] : null; if ( $sBubbles && $iMemberId ) { $aMemberInfo = getProfileInfo($iMemberId); if($aMemberInfo['UserStatus'] != 'offline') { // update the date of last navigate; $sQuery = "UPDATE `Profiles` SET `DateLastNav` = NOW() WHERE `ID` = '{$iMemberId}'"; db_res($sQuery); } $aBubbles = array(); $aBubblesItems = explode(',', $sBubbles); if ( $aBubblesItems && is_array($aBubblesItems) ) { foreach( $aBubblesItems as $sValue) { $aItem = explode(':', $sValue); $sBubbleCode = null; foreach($aMenuStructure as $sKey => $aItems) { foreach($aItems as $iKey => $aSubItems) { if( $aSubItems['Name'] == $aItem[0]) { $sBubbleCode = $aSubItems['Bubble']; break; } } if ($sBubbleCode) { break; } } if ($sBubbleCode) { $sCode = str_replace('{iOldCount}', $aItem[1], $sBubbleCode); $sCode = str_replace('{ID}', $iMemberId, $sCode); eval($sCode); $aBubbles[$aItem[0]] = array ( 'count' => $aRetEval['count'], 'messages' => $aRetEval['messages'], 'onlclick_script' => ( isset($aRetEval['onlclick_script']) && $aRetEval['onlclick_script']) ? $aRetEval['onlclick_script'] : '', ); } } $oJsonParser = new Services_JSON(); $sOutputHtml = $oJsonParser -> encode($aBubbles); } } break; } exit($sOutputHtml); } } ?>