public static function checkMenu(&$has_access, &$found_shared, &$redirect, $memberships, $extras) { $app = JFactory::getApplication(); $Itemid = JFactory::getApplication()->input->get('Itemid', 0, 'int'); $type = $app->isAdmin() ? 'backendurl' : 'frontendurl'; $shared = RSMembershipHelper::getShared('menu', $Itemid); // Get the database object $db = JFactory::getDBO(); $query = $db->getQuery(true); if (!empty($shared)) { foreach ($shared as $share) { $what = isset($share->membership_id) ? 'membership_id' : 'extra_value_id'; $where = isset($share->membership_id) ? $memberships : $extras; $table = isset($share->membership_id) ? '#__rsmembership_memberships' : '#__rsmembership_extra_values'; if ($share->params == $Itemid) { $found_shared = true; if (in_array($share->{$what}, $where)) { $has_access = true; break; } else { // Get the redirect page $query->clear(); $query->select($db->qn('share_redirect'))->from($db->qn($table))->where($db->qn('id') . ' = ' . $db->q($share->{$what})); $db->setQuery($query); $redirect = $db->loadResult(); } } } } }
function checkMenu(&$has_access, &$found_shared, &$redirect, $memberships, $extras) { $mainframe =& JFactory::getApplication(); $Itemid = JRequest::getInt('Itemid'); $type = $mainframe->isAdmin() ? 'backendurl' : 'frontendurl'; $shared = RSMembershipHelper::getShared('menu', $Itemid); // Get the database object $db =& JFactory::getDBO(); if (!empty($shared)) { foreach ($shared as $share) { $what = isset($share->membership_id) ? 'membership_id' : 'extra_value_id'; $where = isset($share->membership_id) ? $memberships : $extras; $table = isset($share->membership_id) ? '#__rsmembership_memberships' : '#__rsmembership_extra_values'; if ($share->params == $Itemid) { $found_shared = true; if (in_array($share->{$what}, $where)) { $has_access = true; break; } else { // Get the redirect page $db->setQuery("SELECT `share_redirect` FROM " . $table . " WHERE `id`='" . $share->{$what} . "'"); $redirect = $db->loadResult(); } } } } }