Par respect de la netiquette, tous les contributeurs s'engagent à ne tenir ni propos insultants ni propos infamants envers un tiers.
Merci d'avance à tous et ... bonne pêche aux infos - (Les numéros IP sont conservés.)
» Sujet: [ixp_downloads] hack |
coach
Béta-testeur    Messages: 151 Inscrit(e) le: 2005/2/2 Statut: Déconnecté(e)
|
Posté le 2006/4/17 à 20:26 |
Salut à tous
Je viens de faire une modif au niveau du module download :
Pour un même fichier proposé au téléchargement
:
- possibilité de mettre 2 urls
- affichage d'une icone différente de téléchargement
pour chaque URL
- l'icone est définie en fonction de l'extension du fichier.
Pour l'instant cela fonctionne nickel.
Piste de réflexion : possibilité de rajouter d'autres url
à partir de l'admin.
Cependant cela implique de génénrer automatiquement une
nouvelle insertion dans la table download.
Puis ensuite pour récupérer toutes les url il faudrait passer
par une boucle.
Cela vous parait-il intéressant, et que je le poursuive ? |
|
|
trollix
Core Developer    Messages: 2732 Inscrit(e) le: 2003/1/14 Statut: Déconnecté(e)
|
Posté le 2006/4/17 à 21:55 |
| Si tu penses que c'est abouti, pourquoi pas pour intégration au
noyau du module. | HQCH - Hope Que ça Helpe
Celui qui vise à la perfection sera au-dessus de la
médiocrité, mais celui qui vise à la
médiocrité tombera plus bas encore. "Proverbe chinois" |
|
|
coach
Béta-testeur    Messages: 151 Inscrit(e) le: 2005/2/2 Statut: Déconnecté(e)
|
Posté le 2006/4/18 à 08:35 |
J'ai un petit bug que je n'ai pas réussi à résoudre.
Pour afficher l'icone en fonction du type de fichier j'ai rajouté la fonction suivante dans format.php
Code:
$filename = basename($url);
$file_extension = strtolower(substr(strrchr($filename,"." ,1));
Elle me récupère bien l'extension sauf lorsque l'url du fichier contient un "_". Elle renvoie alors une extension vide.
Si je transforme le "_" du fichier en "-" je n'ai plus de pb.
Auriez vous une idée ? |
|
coach
Béta-testeur    Messages: 151 Inscrit(e) le: 2005/2/2 Statut: Déconnecté(e)
|
Posté le 2006/4/25 à 13:58 |
cela fait des heures que je passe sur ce problème et j'en décolle pas.
le bug "_" que j'ai soulevé n'en est pas un.
en fait le pb apparait sur tous les nouveaux fichiers que j'ajoute pas sur les anciens
Code:
$filename = basename($url);
$file_extension = strtolower(substr(strrchr($filename,"." ,1));
$tab_tpl['URL']='<a href="'._IXPDOWNLOADS_visit1.'lid='.$lid.'?phpMyAdmin=082df031b86b1c3d5caf207b118df034" target="_blank">'
.'<img src="'.IXP_ROOT_WEB_IMG.'/'.$file_extension.'.gif" /></a>';
avec cette fonction cela me retourne un vide pour $file_extension.
si dans la définition de $file_extension je remplace $filename par $url il me retourne l'extension mais suivi d'un
Mais cela retourne l'extension sans le pour mes anciens fichiers.
Donc je penche maintenant pour un pb à l'insertion de mes fichiers dans ma table. Voilà le code de la fonction addownload :
Code:
function addDownload() {
global $ixpdb, $ixpUser, $myts, $eh, $ixpModule;
if (($_POST["url"]) || ($_POST["url"]!="" ) {
$url = $myts->makeTboxData4Save($_POST["url"]);
}
if (($_POST["url2"]) || ($_POST["url2"]!="" ) {
$url2 = $myts->makeTboxData4Save($_POST["url2"]);
}
$logourl = $myts->makeTboxData4Save($_POST["logourl"]);
$title = $myts->makeTboxData4Save($_POST["title"]);
$homepage = $myts->makeTboxData4Save($_POST["homepage"]);
$version = $myts->makeTboxData4Save($_POST["version"]);
$size = $myts->makeTboxData4Save($_POST["size"]);
$platform = $myts->makeTboxData4Save($_POST["platform"]);
$description = $myts->makeTareaData4Save($_POST["description"]);
$submitter = $ixpUser->getVar('uid');
$result = $ixpdb->sql_query("SELECT COUNT(*) FROM ".TBL_IXPDOWNLOADS_DOWNLOADS." WHERE url='$url'" ;
list($numrows) = $ixpdb->sql_fetchrow($result);
$error = 0;
$errormsg = "";
if ($numrows>0) {
$errormsg .= '<h4 style="text-align:left;"><font color="#ff0000">';
$errormsg .= _MD_ERROREXIST."</font></h4>";
$error = 1;
}
// Check if Title exist
if ($title=="" {
$errormsg .= '<h4 style="text-align:left;"><font color="#ff0000">';
$errormsg .= _MD_ERRORTITLE."</font></h4>";
$error =1;
}
if( empty($size) || !is_numeric($size) ){
$size = 0;
}
// Check if Description exist
if ($description=="" {
$errormsg .= '<h4 style="text-align:left;"><font color="#ff0000">';
$errormsg .= _MD_ERRORDESC."</font></h4>";
$error =1;
}
if($error == 1) {
control_panel_header();
$ixpModule->system_menu();
echo $errormsg;
control_panel_footer();
exit();
}
if ( !empty($_POST['cid']) ) {
$cid = $_POST['cid'];
} else {
$cid = 0;
}
$newid = $ixpdb->sql_genID(TBL_IXPDOWNLOADS_DOWNLOADS."_lid_seq" ;
$ixpdb->sql_query("INSERT INTO ".TBL_IXPDOWNLOADS_DOWNLOADS." (lid, cid, title, url, url2, homepage, version, size, platform, logourl, submitter, status, date, hits, rating, votes, comments) VALUES ($newid, $cid, '$title', '$url', '$url2', '$homepage', '$version', $size, '$platform', '$logourl', $submitter, 1, ".time().", 0, 0, 0, 0)" or $eh->show("0013" ;
if($newid == 0){
$newid = $ixpdb->sql_nextid();
}
$ixpdb->sql_query("INSERT INTO ".TBL_IXPDOWNLOADS_TEXT." (lid, description) VALUES ($newid, '$description')" or $eh->show("0013" ;
ixpdownloadsBuildXMLRSS2(10,480);
# Effacement du cache
$a = & a_ixpts::getInstance();
$a->delete_blocks_cache();
$a->delete_module_specific_cache( _IXPDOWNLOADS_MODNAME );
redirect_header("index.php",1,_MD_NEWDLADDED);
}
le code de cette fonction me parait correct. De plus dans ma table je n'ai pas cette balise pour les fichiers dans les cases ""url" et "url2"
je voulais voir du côté du code de la fonction basename pour comprendre le fonctionnement mais je n'ai pas réussi à la trouver.
je suis bloqué et je commence a désespérer.
Si quelqu'un peut m'aider,
merci beaucoup
[Edité le 25/04/2006 par coach]
[Edité le 25/04/2006 par coach] |
|
coach
Béta-testeur    Messages: 151 Inscrit(e) le: 2005/2/2 Statut: Déconnecté(e)
|
Posté le 2006/4/26 à 11:44 |
je continue mes investigations et je suis tombé sur qqchose
d'étrange.
Lorsque j'ajoute un fichier il copie son adresse dans la table par la
fonction "addownload"
Puis il y a un problème pour récupérer l'extension.
Si je prend l'adresse dans la table que je l'enlève puis je la
remets telle quelle (un coupe coller dans phpmyqdmin) et bien cela
refonctionne. je n'ai plus la balise qui est
récupéré.
Donc il s'agit bien d'un bug à l'insertion. Mais ce qui est bizarre
c'est que je fais un couper-coller donc je ne change rien à
l'adresse.
J'ai ce pb avec mysql 5.0.18 et mysql 4.0.17. |
|
coach
Béta-testeur    Messages: 151 Inscrit(e) le: 2005/2/2 Statut: Déconnecté(e)
|
Posté le 2006/5/10 à 12:28 |
Bon j'ai réussi à trouver, je crois.
En fait si j'utilise firefox pour ajouter mes fichiers, je n'ai plus ce
bug.
J'utilisais Konqueror et c'est lui qui me pose problème : je ne sais
absolument pas pourquoi. Mais c'est juste pour l'insertion de nouveau
download. Pour la visite du site, par contre, il n'y a aucun
problème. |
|
| |  |
|