Fork me on GitHub

Rapport de message :*
 

Re: classGenerator -> méthode insert ne fonctionne pas

Titre du sujet : Re: classGenerator -> méthode insert ne fonctionne pas
par zoullou sur 04/08/2005 00:21:39

Je vient de regarder ton code, mais je n'ai pas trouvé d'ou venait l'erreur, cependant, ce code est bien compliqué et n'utilise pas toutes les possibilitées de XOOPS.
La version 2.2 de XOOPS introduit une nouvelle classe : XoopsPersistableObjectHandler qui simplifie grandement le travail des développeurs. Si ton module n'est pas destiné exclusivement a cette version de XOOPS, tu peut toujours copier dans un fichier qui sera inclue dans ton module cette classe.
Voila un classe qui l'utilise :
class ExtcalEventmember extends XoopsObject
{

    function 
ExtcalEventmember()
    {
        
$this->initVar('eventmember_id'XOBJ_DTYPE_INTnullfalse);
        
$this->initVar('event_id'XOBJ_DTYPE_INTnulltrue);
        
$this->initVar('uid'XOBJ_DTYPE_INTnulltrue);
    }

}

class 
ExtcalEventmemberHandler extends XoopsPersistableObjectHandler
{
    function 
ExtcalEventmemberHandler(&$db)
    {
        
$this->XoopsPersistableObjectHandler($db'extcal_eventmember''ExtcalEventmember', array('event_id''uid'));
    }
    
    function 
createEventmember($var_arr)
    {
        
$eventmember $this->create();
        
$eventmember->setVars($var_arr);
        return 
$this->insert($eventmembertrue);
    }
    
    function 
deleteEventmember($key)
    {
        
$eventmember $this->get($key);
        return 
$this->delete($eventmembertrue);
    }
    
    function 
getMembers($eventId)
    {
        
$memberHandler xoops_gethandler('member');
        
$criteria = new Criteria('event_id'$eventId);
        
$eventMember $this->getObjects($criteria);
        
$count count($eventMember);
        if(
$count 0) {
            
$in '('.$eventMember[0]->getVar('uid');
            
array_shift($eventMember);
            foreach(
$eventMember as $member) {
                
$in .= ','.$member->getVar('uid');
            }
            
$in .= ')';
            
$criteria = new Criteria('uid'$in'IN');
        } else {
            
$criteria = new Criteria('uid''(0)''IN');
        }
        
$ret = array('memberNb'=>$count'member'=>$memberHandler->getUserList($criteria));
        return 
$ret;
    }
    
}

Cette classe est trés simple, et utilise peu XoopsPersistableObjectHandler, mais je te conseille de regarder de plus prés cette classe. Si tu a des questions n'hésite surtout pas.

A+
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

56 Personne(s) en ligne (46 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 56 | Plus ...