diff -urN cahier-de-prepa4.0.0/admin/docs.php cahier-de-prepa4.0.1/admin/docs.php --- cahier-de-prepa4.0.0/admin/docs.php 2014-08-27 17:51:49.987251818 +0200 +++ cahier-de-prepa4.0.1/admin/docs.php 2014-08-30 23:27:51.512191421 +0200 @@ -207,7 +207,7 @@ if ( $nom != $doc['nom'] ) { // real_escape_string seulement pour la requête SQL if ( requete('docs','UPDATE docs SET nom = \''.$mysqli->real_escape_string($nom).'\', nom_nat = \''.zpad($mysqli->real_escape_string($nom))."' WHERE id = $id") ) { - exec('mv ../documents/'.escapeshellarg("${doc['lien']}/${doc['nom']}${doc['ext']}").' ..documents/'.escapeshellarg("${doc['lien']}/$nom${doc['ext']}")); + exec('mv ../documents/'.escapeshellarg("${doc['lien']}/${doc['nom']}${doc['ext']}").' ../documents/'.escapeshellarg("${doc['lien']}/$nom${doc['ext']}")); $message = " Le nom du document $nom a bien été modifié."; $doc['nom'] = $nom; } diff -urN cahier-de-prepa4.0.0/admin/mail.php cahier-de-prepa4.0.1/admin/mail.php --- cahier-de-prepa4.0.0/admin/mail.php 2014-08-26 13:59:36.444041132 +0200 +++ cahier-de-prepa4.0.1/admin/mail.php 2014-08-31 14:47:13.233956603 +0200 @@ -51,8 +51,13 @@ $dests .= $utilisateurs[$i]['nom_complet'].' <'.$utilisateurs[$i]['mail'].'>, '; unset($utilisateurs[$i]); } - $dests = substr($dests,0,-2); - $bcc = ( $u['mailcopy'] ) ? "Bcc: ${u['mail']}, " : 'Bcc: '; + if ( strlen($dests) ) { + $dests = substr($dests,0,-2); + $bcc = ( $u['mailcopy'] ) ? "Bcc: $exp <${u['mail']}>, " : 'Bcc: '; + else { + $dests = "$exp <${u['mail']}>"; + $bcc = 'Bcc: '; + } if ( isset($_REQUEST['dest_bcc']) ) foreach ( $_REQUEST['dest_bcc'] as $i ) if ( isset($utilisateurs[$i]) ) { diff -urN cahier-de-prepa4.0.0/admin/notes.php cahier-de-prepa4.0.1/admin/notes.php --- cahier-de-prepa4.0.0/admin/notes.php 2014-08-26 16:10:28.300292393 +0200 +++ cahier-de-prepa4.0.1/admin/notes.php 2014-08-31 09:25:28.881338862 +0200 @@ -100,7 +100,7 @@
Le tableau qui s'affichera est récupérable dans un tableur (Excel, Calc...) par simple copié-collé. Répondez « automatique » lorsque votre tableur vous demandera comment vous souhaitez réaliser l'importation.
Le caractère « a » signifie que l'élève a été marqué absent par le colleur.
Vous pouvez ajouter ou modifier des notes. Attention, un élève ne peut avoir plus d'une note dans la même matière une même semaine : si vous ajouter une telle note, elle ne sera pas validée.
+Vous pouvez ajouter ou modifier des notes. Attention, un élève ne peut avoir plus d'une note dans la même matière une même semaine : si vous ajoutez une telle note, elle ne sera pas validée.
Pour ajouter des notes sur une nouvelle semaine, vous devez obligatoirement sélectionner une semaine où vous n'avez pas encore mis de note dans cette matière. Il n'y a pas de limite de nombre d'élèves collés par semaine (toutes les notes d'une semaine sont à entrer en une seule fois).
Les notes déjà mises peuvent être modifiées : soit déplacées à une autre semaine, soit modifiées sur place, soit les deux simultanément.
Il est aussi possible de supprimer l'ensemble des notes d'une semaine.
diff -urN cahier-de-prepa4.0.0/admin/notes-saisie.php cahier-de-prepa4.0.1/admin/notes-saisie.php --- cahier-de-prepa4.0.0/admin/notes-saisie.php 2014-08-26 16:07:50.616287347 +0200 +++ cahier-de-prepa4.0.1/admin/notes-saisie.php 2014-08-30 23:15:13.864167176 +0200 @@ -10,6 +10,7 @@ // Récupération des élèves $resultat = $mysqli->query('SELECT id, CONCAT(nom,\' \',prenom) AS nom FROM utilisateurs WHERE autorisation = 1 ORDER BY nom'); +$eleves = array(); while ( $r = $resultat->fetch_assoc() ) { $eid[] = $r['id']; $eleves[] = $r; @@ -47,12 +48,12 @@ // Écriture des nouvelles notes $requete = array(); $modif = array(); - foreach ( $_REQUEST['notes'] as $eleve => $note ) { - if ( in_array($eleve,$eid) && ( is_numeric($note) || ( $note == 'a' ) ) ) { - $requete[] = "($s,$eleve,${_SESSION['id']},$mid,'$note')"; - $modif[] = $eleves[array_search($eleve,$eid)]['nom']; - } - } + if ( isset($_REQUEST['notes']) ) + foreach ( $_REQUEST['notes'] as $eleve => $note ) + if ( in_array($eleve,$eid) && ( is_numeric($note) || ( $note == 'a' ) ) ) { + $requete[] = "($s,$eleve,${_SESSION['id']},$mid,'$note')"; + $modif[] = $eleves[array_search($eleve,$eid)]['nom']; + } // Exécution et message if ( empty($requete) ) { @@ -87,7 +88,7 @@ } } else - $message = 'Les notes de la semaine du '.format_date($sid[$id]['d']).' n\'ont pas pu être supprimées. Erreur MySQL n°'.$mysqli->errno.', «'.$mysqli->error.'».'; + $message = 'Les notes de la semaine du '.format_date($sid[$s]['d']).' n\'ont pas pu être ajoutées. Erreur MySQL n°'.$mysqli->errno.', «'.$mysqli->error.'».'; } } diff -urN cahier-de-prepa4.0.0/admin/pages.php cahier-de-prepa4.0.1/admin/pages.php --- cahier-de-prepa4.0.0/admin/pages.php 2014-08-28 10:46:42.561200388 +0200 +++ cahier-de-prepa4.0.1/admin/pages.php 2014-08-31 09:25:03.513338050 +0200 @@ -199,7 +199,7 @@ if ( requete('infos',"UPDATE infos SET cache = 0 WHERE id = $id") ) { $message = 'L\'information a bien été diffusée, elle apparaît désormais sur la partie publique.'; // Ajout d'information récente - $titre = ( strlen($r['titre']) ) ? $mysqli->real_escape_string($r['titre']) : 'Nouvelle information'; + $titre_recent = ( strlen($r['titre']) ) ? $mysqli->real_escape_string($r['titre']) : 'Nouvelle information'; recent($mysqli,1,$id," $titre_recent",$lien_recent,$mysqli->real_escape_string($r['texte'])); } else diff -urN cahier-de-prepa4.0.0/CHANGELOG.php cahier-de-prepa4.0.1/CHANGELOG.php --- cahier-de-prepa4.0.0/CHANGELOG.php 2014-08-28 01:25:17.108122449 +0200 +++ cahier-de-prepa4.0.1/CHANGELOG.php 2014-08-31 10:56:16.713513193 +0200 @@ -1,4 +1,4 @@ -Version actuelle : 4.0.0 (28/08/14) +Version actuelle : 4.0.1 (31/08/14) =================== Changements : 1.0 31/08/11 Première version @@ -126,6 +126,7 @@ * Simplification du fichier de configuration * Simplification de l'installation * Menu automatiquement minimisé s'il ne rentre pas dans la fenêtre +4.0.1 31/08/14 Correction de divers bugs et fautes dans l'aide =================== Todo : diff -urN cahier-de-prepa4.0.0/css/style.css cahier-de-prepa4.0.1/css/style.css --- cahier-de-prepa4.0.0/css/style.css 2014-08-27 18:25:54.703317249 +0200 +++ cahier-de-prepa4.0.1/css/style.css 2014-08-28 16:06:32.765814477 +0200 @@ -19,7 +19,7 @@ #colonne { width: 280px; float: left; margin: -1em 30px 3em; } #menu { padding: 1em 20px 0.7em; } #recent { margin-top: 2em; padding: 1em 20px; } -#contenu { position: relative; margin: 0 30px 4em 340px; padding: 0 20px; } +#contenu { position: relative; margin: 0 30px 0 340px; padding: 0 20px 3em; } #bas { font-size: 0.8em; text-align: center; width: 100%; position: fixed; left: 0; bottom: 0; height: 3em; padding: 0.8em 0 0 0; clear: both; } /* Styles particuliers */ @@ -127,5 +127,3 @@ #preview > p { font-size: 0.8em; text-align: center; width: 100%; position: absolute; left: 0; bottom: 0; margin: -3em 0 0; padding: 1em 0; } /* Pour certaines versions de webkit : pas de input seul, sinon le dépliage fonctionne partiellement */ p.transparent { margin: 0; padding: 0; } - - diff -urN cahier-de-prepa4.0.0/debut.php cahier-de-prepa4.0.1/debut.php --- cahier-de-prepa4.0.0/debut.php 2014-08-27 17:47:27.715243425 +0200 +++ cahier-de-prepa4.0.1/debut.php 2014-08-28 18:18:39.710068140 +0200 @@ -39,7 +39,7 @@ } // Mode https obligatoire si connecté -if ( $autorisation && $https && ( $_SERVER['HTTPS'] != 'on' ) ) { +if ( $autorisation && $https && ( !isset($_SERVER['HTTPS']) || ( $_SERVER['HTTPS'] != 'on' ) ) ) { header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); exit(); } diff -urN cahier-de-prepa4.0.0/def_sql.php cahier-de-prepa4.0.1/def_sql.php --- cahier-de-prepa4.0.0/def_sql.php 2014-08-28 12:35:05.745408491 +0200 +++ cahier-de-prepa4.0.1/def_sql.php 2014-08-30 23:06:29.152150386 +0200 @@ -182,7 +182,7 @@ ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE notes ( - `id` smallint(5) UNSIGNED NOT NULL PRIMARY KEY, + `id` smallint(5) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, `semaine` tinyint(2) unsigned NOT NULL, `eleve` tinyint(2) unsigned NOT NULL, `colleur` tinyint(2) unsigned NOT NULL,