Fork me on GitHub




(1) 2 »


Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Bonjour, ce que j'aimerais faire n'est pas vraiment un hack mais une modification du template...

J'aimerais pouvoir dans le bloc "nouveaux téléchargements" faire la différence entre un "nouveau téléchargement" et une "mise à jour".

Pour cela, je pose d'apposer une icone au début de la ligne genre "new.gif" ou "maj.gif" suivant donc le status du dl !

D'après King76, la varible à tester serait STATUS..

Où les valeurs sont :

0 pour les fichiers proposés
1 pour les nouveaux modules
2 pour les modules mis à jour

Mais du reste, comment construire le template ?!?

Merci d'avance pour toute aide !

@+

Posté le : 02/12/2004 14:34
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Donc, je me lance un peu, je crois que cela peut donner quelque chose comme ca :

<ul>

  <{foreach 
item=download from=$block.downloads}>

    <
li>
<
a href="<{$xoops_url}>/modules/<{$download.dirname}>/singlefile.php?cid=<{$download.cid}>&lid=<{$download.id}>">

if (
$status == '1') {
<
img src="maj.gif">} 
else (
status =='2') {
<
img src="maj.gif">
}>

<{
$download.title}></a> (<{$download.date}>)</li>

  <{/foreach}>

</
ul>


Je pense qu'il y a plein de bétises, mais bon, je ne demande qu'a progresser...

Merci d'avance

@+

Posté le : 02/12/2004 14:48

Edité par machenzy sur 02/12/2004 14:49:14
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Ok après quelques essais, je vous propose le résultat final qui permet donc d'obtenir un bloc affichant une icônes "maf" ou "new" puis le nom du dl, puis la version, puis la date d'upload ou de mise à jour :

Modification du fichier ".../modules/wfdownloads/blocks/wfdownloads_top.php" ligne 36 :

=> On ajoute la sortie des variables "status, updated, version" de la table

Avant
$result $xoopsDB->query("SELECT lid, cid, title, date, hits FROM " $xoopsDB->prefix('wfdownloads_downloads') . " WHERE status > 0 AND offline = 0 ORDER BY " $options[0] . " DESC"$options[1], 0);


Après
$result $xoopsDB->query("SELECT lid, cid, title, date, status, updated, version, hits FROM " $xoopsDB->prefix('wfdownloads_downloads') . " WHERE status > 0 AND offline = 0 ORDER BY " $options[0] . " DESC"$options[1], 0);


Modification du fichier ".../modules/wfdownloads/blocks/wfdownloads_top.php" ligne 33 :

=> Dénomination des variables qui serviront pour le template

