public static function checkContenuto4Utente($userid, $contenutoid) { $groups = JAccess::getGroupsByUser($userid, true); $db = JFactory::getDBO(); $query = ' SELECT count(*) as count FROM #__gg_contenuti_acl WHERE id_contenuto=' . $contenutoid . ' and id_group in (' . implode(",", $groups) . ')'; FB::LOG($query, "query checkContenuto4Utente"); // FB::LOG($groups, "groups getTOTContenuti"); $db->setQuery($query); $totgroups = $db->loadAssoc(); FB::LOG($totgroups, "risultato checkContenuto4Utente"); return $totgroups['count']; }
public static function getTOTContenuti($unit_id) { try { //verifica id unita se ha contenuti per ACL $user = JFactory::getUser(); $userid = $user->get('id'); // jimport( 'joomla.access.access' ); //RICORSIVITA' GRUPPI //TRUE :Gruppi ricorsivi. //FALSE :Solo gruppi di diretta appartenenza $groups = JAccess::getGroupsByUser($userid, true); $totcontenuti = 0; $db = JFactory::getDBO(); $query = ' SELECT count(*) FROM #__gg_unit_map as u LEFT JOIN #__gg_contenuti as c on c.id = u.idcontenuto INNER Join #__gg_contenuti_acl AS acl ON acl.id_contenuto = c.id WHERE u.idunita =' . $unit_id . ' and c.pubblicato = 1 and id_group in (' . implode(",", $groups) . ') ORDER BY ordinamento '; FB::LOG($query, "query getTOTContenuti"); // FB::LOG($groups, "groups getTOTContenuti"); $db->setQuery($query); $totcontenuti = $db->loadResult(); $subunit = gglmsHelper::getSubUnit($unit_id); foreach ($subunit as $unit) { $parziali = gglmsHelper::getTOTContenuti($unit['id']); $totcontenuti += $parziali; } } catch (Exception $e) { } FB::LOG($totcontenuti, "lista getTOTContenuti"); return $totcontenuti; }