Fork me on GitHub




« 1 2 (3) 4 5 »


Re: Module "Anniversaire" 2.0
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
Oui, car il s'agit d'un club sportif et cela nous permet de prevoir "un pot" pour nos membres avec un peu d'avance.

http://ecole.rcsh.free.fr

Posté le : 14/02/2006 14:34

Edité par crazy85 sur 14/02/2006 17:06:19
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
tu peux essayer un truc ?
j'ai bricolé ça très très vite en me basant sur du code de birthday 1.02

colle ça dans un fichier liste.php (ou ce que tu veux)
et place dans le dossier de ton module birthday
et appelle là avec ton navigateur

<?
include 
"../../mainfile.php";
include 
XOOPS_ROOT_PATH."/header.php";

function 
b_birthday_show()
    {
        global 
$xoopsUser$xoopsDB$xoopsModule;
        
$block = array();

        
$sql="SELECT * FROM ".$xoopsDB->prefix("users_birthday");
        
$result $xoopsDB->query($sql);
        
$nb=$xoopsDB->getRowsNum($result);
        
$block['content'] = "";
        
            
$block['content'] .= "<table style='text-align:left'>";
        while (
$en $xoopsDB->fetchArray($result))
            {
                
$userbirth = new XoopsUser($en['uid']);
                
$block['content'] .= "<tr><td>";
                
$block['content'] .= $userbirth->getVar("uid")." : ";
                
$block['content'] .= $userbirth->uname("E")." : ";
                
$block['content'] .= $en['jour']."/";
                
$block['content'] .= $en['mois']."/";
                
$block['content'] .= $en['annee'];
                
$block['content'] .= "</td></tr>";
            }
                
$block['content'] .= "</table>";
            return 
$block;
    }

$liste b_birthday_show();
foreach ( 
$liste as $aff_liste )
    {
    echo 
$aff_liste;
    }
?>


c'est vraiment un truc à l'arrache, pas de contrôle de droits, sans interface, code html pourri, etc...
si ça marche, on peut envisager un contrôle d'accès par groupe, un tri par date de naissance/pseudo, une jolie présentation.
si toi ou un passant, se sent de bricoler la suite à partir de ça, ça rendra service

Posté le : 14/02/2006 18:14
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
j'ai fais comme tu as dis et ça a lancé la barre "chargement en cours" mais rien d'autre

Posté le : 14/02/2006 18:55
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
ah ben mince
je viens de le tester sur un autre site, et j'ai bien ma page qui s'affiche avec tous les anniversaires des membres.

essaie d'activer le mode débug php pour voir

pour l'instant ça donne une liste de ce type, sur fond blanc :

1 : membre1: 27/12/1975
3 : membre2: 25/11/1961
19 : membre3: 20/11/1975
41 : membre4: 18/01/1978
106 : membre5: 20/11/1994
92 : membre6: 12/04/1981

simplement : uid : uname: date naissance
sans tri

Posté le : 14/02/2006 19:48
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
Citation :
Fatal error: Cannot redeclare b_birthday_show() (previously declared in /var/www/sdc/1/e/ecole.rcsh/xoops/html/modules/birthday/liste.php:7) in /var/www/sdc/1/e/ecole.rcsh/xoops/html/modules/birthday/blocks/b_birthday.php on line 2
Notice [PHP]: Undefined index: meta_desc in file include/functions.php line 53
Notice [PHP]: Undefined index: show_cblock in file header.php line 56
Notice [PHP]: Undefined variable: sitename in file themes/blueBump/theme.php line 53

voilà ce qu'il me dit en mode debug

Posté le : 14/02/2006 19:56
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
ok essaie ce code

<?
include 
"../../mainfile.php";
include 
XOOPS_ROOT_PATH."/header.php";

