Fork me on GitHub




« 1 (2) 3 »


Re: Création d'un module
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
Effectivement il n'en prend pas compte...

c'est super chaud de t'aider comme ça!
Donc il te faut modifier le fichier "xoops_version.php" et mettre:

// Search
$modversion['hasSearch'] = 1;
$modversion['search']['file'] = "include/search.inc.php";
$modversion['search']['func'] = "ton_nom_de_module_search";


Ensuite tu dois avoir un fichier "search.inc.php" dans le dossier "include" de ton module.

Avec la fonction:

function ton_nom_de_module_search($queryarray$andor$limit$offset$userid){ 

Il faut mettre ton code

}


tu as le module Mydownloads? Car la fonction est relativement simple et tu pourra comprendre comment se fait le retour des infos.

Posté le : 22/12/2008 12:42
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
Messages: 1141
J'ai bien rajouté les infos dans le fichier xoops_info.php et mon fichier search.inc.php contient :

<?php
if (!defined('XOOPS_ROOT_PATH')) {
    die(
"XOOPS root path not defined");
}
function 
mediagallery_search($queryarray$andor$limit$offset$userid){
$d dir("./modules/mediagallery/data/");

if(isset(
$_POST['submit']) AND !empty($_POST['mot'])){
$mot trim($_POST['mot']);

while(
$entry $d->read()) { 
    
preg_match("#($mot+?)#s"$entry$new);
    
$data trim($new[1]);
    if (!empty(
$data)) echo '<a href="'.$entry.'">'.$data.'</a><br />';

$d->close();
}
}
?>


Hors, mon principal soucis étant un Geek c'est que je ne sais pas comment faire pour afficher les résultats. Sachant que ce script php, je suis incapable de le comprendre...

J'ai même regardé le fichier du module mydownloads, mais il se sert de la base de données. Hors, le script que j'essaie d'insérer fait juste une recherche dans le dossier indiqué dans le code...

Je ne sais même pas si ce bout de code est bon ...

Posté le : 22/12/2008 14:51

Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
Si tu ne connais pas du tout le php ça va être chaud!

Il fait quoi ton module?

Tu dois renvoyer un tableau pour afficher la recherche:

$ret = array();
$i 0;
while(
$myrow $xoopsDB->fetchArray($result)){
 
$ret[$i]['image'] = "images/size2.gif";
 
$ret[$i]['link'] = "singlefile.php?cid=".$myrow['cid']."&amp;lid=".$myrow['lid']."";
 
$ret[$i]['title'] = $myrow['title'];
 
$ret[$i]['time'] = $myrow['date'];
 
$ret[$i]['uid'] = $myrow['submitter'];
 
$i++;
}
return 
$ret;

ca c'est le code de Mydownload mais tu peux t'en inspirer!

Posté le : 22/12/2008 16:16
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
Messages: 1141
C'est clair, ça va être chaud....

En fait mon module est une galerie multimédia en flash...

Il suffit de rajouter les photos ou les vidéos dans le dossier data et à l'affichage la galerie relie et crée à la volée les liens...

Mon but est de rajouter à Xoops, la possibilité de faire une recherche sur les dossiers qui contiennent les fichiers de ce module.

Un petit aperçu : http://version2.xmouse.org/modules/mediagallery/


Posté le : 22/12/2008 16:22

Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
Ton code ne va pas du tout!

Il faut l'adapter à xoops et ce n'est pas facile....

Je suis loin d'être bon en php et je comprend pas tout ton code! Tu sais si il marche?

Essaye ça mais je suis pas sur du résultat car je ne peux pas faire de test. Quelqu'un de plus calé que moi pourra peut être t'aider...

<?php
if (!defined('XOOPS_ROOT_PATH')) {
    die(
"XOOPS root path not defined");
}
function 
mediagallery_search($queryarray$andor$limit$offset$userid){
$d dir("./modules/mediagallery/data/");
$ret = array();
$i 0;
while(
$entry $d->read()) { 
    
preg_match("#($queryarray[0]+?)#s"$entry$new);
    
$data trim($new[1]);
    if (!empty(
$data)){
        
$ret[$i]['image'] = "images/Ton_image.gif";
        
$ret[$i]['link'] = $entry;
        
$ret[$i]['title'] = $data;
        
$ret[$i]['time'] = '';
        
$ret[$i]['uid'] = '';
        
$i++; 
    }    

$d->close();
return 
$ret;
}
?>


Sans conviction...

Posté le : 22/12/2008 19:22
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
Messages: 1141
Merci pour ton aide mais ça marche pas ... sniff...

Posté le : 22/12/2008 19:36

Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
le code que tu avais avant, il marchait seul?

Posté le : 22/12/2008 19:38
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
Messages: 1141
En fait, le code fonctionne mais uniquement dans le répertoire data et non pas dans le dossier data et ses sous-répertoire....

voici le code :
<?php
if (!defined('XOOPS_ROOT_PATH')) {
    die(
"XOOPS root path not defined");
}
function 
mediagallery_search($queryarray$andor$limit$offset$userid){
$d dir(XOOPS_ROOT_PATH."/modules/mediagallery/data/");
$ret = array();
$i 0;
while(
$entry $d->read()) { 
    
preg_match("#($queryarray[0]+?)#s"$entry$new);
    
$data trim($new[1]);
    if (!empty(
$data)){
        
$ret[$i]['image'] = "images/Ton_image.gif";
        
$ret[$i]['link'] = XOOPS_URL."/modules/mediagallery/data/".$entry;
        
$ret[$i]['title'] = $data;
        
$ret[$i]['time'] = '';
        
$ret[$i]['uid'] = '';
        
$i++; 
    }    

$d->close();
return 
$ret;
}
?>


En fait, j'aurai besoin qu'il fasse aussi une recherche dans les sous-répertoires du dossier data...


Posté le : 22/12/2008 23:17

Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 04/08/2005 14:16
De Quelque part dans les étoiles...
Messages: 1141
Bon, Trabis, l'auteur du module dummy m'a créé ce bout de code avec ce que j'avais fait...

<?php
if( ! defined'XOOPS_ROOT_PATH' ) ) exit ;

function 
dummy_search($queryarray$andor$limit$offset$userid){
    
$dirname XOOPS_ROOT_PATH."/modules/dummy/data/";
    
$ret = array();
    
$i 0;
    return 
dummy_search_directory($dirname$queryarray$ret$i);
}

function 
dummy_search_directory($dirname$queryarray, &$ret, &$i) {
    if (
is_dir($dirname)) {
        
$dir_handle opendir($dirname);
    }
    if (!
$dir_handle) {
        return 
$ret;
    }
    while(
$file readdir($dir_handle)) {
        if (
$file != "." && $file != "..") {
            
//is dir or is file
            
if (!is_dir($dirname."/".$file)) {
                
//is file
                
preg_match("#($queryarray[0]+?)#s"$file$new);
                
$data trim($new[1]);
                if (!empty(
$data)){
                    
$ret[$i]['image'] = "images/image.gif";
                    
                    
//must fix this better because of double slashes in the url :(
                    
$url str_replace(XOOPS_ROOT_PATH''$dirname);
                    
$url str_replace('//''/'$url);
                    
$url rtrim($url'/');

                    
$ret[$i]['link'] = XOOPS_URL.'/'.$url.'/'.$file;
                    
$ret[$i]['title'] = $data;
                    
$ret[$i]['time'] = '';
                    
$ret[$i]['uid'] = '';
                    
$i++;
                }
            } else {
                
//is dir
                
dummy_search_directory($dirname.'/'.$file$queryarray$ret$i);
            }
        }
    }
    
closedir($dir_handle);
    return 
$ret;
}
?>


Mais j'ai l'impression qu'il ne fonctionne pas... La recherche me retourne aucune information... Par contre, j'ai remarqué qu'il avait rajouté la fonction dummy_search_directory... Est-ce que je dois la rajouter dans le fichier xoops_version.php ?

C'est hard de faire du développement quand on n'y connait rien...

Posté le : 23/12/2008 10:01

Il n'y a qu'une chose que vous pouvez changer dans l'Univers : c'est Vous-Même !
Partager Twitter Partagez cette article sur GG+
Re: Création d'un module
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
Salut!

Je pense que tu dois déjà changer cette ligne:

$dirname XOOPS_ROOT_PATH."/modules/dummy/data/";


Et mettre le nom de ton module à la place de "dummy".

Tu ne doit pas rajoutée cette fonction dans xoops_version.php car elle est appelée ici:

return dummy_search_directory($dirname$queryarray$ret$i);


par contre tu dois modifier le nom de la fonction ou ton fichier xoops_version.php pour avoir le même nom:

function dummy_search($queryarray$andor$limit$offset$userid){


car avant ta fonction ne s'appelait pas dummy_search...

tiens moi au courant!

Posté le : 23/12/2008 10:54
Partager Twitter Partagez cette article sur GG+

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



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

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