Page 1 of 1

[Risolto] Errore 500 con amministratore pubblico

Posted: Mon Apr 02, 2012 11:00 am
by robykirk
Sono incappato in un altro problema nella versione 4.05 di docebo.
Ho creato un amministratore pubblico ed un amministratore.
In entrambi i casi, nel voler gestire i corsi, ricevevo un errore 500 dal server.
Per risolvere il problema è stato modificato il file lib/lib.preference.php, sostituendo la funzione

Code: Select all

	public function getAdminUsersQuery($id_admin, $idst_field_name) {

		$acl_man = $this->acl_man;
		$admin_tree		= $this->getAdminTree( $id_admin );
		$admin_users = $acl_man->getAllUsersFromIdst($admin_tree);
		$query = '';
		if(!empty($admin_users)) $query = " $idst_field_name IN (".implode(',', $admin_users).") ";
		if($query !== '')
			return $query;
		else
			return " 0 ";
con la funzione:

Code: Select all

  public function getAdminUsersQuery($id_admin, $idst_field_name) {
 
        $acl_man = Docebo::aclm();
        $admin_tree     = $this->getAdminTree( $id_admin );
        // separate the users and the groups
        $admin_users    = $acl_man->getUsersFromMixedIdst($admin_tree);
        $admin_groups   = $acl_man->getGroupsFromMixedIdst($admin_tree);
 
        // retrive parent groups
        $tmp_admin_groups = array();
        foreach($admin_groups as $id_group) {
            $tmp_admin_groups = array_merge( $tmp_admin_groups, $acl_man->getGroupGDescendants($id_group) );
        }
        $admin_groups = $tmp_admin_groups;
 
        $arr_query = array();
        if(!empty($admin_users)) $arr_query[] = " $idst_field_name IN (".implode(',', $admin_users).") ";
        if(!empty($admin_groups))  $arr_query[] = " $idst_field_name IN ( SELECT idstMember FROM %adm_group_members WHERE idst IN (".implode(',', $admin_groups).") ) ";
         
        if(!empty($arr_query)) $query = "( ".implode($arr_query, 'OR')." )";
        else $query = " 0 ";
        return $query;
    }
Questa modifica non è stata effettuata da me, ma è stata trovata nel web.
Sembra funzionare correttamente.

N.B.: Ricorda di salvare una copia di sicurezza dei files, prima di modificarli.


Ciao

Re: [Risolto] Errore 500 con amministratore pubblico

Posted: Mon Apr 02, 2012 8:27 pm
by alberto
Ciao Robykirk, ho verificato l'errore e il fix, grazie mille per averlo condiviso! :)
Allego la versione corretta del file, basta decomprimere il file nella root di installazione.

Ciao!

Re: [Risolto] Errore 500 con amministratore pubblico

Posted: Tue Apr 03, 2012 8:46 am
by davide.desimone
grazie!

Re: [Risolto] Errore 500 con amministratore pubblico

Posted: Sun Apr 22, 2012 11:00 am
by Amigamerlin
grazie per il fix.

Re: [Risolto] Errore 500 con amministratore pubblico

Posted: Mon Sep 30, 2013 10:27 pm
by renato.gambella
Siete dei grandi... ogni volta che ho un problema qui trovo la soluzione. Grazie mille ;-)