Avant
if ($options[0] == "date")
            {
                
$download['date'] = formatTimestamp($myrow['date'], $xoopsModuleConfig['dateformat']);


Après
if ($options[0] == "date")
            {
                
$download['date'] = formatTimestamp($myrow['date'], $xoopsModuleConfig['dateformat']);
            
$download['status'] = $myrow['status'];
            
$download['updated'] = formatTimestamp($myrow['updated'], $xoopsModuleConfig['dateformat']);
            
$download['version'] = $myrow['version'];


Modification du fichier ".../modules/wfdownloads/templates/blocks/wfdownloads_block_new.html" :

=> Habillez comme vous voulez votre block, pour ma part, voici mon code

<ul>   <{foreach item=download from=$block.downloads}>
<
li>

<{if 
$download.status == "2"}>
<
img src="<{$xoops_url}>/modules/<{$download.dirname}>/images/maj.gif">
<{else}>
<
img src="<{$xoops_url}>/modules/<{$download.dirname}>/images/new.gif">
<{/if}>
      
<
a href="<{$xoops_url}>/modules/<{$download.dirname}>/singlefile.php?cid=<{$download.cid}>&lid=<{$download.id}>"><{$download.title}> - v.<{$download.version}></a

<{if 
$download.status == "2"}>
(
MAJ le <{$download.updated}>)
<{else}>
(
Uploadé le <{$download.date}>)
<{/if}>

</
li>   <{/foreach}> </ul>


Maintenant, il faut mettre à jour le module "wfdownloads", et ajouter les images "new.gif" et "maj.gif" dans le répertoire ".../modules/wfdownloads/images"

Voilà, bon habillage de block wfdownloads
@+

Posté le : 06/12/2004 17:46

Edité par machenzy sur 07/12/2004 12:11:28
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 26/01/2005 16:07
Messages: 181
Merci pour ton hack, fonctionne nikel chez moi .

tu t'es juste trompé à un endroit, pour la ligne au 2°, c'est pas 33 mais 53 :)

++

Posté le : 02/03/2005 18:00
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Content que ça ait servi à quelqun

Bon xoops !
@+

Posté le : 04/03/2005 16:12
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Semi pro
Inscrit: 04/02/2003 09:04
De Qc.ca
Messages: 1389
Bravo machenzy !!

Mais j'aimerais bien voir ce que cela donne, parce qu'avec toutes ces informations, tu dois avoir un gros gros bloc

A+

Posté le : 06/03/2005 23:03
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 26/01/2005 16:07
Messages: 181
Non l'apparence peut être totalement modifiable, dans le template.

Moi personnellement, j'ai enlevé MAJ le et Publié le du temmplate.Ce qui donne dans mon bloc:

°Titre du dl
Mis a Jour (Sun 04 2004)


Donc ça ne prends guerre plus de place.
++

Posté le : 07/03/2005 07:57
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Tout à fait,

pour ma part maintenant, j'ai séparé les deux types d'information dans 2 blocs différents. J'ai donc créé un bloc "Mises à jours". J'ai donc une fonctionnalité en gros équivalente à celle de "frxoops.fr" concernant la sections "Modules".

Voilà @+

Posté le : 07/03/2005 11:12
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Salut,

Je vous propose ma solution définitive pour avoir deux blocs wfdownloads : 1 pour le suivi des uploads et 1 pour le suivi des mises à jour de ces uploads.

J'ai adapté cette partie pour tenir au courant les membres des évolutions des fichiers proposés... En effet, si le bloc programmé à l'origine réfère des derniers fichiers proposés, il n'averti en rien une modification (ou mise à jour). Je tiens à signalé pour comprendre le hack dans son ensemble que celui-ci intervient dans une configurtation où wfdownloads est sous sa version 2.05a et que les uploads sont en "auto-approuvement" !! Donc, dans un autre cas, à vous d'adapter...

VOICI LE HACK :

Modification du fichier ".../modules/wfdownloads/blocks/wfdownloads_top.php" ligne 36 :

=> On ajoute la sortie des variables "status, updated, version" de la table

Avant
$result $xoopsDB->query("SELECT lid, cid, title, date, hits FROM " $xoopsDB->prefix('wfdownloads_downloads') . " WHERE status > 0 AND offline = 0 ORDER BY " $options[0] . " DESC"$options[1], 0);


Après
$result $xoopsDB->query("SELECT lid, cid, title, date, status, updated, version, hits FROM " $xoopsDB->prefix('wfdownloads_downloads') . " WHERE status > 0 AND offline = 0 ORDER BY " $options[0] . " DESC"$options[1], 0);


Modification du fichier ".../modules/wfdownloads/blocks/wfdownloads_top.php" ligne 33 :

=> Dénomination des variables qui serviront pour le template

Avant
if ($options[0] == "date")
            {
                
$download['date'] = formatTimestamp($myrow['date'], $xoopsModuleConfig['dateformat']);


Après
if ($options[0] == "date")
            {
                
$download['date'] = formatTimestamp($myrow['date'], $xoopsModuleConfig['dateformat']);
            
$download['status'] = $myrow['status'];
            
$download['updated'] = formatTimestamp($myrow['updated'], $xoopsModuleConfig['dateformat']);
            
$download['version'] = $myrow['version'];


Modification du fichier ".../modules/wfdownloads/submit.php" ligne 187 : En effet, un petit truc, si un fichier est modifié par un membre, la base n'est pas avertie de la mise à jour, il faut donc ajouter cette ligne après "$updated = time();"
$status 2;


Ensuite, je vous propose d'aller vous plonger dans le manuel de référence, on y trouve : Le clonage d'un module
Intéressez-vous particulièrement à la partie : bloc.
Ajoutez donc un bloc appelé : "updated" (ou comme vous voulez )comme ceci :
$modversion['blocks'][3]['file'] = "wfdownloads_top.php";
$modversion['blocks'][3]['name'] = "updated";
$modversion['blocks'][3]['description'] = "Shows recently added donwload files";
$modversion['blocks'][3]['show_func'] = "b_wfdownloads_top_show";
$modversion['blocks'][3]['edit_func'] = "b_wfdownloads_top_edit";
$modversion['blocks'][3]['options'] = "updated|5|70";
$modversion['blocks'][3]['template'] = 'wfdownloads_block_updated.html';


Ensuite éditez le fichier template : ".../modules/wfdownloads/templates/blocks/wfdownloads_block_new.html" et habillez-le comme vous le souhaiter, voici mon habillage :
<{foreach item=download from=$block.downloads}>
<{if 
$download.status == "2"}>
<
img src="<{$xoops_url}>/modules/<{$download.dirname}>/images/maj.gif">
<{else}>
<
img src="<{$xoops_url}>/modules/<{$download.dirname}>/images/new.gif">
<{/if}>    
<
a href="<{$xoops_url}>/modules/<{$download.dirname}>/singlefile.php?cid=<{$download.cid}>&lid=<{$download.id}>"><{$download.title}> - v.<{$download.version}></a>
<{if 
$download.status == "2"}>
(<{
$download.updated}>)
<{else}>
(<{
$download.date}>)
<{/if}>
<
br>
<{/foreach}>


Créez maintenant le fichier template : ".../modules/wfdownloads/templates/blocks/wfdownloads_block_updated.html", il ne va référencer que les fichiers au status "2", c'est à dire "mis à jour", c'est ce que l'on veut :
<{foreach item=download from=$block.downloads}>
<{if 
$download.status == "2"}>
<
img src="<{$xoops_url}>/modules/<{$download.dirname}>/images/maj.gif">
<
a href="<{$xoops_url}>/modules/<{$download.dirname}>/singlefile.php?cid=<{$download.cid}>&lid=<{$download.id}>"><{$download.title}> - v.<{$download.version}></a>
(<{
$download.updated}>)
<{/if}>
<
br>
<{/foreach}>


Et voilà , le résultat ? Venez jetter un coup d'oeil ICI

Bon xoops @+

Posté le : 25/04/2005 13:52
Partager Twitter Partagez cette article sur GG+
Re: Hack block wfdownloads
Régulier
Inscrit: 26/01/2005 16:07
Messages: 181
Très beau travail, pour ma part ton premier hack me convient parfaitement donc je n'utiliserai pas la dernière version lol mais je tenais à te féliciter pour le temps que tu y as consacré.

°°++

Posté le : 25/04/2005 15:27
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »




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

106 Personne(s) en ligne (93 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 1 | Invité(s): 105 | babouille, Plus ...