Changements
Feature : Suppression automatique des MP "Robot" trop anciens
Feature : Activation/Désactivation globale des Murs par Joueur/Equipe/Competition
Feature : Réception d’un MP si écriture sur son mur (Joueur)
Feature : Réception d’un MP pour le capitaine si écriture sur son mur (Equipe)
Feature : Classement des matchs par jeu et par compétition (Onglet Matchs dans la fiche équipe)
Feature : Classement des équipes par jeu (Onglet Equipes dans la fiche joueur)
Feature : Classement des compétitions par jeu (Onglet Competitions dans la fiche équipe)
Feature : Nouveau bloc : Admins en ligne
Feature : Choix sur la validation des matchs (confirmation par admin ou non)
Feature : Matchs retour pour les coupes
Feature : Bloc Admins en ligne
Feature : Proposition de match pour le match making
Feature : Suppression de ses propositions
Feature : Accepter une proposition issue d’un match making
Feature : Ajout des onglets pour les pages Joueurs (Infos, Mur, Equipes)
Feature : Ajout des onglets pour les pages Equipes (infos, Mur, Joueurs, Competitions, Matchs)
Feature : Ajout des murs sur Page Equipe, Page Joueur, Page tournoi
Feature : Joueurs en ligne
Feature : Bloc Statistiques
Feature : Bloc Joueurs en ligne
Feature : Sur fiche joueur, date dernière connection
Bug : Invalid licence qui apparaissait de temps en temps
Bug : Correction 3eme place pour tournoi 16 places
Bug : Erreur “Aucune mise a jour effectuee” lorsqu’une équipe saisit un match nul 0-0 pour les coupes, championnats et ligues
Nouvelles constantes dans "config.php" :
define('OPT_MUR_MESSAGE_LIMIT',10); //Limite du nombre de messages par page de mur
define('OPT_BLOCK_ONLINE_MAX_PLAYER',20);//Limite du nombre de joueurs en ligne à afficher
define('OPT_BLOCK_ONLINE_MAX_ADMIN',10);//Limite du nombre d'admins en ligne à afficher
define('OPT_MUR_JOUEUR',true); //Activer les murs pour les joueurs
define('OPT_MUR_EQUIPE',true); //Activer les murs pour les équipes
define('OPT_MUR_COMP',true); //Activer les murs pour les compétitions
define('OPT_DELAI_SUP_MP', 60*60*24*30); // (1 mois) Délai en secondes avant suppression automatique des MP du robot, pour désactiver la suppression automatique mettre false ou supprimer la ligne
Modification de la base de données :
ALTER TABLE `tab_joueurs` ADD `JOU_ACTIVITE` INT( 15 ) NOT NULL;
ALTER TABLE `tab_tournois` ADD `TNS_VAL_ADM` TINYINT( 4 ) DEFAULT 1;
CREATE TABLE `tab_murs` (
`MUR_CLE` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`MUR_JOU_CLE` INT UNSIGNED NOT NULL ,
`MUR_MESSAGE` VARCHAR( 200 ) NOT NULL ,
`MUR_DATE` INT UNSIGNED NOT NULL ,
`MUR_SRC` ENUM( 'TNS', 'JOU', 'EQI' ) NOT NULL ,
`MUR_SRC_CLE` INT UNSIGNED NOT NULL ,
INDEX ( `MUR_JOU_CLE` , `MUR_SRC_CLE` )
) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
CREATE TABLE `tab_matchmaking` (
`MAK_CLE` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`MAK_TNS_CLE` INT UNSIGNED NOT NULL ,
`MAK_EQI_CLE` INT UNSIGNED NOT NULL ,
`MAK_START_DATE` DATETIME NOT NULL ,
`MAK_END_DATE` DATETIME NOT NULL ,
`MAK_DESCRIPTION` VARCHAR( 250 ) NOT NULL ,
INDEX ( `MAK_TNS_CLE` , `MAK_EQI_CLE` )
) ENGINE = MYISAM ;
Comment mettre à jour depuis la 3.22 ?
Ajoutez les constantes ci-dessus dans votre fichier "config.php" et exécutez les requêtes SQL ci-dessus via phpMyAdmin (par exemple).
Pour les fichiers, vous pouvez remplacer tous vos fichiers par ceux de la 3.23 ou alors faire les modifications fichier par fichier en suivant la liste des modifications ci-dessous. Pensez à faire une sauvegarde intégrale de votre zKup avant la mise à jour (fichiers + Base de données).
Changements des fichiers :
Modifié /app/config/i18n/en_US/general.php
Modifié /app/config/i18n/fr_FR/general.php
Modifié /app/config/includes/classes/competitions/coupes/classique/coupe.core.php
Modifié /app/config/includes/classes/competitions/tournois/classique/tournoi.core.php
Modifié /app/config/includes/classes/TabCms.DB.class.php
Modifié /app/config/includes/classes/TabJoueurs.DB.class.php
Ajouté /app/config/includes/classes/TabMatchmaking.DB.class.php
Modifié /app/config/includes/classes/TabMessages.DB.class.php
Ajouté /app/config/includes/classes/TabMurs.DB.class.php
Modifié /app/config/includes/classes/TabTournois.DB.class.php
Modifié /app/controleurs/admin.controleur.php
Modifié /app/controleurs/espacemembre.controleur.php
Modifié /app/controleurs/ladder.controleur.php
Modifié /app/controleurs/messagerie.controleur.php
Ajouté /app/controleurs/murs.controleur.php
Modifié /app/controleurs/profil.controleur.php
Modifié /app/controleurs/tabjoueurs.controleur.php
Ajouté /app/controleurs/tabmatchmaking.controleur.php
Modifié /app/controleurs/tournoi.controleur.php
Ajouté /app/layout/templates/block_admins_online.tpl
Ajouté /app/layout/templates/block_online.tpl
Ajouté /app/layout/templates/block_players_online.tpl
Ajouté /app/layout/templates/mur_form.tpl
Modifié /app/layout/templates/tableaux_poules.tpl
Ajouté /app/layout/templates/tabs_mur.tpl
Modifié /app/layout/theme_admin/css/default.css
Modifié /app/layout/theme_bf/css/style.css
Modifié /app/layout/theme_bf/css/tabs.css
Modifié /app/layout/theme_bf/template.tpl
Modifié /app/modele/Match_modele.php
Modifié /app/modele/TabCms_modele.php
Modifié /app/modele/TabJoueurs_modele.php
Ajouté /app/modele/TabMatchmaking_modele.php
Ajouté /app/modele/TabMurs_modele.php
Modifié /app/modele/TabTournois_modele.php
Modifié /app/vues/admin/tournoiajouter.tpl
Modifié /app/vues/admin/tournoigerer.tpl
Modifié /app/vues/ladder/voir.tpl
Ajouté /app/vues/murs
Ajouté /app/vues/murs/ajouter.tpl
Ajouté /app/vues/murs/lister.tpl
Ajouté /app/vues/murs/messages.tpl
Ajouté /app/vues/murs/modifier.tpl
Ajouté /app/vues/murs/voir.tpl
Modifié /app/vues/poules/widget.tpl
Modifié /app/vues/profil/equipe.tpl
Modifié /app/vues/profil/joueur.tpl
Modifié /app/vues/tabjoueurs/modifier.tpl
Ajouté /app/vues/TabMatchmaking
Ajouté /app/vues/TabMatchmaking/ajouter.tpl
Ajouté /app/vues/TabMatchmaking/lister.tpl
Ajouté /app/vues/TabMatchmaking/modifier.tpl
Ajouté /app/vues/TabMatchmaking/voir.tpl
Modifié /app/vues/tournoi/roster.tpl
Modifié /app/vues/tournoi/voir.tpl
Modifié /config.php
Modifié /core/config.php
Modifié /core/includes/classes/CompManager.class.php
Modifié /core/includes/classes/Controleur.class.php
Modifié /core/includes/classes/Logger.php
Modifié /core/includes/classes/Routage.class.php
Modifié /core/includes/fonctions/common.php
Modifié /core/includes/fonctions/zk.php
Modifié /core/includes/fonctions/zk2.php
Modifié /docs/install.sql
Modifié /docs/MISE A JOUR.txt
Modifié /docs/VERSION.TXT
Ajouté /webroot/images/icons/gray_dot.png
Ajouté /webroot/images/icons/green_dot.png
Voir le détail ci-dessous
app/config/i18n/en_us/general.php
Ajouter avant le "?>" final :
$lang['date.sing.an'] = '1 year';
$lang['date.plur.an'] = '%s years';
$lang['date.sing.mois'] = '1 month';
$lang['date.plur.mois'] = '%s months';
$lang['date.sing.jour'] = '1 day';
$lang['date.plur.jour'] = '%s days';
$lang['date.sing.heure'] = '1 hour';
$lang['date.plur.heure'] = '%s hours';
$lang['date.sing.min'] = '1 minute';
$lang['date.plur.min'] = '%s minutes';
$lang['date.sing.sec'] = '1 second';
$lang['date.plur.sec'] = '%s seconds';
$lang['com.block.online'] = 'Statistics';
$lang['com.block.online.nbconnecte'] = 'Online';
$lang['com.block.online.nbcompouvertes'] = 'Open Comp.';
$lang['com.block.online.nbcompfermees'] = 'Closed Comp.';
$lang['com.block.online.nbjoueurs'] = 'Players';
$lang['com.block.online.nbequipes'] = 'Teams';
$lang['com.block.playersonline'] = 'Players online';
$lang['com.block.playersonline.aucun'] = 'Nobody is online';
$lang['com.block.adminsonline'] = 'Admins online';
$lang['com.block.adminsonline.aucun'] = 'Nobody is online';
app/config/i18n/fr_fr/general.php
Ajouter avant le "?>" final :
$lang['date.sing.an'] = '1 an';
$lang['date.plur.an'] = '%s ans';
$lang['date.sing.mois'] = '1 mois';
$lang['date.plur.mois'] = '%s mois';
$lang['date.sing.jour'] = '1 jour';
$lang['date.plur.jour'] = '%s jours';
$lang['date.sing.heure'] = '1 heure';
$lang['date.plur.heure'] = '%s heures';
$lang['date.sing.min'] = '1 minute';
$lang['date.plur.min'] = '%s minutes';
$lang['date.sing.sec'] = '1 seconde';
$lang['date.plur.sec'] = '%s secondes';
$lang['com.block.online'] = 'Statistiques';
$lang['com.block.online.nbconnecte'] = 'Nombre de connectés';
$lang['com.block.online.nbcompouvertes'] = 'Comp. ouvertes';
$lang['com.block.online.nbcompfermees'] = 'Comp. fermées';
$lang['com.block.online.nbjoueurs'] = 'Nombre de joueurs';
$lang['com.block.online.nbequipes'] = 'Nombre d\'équipes';
$lang['com.block.playersonline'] = 'Joueurs en ligne';
$lang['com.block.playersonline.aucun'] = 'Aucun membre en ligne';
$lang['com.block.adminsonline'] = 'Admins en ligne';
$lang['com.block.adminsonline.aucun'] = 'Aucun admin en ligne';
app/layout/templates/tableaux_poules.tpl
Ligne 10 :
Remplacer :
if ( $UN_TNS['TNS_TYPE'] == 3 || $UN_TNS['TNS_TYPE'] == 4 ){
par :
if ($UN_TNS['TNS_TYPE'] == 2 || $UN_TNS['TNS_TYPE'] == 3 || $UN_TNS['TNS_TYPE'] == 4 ){
Ligne 37 :
Remplacer :
if ( ($UN_TNS['TNS_TYPE'] == 3 || $UN_TNS['TNS_TYPE'] == 4) && ($MAT['MAT_TOUR']-1) == ($nb_tour/2)){
par :
if ( ($UN_TNS['TNS_TYPE'] == 2 || $UN_TNS['TNS_TYPE'] == 3 || $UN_TNS['TNS_TYPE'] == 4) && ($MAT['MAT_TOUR']-1) == ($nb_tour/2)){
app/layout/theme_bf/css/style.css
Ligne 1241
Remplacer :
table#profil {
text-align: left !important;
}
table#profil tr td {
border-bottom: 1px dashed #aaaaaa;
height: 30px;
line-height: 30px;
}
table#profil tr td.g {
text-align: left;
}
table#profil tr td.caption {
font-size: 1.45em;
font-weight: bold;
border-bottom: 1px solid black;
text-align: left !important;
}
table#profil tr td.caption a {
border-bottom: 0 none;
}
table#profil tr td.caption a img {
}
table#profil tr td.caption small {
font-size: 0.6em !important;
color: #4a4a4a;
}
par
table.profil {
text-align: left !important;
}
table.profil tr td {
border-bottom: 1px dashed #aaaaaa;
height: 30px;
line-height: 30px;
}
table.profil tr td.g {
text-align: left;
}
table.profil tr td.caption {
font-size: 1.45em;
font-weight: bold;
border-bottom: 1px solid black;
text-align: left !important;
}
table.profil tr td.caption a {
border-bottom: 0 none;
}
table.profil tr td.caption a img {
}
table.profil tr td.caption small {
font-size: 0.6em !important;
color: #4a4a4a;
}
Ligne 1585
Remplacer :
#mes-messages .message {
font-weight: bold;
}
par
#mes-messages .message {
font-weight: bold;
overflow: hidden;
}
Ajouter en fin de fichier :
.profil ul {
list-style: none;
}
img.activite {
vertical-align: sub;
}
.block_online {
padding: 5px 10px;
}
.block_players_online {
padding: 5px;
}
.block_players_online ul {
list-style: none;
}
#murs {
margin-top: 10px;
}
#murs, #murs div {
padding: 0px !important;
}
#murs .annonce {
text-align: center;
}
#murs form {
border: 1px solid #ddd;
margin: 10px auto;
width: 100%;
background-color: white;
height: 80px;
margin-bottom: 30px;
}
#murs textarea {
height: 50px;
width: 100%;
font-size: 1.15em;
border: 1px solid #efefef;
resize:none;
}
#murs form div.action_bar {
background: #708090;
height: 25px;
text-align: right;
vertical-align: middle;
}
#murs form div input {
margin-top: 3px;
margin-right: 3px;
}
#murs #char_count {
width: 25px;
background: none;
border: 0px none;
color: #fff;
}
#murs .murs-avatar {
float: left;
}
#murs .murs-avatar, #murs .mur-message-avatar img {
width: 50px;
vertical-align: top;
border: 1px solid #ddd;
margin: 2px;
}
#murs .mur-message {
border-bottom: 1px solid #ddd;
width: 100%;
margin: 0px auto 20px auto;
padding-bottom: 10px !important;
}
#murs .mur-message-avatar a {
border: 0px none;
}
#murs .mur-message-avatar {
float: left;
}
#murs .mur-message-histoire {
padding-left: 55px !important;
}
#murs .mur-message-histoire p {
padding: 2px;
}
#murs #form_mur .mur-message-avatar,
#murs #form_mur .mur-message-histoire {
height: 55px;
}
#murs .mur-message-contenu p {
padding: 5px;
}
#murs .mur-message-contenu {
padding-left: 65px !important;
}
#roster span.joueur {
display: block
}
#roster a.joueur:hover {
background: none !important;
}
#roster a.joueur {
display: inline !important;
}
.messages-suivants {
border: 1px solid #bbb !important;
background: #708090;
padding: 5px 10px;
display: block;
margin: 5px auto;
width: 250px;
text-align: center;
color: #fff !important;
}
div#tabs div.matchmaking {
padding: 0px;
margin-top: 10px;
}
#form-matchmaking {
width: 300px;
float: right;
border: 1px solid #ddd;
background: white;
margin-top: 40px !important;
}
#form-matchmaking label {
border-bottom: 0px none;
padding: 0px;
}
#form-matchmaking h2 {
background: none;
text-align: center;
}
#form-matchmaking input {
width: 70px;
text-align: center;
margin-bottom: 5px;
}
#form-matchmaking input[name='MAK_DESCRIPTION'] {
width: 250px;
}
#form-matchmaking form label span {
float: none !important;
width: auto !important;
display: inline !important;
}
.matchmaking-list h3 {
margin-left: 20px;
}
.matchmaking-list ul {
padding: 5px 0px 20px 40px;
list-style: none;
}
.matchmaking-list li {
height: 25px;
}
.matchmaking-list form,.matchmaking-list input {
display: inline !important;
padding: 0px;
margin: 0px;
}
.matchmaking-list abbr {
border-bottom: 1px dotted red;
margin: 0 5px;
cursor: help;
}
.button-style {
-webkit-transition-property: -webkit-box-shadow, background;
-webkit-transition-duration: 0.25s;
padding: 1px;
border-bottom: 0px;
border-left: 0px;
border-right: 0px;
-moz-box-shadow: 0px 0px 2px #000;
-webkit-box-shadow: 0px 0px 2px #000;
margin-bottom: 0px;
background: #003399;
width: 60px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#003399), to(#0066cc));
background: -moz-linear-gradient(19% 75% 90deg,#0066cc, #003399);
color: #fff;
text-transform: uppercase;
text-shadow: #000 1px 1px;
border-top: 1px solid #0066cc;
margin-top: 0px;
font-size: 0.7em;
}
.button-style:hover {
-webkit-box-shadow: 0px 0px 2px #000;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0066cc), to(#003399));
background: -moz-linear-gradient(19% 75% 90deg,#003399, #0066cc);
}
.button-style-red {
background: #770000;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#770000), to(#990000));
background: -moz-linear-gradient(19% 75% 90deg,#990000, #770000);
border-top: 1px solid #990000;
}
.button-style-red:hover {
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#990000), to(#770000));
background: -moz-linear-gradient(19% 75% 90deg,#770000, #990000);
}
.profil-joueurs-equipes ul {
list-style: none;
padding: 0px 0px 10px 20px;
}
.listeMatchsProfil {
width: auto !important;
float: left !important;
margin: 0px 20px 10px 20px;
}
.listeMatchsProfil th {
padding: 10px 0px;
}
.listeMatchsProfil .g, .listeMatchsProfil .d {
padding: 4px 10px !important;
}