Forum PHPBoost
• Support des modules » Calendrier » [Réglé] Affichage calendrier mk time
Bonjour,
Il y a une erreur connue ici lors du clic sur "calendrier" : mktime() [function.mktime]: The is_dst parameter is deprecated
Sauf que même en passant sur "Off" le "display_errors" dans Php.ini, rien ne change.
Si quelqu'un connait une solution...
Merci
Vincent
Il y a une erreur connue ici lors du clic sur "calendrier" : mktime() [function.mktime]: The is_dst parameter is deprecated
Sauf que même en passant sur "Off" le "display_errors" dans Php.ini, rien ne change.
Si quelqu'un connait une solution...
Merci
Vincent
Voilà la correction du calendar.php
En effet tu utilise une version supérieur a 5.3.0 et un des parametres et déprécié
Code PHP :
Edité par ReidLos Le 09/05/10 à 16h32
En effet tu utilise une version supérieur a 5.3.0 et un des parametres et déprécié
Code PHP :
<?php /*################################################## * calendar.php * ------------------- * begin : January 29, 2006 * copyright : (C) 2005 Viarre Régis * email : crowkait@phpboost.com * * ################################################### * * 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. * ###################################################*/ require_once('../kernel/begin.php'); require_once('../calendar/calendar_begin.php'); require_once('../kernel/header.php'); $time = gmdate_format('Ymd'); $year = substr($time, 0, 4); $month = substr($time, 4, 2); $day = substr($time, 6, 2); $year = retrieve(GET, 'y', $year); $year = empty($year) ? 0 : $year; $month = retrieve(GET, 'm', $month); $month = empty($month) ? 0 : $month; $day = retrieve(GET, 'd', $day); $day = empty($day) ? 0 : $day; $bissextile = (date("L", mktime(0, 0, 0, 1, 1, $year)) == 1) ? 29 : 28; $get_event = retrieve(GET, 'e', ''); $id = retrieve(GET, 'id', 0); $add = retrieve(GET, 'add', false); $delete = retrieve(GET, 'delete', false); $edit = retrieve(GET, 'edit', false); if ($delete) $Session->csrf_get_protect(); $checkdate = checkdate($month, $day, $year); //Validité de la date entrée. if ($checkdate === true && empty($id) && !$add) { //Redirection vers l'évenement suivant/précédent. if ($get_event == 'up') { $event_up = $Sql->query("SELECT timestamp FROM " . PREFIX . "calendar WHERE timestamp > '" . mktime(23, 59, 59, $month, $day, $year) . "' ORDER BY timestamp " . $Sql->limit(0, 1), __LINE__, __FILE__); if (!empty($event_up)) { $time = gmdate_format('Ymd', $event_up); $year = substr($time, 0, 4); $month = substr($time, 4, 2); $day = substr($time, 6, 2); redirect(HOST . DIR . '/calendar/calendar' . url('.php?d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php', '&')); } else redirect(HOST . DIR . '/calendar/calendar' . url('.php?e=fu&d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php?e=fu', '&')); } elseif ($get_event == 'down') { $event_down = $Sql->query("SELECT timestamp FROM " . PREFIX . "calendar WHERE timestamp < '" . mktime(0, 0, 0, $month, $day, $year) . "' ORDER BY timestamp DESC " . $Sql->limit(0, 1), __LINE__, __FILE__); if (!empty($event_down)) { $time = gmdate_format('Ymd', $event_down); $year = substr($time, 0, 4); $month = substr($time, 4, 2); $day = substr($time, 6, 2); redirect(HOST . DIR . '/calendar/calendar' . url('.php?d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php', '&')); } else redirect(HOST . DIR . '/calendar/calendar' . url('.php?e=fd&d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php?e=fd', '&')); } $Template->set_filenames(array( 'calendar'=> 'calendar/calendar.tpl' )); //Gestion erreur. $get_error = retrieve(GET, 'error', ''); switch ($get_error) { case 'invalid_date': $errstr = $LANG['e_invalid_date']; break; case 'incomplete': $errstr = $LANG['e_incomplete']; break; default: $errstr = ''; } if (!empty($errstr)) $Errorh->handler($errstr, E_USER_NOTICE); $array_month = array(31, $bissextile, 31, 30, 31, 30 , 31, 31, 30, 31, 30, 31); $array_l_month = array($LANG['january'], $LANG['february'], $LANG['march'], $LANG['april'], $LANG['may'], $LANG['june'], $LANG['july'], $LANG['august'], $LANG['september'], $LANG['october'], $LANG['november'], $LANG['december']); $month_day = $array_month[$month - 1]; if ($User->check_level($CONFIG_CALENDAR['calendar_auth'])) //Autorisation de poster? $add_event = '<a href="calendar' . url('.php?add=1') . '" title="' . $LANG['add_event'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/add.png" alt="" /></a><br />'; else $add_event = ''; $Template->assign_vars(array( 'C_CALENDAR_DISPLAY' => true, 'ADMIN_CALENDAR' => ($User->check_level(ADMIN_LEVEL)) ? '<a href="' . HOST . DIR . '/calendar/admin_calendar.php"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/edit.png" alt ="" style="vertical-align:middle;" /></a>' : '', 'ADD' => $add_event, 'DATE' => $day . ' ' . $array_l_month[$month - 1] . ' ' . $year, 'U_PREVIOUS' => ($month == 1) ? url('.php?d=' . $day . '&m=12&y=' . ($year - 1), '-' . $day . '-12-' . ($year - 1) . '.php') : url('.php?d=1&m=' . ($month - 1) . '&y=' . $year, '-1-' . ($month - 1) . '-' . $year . '.php'), 'U_NEXT' => ($month == 12) ? url('.php?d=' . $day . '&m=1&y=' . ($year + 1), '-' . $day . '-1-' . ($year + 1) . '.php') : url('.php?d=1&m=' . ($month + 1) . '&y=' . $year, '-1-' . ($month + 1) . '-' . $year . '.php'), 'U_PREVIOUS_EVENT' => ( $get_event != 'fd' ) ? '<a href="calendar' . url('.php?e=down&d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php?e=down') . '#act" title="">«</a>' : '', 'U_NEXT_EVENT' => ( $get_event != 'fu') ? '<a href="calendar' . url('.php?e=up&d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php?e=up') . '#act" title="">»</a>' : '', 'L_CALENDAR' => $LANG['calendar'], 'L_ACTION' => $LANG['action'], 'L_EVENTS' => $LANG['events'], 'L_SUBMIT' => $LANG['submit'] )); //Génération des select. for ($i = 1; $i <= 12; $i++) { $selected = ($month == $i) ? 'selected="selected"' : ''; $Template->assign_block_vars('month', array( 'MONTH' => '<option value="' . $i . '" ' . $selected . '>' . $array_l_month[$i - 1] . '</option>' )); } for ($i = 1970; $i <= 2037; $i++) { $selected = ($year == $i) ? 'selected="selected"' : ''; $Template->assign_block_vars('year', array( 'YEAR' => '<option value="' . $i . '" ' . $selected . '>' . $i . '</option>' )); } //Récupération des actions du mois en cours. $result = $Sql->query_while("SELECT timestamp FROM " . PREFIX . "calendar WHERE timestamp BETWEEN '" . mktime(0, 0, 0, $month, 1, $year) . "' AND '" . mktime(23, 59, 59, $month, $month_day, $year) . "' ORDER BY timestamp " . $Sql->limit(0, ($array_month[$month - 1] - 1)), __LINE__, __FILE__); while ($row = $Sql->fetch_assoc($result)) { $day_action = gmdate_format('j', $row['timestamp']); $array_action[$day_action] = true; } $Sql->query_close($result); //Génération des jours du calendrier. $array_l_days = array($LANG['monday'], $LANG['tuesday'], $LANG['wenesday'], $LANG['thursday'], $LANG['friday'], $LANG['saturday'], $LANG['sunday']); foreach ($array_l_days as $l_day) { $Template->assign_block_vars('day', array( 'L_DAY' => '<td class="row3"><span class="text_small">' . $l_day . '</span></td>' )); } //Premier jour du mois. $first_day = @gmdate_format('w', @mktime(1, 0, 0, $month, 1, $year)); if ($first_day == 0) $first_day = 7; //Génération du calendrier. $j = 1; $last_day = ($month_day + $first_day); for ($i = 1; $i <= 42; $i++) { if ($i >= $first_day && $i < $last_day) { $action = $j; if ( !empty($array_action[$j]) ) { $action = '<a href="calendar' . url('.php?d=' . $j . '&m=' . $month . '&y=' . $year, '-' . $j . '-' . $month . '-' . $year . '.php') . '#act">' . $j . '</a>'; $class = 'calendar_event'; } elseif ($day == $j) $class = 'calendar_today'; else $class = 'calendar_other'; $contents = '<td class="' . $class . '">' . $action . '</td>'; $j++; } else $contents = '<td class="calendar_none"> </td>'; $Template->assign_block_vars('calendar', array( 'DAY' => $contents, 'TR' => (($i % 7) == 0 && $i != 42) ? '</tr><tr style="text-align:center;">' : '' )); } //Affichage de l'action pour la période du jour donné. if (!empty($day)) { $java = ''; $result = $Sql->query_while("SELECT cl.id, cl.timestamp, cl.title, cl.contents, cl.user_id, cl.nbr_com, m.login FROM " . PREFIX . "calendar cl LEFT JOIN " . DB_TABLE_MEMBER . " m ON m.user_id=cl.user_id WHERE cl.timestamp BETWEEN '" . mktime(0, 0, 0, $month, $day, $year) . "' AND '" . mktime(23, 59, 59, $month, $day, $year) . "' GROUP BY cl.id", __LINE__, __FILE__); while ($row = $Sql->fetch_assoc($result)) { if ($User->check_level(ADMIN_LEVEL)) { $edit = ' <a href="calendar' . url('.php?edit=1&id=' . $row['id']) . '" title="' . $LANG['edit'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/edit.png" class="valign_middle" /></a>'; $del = ' <a href="calendar' . url('.php?delete=1&id=' . $row['id'] . '&token=' . $Session->get_token()) . '" title="' . $LANG['delete'] . '" onclick="javascript:return Confirm_del();"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/delete.png" class="valign_middle" alt="" /></a>'; $java = '<script type="text/javascript"> <!-- function Confirm_del() { return confirm("' . $LANG['alert_delete_msg'] . '"); } --> </script>'; } else { $edit = ''; $del = ''; $java = ''; } import('content/comments'); $Template->assign_block_vars('action', array( 'DATE' => gmdate_format('date_format', $row['timestamp']), 'TITLE' => $row['title'], 'CONTENTS' => second_parse($row['contents']), 'LOGIN' => '<a class="com" href="../member/member' . url('.php?id=' . $row['user_id'], '-' . $row['user_id'] . '.php') . '">' . $row['login'] . '</a>', 'COM' => Comments::com_display_link($row['nbr_com'], '../calendar/calendar' . url('.php?d=' . $day . '&m=' . $month . '&y=' . $year . '&e=' . $row['id'] . '&com=0', '-' . $day . '-' . $month . '-' . $year . '-' . $row['id'] . '.php?com=0'), $row['id'], 'calendar'), 'EDIT' => $edit, 'DEL' => $del, 'L_ON' => $LANG['on'] )); $check_action = true; } $Sql->query_close($result); if (!isset($check_action)) { $Template->assign_block_vars('action', array( 'TITLE' => ' ', 'LOGIN' => '', 'DATE' => gmdate_format('date_format_short', mktime(0, 0, 0, $month, $day, $year)), 'CONTENTS' => '<p style="text-align:center;">' . $LANG['no_current_action'] . '</p>' )); } $Template->assign_vars(array( 'JAVA' => $java, 'L_ON' => $LANG['on'] )); } //Affichage commentaires. if (isset($_GET['com'])) { $Template->assign_vars(array( 'COMMENTS' => display_comments('calendar', $get_event, url('calendar.php?d=' . $day . '&m=' . $month . '&y=' . $year . '&e=' . $get_event . '&com=%s', 'calendar-' . $day . '-' . $month . '-' . $year . '-' . $get_event . '.php?com=%s')) )); } $Template->pparse('calendar'); } elseif (!empty($id)) { if (!$User->check_level(ADMIN_LEVEL)) //Admins seulement autorisés à editer/supprimer! $Errorh->handler('e_auth', E_USER_REDIRECT); if ($delete) //Suppression simple. { $Sql->query_inject("DELETE FROM " . PREFIX . "calendar WHERE id = '" . $id . "'", __LINE__, __FILE__); //Suppression des commentaires associés. $Sql->query_inject("DELETE FROM " . DB_TABLE_COM . " WHERE idprov = '" . $id . "' AND script = 'calendar'", __LINE__, __FILE__); redirect(HOST . SCRIPT . SID2); } elseif ($edit) { if (!empty($_POST['valid'])) { $contents = retrieve(POST, 'contents', '', TSTRING_PARSE); $title = retrieve(POST, 'title', ''); //Cacul du timestamp à partir de la date envoyé. $date = retrieve(POST, 'date', '', TSTRING_UNCHANGE); $hour = retrieve(POST, 'hour', 0); $min = retrieve(POST, 'min', 0); $timestamp = strtotimestamp($date, $LANG['date_format_short']); if ($timestamp > 0) $timestamp += ($hour*3600) + ($min*60); else $timestamp = 0; if ($timestamp > 0 && ($hour >= 0 && $hour <= 23) && ($min >= 0 && $min <= 59)) //Validité de la date entrée. { if (!empty($title) && !empty($contents)) //succès { $Sql->query_inject("UPDATE " . PREFIX . "calendar SET title = '" . $title . "', contents = '" . $contents . "', timestamp = '" . $timestamp . "' WHERE id = '" . $id . "'", __LINE__, __FILE__); $day = gmdate_format('d', $timestamp); $month = gmdate_format('m', $timestamp); $year = gmdate_format('Y', $timestamp); redirect(HOST . DIR . '/calendar/calendar' . url('.php?d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php', '&') . '#act'); } else redirect(HOST . SCRIPT . url('?edit=1&error=incomplete', '', '&') . '#errorh'); } else redirect(HOST . SCRIPT . url('?add=1&error=invalid_date', '', '&') . '#errorh'); } else //Formulaire d'édition { $Template->set_filenames(array( 'calendar'=> 'calendar/calendar.tpl' )); //Récupération des infos $row = $Sql->query_array(PREFIX . 'calendar', 'timestamp', 'title', 'contents', "WHERE id = '" . $id . "'", __LINE__, __FILE__); $Template->assign_vars(array( 'C_CALENDAR_FORM' => true, 'KERNEL_EDITOR' => display_editor(), 'UPDATE' => url('?edit=1&id=' . $id . '&token=' . $Session->get_token()), 'DATE' => gmdate_format('date_format_short', $row['timestamp']), 'DAY_DATE' => !empty($row['timestamp']) ? gmdate_format('d', $row['timestamp']) : '', 'MONTH_DATE' => !empty($row['timestamp']) ? gmdate_format('m', $row['timestamp']) : '', 'YEAR_DATE' => !empty($row['timestamp']) ? gmdate_format('Y', $row['timestamp']) : '', 'HOUR' => !empty($row['timestamp']) ? gmdate_format('h', $row['timestamp']) : '', 'MIN' => !empty($row['timestamp']) ? gmdate_format('i', $row['timestamp']) : '', 'CONTENTS' => unparse($row['contents']), 'TITLE' => $row['title'], 'L_REQUIRE_TITLE' => $LANG['require_title'], 'L_REQUIRE_TEXT' => $LANG['require_text'], 'L_EDIT_EVENT' => $LANG['edit_event'], 'L_DATE_CALENDAR' => $LANG['date_calendar'], 'L_ON' => $LANG['on'], 'L_AT' => stripslashes($LANG['at']), 'L_TITLE' => $LANG['title'], 'L_ACTION' => $LANG['action'], 'L_SUBMIT' => $LANG['update'], 'L_RESET' => $LANG['reset'] )); //Gestion erreur. $get_error = retrieve(GET, 'error', ''); switch ($get_error) { case 'invalid_date': $errstr = $LANG['e_invalid_date']; break; case 'incomplete': $errstr = $LANG['e_incomplete']; break; default: $errstr = ''; } if (!empty($errstr)) $Errorh->handler($errstr, E_USER_NOTICE); $Template->pparse('calendar'); } } else redirect(HOST . SCRIPT . SID2); } elseif ($add) //Ajout d'un évenement { if (!$User->check_level($CONFIG_CALENDAR['calendar_auth'])) //Autorisation de poster? $Errorh->handler('e_auth', E_USER_REDIRECT); if (!empty($_POST['valid'])) //Enregistrement { $contents = retrieve(POST, 'contents', '', TSTRING_PARSE); $title = retrieve(POST, 'title', ''); //Cacul du timestamp à partir de la date envoyé. $date = retrieve(POST, 'date', '', TSTRING_UNCHANGE); $hour = retrieve(POST, 'hour', 0); $min = retrieve(POST, 'min', 0); $timestamp = strtotimestamp($date, $LANG['date_format_short']); if ($timestamp > 0) $timestamp += ($hour*3600) + ($min*60); else $timestamp = 0; if ($timestamp > 0 && ($hour >= 0 && $hour <= 23) && ($min >= 0 && $min <= 59)) //Validité de la date entrée. { if (!empty($title) && !empty($contents)) //succès { $Sql->query_inject("INSERT INTO " . PREFIX . "calendar (timestamp,title,contents,user_id,nbr_com) VALUES ('" . $timestamp . "', '" . $title . "', '" . $contents . "', '" . $User->get_attribute('user_id') . "', 0)", __LINE__, __FILE__); $day = gmdate_format('d', $timestamp); $month = gmdate_format('m', $timestamp); $year = gmdate_format('Y', $timestamp); redirect(HOST . DIR . '/calendar/calendar' . url('.php?d=' . $day . '&m=' . $month . '&y=' . $year, '-' . $day . '-' . $month . '-' . $year . '.php', '&') . '#act'); } else //Champs incomplet! redirect(HOST . SCRIPT . url('?add=1&error=incomplete', '', '&') . '#errorh'); } else redirect(HOST . SCRIPT . url('?add=1&error=invalid_date', '', '&') . '#errorh'); } else { $Template->set_filenames(array( 'calendar'=> 'calendar/calendar.tpl' )); $time = gmdate_format('YmdHi'); $year = substr($time, 0, 4); $month = substr($time, 4, 2); $day = substr($time, 6, 2); $hour = substr($time, 8, 2); $min = substr($time, 10, 2); $array_l_month = array($LANG['january'], $LANG['february'], $LANG['march'], $LANG['april'], $LANG['may'], $LANG['june'], $LANG['july'], $LANG['august'], $LANG['september'], $LANG['october'], $LANG['november'], $LANG['december']); $Template->assign_vars(array( 'C_CALENDAR_FORM' => true, 'KERNEL_EDITOR' => display_editor(), 'UPDATE' => url('?add=1&token=' . $Session->get_token()), 'DATE' => gmdate_format('date_format_short'), 'DAY_DATE' => $day, 'MONTH_DATE' => $month, 'YEAR_DATE' => $year, 'HOUR' => $hour, 'MIN' => $min, 'CONTENTS' => '', 'TITLE' => '', 'L_REQUIRE_TITLE' => $LANG['require_title'], 'L_REQUIRE_TEXT' => $LANG['require_text'], 'L_EDIT_EVENT' => $LANG['add_event'], 'L_DATE_CALENDAR' => $LANG['date_calendar'], 'L_ON' => $LANG['on'], 'L_AT' => stripslashes($LANG['at']), 'L_TITLE' => $LANG['title'], 'L_ACTION' => $LANG['action'], 'L_SUBMIT' => $LANG['submit'], 'L_RESET' => $LANG['reset'] )); //Gestion erreur. $get_error = retrieve(GET, 'error', ''); switch ($get_error) { case 'invalid_date': $errstr = $LANG['e_invalid_date']; break; case 'incomplete': $errstr = $LANG['e_incomplete']; break; default: $errstr = ''; } if (!empty($errstr)) $Errorh->handler($errstr, E_USER_NOTICE); $Template->pparse('calendar'); } } else redirect(HOST . SCRIPT . url('?error=invalid_date', '', '&') . '#errorh'); require_once('../kernel/footer.php'); ?>
Edité par ReidLos Le 09/05/10 à 16h32
Redoutablement efficace :-)
Merci !
Vincent
Merci !
Vincent
Merci pour le correctif
Merci pour cette correction
Merci à toi mon calendrier marche.
Petite question pourquoi le correctif n'est pas mis dans le fichier en téléchargement.
Bonne soirée
Petite question pourquoi le correctif n'est pas mis dans le fichier en téléchargement.
Bonne soirée
Effectivement il faudrait.
Je vais apporter les corrections
Je vais apporter les corrections
Merci pour les autres ;-)
ReidLos:
Kevin, cette modif a été reportée sur la V 4.0 ?
Effectivement il faudrait.
Je vais apporter les corrections
Je vais apporter les corrections

Kevin, cette modif a été reportée sur la V 4.0 ?
____________________
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
Oui depuis un bon moment.
• Support des modules » Calendrier » [Réglé] Affichage calendrier mk time
2 Utilisateurs en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 2 Visiteurs
Utilisateurs en ligne: Aucun membre connecté
Utilisateurs en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie





PHPBoost

Support
Téléchargements
Développement
Communauté















