diff --git a/README.md b/README.md
index 227ab88..b388ad1 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ opensondage_ynh
OpenSondage for YunoHost
OpenSondage is used to poll people invite for a meeting.
-
+https://git.framasoft.org/framasoft/framadate/tree/514369387bc27d8ad7e831d2e1fb34ba2b4c9c41
This package contains a custom version between https://github.com/framasoft/OpenSondage and https://github.com/leblanc-simon/OpenSondage . Indeed, the version from framasoft contains legal mention about framasoft, but is more advanced.
diff --git a/conf/constants.php.template b/conf/constants.php.template
new file mode 100644
index 0000000..f488340
--- /dev/null
+++ b/conf/constants.php.template
@@ -0,0 +1,100 @@
+=5.6
+$ALLOWED_LANGUAGES = [
+ 'fr_FR' => 'Français',
+ 'en_GB' => 'English',
+ 'es_ES' => 'Español',
+ 'de_DE' => 'Deutsch',
+];
+
+// Path to logo
+const LOGOBANDEAU = '';
+
+// Path to logo in PDF export
+const LOGOLETTRE = '';
+
+// Nom et emplacement du fichier image contenant le titre
+const IMAGE_TITRE = './images/logo.png';
+
+// Clean URLs, boolean
+const URL_PROPRE = false;
+
+// Use REMOTE_USER data provided by web server
+const USE_REMOTE_USER = false;
+
+const COMMENT_EMPTY = 0x0000000001;
+const COMMENT_USER_EMPTY = 0x0000000010;
+const COMMENT_INSERT_FAILED = 0x0000000100;
+const NAME_EMPTY = 0x0000001000;
+const NAME_TAKEN = 0x0000010000;
+const NO_POLL = 0x0000100000;
+const NO_POLL_ID = 0x0001000000;
+const INVALID_EMAIL = 0x0010000000;
+const TITLE_EMPTY = 0x0100000000;
+const INVALID_DATE = 0x1000000000;
+
+// Config
+$config = [
+ /* general config */
+ 'use_smtp' => true, // use email for polls creation/modification/responses notification
+ /* home */
+ 'show_what_is_that' => true, // display "how to use" section
+ 'show_the_software' => true, // display technical information about the software
+ 'show_cultivate_your_garden' => false, // display "developpement and administration" information
+ /* choix_autre.php / choix_date.php */
+ 'default_poll_duration' => 180, // default values for the new poll duration (number of days).
+ /* choix_autre.php */
+ 'user_can_add_img_or_link' => true, // user can add link or URL when creating his poll.
+];
+
diff --git a/conf/variables.php.template b/conf/variables.php.template
deleted file mode 100644
index 543da5f..0000000
--- a/conf/variables.php.template
+++ /dev/null
@@ -1,105 +0,0 @@
-';
-
-// Nom et emplacement du logo de la lettre générée en PDF
-const LOGOLETTRE = '';
-
-// Nom et emplacement du fichier image contenant le titre
-//const IMAGE_TITRE', '';
-const IMAGE_TITRE = './images/logo.png';
-
-// Activation des URL propre (true pour activer, false sinon)
-const URL_PROPRE = false;
-
-// Activation de Google Analytics (false si inactif, l'identifiant sinon)
-const GOOGLE_ANALYTICS_ID = false;
-
-// Utilisation de l'identité (REMOTE_USER) fournie par le serveur web
-const USE_REMOTE_USER = false;
-
-if (@file_exists('variables.local.php')) {
- include('variables.local.php');
-}
-
-// Studs version
-const STUDS_VERSION = 0.7;
-
-// Do not edit the following
-$ALLOWED_LANGUAGES = array('fr_FR' => 'french',
- 'en_GB' => 'english',
- 'es_ES' => 'spanish',
- 'de_DE' => 'german' );
-
diff --git a/manifest.json b/manifest.json
index 73f5c3e..376af3e 100644
--- a/manifest.json
+++ b/manifest.json
@@ -5,6 +5,9 @@
"en": "OpenSondage is used to poll people invite for a meeting.",
"fr": "OpenSondage sert à faire des sondages sans authentification pour trouver une date de réunion qui convienne à toutes les personnes concernées."
},
+ "categories": [
+ "poll"
+ ],
"license": "CeCILL-B",
"developer": {
"name": "zamentur",
diff --git a/scripts/install b/scripts/install
old mode 100755
new mode 100644
index abde809..3c912f8
--- a/scripts/install
+++ b/scripts/install
@@ -39,26 +39,24 @@ sudo yunohost app setting opensondage mysqlpwd -v $db_pwd
final_path=/var/www/opensondage
sudo mkdir -p $final_path
sudo cp -a ../sources/* $final_path
-sudo cp ../conf/variables.php.template $final_path/variables.php
+sudo cp ../conf/constants.php.template $final_path/app/inc/constants.php
# Change variables in OpenSondage configuration
-sudo sed -i "s/yunouser/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunopass/$db_pwd/g" $final_path/variables.php
-sudo sed -i "s/yunobase/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunoadmin/$admin/g" $final_path/variables.php
-sudo sed -i "s/I18NTOCHANGE/$language/g" $final_path/variables.php
-sudo sed -i "s@yunourl@$domain$path@g" $final_path/variables.php
-sudo sed -i "s@yunodomain@$domain@g" $final_path/variables.php
-sudo sed -i "s@yunoinfolegal@$legal@g" $final_path/variables.php
+sudo sed -i "s/yunouser/$db_user/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunopass/$db_pwd/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunobase/$db_user/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunoadmin/$admin/g" $final_path/app/inc/constants.php
+sudo sed -i "s/I18NTOCHANGE/$language/g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunourl@$domain$path@g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunodomain@$domain@g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunoinfolegal@$legal@g" $final_path/app/inc/constants.php
# Create log file
touch $final_path/admin/logs_studs.txt
chmod 700 $final_path/admin/logs_studs.txt
-# Set permissions to roundcube directory
+# Set permissions
sudo chown -R www-data: $final_path
-
-
# Db installation
mysql -u $db_user -p$db_pwd $db_user < $final_path/install.mysql.sql
diff --git a/scripts/remove b/scripts/remove
old mode 100755
new mode 100644
diff --git a/scripts/upgrade b/scripts/upgrade
index dba092d..ac821c4 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -12,23 +12,10 @@ root_pwd=$(sudo cat /etc/yunohost/mysql)
db_name=opensondage
-sudo cp ../conf/variables.php.template $final_path/variables.php
-
-# Change variables in OpenSondage configuration
-sudo sed -i "s/yunouser/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunopass/$db_pwd/g" $final_path/variables.php
-sudo sed -i "s/yunobase/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunoadmin/$admin/g" $final_path/variables.php
-sudo sed -i "s/I18NTOCHANGE/$language/g" $final_path/variables.php
-sudo sed -i "s@yunourl@$domain$path@g" $final_path/variables.php
-sudo sed -i "s@yunodomain@$domain@g" $final_path/variables.php
-sudo sed -i "s@yunoinfolegal@$legal@g" $final_path/variables.php
-
-
if [[ "$language" = "" ]];
then
- language=$(sudo grep LANGUE /var/www/opensondage/variables.php | cut -d"'" -f4)
+ language=$(sudo grep LANGUE /var/www/opensondage/variables.php | grep -Po "'.*?'" | cut -d"'" -f2)
fi
@@ -45,26 +32,27 @@ db_pwd=$(sudo yunohost app setting opensondage mysqlpwd)
db_user=opensondage
### Execute potential SQL statements here
-
# Copy files to the right place
final_path=/var/www/opensondage
+sudo cp $final_path/admin/logs_studs.txt ../conf/
+sudo rm -Rf $final_path
sudo mkdir -p $final_path
sudo cp -a ../sources/* $final_path
-sudo cp ../conf/variables.php.template $final_path/variables.php
+sudo cp ../conf/constants.php.template $final_path/app/inc/constants.php
# Change variables in OpenSondage configuration
-sudo sed -i "s/yunouser/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunopass/$db_pwd/g" $final_path/variables.php
-sudo sed -i "s/yunobase/$db_user/g" $final_path/variables.php
-sudo sed -i "s/yunoadmin/$admin/g" $final_path/variables.php
-sudo sed -i "s/I18NTOCHANGE/$language/g" $final_path/variables.php
-sudo sed -i "s@yunourl@$domain$path@g" $final_path/variables.php
-sudo sed -i "s@yunodomain@$domain@g" $final_path/variables.php
-sudo sed -i "s°yunoinfolegal°$legal°g" $final_path/variables.php
+sudo sed -i "s/yunouser/$db_user/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunopass/$db_pwd/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunobase/$db_user/g" $final_path/app/inc/constants.php
+sudo sed -i "s/yunoadmin/$admin/g" $final_path/app/inc/constants.php
+sudo sed -i "s/I18NTOCHANGE/$language/g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunourl@$domain$path@g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunodomain@$domain@g" $final_path/app/inc/constants.php
+sudo sed -i "s@yunoinfolegal@$legal@g" $final_path/app/inc/constants.php
# Create log file
-touch admin/logs_studs.txt
-chmod 700 admin/logs_studs.txt
+sudo cp ../conf/logs_studs.txt $final_path/admin/
+chmod 700 $final_path/admin/logs_studs.txt
# Set permissions to roundcube directory
sudo chown -R www-data: $final_path
diff --git a/sources/.gitignore b/sources/.gitignore
new file mode 100644
index 0000000..f6e467c
--- /dev/null
+++ b/sources/.gitignore
@@ -0,0 +1,10 @@
+.htaccess
+admin/.htaccess
+admin/.htpasswd
+admin/logs_studs.txt
+composer.lock
+composer.phar
+framanav
+nav
+app/inc/constants.php
+vendor
diff --git a/sources/AUTHORS.md b/sources/AUTHORS.md
new file mode 100644
index 0000000..5b0860a
--- /dev/null
+++ b/sources/AUTHORS.md
@@ -0,0 +1,14 @@
+# [Framasoft](http://framadate.org)
+* Simon Leblanc (development),
+* Pierre-Yves Gosset (development, graphism)
+* Pascal Chevrel (development)
+* Armony Altinier (accessibility)
+* JosephK (development)
+* Framasoft community
+*For a list of people who have contributed to the codebase, see [GitHub's list of contributors](https://github.com/framasoft/OpenSondage/graphs/contributors).*
+
+## [STUdS](http://studs.u-strasbg.fr)
+* Guilhem Borghesi (borghesi@unistra.fr)
+* Raphaël Droz
+* Contributors from the University of Strasbourg: Guy, Christophe, Julien, Pierre, Romaric, Matthieu, Catherine, Christine, Olivier, Emmanuel and Florence
+
diff --git a/sources/CHANGELOG b/sources/CHANGELOG
index f76ee73..13f65ae 100644
--- a/sources/CHANGELOG
+++ b/sources/CHANGELOG
@@ -1,4 +1,21 @@
Les dernières améliorations d'OpenSondage
+
+ Changelog version 0.8 (juillet 2014 Pascal Chevrel - Armony Altinier - JosephK)
+ - Améliorations sur l'accessibilité
+ - Améliorations sur l'ergonomie
+ - Améliorations sur l'internationalisation (nombreuses phrases en français dans le code)
+ - Découpage chaines de langue pour virer le code html
+ - Remise en place de l'export CSV
+ - Remise en place de get_server_name() pour permettre l'installation dans un sous dossier, en https ou sur un port différent
+ - Ajout Authors.md + en-têtes refaits
+ - Fix bug changement de langues en mode URL rewriting (requête GET passée en formulaire POST)
+ - Fix bug 2 boutons valider lorsqu'on édite un vote
+ - Fix focus javascript sur "Votre nom"
+ - Nettoyage + Bootstrap
+ - Ajout vote Oui/Non/Si nécessaire
+ - Formulaire simplifié pour l'ajout de colonne date (horaire libre)
+ - Restructuration
+ - Fix (partiel) bug modification du premier vote en tapant Entrée
Changelog version 0.7 (mars 2013)
- Fix : le sondage supprimé n'était pas forcément le sondage sélectionné (cfévrier)
diff --git a/sources/INSTALL b/sources/INSTALL
index d207a6f..e8d32d6 100644
--- a/sources/INSTALL
+++ b/sources/INSTALL
@@ -9,10 +9,10 @@ borghesi@unistra.fr
Ce logiciel est régi par la licence CeCILL-B soumise au droit français et
respectant les principes de diffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
-de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
+de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
sur le site "http://www.cecill.info".
-Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
pris connaissance de la licence CeCILL-B, et que vous en avez accepté les
termes. Vous pouvez trouver une copie de la licence dans le fichier LICENCE.
@@ -25,10 +25,10 @@ Creation : Feb 2008
borghesi@unistra.fr
This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software. You can use,
+abiding by the rules of distribution of free software. You can use,
modify and/ or redistribute the software under the terms of the CeCILL-B
license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
+"http://www.cecill.info".
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-B license and that you accept its terms. You can
@@ -40,9 +40,9 @@ find a copy of this license in the file LICENSE.
Paramètres
==========
-Le fichier variables.php.template contient le paramétrage par défaut de
-l'application STUdS. Pour personnaliser votre installation, copiez
-ce fichier sous le nom variables.php et modifiez ce dernier.
+Le fichier app/inc/constants.php.template contient le paramétrage par défaut de
+l'application Framadate. Pour personnaliser votre installation, copiez
+ce fichier sous le nom app/inc/constants.php et modifiez ce dernier.
Configuration du fichier php.ini
================================
@@ -114,10 +114,10 @@ Voici la structure des tables de l'application. La base se compose de trois tabl
Chacune des tables contient les champs suivants :
-SONDAGE
+SONDAGE
Nom du champ format description
-
+
id_sondage (clé primaire) alpha-numérique numéro du sondage aléatoire
commentaires text commentaires liés au sondage
mail_admin text adresse de l'auteur du sondage
@@ -127,23 +127,23 @@ SONDAGE
date_fin alpha-numérique date de fin su sondage au format SQL
format text format du sondage : D/D+ pour Date, A/A+ pour Autre
mailsonde text envoi de mail a l'auteur du sondage a chaque participation ("yes" ou vide)
-
+
SUJET_STUDS
Nom du champ format description
-
+
id_sondage (clé primaire) alpha-numérique numéro du sondage aléatoire
sujet text tous les sujets du sondage
-
+
USER_STUDS
Nom du champ format description
-
+
user text nom du participant
id_sondage (clé primaire) alpha-numérique numéro du sondage aléatoire
reponses text reponses a chacun des sujets proposés au vote (0 pour non, 1 pour OK)
id_users alpha-numérique numéro d'utilisateur par ordre croissant de participation pour garder l'ordre de participation
-
+
COMMENTS
Nom du champ format description
@@ -151,8 +151,8 @@ COMMENTS
comment text commentaires d'un participant
usercomment text nom de l'utilisateur qui laisse le commentaire
id_comment alpha-numérique numéro de commentaire par ordre croissant de participation pour garder l'ordre de remplissage
-
-
+
+
Traductions
===========
diff --git a/sources/README b/sources/README
deleted file mode 100644
index db33d71..0000000
--- a/sources/README
+++ /dev/null
@@ -1,175 +0,0 @@
-OpenSondage est un fork du projet STUdS : https://sourcesup.cru.fr/projects/studs/
-
-OpenSondage est le projet qui motorise framadate.org pour framasoft.org
-
-Les auteurs principaux d'OpenSondage sont :
-- Simon LEBLANC
-- Pierre-Yves GOSSET
-
-Les auteurs principaux du projet STUdS sont :
-- Guilhem BORGHESI
-- Raphaël DROZ
-
-
-==========================================================================
-
-Université de Strasbourg - Direction Informatique
-Auteur : Guilhem BORGHESI
-Création : Février 2008
-
-borghesi@unistra.fr
-
-Ce logiciel est régi par la licence CeCILL-B soumise au droit français et
-respectant les principes de diffusion des logiciels libres. Vous pouvez
-utiliser, modifier et/ou redistribuer ce programme sous les conditions
-de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
-sur le site "http://www.cecill.info".
-
-Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
-pris connaissance de la licence CeCILL-B, et que vous en avez accepté les
-termes. Vous pouvez trouver une copie de la licence dans le fichier LICENCE.
-
-==========================================================================
-
-Université de Strasbourg - Direction Informatique
-Author : Guilhem BORGHESI
-Creation : Feb 2008
-
-borghesi@unistra.fr
-
-This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software. You can use,
-modify and/ or redistribute the software under the terms of the CeCILL-B
-license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
-
-The fact that you are presently reading this means that you have had
-knowledge of the CeCILL-B license and that you accept its terms. You can
-find a copy of this license in the file LICENSE.
-
-==========================================================================
-
-=============================================================================
-Fichiers de l'application
-=============================================================================
-
-index.php
- La page d'accueil de STUdS
-studs.php
- La page de présentation de sondage
-adminstuds.php
- La page d'administration réservée à l'auteur du sondage
-infos_sondage.php
- La page (1/2) de création de sondage récupérant les informations générales
-choix_date.php
- La page de création (2/2) pour un sondage pour déterminer une date
-choix_autre.php
- La page de création (2/2) pour un sondage sur un sujet quelconque
-creation_sondage.php
- Le fichier qui récupérent les informations des pages précédentes pour procéder à l'insertion du nouveau sondage dans la base PostgreSQL
-style.css
- Le fichier CSS de style pour toute l'application
-variables.php
- Le fichier contenant les variables à changer en fonction de la machine locale
-fonctions.php
- Le fichier contenant quelques fonctions récurrentes de l'application
-i18n.php
- Le fichier contenant quelques fonctions récurrentes de l'application relatives à l'internationalisation
-README
- Ce fichier
-INSTALL
- Le fichier contenant les informations d'installation sur l'application
-CHANGELOG
- Le fichier contenant toutes les modifications de l'application entre les différentes versions
-contacts.php
- La page permettant aux usagers de poser une question à l'administrateur de l'application
-apropos.php
- La page expliquant les détails techniques relatifs à l'application et les dernieres modifications et celles à venir sur l'application
-bandeaux.php
- Le fichier contenant tous les bandeaux des pages PHP de l'application
-favicon.ico
- L'icone de favoris de l'application
-sources.php
- La page qui propose les sources de l'application
-exportics.php
- Le fichier d'export de la meilleure date au format iCAL (fichier .ICS)
-exportcsv.php
- Le fichier d'export de tous le tableau des participants avec leurs réponses dans un tableur (format .CSV)
-exportpdf.php
- Le fichier d'export de la lettre de convocation que le créateur du sondage pourra envoyer aux participants (format .PDF)
-
-admin/
- Le répertoire réservé à l'administrateur de l'application
-admin/.htaccess
- Le fichier gérant les droits restreints du répertoire ADMIN
-admin/.htpasswd
- Le fichier contenant les passwd des logins ayant accès au répertoire ADMIN
-admin/index.php
- La page présentant tous les sondages actuellement dans la base à l'administrateur
-admin/log_studs.txt
- Le fichier contenant un historique de toutes les creations/suppressions de sondage dans la base
-
-errors/
- Le répertoire contenant toutes les pages d'erreurs
-errors/error-forbidden.php
- La page qui indique dans la charte graphique de l'application l'erreur "501 forbidden"
-errors/maintenance.php
- La page qui indique que l'application est en maintenance temporaire
-
-export/
- Le répertoire qui contient tous les exports ICS
-
-iCalcreator/
- Le répertoire qui contient les librairies d'export en iCal
-
-php2pdf/
- Le répertoire qui contient les librairies d'export en PDF
-
-scripts/
- Le répertoire qui contient tous les scripts de l'application
-
-sources/
- Le répertoire qui contient les sources de l'application disponible sur la page sources.php
-
-locale/
- Le répertoire qui contient les fichiers de traduction modifiables (.po) et compilés (.mo)
- au format gettext
-
-=============================================================================
- Validations des pages
-=============================================================================
-
-Toutes les pages de STUdS sont validées HTML 4.01 Strict.
-La CSS de STUdS est validée CSS 2.1.
-
-=============================================================================
-Technologies utilisées
-=============================================================================
-
-- PHP, php-fpdf, php-adodb, php-gettext
-- PostgreSQL, mysql
-- Apache
-- Subversion
-- iCalcreator
-- POedit
-- Icônes : Deleket (http://deleket.deviantart.com/) et DryIcons (http://dryicons.com)
-
-=============================================================================
-Compatibilités des navigateurs
-=============================================================================
-
-- Firefox
-- Opera
-- Konqueror
-- Links
-- Safari
-- IE
-
------------------
-Janvier 2008
-Guilhem BORGHESI
-Université de Strasbourg
-
-Mai 2010
-Raphaël DROZ, raphael.droz@gmail.com
-
diff --git a/sources/README.md b/sources/README.md
new file mode 100644
index 0000000..798b3de
--- /dev/null
+++ b/sources/README.md
@@ -0,0 +1,185 @@
+[](https://git.framasoft.org)
+
+ **Framasoft uses GitLab** for the development of its free softwares. Our Github repositories are only mirrors.
+If you want to work with us, **fork us on [git.framasoft.org](https://git.framasoft.org)**. (no registration needed, you can sign in with your Github account)
+
+ **Framasoft utilise GitLab** pour le développement de ses logiciels libres. Nos dépôts Github ne sont que des mirroirs.
+Si vous souhaitez travailler avec nous, **forkez-nous sur [git.framasoft.org](https://git.framasoft.org)**. (l'inscription n'est pas nécessaire, vous pouvez vous connecter avec votre compte Github)
+* * *
+
+Framadate est un fork du projet STUdS : https://sourcesup.cru.fr/projects/studs/
+
+Framadate est le projet qui motorise framadate.org pour framasoft.org
+
+Les auteurs principaux de Framadate sont :
+- Simon LEBLANC
+- Pierre-Yves GOSSET
+
+Les auteurs principaux du projet STUdS sont :
+- Guilhem BORGHESI
+- Raphaël DROZ
+
+
+==========================================================================
+
+Université de Strasbourg - Direction Informatique
+Auteur : Guilhem BORGHESI
+Création : Février 2008
+
+borghesi@unistra.fr
+
+Ce logiciel est régi par la licence CeCILL-B soumise au droit français et
+respectant les principes de diffusion des logiciels libres. Vous pouvez
+utiliser, modifier et/ou redistribuer ce programme sous les conditions
+de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
+sur le site "http://www.cecill.info".
+
+Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+pris connaissance de la licence CeCILL-B, et que vous en avez accepté les
+termes. Vous pouvez trouver une copie de la licence dans le fichier LICENCE.
+
+==========================================================================
+
+Université de Strasbourg - Direction Informatique
+Author : Guilhem BORGHESI
+Creation : Feb 2008
+
+borghesi@unistra.fr
+
+This software is governed by the CeCILL-B license under French law and
+abiding by the rules of distribution of free software. You can use,
+modify and/ or redistribute the software under the terms of the CeCILL-B
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info".
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL-B license and that you accept its terms. You can
+find a copy of this license in the file LICENSE.
+
+==========================================================================
+
+=============================================================================
+Fichiers de l'application
+=============================================================================
+
+index.php
+ La page d'accueil de STUdS
+studs.php
+ La page de présentation de sondage
+adminstuds.php
+ La page d'administration réservée à l'auteur du sondage
+infos_sondage.php
+ La page (1/2) de création de sondage récupérant les informations générales
+choix_date.php
+ La page de création (2/2) pour un sondage pour déterminer une date
+choix_autre.php
+ La page de création (2/2) pour un sondage sur un sujet quelconque
+creation_sondage.php
+ Le fichier qui récupérent les informations des pages précédentes pour procéder à l'insertion du nouveau sondage dans la base PostgreSQL
+style.css
+ Le fichier CSS de style pour toute l'application
+app/inc/constants.php
+ Le fichier contenant les constantes à changer en fonction de la machine locale
+app/inc/functions.php
+ Le fichier contenant quelques fonctions récurrentes de l'application
+app/inc/i18n.php
+ Le fichier contenant quelques fonctions récurrentes de l'application relatives à l'internationalisation
+README
+ Ce fichier
+INSTALL
+ Le fichier contenant les informations d'installation sur l'application
+CHANGELOG
+ Le fichier contenant toutes les modifications de l'application entre les différentes versions
+contacts.php
+ La page permettant aux usagers de poser une question à l'administrateur de l'application
+apropos.php
+ La page expliquant les détails techniques relatifs à l'application et les dernieres modifications et celles à venir sur l'application
+bandeaux.php
+ Le fichier contenant tous les bandeaux des pages PHP de l'application
+favicon.ico
+ L'icone de favoris de l'application
+sources.php
+ La page qui propose les sources de l'application
+exportics.php
+ Le fichier d'export de la meilleure date au format iCAL (fichier .ICS)
+exportcsv.php
+ Le fichier d'export de tous le tableau des participants avec leurs réponses dans un tableur (format .CSV)
+exportpdf.php
+ Le fichier d'export de la lettre de convocation que le créateur du sondage pourra envoyer aux participants (format .PDF)
+
+admin/
+ Le répertoire réservé à l'administrateur de l'application
+admin/.htaccess
+ Le fichier gérant les droits restreints du répertoire ADMIN
+admin/.htpasswd
+ Le fichier contenant les passwd des logins ayant accès au répertoire ADMIN
+admin/index.php
+ La page présentant tous les sondages actuellement dans la base à l'administrateur
+admin/log_studs.txt
+ Le fichier contenant un historique de toutes les creations/suppressions de sondage dans la base
+
+errors/
+ Le répertoire contenant toutes les pages d'erreurs
+errors/error-forbidden.php
+ La page qui indique dans la charte graphique de l'application l'erreur "501 forbidden"
+errors/maintenance.php
+ La page qui indique que l'application est en maintenance temporaire
+
+export/
+ Le répertoire qui contient tous les exports ICS
+
+iCalcreator/
+ Le répertoire qui contient les librairies d'export en iCal
+
+php2pdf/
+ Le répertoire qui contient les librairies d'export en PDF
+
+scripts/
+ Le répertoire qui contient tous les scripts de l'application
+
+sources/
+ Le répertoire qui contient les sources de l'application disponible sur la page sources.php
+
+locale/
+ Le répertoire qui contient les fichiers de traduction modifiables (.po) et compilés (.mo)
+ au format gettext
+
+=============================================================================
+ Validations des pages
+=============================================================================
+
+Toutes les pages de STUdS sont validées HTML 4.01 Strict.
+La CSS de STUdS est validée CSS 2.1.
+
+=============================================================================
+Technologies utilisées
+=============================================================================
+
+- PHP 5.4.4, php-fpdf, php-adodb, php-gettext
+- PostgreSQL, mysql
+- Apache
+- iCalcreator
+- POedit
+- Icônes : Deleket (http://deleket.deviantart.com/) et DryIcons (http://dryicons.com)
+
+=============================================================================
+Compatibilités des navigateurs
+Dernière mise à jour le 21 avril 2014
+=============================================================================
+
+- Firefox : Ubuntu 13.10/FF28
+- Chrome : Ubuntu 13.10/Chromium33
+- Opera (non testé)
+- Konqueror
+- Links (non testé, inutile)
+- Safari (non testé)
+- IE : Win7/IE9
+
+-----------------
+Janvier 2008
+Guilhem BORGHESI
+Université de Strasbourg
+
+Mai 2010
+Raphaël DROZ, raphael.droz@gmail.com
+
diff --git a/sources/TODO b/sources/TODO
deleted file mode 100644
index 8aaf261..0000000
--- a/sources/TODO
+++ /dev/null
@@ -1,8 +0,0 @@
-- case "Tout cocher"
-- nom modifiable
-- taille de colonne fixe lorsqu'un sondage ne spécifie pas les heures
- (ou sondage à choix multiples "autre")
-- vérifier la duplication de commentaires
-- gestion auth intranet
-- ajout de colonne de date graphique dans l'administration
-
diff --git a/sources/admin/index.php b/sources/admin/index.php
index 884ecca..bb3078b 100644
--- a/sources/admin/index.php
+++ b/sources/admin/index.php
@@ -1,151 +1,119 @@
'."\n";
-echo ''."\n";
-echo ''."\n";
-echo ''."\n";
-echo 'ADMINISTRATEUR de la base '.NOMAPPLICATION.''."\n";
-echo ''."\n";
-echo ''."\n";
-echo ''."\n";
-
-//Affichage des bandeaux et début du formulaire
-framanav();
-logo();
-bandeau_tete();
+Utils::print_header( _("Polls administrator") );
bandeau_titre(_("Polls administrator"));
-sous_bandeau_admin();
-//print_r($_SESSION);
$sondage=$connect->Execute("select * from sondage");
-echo'
'."\n";
-echo ''."\n";
+
+bandeau_pied(true);
// si on annule la suppression, rafraichissement de la page
-if (issetAndNoEmpty('annulesuppression') === true) {
+if (Utils::issetAndNoEmpty('annulesuppression') === true) {
}
diff --git a/sources/adminstuds.php b/sources/adminstuds.php
index 68ed209..3c3f017 100644
--- a/sources/adminstuds.php
+++ b/sources/adminstuds.php
@@ -1,50 +1,32 @@
Param('numsondageadmin');
- $sql = $connect->Prepare($sql);
- $sondage = $connect->Execute($sql, array($numsondageadmin));
-
- if ($sondage !== false) {
- $sql = 'SELECT * FROM sujet_studs WHERE id_sondage = '.$connect->Param('numsondage');
+ $sql = 'SELECT * FROM sondage WHERE id_sondage_admin = '.$connect->Param('numsondageadmin');
$sql = $connect->Prepare($sql);
- $sujets = $connect->Execute($sql, array($numsondage));
+ $sondage = $connect->Execute($sql, array($numsondageadmin));
- $sql = 'SELECT * FROM user_studs WHERE id_sondage = '.$connect->Param('numsondage').' order by id_users';
- $sql = $connect->Prepare($sql);
- $user_studs = $connect->Execute($sql, array($numsondage));
- }
+ if ($sondage !== false) {
+ $sql = 'SELECT * FROM sujet_studs WHERE id_sondage = '.$connect->Param('numsondage');
+ $sql = $connect->Prepare($sql);
+ $sujets = $connect->Execute($sql, array($numsondage));
+
+ $sql = 'SELECT * FROM user_studs WHERE id_sondage = '.$connect->Param('numsondage').' order by id_users';
+ $sql = $connect->Prepare($sql);
+ $user_studs = $connect->Execute($sql, array($numsondage));
+ }
}
//verification de l'existence du sondage, s'il n'existe pas on met une page d'erreur
if (!$sondage || $sondage->RecordCount() != 1){
- print_header(false);
- echo ''."\n";
- framanav();
- logo();
- bandeau_tete();
- bandeau_titre(_("Error!"));
+ Utils::print_header( _("Error!"));
+ bandeau_titre(_("Error!"));
- echo '
'."\n";
- print "
" . _("This poll doesn't exist !") . "
"."\n";
- print "" . _("Back to the homepage of ") . " ".NOMAPPLICATION.". "."\n";
- echo '