function 
b_birthday_show2()
    {
        global 
$xoopsUser$xoopsDB$xoopsModule;
        
$block = array();

        
$sql="SELECT * FROM ".$xoopsDB->prefix("users_birthday");
        
$result $xoopsDB->query($sql);
        
$nb=$xoopsDB->getRowsNum($result);
        
$block['content'] = "";
        
            
$block['content'] .= "<table style='text-align:left'>";
        while (
$en $xoopsDB->fetchArray($result))
            {
                
$userbirth = new XoopsUser($en['uid']);
                
$block['content'] .= "<tr><td>";
                
$block['content'] .= $userbirth->getVar("uid")." : ";
                
$block['content'] .= $userbirth->uname("E")." : ";
                
$block['content'] .= $en['jour']."/";
                
$block['content'] .= $en['mois']."/";
                
$block['content'] .= $en['annee'];
                
$block['content'] .= "</td></tr>";
            }
                
$block['content'] .= "</table>";
            return 
$block;
    }

$liste b_birthday_show2();
foreach ( 
$liste as $aff_liste )
    {
    echo 
$aff_liste;
    }
?>


j'ai juste changé le nom de la fonction.

Posté le : 14/02/2006 20:35
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
Y a du mieux !!!!!!!!!!!!

1 : cr@zy : 27/10/1964
13 : cedric : 26/04/1972
Notice [PHP]: Undefined index: meta_desc in file include/functions.php line 53
Notice [PHP]: Undefined index: show_cblock in file header.php line 56
Notice [PHP]: Undefined variable: sitename in file themes/blueBump/theme.php line 53
Notice [PHP]: Undefined index: show_cblock in file header.php line 60

Posté le : 14/02/2006 21:05
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
ok, la suite des tests demain alors
tu as donc juste 2 membres ayant renseignés leur date de naissance, ok ?

pour les 'Undefined index' te bile pas, ce n'est pas lié au script et ça ne gène pas le fonctionnement du site.
ils disparaîtront lorsque tu auras désactivé le mode dégub php.

Posté le : 14/02/2006 21:39
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
Ok, merci pour tout tes efforts !!!!

Je ne connais rien au php donc pour moi c'est très difficile de comprendre ce que tu as fais dans ce script.

Tu as raison il n'y a pour le moment que 2 membres qui ont renseignés le module.

Pour la suite des tests aucun problème. Je continuerai à suivre tes suggestions !!!

Posté le : 14/02/2006 21:53
Partager Twitter Partagez cette article sur GG+
Re: Module "Anniversaire" 2.0
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
tu peux mettre ça en place ?

créer un fichier stylebirth.css, et le placer dans le dossier module/birthday/

il contiendra ceci

