[Risolto] Errore 500 con amministratore pubblico

Segnalate qui eventuali problemi riscontrati durante il normale utilizzo
Post Reply
User avatar
robykirk
FormaLms Expert
Posts: 140
Joined: Mon Mar 12, 2012 10:06 pm

[Risolto] Errore 500 con amministratore pubblico

Post by robykirk » Mon Apr 02, 2012 11:00 am

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
Roby Kirk

User avatar
alberto
FormaLms Guru
Posts: 857
Joined: Fri Mar 02, 2012 9:18 am
Contact:

Re: [Risolto] Errore 500 con amministratore pubblico

Post by alberto » Mon Apr 02, 2012 8:27 pm

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!
You do not have the required permissions to view the files attached to this post.
--------------------------------------------------
Become a CONTRIBUTOR

Support the project for FREE!
www.Elearnit.net

davide.desimone
FormaLms Expert
Posts: 100
Joined: Sun Mar 04, 2012 12:11 pm

Re: [Risolto] Errore 500 con amministratore pubblico

Post by davide.desimone » Tue Apr 03, 2012 8:46 am

grazie!

Amigamerlin
FormaLms User
Posts: 40
Joined: Sun Apr 22, 2012 10:58 am

Re: [Risolto] Errore 500 con amministratore pubblico

Post by Amigamerlin » Sun Apr 22, 2012 11:00 am

grazie per il fix.

User avatar
renato.gambella
FormaLms User
Posts: 66
Joined: Tue Mar 12, 2013 8:49 am

Re: [Risolto] Errore 500 con amministratore pubblico

Post by renato.gambella » Mon Sep 30, 2013 10:27 pm

Siete dei grandi... ogni volta che ho un problema qui trovo la soluzione. Grazie mille ;-)

Post Reply