Easy-Design.Net forum




Aide générale [PBT4.1] [Tutoriel] Historique de vos téléchargements

Myster Membre non connecté

EDN Enraciné(e)

Rang

Avatar

Inscrit le : 19/01/2011 à 16h42

Messages: 871

Le 06/05/2016 à 15h27
Bonjour à toutes et à tous,

Voici un petit extra pour votre module de téléchargement PHPBoost, il s'agit de créer un historique des fichiers que vous avez télchargé sur votre site.
Compatible avec PHPBoost V4.1

Donc commençons, rendez-vous dans PHPMyAdmin, et exécuter le code SQL suivant qui vous permet de créer la table.

Code SQL :
 
CREATE TABLE IF NOT EXISTS `phpboost_download_historique` (
`id` INT(5) NOT NULL,
  `pseudo` VARCHAR(255) NOT NULL,
  `fichier` VARCHAR(255) NOT NULL,
  `date` VARCHAR(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ALTER TABLE `phpboost_download_historique`
 ADD PRIMARY KEY (`id`);
ALTER TABLE `phpboost_download_historique`
MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT;
 


Remplacez le préfixe phpboost par votre préfixe de table.

Une fois cela fait, rendez-vous dans votre dossier download, créez le fichier historique.php et ajouter le code suivant:

Code PHP :
<?php
/*This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 ###################################################*/
define('PATH_TO_ROOT', '..');
//Début du chargement de l'environnement
include_once('../kernel/init.php');
//Chargement d'un fichier css, ici le fichier css du module news
define('ALTERNATIVE_CSS', 'design');
//Titre de la page, ici Accueil
define('TITLE', 'Historique de vos téléchargements');
//Chargement de l'environnement ( header )
require_once('../kernel/header.php');
//Chargement des fichiers de langue et autres
global $LANG, $CONFIG;
if (!AppContext::get_current_user()->check_level(User::MEMBER_LEVEL))
  {
       echo '<div class="question">Vous n'avez pas le niveau requis ! </div>'; 
  }
else
  {
?>
<?php
 
        $req_history = PersistenceContext::get_querier()->select("SELECT id,pseudo,fichier,date
        FROM " . PREFIX . "download_historique WHERE pseudo = '".  $User->get_pseudo() ."' ORDER by id DESC LIMIT 0,20");
?>
<p>Cette page vous permet de consulter les 20 dernières entrées de votre historique des fichiers que vous avez téléchargés. </p>
<table class="formatter-table">
<tbody><tr class="formatter-table-row">
<th class="formatter-table-head" colspan="3">Historique de vos téléchargements</th>
<tr class="formatter-table-row">
<td class="formatter-table-col">ID</td>
<td class="formatter-table-col">Fichier</td>
<td class="formatter-table-col">Date</td>
</tr>
<?php
while ($row = $req_history->fetch())
      {
 
        echo '</tr><tr class="formatter-table-row">';
        echo '<td class="formatter-table-col">' . $row['id'] . '</td>';
        echo '<td class="formatter-table-col">' . $row['fichier'] . '</td>';
        echo '<td class="formatter-table-col">' . $row['date'] . '</td>';
        echo '</tr>';
      }
    echo '</tbody></table>';
 
?>
<?php
  }
include_once('../kernel/footer.php');
?>


Ensuite nous allons effectuer une modification dans le fichier count.php qui vous permettra d'ajouter une requête d'insertion dans l'historique.

Juste en dessous de
Code PHP :
    $info_file = $Sql->query_array(PREFIX . "download", "url", "force_download", "idcat", "size", "WHERE id = '" . $idurl . "'", __LINE__, __FILE__);
 


Ajoutez la ligne suivante:

Code PHP :
      $Sql->query_inject("INSERT INTO " . PREFIX . "download_historique (pseudo, date,fichier) VALUES('" . $User->get_pseudo() . "', '" . gmdate_format('date_format'). "', '".$info_file['title']."')", __LINE__, __FILE__);
 


Et remplacer la ligne

Code PHP :
$info_file = $Sql->query_array(PREFIX . "download", "url", "force_download", "idcat", "size", "WHERE id = '" . $idurl . "'", __LINE__, __FILE__);
 


par
Code PHP :
 
$info_file = $Sql->query_array(PREFIX . "download", "title", "url", "force_download", "idcat", "size", "WHERE id = '" . $idurl . "'", __LINE__, __FILE__);
 
Edité par Myster Le 06/05/2016 à 17h27
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 06/05/2016 à 17h24
Merci :)

Swan : (Ton bouton répondre en haut ne fait pas descendre la page) .. Edité par m-ickael Le 06/05/2016 à 20h19
Myster Membre non connecté

EDN Enraciné(e)

Rang

Avatar

Inscrit le : 19/01/2011 à 16h42

Messages: 871

Le 06/05/2016 à 17h39
Mon bouton répondre ? :)
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 06/05/2016 à 20h19
Je parlais pour Swan désolé :D .. Le bouton "répondre" du forum :) Désolé.
Swan Membre non connecté

Administrateur

Rang

Avatar

Inscrit le : 01/08/2009 à 22h53

Messages: 8431

Le 07/05/2016 à 16h52
@Mickael : Haaa je vais regarder cela alors .. Merci je note :)

@ Myster , Penses-tu que cela serait applicable sur la V5 ?


swan_signature

Site web    
Myster Membre non connecté

EDN Enraciné(e)

Rang

Avatar

Inscrit le : 19/01/2011 à 16h42

Messages: 871

Le 07/05/2016 à 17h26
Et bien sur la V5, il n'y a pas de fichier count.php et les requêtes ne sont pas les mêmes il me semble donc il faudrait juste adapter les requêtes :)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie