Commit 70783f5f authored by Feu's avatar Feu

documentation et plein de bordel (qui risque de tout casser d'ailleurs)

parent f6a1d2cb
......@@ -29,6 +29,11 @@
*/
/**
* @defgroup aecms AECMS
* Des sites en kit pour les activités de l'AE.
*
* Organisation d'un AECMS, la fonction install_aecms s'en charge trés bien :
* <pre>
* club/
* specific
* aecms.conf.php
......@@ -40,6 +45,8 @@
* RewriteRule ^$ aecms/index.php [L]
* RewriteRule ^images/(.*)$ aecms/images/$1 [L]
* RewriteRule ^css/(.*)$ aecms/css/$1 [L]
* </pre>
*
*/
$basedir = dirname(dirname($_SERVER['SCRIPT_FILENAME']));
......@@ -68,6 +75,10 @@ if ( CMS_ID_ASSO != intval(CMS_ID_ASSO) )
// Configuration générale (en BETA)
$wwwtopdir = "./";
/**
* Repertoire de stockage des fichiers de configurations des AEMCS
* @ingroup aecms
*/
define("CMS_CONFIGPATH","/var/www/ae/www/taiste/var/aecms");
define("CMS_CONFIGFILE",CMS_CONFIGPATH."/cms".CMS_ID_ASSO.".conf.php");
......@@ -90,8 +101,12 @@ $GLOBALS["entitiescatalog"]["page"][3]="index.php";
* ceux du CMS dans les webdav où sera exploité AECMS
*/
/**
* Classe de gestion de site AECMS
* @ingroup aecms
* @author Julien Etelain
*/
class aecms extends site
{
......@@ -231,6 +246,10 @@ class aecms extends site
fclose($f);
}
/**
* Determine si l'utilisateur connecté est administrateur du AECMS.
* @return true si l'utilisateur est administrateur, false sinon.
*/
function is_user_admin()
{
if ( !$this->user->is_valid() )
......
......@@ -24,26 +24,42 @@
/**
* @file
* @author Julien Etelain
*/
require_once($topdir . "include/entities/asso.inc.php");
/**
* Compte bancaire
*
* Il s'agit de traiter un compte bancaire réel, celui ci se déclinant en
* "comptes associations" correspondant aux différentes activités et associations
* partageant le même compte bancaire (pour traiter le cas TI).
*
* Cette classe contient des routines pour pouvoir récupérer les relevès de
* comptes electroniques pour permettre aux responsable d'activités et trésoriers
* de connaitre l'état du compte sans avoir accès au site de la banque.
* Cette fonctionalités n'est pas encore terminée.
*
* @ingroup compta
* @see compte_asso
*/
class compte_bancaire extends stdentity
{
/** Nom du cmpte */
var $nom;
/** Solde du compte lors du dernier relevé (en centimes) */
var $solde;
/** Date du dernier relevé (timestamp) */
var $date_releve;
/** Numéro de compte */
var $num;
/** Charge un compte bancaire en fonction de son id
* @param $id Id du compte bancaire
*/
/** Charge un compte bancaire en fonction de son id
* En cas d'erreur, l'id est défini à null
* @param $id id du compte bancaire
* @return true en cas de succès, false sinon
*/
function load_by_id ( $id_cptbc )
{
$req = new requete ($this->db, "SELECT * FROM `cpta_cpbancaire`
......@@ -69,6 +85,13 @@ class compte_bancaire extends stdentity
$this->num = $row['num_cptbc'];
}
/**
* Crée un compte bancire dans la base
* Si le compte est crée avec succès, alors id est mis à jour.
* @param $nom Nom du compte
* @param $num Numéro de compte
* @return true en cas de succès, false sinon
*/
function create ( $nom, $num )
{
$this->nom = $nom;
......@@ -94,6 +117,12 @@ class compte_bancaire extends stdentity
return true;
}
/**
* Met à jour les informations sur le compte bancaire
* @param $nom Nom du compte
* @param $num Numéro de compte
* @return true en cas de succès, false sinon
*/
function update ( $nom, $num )
{
$this->nom = $nom;
......@@ -113,6 +142,10 @@ class compte_bancaire extends stdentity
return true;
}
/**
* Importe un relevè de compte au format progeliance CSV
* @param $data Données brutes du fichier progeliance au format CSV
*/
function import_csv_progeliance ( $data )
{
$lines = explode("\n",$data);
......@@ -172,6 +205,11 @@ class compte_bancaire extends stdentity
$req = new insert ($this->dbrw,"cpta_cpbancaire_lignes",$row);
}
/**
* Permet de normaliser un numéro de compte
* @param $num Un numéro de compte dans un format quelquonque
* @return le numéro de compte normalisé
*/
static function standardize_account_number ( $num )
{
return ereg_replace("[^0-9]","",$num);
......@@ -180,20 +218,27 @@ class compte_bancaire extends stdentity
}
/**
* Compte association (associé à un compte bancaire)
* Compte association
* Permet d'associer une association/activité à un compte bancaire tout en
* permettant le partage d'un compte bancaire entre plusieures activités
* pour traiter le cas de la TI.
* @ingroup compta
* @see compte_bancaire
*/
class compte_asso extends stdentity
{
/** Id de l'association/activité possédant ce compte */
var $id_asso;
/** Id du compte bancaire concerné */
var $id_cptbc;
/** Nom du compte */
var $nom;
/** Charge un compte association en fonction de son id
* @param $id Id du compte association
*/
/** Charge un compte association en fonction de son id
* En cas d'erreur, l'id est défini à null
* @param $id id du compte association
* @return true en cas de succès, false sinon
*/
function load_by_id ( $id )
{
$req = new requete ($this->db, "SELECT *
......@@ -221,8 +266,10 @@ class compte_asso extends stdentity
/** Ajoute un compte association
* Si le compte est crée avec succès, alors id est mis à jour.
* @param $id_asso Id de l'association
* @param $id_cptbc Id du compte bancaire
* @return true en cas de succès, false sinon
*/
function ajouter ( $id_asso, $id_cptbc )
{
......@@ -251,15 +298,21 @@ class compte_asso extends stdentity
/**
* Classeur de compta (relatif à un seul compte association)
* @ingroup compta
* @see compte_asso
*/
class classeur_compta extends stdentity /* table: cpta_classeur */
class classeur_compta extends stdentity
{
var $id_cptasso; var $date_debut_classeur; var $date_fin_classeur; var $nom; var $ferme; // ENUM('0','1')
/** Charge un classeur en fonction de son id
* @param $id Id du classeur
*/
/** Id du compte association concerné par ce classeur */ var $id_cptasso;
/** Date de début de la période couverte par le classeur */ var $date_debut_classeur;
/** Date de fin de la période couverte par le classeur */ var $date_fin_classeur;
/** Nom du classeur */ var $nom;
/** Etat de fermeture du classeur (0:ouvert,1:fermé) */ var $ferme;
/** Charge un classeur de compta en fonction de son id
* En cas d'erreur, l'id est défini à null
* @param $id id du classeur de compta
* @return true en cas de succès, false sinon
*/
function load_by_id ( $id_classeur )
{
$req = new requete ($this->db, "SELECT *
......@@ -276,8 +329,10 @@ class classeur_compta extends stdentity /* table: cpta_classeur */
return false;
}
/** Charge le classeur ouvert d'un compte association
/**
* Charge le classeur ouvert d'un compte association
* @param $id_cptasso Id du compte association
* @param $not Id du classeur à ne pas charger (si plusieurs sont ouverts)
*/
function load_opened ( $id_cptasso, $not=-1 )
{
......@@ -307,7 +362,15 @@ class classeur_compta extends stdentity /* table: cpta_classeur */
$this->ferme = $row['ferme'];
}
/**
* Crée un classeur dans la base de données.
* Si le compte est crée avec succès, alors id est mis à jour.
* @param $id_cptasso Compte association concerné
* @param $date_debut_classeur Date de début de la période couverte par le classeur
* @param $date_fin_classeur Date de fin de la période couverte par le classeur
* @param $nom_classeur Nom du classeur
* @return true en cas de succès, false sinon
*/
function ajouter ( $id_cptasso, $date_debut_classeur,
$date_fin_classeur, $nom_classeur )
{
......@@ -336,7 +399,13 @@ class classeur_compta extends stdentity /* table: cpta_classeur */
return true;
}
/**
* Met à jour le classeur dans la base de données.
* @param $date_debut_classeur Date de début de la période couverte par le classeur
* @param $date_fin_classeur Date de fin de la période couverte par le classeur
* @param $nom_classeur Nom du classeur
*/
function update ( $date_debut_classeur, $date_fin_classeur, $nom_classeur )
{
......
......@@ -218,7 +218,8 @@ class debitfacture extends stdentity
}
/**
* Procède à la "vente" de l'ensemble des produits (Usage strictement interne) :
* Procède à la "vente" de l'ensemble des produits (Usage strictement interne).
*
* - met à jours les stocks
* - procède aux actions des produits (comme pour les cotisations)
* - met à jour l'état de retrait/expedition de la facture [si $eboutic est à true]
......@@ -288,11 +289,20 @@ class debitfacture extends stdentity
/**
* Annule la facture actuelle
* Met à jour les stocks, et les comptes (si paiement AE)
* ATTENTION: n'annule pas les actions liées aux produits (rechargement carte AE, cotisation...)
* @return true en cas de succès, false sinon
*/
function annule_facture ( )
{
// Seul les paiements par carte AE peuvent être annulés
if ( $this->mode != "AE" )
return false;
// Après la fin du mois, le paiement ne peut pas être annulé
// car la véritable facture a du être établi
if ( date("Y-m") != date("Y-m",$this->date) )
return false;
$sql = new requete($this->db,"SELECT `cpt_vendu`.*,`stock_global_prod`,`stock_local_prod` " .
"FROM `cpt_vendu` " .
"INNER JOIN `cpt_produits` ON `cpt_vendu`.`id_produit`=`cpt_produits`.`id_produit` " .
......@@ -335,6 +345,8 @@ class debitfacture extends stdentity
$req = new delete ($this->dbrw,"cpt_vendu",array("id_facture" => $this->id));
$req = new delete ($this->dbrw,"cpt_debitfacture",array("id_facture" => $this->id));
return true;
}
/**
......
......@@ -407,9 +407,6 @@ class produit extends stdentity
return $count != 0;
}
/**
* @private
*/
function _load ($row)
{
$this->id = $row['id_produit'];
......
......@@ -6,7 +6,7 @@
* @brief définition de la classe venteproduit
*
*/
/* Copyright 2005
/* Copyright 2005-2008
* - Julien Etelain <julien CHEZ pmad POINT net>
* - Pierre Mauduit <pierre POINT mauduit CHEZ utbm POINT fr>
* - Simon Lopez <simon POINT lopez CHEZ ayolo POINT org>
......@@ -38,6 +38,9 @@ require_once("comptoir.inc.php");
/**
* Classe gérant la mise en vente des produit
* @ingroup comptoirs
* @author Julien Etelain
* @author Pierre Mauduit
* @author Simon Lopez
*/
class venteproduit extends stdentity
{
......@@ -95,6 +98,7 @@ class venteproduit extends stdentity
return false;
return true;
}
function load_by_id ( $id_produit, $id_comptoir, $force=false )
{
......@@ -127,7 +131,22 @@ class venteproduit extends stdentity
return true;
}
/**
* Non supporté
*/
function load_by_id ( $id )
{
return false;
}
/**
* Non supporté
*/
function _load($row)
{
}
/** Enlève la mise en vente
*
......
......@@ -31,6 +31,7 @@ require_once ($topdir . "comptoir/include/venteproduit.inc.php");
/**
* Classe de traitement d'une réponse envoyée par les serveurs Sogenactif
* @ingroup comptoirs_sg
* @author Pierre Mauduit
*/
class answer
{
......
......@@ -15,8 +15,9 @@ require_once ("e-boutic.inc.php");
$location = "/usr/share/php5/exec/sogenactif/";
/**
* Permet d'élagorer une requête vers les serveurs Sogenactif
* Permet d'élaborer une requête vers les serveurs Sogenactif
* @ingroup comptoirs_sg
* @author Pierre Mauduit
*/
class request
{
......
......@@ -21,25 +21,25 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
*/
// array ( nom du champ id, nom du champ nom (peut être calculé), icone, fichier [, table ] )
/**
* @file
* @author Julien Etelain
* @author Pierre Mauduit
*/
/**
* Donnés sur les différents objets traités :
* nom de la classe => array (
* 0 nom du champ SQL d'identification
* 1 nom du champ SQl du nom (ou alias systèmatiquement utilisé)
* 2 url de l'icone associée
* 3 url de la page d'information
* 4 nom de table SQL (facultatif)
* 5 fichier d'inclusion (facultatif)
* 6 nom de la table de tags (facultatif)
* )
* Donnés sur les différents objets traités.
*
* Chaque nom de classe est associée à un tableau :
* - [0] Nom du champ SQL d'identification
* - [1] Nom du champ SQl du nom (ou alias systèmatiquement utilisé)
* - [2] Fichier d'iconne associée (du dossier images/icons/(16|32)/)
* - [3] Url de la page d'information
* - [4] Nom de table SQL (facultatif)
* - [5] Fichier où est déclarée la classe (facultatif)
* - [6] Nom de la table pour associer des tags aux objets de l'entité (facultatif)
*
* @ingroup stdentity
*/
$GLOBALS["entitiescatalog"] = array (
"utilisateur" => array ( "id_utilisateur", "nom_utilisateur"/*alias*/, "user.png", "user.php", null, "utilisateur.inc.php"),
......@@ -116,6 +116,9 @@ $GLOBALS["entitiescatalog"] = array (
);
/**
* @deprecated
*/
function entitylink ( $class, $id, $nom )
{
global $topdir;
......@@ -131,39 +134,11 @@ function entitylink ( $class, $id, $nom )
* @param $obj1 Autre objet requis pour la génération du lien.
* @param $obj2 Autre objet requis pour la génération du lien.
* @return Le code html du lien avec une iconne.
* @deprecated
*/
function classlink ( $obj, $obj1=null,$obj2=null )
{
return $obj->get_html_link();
/*
global $topdir;
$class = get_class($obj);
if ( !isset($GLOBALS["entitiescatalog"][$class]) )
return "?!?";
if ( $obj->id < 1 )
return "(aucun)";
$id = &$obj->id;
if ( $class == "utilisateur" )
$nom = $obj->prenom." ".$obj->nom;
elseif ( $class == "objet" )
{
if ( $obj->nom )
$nom = $obj->nom." (".$obj->num.")";
else
$nom = $obj->num;
}
elseif ( isset ($obj->nom) )
$nom = &$obj->nom;
elseif ( isset($obj->titre))
$nom = &$obj->titre;
elseif ( isset($obj->num))
$nom = "n°".$obj->num;
else
$nom = "n°".$obj->id;
return "<a href=\"".$topdir.$GLOBALS["entitiescatalog"][$class][3]."?".$GLOBALS["entitiescatalog"][$class][0]."=$id\"><img src=\"".$topdir.$GLOBALS["entitiescatalog"][$class][2]."\" class=\"icon\" alt=\"Fiche\" /> ".htmlentities($nom,ENT_NOQUOTES,"UTF-8")."</a>";
*/
}
/**
......@@ -171,6 +146,7 @@ function classlink ( $obj, $obj1=null,$obj2=null )
* @param $name Nom de la page wiki.
* @param $title Titre de lien.
* @return le code html du lien avec son iconne.
* @deprecated
*/
function wikilink ( $name, $title )
{
......
<?php
/* Copyright 2007
* - Julien Etelain < julien at pmad dot net >
*
* Ce fichier fait partie du site de l'Association des Étudiants de
* l'UTBM, http://ae.utbm.fr.
*
* 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., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
/**
* Permet d'afficher des contents sur deux colonnes
*
* @author Julien Etelain
* @ingroup display_cts
*/
class board extends stdcontents
{
var $boardclass;
/**
* Construit un board
* @param $title Titre
* @param $class Classe CSS complémentaire pour l'ensemble
*/
function board ( $title=null, $class=null )
{
$this->title = $title;
$this->boardclass = $class;
}
/**
* Ajoute in contents dans le board
* @param $cts contents à ajouté
* @param $title Affiche ou non le titre du contents
* @param $class classe CSS complémentaire pour le conteneur du contents
*/
function add ( &$cts, $title=false, $class=null )
{
if ( is_null($class) )
......
......@@ -6,10 +6,11 @@
*
*/
/* Copyright 2004
/* Copyright 2004-2007
* - Maxime Petazzoni <maxime POINT petazzoni CHEZ bulix POINT org>
* - Alexandre Belloni <alexandre POINT belloni CHEZ utbm POINT fr>
* - Thomas Petazzoni <thomas POINT petazzoni CHEZ enix POINT org>
* - Julien Etelain < julien at pmad dot net >
* - Manuel Vonthron <manuel DOT vonthron AT acadis DOT org>
*
* Ce fichier fait partie du site de l'Association des Étudiants de
......@@ -33,7 +34,17 @@
require_once($topdir."include/entities/news.inc.php");
/** Classe d'affichage du calendrier */
/**
* Permet d'afficher un calendrier de nouvelles
*
* Classe issue en partie de la v1 du site (d'où les auteurs ;) )
*
* @author Maxime Petazzoni
* @author Alexandre Belloni
* @author Thomas Petazzoni
* @author Julien Etelain
* @ingroup display_cts
*/
class calendar extends stdcontents
{
var $db, $date, $events;
......@@ -293,6 +304,16 @@ class calendar extends stdcontents
}
}
/**
* Permet d'afficher un calendrier pour selectionner une date
*
* En général, on utilise les fonctions de form pour "utiliser" cette classe.
*
* @author Manuel Vonthron
* @ingroup display_cts
* @see form::add_date_field
* @see form::add_datetime_field
*/
class tinycalendar extends calendar
{
var $target;
......
<?php
/* Copyright 2007
* - Julien Etelain < julien at pmad dot net >
*
* Ce fichier fait partie du site de l'Association des Étudiants de
* l'UTBM, http://ae.utbm.fr.
*
* 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., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
/**
* @defgroup display_cts_forum Contents forum
* Contents pour le rendu des pages du forum
......@@ -19,6 +40,10 @@ function human_date ( $timestamp )
return date("d/m/Y H:i",$timestamp);
}
/**
* @ingroup useless
* @author Julien Etelain
*/
function nosecret_findname ( $matches )
{
global $site;
......@@ -62,6 +87,10 @@ function nosecret_findname ( $matches )
return $matches[1].$result.$matches[3];
}
/**
* @ingroup useless
* @author Julien Etelain
*/
function nosecret ( $text )
{
return preg_replace_callback("`([^a-zA-Z0-9]|^)([bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ0-9]*_[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ0-9_]*)([^a-zA-Z0-9]|$)`","nosecret_findname",$text);
......@@ -71,6 +100,7 @@ function nosecret ( $text )
/**
* Affiche la liste des sous-forums d'un forum
* @ingroup display_cts_forum
* @author Julien Etelain
*/
class forumslist extends stdcontents
{
......@@ -430,7 +460,11 @@ class sujetforum extends stdcontents
*/
class simplemessageforum extends stdcontents
{
/**
* @ingroup useless
* @author Benjamin Collet
*/
function macroforum($text)
{
global $site;
......
......@@ -33,8 +33,13 @@ require_once($topdir . "include/entities/asso.inc.php");
/**
* Classe permettant l'affichage et l'interaction avec le forum pour commenter
* une nouvelle.
*
* L'objectif initial de ce contents est de permettre la creation de pages de type
* "blog".
*
* @author Julien Etelain
* @ingroup display_cts
* @see forum
*/
class forumcomment extends contents
{
......
......@@ -25,10 +25,13 @@
* @file
*/
/**
* Conteneur de galeries d'élèments.
* Permet d'afficher une "galerie" de contents ou d'éléments.
*
* Nottament utilisé dans le SAS, le matmatronch...
*
* @author Julien Etelain
* @ingroup display_cts
*/
class gallery extends stdcontents
{
......
......@@ -24,7 +24,13 @@
/**
* @file
*/
/**
* Permet d'afficher un carte (de goolge maps).
*
* @author Julien Etelain
* @ingroup display_cts
*/
class gmap extends stdcontents
{
var $name;
......
......@@ -26,7 +26,10 @@
*/
/**
* Affiche un historique
* Affiche un historique sous forme d'une frise chronologique
*
* @author Julien Etelain
* @ingroup display_cts
*/
class history extends stdcontents
{
......
......@@ -27,6 +27,16 @@
require_once($topdir."include/cts/board.inc.php");
/**
* Affiche un formulaire de connexion et des liens pour l'inscription.
*
* Vous ne devriez pas avoir besoin de ce contents.
* Utilisez site::allow_only_logged_users
*
* @author Julien Etelain
* @ingroup display_cts
* @see site::allow_only_logged_users
*/
class loginerror extends board
{
......
......@@ -28,6 +28,13 @@
require_once($topdir."include/entities/news.inc.php");
/**
* Affiche une liste de nouvelles à la manière de la page d'acceuil du site,
* mais sous forme d'une liste simple.
*
* @author Julien Etelain