Ejemplo n.º 1
0
 public static function getUnitmenu($item)
 {
     try {
         $db = JFactory::getDbo();
         $query = $db->getQuery(true);
         $query->select('*');
         $query->from('#__gg_unit AS u');
         $query->where("u.categoriapadre=" . $item);
         $query->where("u.tipologia != 110");
         $query->order("ordinamento");
         $db->setQuery($query);
         // Check for a database error.
         if ($db->getErrorNum()) {
             JError::raiseWarning(500, $db->getErrorMsg());
         }
         $res = $db->loadObjectList();
         foreach ($res as $key => $item) {
             $sub_content = gglmsHelper::getTOTContenuti($item->id);
             $sub_unit = gglmsHelper::getSubUnit($item->id);
             if (!$sub_content && !$sub_unit) {
                 unset($res[$key]);
             }
         }
         FB::log($res, " getUnitMenu");
         return $res;
     } catch (Exception $e) {
     }
 }
Ejemplo n.º 2
0
    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;
    }