1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| /**
* Enregistrement des games
*
* @param string $fNameFile Nom du fichier téléchargé
*
* @return boolean Enregistrement ou pas ;)
*/
function storeGame($fNameFile)
{
//Declare the global variables:
global $mainframe;
/* Récupération des données du fichier téléchargé */
$dataFull = $this->getData($fNameFile);
$dateArray = $dataFull['dateCSV']; // Tableau des dates
$playinfo = array(1=>'',2=>'',3=>'',4=>''); // Nombre de jeu par session
/* Connexion bdd */
$db =& JFactory::getDBO();
/* Récupérer les données de la table #__bowlingscores_game */
$db->setQuery('SELECT * FROM #__bowlingscores_game order by gamedate');
$rangeGame = $db->loadObjectList();
/* Récupérer l'id de game pour l'ajouter aux scores */
$db->setQuery( 'SELECT id FROM #__bowlingscores_game ORDER BY id DESC LIMIT 1') ;
if ($db->loadResult() !== NULL) {
$lastGame = (int)$db->loadResult() ;
$firstGame = (int)$lastGame+1;
} else {
$lastGame = 0;
$firstGame = 1;
}
/* Initialisation des variables */
$ct1 = 0; // Compteur du tableau $game
$counter = $firstGame; //
$prevDate = NULL; // Date de la dernière session enregistrée
$games = array(); // Tableau des sessions
$row = $this->getTable('game');
// Vérification de l'existance d'enregistrement dans la table #__bowlingscores_game
if (!empty($rangeGame)) {
// Boucle sur le tableau des dates du fichier CSV
foreach ($dateArray as $date) {
// Boucle sur le tableau de la table #__bowlingscores_game
foreach ($rangeGame as $line) {
if ($line->gamedate !== $date->date) {
// Si la date n'existe pas,
$lastGame++;
// trouver le bon $counter pour le "games"
$games[$ct1]->name = $this->game_name($date->date, 'Session ', $counter, $prevDate);
$games[$ct1]->alias = $this->game_name($date->date, 'Session-', $counter, $prevDate);
$games[$ct1]->description = '<p>[NAME] du [GAMEDATE]</p>';
$games[$ct1]->gamedate = $date->date;
$games[$ct1]->plays = '4';
$games[$ct1]->frame = '1';
$games[$ct1]->playinfo = base64_encode(gzcompress(serialize($playinfo)));
$games[$ct1]->moy0 = '0';
$games[$ct1]->published = '1';
$games[$ct1]->template = '1';
$ct1++; $counter++;
$prevDate = $date->date;
} else {
// Si la date existe déjà,
$games[$ct1] = $line;
$ct1++;
}
}
}
} else {
// Boucle sur le tableau des dates du fichier CSV
foreach ($dateArray as $date) {
$lastGame++;
// trouver le bon $counter pour le "games"
$games[$ct1]->name = $this->game_name($date->date, 'Session ', $counter, $prevDate);
$games[$ct1]->alias = $this->game_name($date->date, 'Session-', $counter, $prevDate);
$games[$ct1]->description = '<p>[NAME] du [GAMEDATE]</p>';
$games[$ct1]->gamedate = $date->date;
$games[$ct1]->plays = '4';
$games[$ct1]->frame = '1';
$games[$ct1]->playinfo = base64_encode(gzcompress(serialize($playinfo)));
$games[$ct1]->moy0 = '0';
$games[$ct1]->published = '1';
$games[$ct1]->template = '1';
$ct1++; $counter++;
$prevDate = $date->date;
}
}
$tabGame = array(); $ct = 0;
foreach ($games as $game) {
// Enregistrement des données
$return = $this->register($row, $game);
if (!$this->getError()){
$tabGame[$ct]->id = $firstGame + $ct;
$tabGame[$ct]->name = $game->name;
$tabGame[$ct]->register = 1;
} else {
$tabGame[$ct]->id = $firstGame + $ct;
$tabGame[$ct]->name = $game->name;
$tabGame[$ct]->register = 0;
}
$mainframe->tabGame[$ct] = $tabGame[$ct];
$ct++;
}
return $return;
} |
Partager