Fork me on GitHub


 Bas   Précédent   Suivant

« 1 ... 4 5 6 (7)


Re: Hack block wfdownloads
Régulier
Inscrit: 09/03/2004 09:12
Messages: 106
Merci beaucoup Hisoka

Posté le : 25/04/2005 15:59
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer


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
Transférer la contribution vers d'autres applications Transférer



 Haut
« 1 ... 4 5 6 (7)




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

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