table.listtable
{
    
width50%;
    
text-align:center;
    
padding0;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listpm
{
    
width80px;
    
text-align:center;
    
padding0;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listnaiss
{
    
color#DE4563;
    
text-align:center;
    
padding0;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listpseudo
{
    
color#DE4563;
    
width120px;
    
text-align:left;
    
padding-left8px;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listpmtet
{
    
font-weightbold;
    
width80px;
    
text-align:center;
    
padding0;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listnaisstet
{
    
font-weightbold;
    
text-align:center;
    
padding0;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

td.listpseudotet
{
    
font-weightbold;
    
width120px;
    
text-align:center;
    
padding-left8px;
    
font-size11px;
    
border-top1px solid #DDDDFF;
    
border-left1px solid #DDDDFF;
    
border-right1px solid #AAAAAA;
    
border-bottom1px solid #AAAAAA;
    
background-colortransparent;
    
vertical-aligntop;
    
font-familyVerdanaArialHelveticasans-serif;
}

a
{
    
color#DE4563;
    
text-decorationunderline;
    
font-weightnormal;
}


Créer ensuite un fichier liste.php, que tu places aussi dans le dossier modules/birthday/

il contiendra ceci :

<?
include 
"../../mainfile.php";
include 
XOOPS_ROOT_PATH."/header.php";

echo 
"<link rel="stylesheet" type="text/css" media="all" href="./stylebirth.css" />";

function 
b_birthday_show3()
    {
        global 
$xoopsUser$xoopsDB$xoopsModule;
        
$block = array();

        
$sql="SELECT * FROM ".$xoopsDB->prefix("users_birthday").",".$xoopsDB->prefix("users")." WHERE ".$xoopsDB->prefix("users_birthday").".uid=".$xoopsDB->prefix("users").".uid ORDER BY mois ASC, jour ASC, uname ASC";
        
$result $xoopsDB->query($sql);
        
$nb=$xoopsDB->getRowsNum($result);
        
$block['content'] = "";
        
            
$block['content'] .= "<table class="listtable"";
            
$block['content'] .= "<tr>";
            if ( 
$xoopsUser )
                {
                
$block['content'] .= "<td class="listpmtet">MP</td>";
                }
            
$block['content'] .= "<td class="listpseudotet">Pseudo</td>";
            
$block['content'] .= "<td class="listnaisstet">Date de naissance</td></tr>";

        while (
$en $xoopsDB->fetchArray($result))
            {
                
$userbirth = new XoopsUser($en['uid']);
                
$block['content'] .= "<tr>";
                if ( 
$xoopsUser ) {
                    
$block['content'] .= "<td class="listpm">";
                    
//$block['content'] .= $userbirth->getVar("uid")." : ";
                    
$block['content'] .= "<a href='javascript:openWithSelfMain("".XOOPS_URL."/pmlite.php?send2=1&to_userid=".$userbirth->getVar("uid")."","pmlite",600,500);'>";
                    
$block['content'] .= "<img src='".XOOPS_URL."/images/icons/pm.gif' border='0' />";
                    
$block['content'] .= "</a> ";
                    
$block['content'] .= "</td>";
                }
                
$block['content'] .= "<td class="listpseudo">";
                
$block['content'] .=  "<a href='".XOOPS_URL."/userinfo.php?uid=".$userbirth->getVar("uid")."'>".$userbirth->uname("E")."</a>";    $block['content'] .= "</td>";
                
$block['content'] .= "<td class="listnaiss">";
                
$block['content'] .= $en['jour']."/";
                
$block['content'] .= $en['mois']."/";
                
$block['content'] .= $en['annee'];
                
$block['content'] .= "</td></tr>";
            }
                
$block['content'] .= "</table>";
            return 
$block;
    }

$liste b_birthday_show3();
foreach ( 
$liste as $aff_liste )
    {
    echo 
$aff_liste;
    }

include 
"footer.php";

?>


Et essaie d'appeler cette page pour voir que ça donne.

Si tu es un utilisateur, le bouton permettant d'envoyer un message privé apparaît devant le membre.
sinon, en anonyme (si les anonymes y ont accès), ils auront juste la liste des membres et leur date de naissance.

c'est trié sur la date de naissance, puis pour une même date, par ordre alphabétique croissant.

à créer :
l'âge calculé dans une autre colonne

EDIT 11h49 : créé :
le lien pour accéder au profil directement en cliquant sur le pseudo

Le code du post ci-dessus contient la modif'.

et puis je pense que j'arrêterai là, car côté prog' et mise en page, je mets un max de temps pour faire 2-3 bricoles :)

l'idéal, aurait été une séparation, après chaque mois, avec mise en couleur des anniversaires du mois en cours.
voir un menu déroulant, permettant d'afficher les anniversaires pour le mois sélectionné.

car le jour, où tu as 14000 membres, bonjour le chargement de la page !

à part ça, j'ai testé la création d'un nouveau bloc contenant cette liste, mais ce n'est finalement pas intéressant, pour la même raison invoquée ci-dessus, le jour où tu as beaucoup de membre ton bloc va prendre toute la page.
enfin c'était surtout pour moi, pour tester techniquement l'implémentation d'un bloc supplémentaire à ce module.

Posté le : 15/02/2006 11:37
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 2 (3) 4 5 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

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

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