Forum Programmation.php help!!!

Posté par  .
Étiquettes : aucune
0
4
juil.
2007
salut à tous!

à vrai dire je ne suis pas du tout douée en PHP!!! je voulais savoir que fais cette portion de code!!



function load_group_users($account_id)
{
$temp_user = $GLOBALS['egw']->acl->get_ids_for_location($account_id,1,'phpgw_group');
if(!$temp_user)
{
return Array();
}
else
{
$group_user = $temp_user;
}
$account_user = Array();
while (list($key,$user) = each($group_user))
{
$account_user[$user] = ' selected';


}
@reset($account_user);
return $account_user;
}


merci de m'expliquer son fonctionnement!!!
  • # Hum...

    Posté par  (site web personnel) . Évalué à 2.

    Bon primo, il faudrais des s'il vous plaît, je suis dans la panade, etc...
    Parce que franchement le ton employé donne pas envie de répondre.

    Grosso modo de ce que je lis (j'ai pas le nom de l'application, ni l'api des objets et quasiment rien d'utile).

    Cette fonction semble récupérer les utilisateurs du même groupe que l'id utilisateur passé en passé en paramètre.

    A vue de new, il récupère un identifiant utilisateur, puis charge les utilisateurs du groupe phpgw_group ou un truc du style.

    Ça va alors retourner un tableau de la forme :
    array(
    0 => 'quelquechose',
    1 => 'autrechose',
    2 => 'etc...'
    );

    Ensuite il génère un tableau avec les valeurs précédentes en clef et selected en valeur, soit :
    array(
    'quelquechose' => 'selected',
    'autrechose' => 'selected',
    'etc...' => 'selected',
    );

    Bon outre le fait que l'algorithme est minable !
    La boucle while a la con avec un appel each+reset a la fin ça se remplace par du :
    foreach($group_user as $user)
    $account_user[$user] = ' selected';

    Plus besoin de reset, d'appel each ni que dale.

    Bon en plus j'ai pas en tête les fonctions exacte qui permettent de le faire, mais il existe des fonctions php dédié a ça genre :
    array_keys et ainsi de suite permettant de faire ce genre de chose beaucoup plus vite !
    • [^] # Re: Hum...

      Posté par  . Évalué à 1.

      La boucle while a la con avec un appel each+reset a la fin ...

      Il faut voir sur quelle version de PHP tourne le code.
      Car si la version est PHP3, la structure de contrôle foreach n'existait pas encore.

      Vue le début des variables phpgw_, je dirais qu'il s'agit ici de PHPGroupWare.

      Il est vrai que le code n'est pas un exemple à suivre.
      • [^] # Re: Hum...

        Posté par  (site web personnel) . Évalué à 2.

        J'ai oublié de préciser, je code qu'en php5 E_STRICT une application de 0.
        Donc mon niveau d'exigence est assez avancé ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.