Subversion Repositories ALCASAR

Rev

Rev 1136 | Go to most recent revision | Blame | Last modification | View Log

<?php
// for developpement purpose
// CONST ROOT = "C:/Serveurs/Alcasar-mageia/";
CONST ROOT = "/";
require_once(ROOT.'var/www/html/acc/manager/lib/alcasar/ticketspdf.class.php');

/*
TODO :
- refonte de GenRandUsersName()
- traiter si $nbfailuser (nombre de ticket non créé pour cause de doublon)
*/

// POUR LES BESOINS DU DEVELOPPEMENT
// BUFFERISATION DES DONNEES ENVOYEES AU CLIENT (compatibilité avec les fichiers existants)
ob_start();
//Common Functions
function sec_imp($time)
/* Formatage des secondes avant l'impression */
{
        $heure=0;$minute=0;$seconde=0;
        $heure = floor($time/3600);
        $reste = $time%3600;
        if ($heure!=0) $result = $heure.' H ';
        $minute = floor($reste/60);
        if ($minute!=0) $result = $result.$minute.' min ';
        $seconde = $reste%60;
        if ($seconde!=0) $result = $result.$seconde.' s ';
        return $result;
}
        
function GenPassword($nb_car="8")
        {
 /* generation aléatoire du mot de passe */
        $password = "";
        $chaine  = "aAzZeErRtTyYuUIopP152346897mMLkK";
        $chaine .= "jJhHgGfFdDsSqQwWxXcCvVbBnN152346897";
        while($nb_car != 0)
                {
                $i = rand(0,71);
                $password = $password.$chaine[$i];
                $nb_car --;
                }
        return $password ;
        }
function GenRandUsersName()
{
        $nb_car= 12;
        $chaine = "AZE489RTYU2PML5KJ35HGF9DSQWXCV3BN267";
        //$i = rand(0,25);
        //$j = rand(0,25);
        //$k = rand(0,25);
        $userName = "";
        while($nb_car != 0)
                {
                $i = rand(0,35);
                $userName .= $chaine[$i];
                $nb_car --;
                }
        //return "T".$chaine[$i].substr(time(),4).$chaine[$j].$chaine[$k];
        return $userName;
}

if (isset($_POST['nbtickets'])&& is_numeric($_POST['nbtickets'])){
        $nbtickets = (int)$_POST['nbtickets'];
} else {
        header("Location: voucher_new.php");
        exit;
}

//      Gestion de la langue
//      if (is_file("../lib/langues.php"))
//      include("../lib/langues.php");

//      Langue du Ticket d'impression en fonction de la liste déroulante

if (isset($_POST["langue_imp"])) { $langue_imp = $_POST["langue_imp"]; } else { $langue_imp = "en"; };

switch ($langue_imp){
        case 'fr':
                $l_title_imp = "TICKET D'ACCÈS INTERNET";
                $l_footer_imp = "Généré par ALCASAR";
                //$l_explain1_imp = "Entrer 'alcasar' dans votre navigateur pour gérer votre compte (mot de passe, certificat, etc.).";
                //$l_explain2_imp = "Entrer 'logout' dans votre navigateur pour vous déconnecter.";
                        $l_explain = "Entrer 'alcasar' dans votre navigateur pour gérer votre compte
                        (mot de passe, certificat, etc.).
                        Entrer 'logout' dans votre navigateur pour vous déconnecter.";
                $l_login_imp = "Utilisateur :";
                $l_password_imp = "Mot de passe :";
                $l_max_all_session_imp="Durée totale autorisée :";
                $l_session_timeout_imp="Durée d'une session :";
                $l_max_daily_session_imp="Durée journalière :";
                $l_max_monthly_session_imp ="Durée mensuelle :";
                $l_expiration_imp="Date d'expiration :";
                $l_unlimited="Illimitée";
                $l_without="Aucune";
        break;
        case 'de':
                $l_title_imp = "INTERNETZUGANG TICKET";
                $l_footer_imp = "Präsentiert von ALCASAR";
                //$l_explain1_imp = "Geben Sie 'Alcasar' in Ihrem Browser, um Ihr Konto zu verwalten (kennwort, zertifikat, etc.).";
                //$l_explain2_imp = "Geben Sie 'logout' in Ihrem Browser zu trennen.";
                        $l_explain = "Geben Sie 'Alcasar' in Ihrem Browser, um Ihr Konto zu verwalten (kennwort, zertifikat, etc.).
                        Geben Sie 'logout' in Ihrem Browser zu trennen.
                        ";
                $l_login_imp = "Login :";
                $l_password_imp = "Passwort :";
                $l_max_all_session_imp="Maximale erlaubt Dauer :";
                $l_session_timeout_imp="Dauer der Sitzung :";
                $l_max_daily_session_imp="Stunden t&auml;glich :";
                $l_max_monthly_session_imp ="monatlich Dauer :";
                $l_expiration_imp="Verfallsdatum :";
                $l_unlimited="Unbegrentz";
                $l_without="Ohne";
        break;
        case 'nl':
                $l_title_imp = "ONTVANGST INTERNET";
                $l_footer_imp = "Powered by ALCASAR";
                //$l_explain1_imp = "Voer 'Alcasar' in uw browser om uw account te beheren (wachtwoord, certificaat, etc.).";
                //$l_explain2_imp = "Voer 'logout' in uw browser de verbinding te verbreken.";
                        $l_explain = "Voer 'Alcasar' in uw browser om uw account te beheren (wachtwoord, certificaat, etc.).
                        Voer 'logout' in uw browser de verbinding te verbreken.";
                $l_login_imp = "Gebruikers :";
                $l_password_imp = "Wachtwoord :";
                $l_max_all_session_imp="Totaal toegestane tijd :";
                $l_session_timeout_imp="Sessieduur :";
                $l_max_daily_session_imp="Dagelijkse uren :";
                $l_max_monthly_session_imp ="Maandelijkse duur :";
                $l_expiration_imp="Vervaldatum :";
                $l_unlimited="Onbeperkte";
                $l_without="Ohne";
        break;
        case 'es':
                $l_title_imp = "BONO INTERNET";
                $l_footer_imp = "Desarrollado por ALCASAR";
                //$l_explain1_imp = "Escribe 'Alcasar' de su navegador para administrar su cuenta (contraseña, certificado, etc.).";
                //$l_explain2_imp = "Escribe 'logout' de su navegador para desconectar.";
                        $l_explain = "Escribe 'Alcasar' de su navegador para administrar su cuenta (contraseña, certificado, etc.).
                        Escribe 'logout' de su navegador para desconectar.";
                $l_login_imp = "Usuario :";
                $l_password_imp = "Contraseña :";
                $l_max_all_session_imp="Tiempo total permitido :";
                $l_session_timeout_imp="Duraciôn de Sesiôn :";
                $l_max_daily_session_imp="Horas diarias :";
                $l_max_monthly_session_imp ="Duraciôn mensual :";
                $l_expiration_imp="Fecha de caducidad :";
                $l_unlimited="Ilimitado";
                $l_without="Sin";
        break;
        case 'it':
                $l_title_imp = "RICEVIMENTO INTERNET";
                $l_footer_imp = "Powered by ALCASAR";
                //$l_explain1_imp = "Inserisci 'alcasar' nel tuo browser per gestire il tuo account (password, certificato, ecc).";
                //$l_explain2_imp = "Inserisci 'logout' nel tuo browser per disconnettersi.";
                        $l_explain = "Inserisci 'alcasar' nel tuo browser per gestire il tuo account (password, certificato, ecc).
                        Inserisci 'logout' nel tuo browser per disconnettersi.";
                $l_login_imp = "Utenti :";
                $l_password_imp = "Password :";
                $l_max_all_session_imp="Tempo totale consentito:";
                $l_session_timeout_imp="Durata della sessione :";
                $l_max_daily_session_imp="Ore giornaliere :";
                $l_max_monthly_session_imp ="Durata mensile :";
                $l_expiration_imp="Data di scadenza :";
                $l_unlimited="Illimitato";
                $l_without="Senza";
        break;
        case 'pt':
                $l_title_imp = "BILHETE DE ACESSO À INTERNET";
                $l_footer_imp = "Desenvolvido por ALCASAR";
                //$l_explain1_imp = "Digite 'Alcasar' no seu navegador para gerenciar sua conta (senha, certidão, etc).";
                //$l_explain2_imp = "Digite 'logout' no seu navegador para desligar.";
                        $l_explain = "Digite 'Alcasar' no seu navegador para gerenciar sua conta (senha, certidão, etc).
                        Digite 'logout' no seu navegador para desligar.";
                $l_login_imp = "Usuário :";
                $l_password_imp = "Senha :";
                $l_max_all_session_imp="Tempo máximo de toda conexão :";
                $l_session_timeout_imp="Fim da conexão :";
                $l_max_daily_session_imp="Conexão máxima diária :";
                $l_max_monthly_session_imp ="MConexão máxima mensal :";
                $l_expiration_imp="Data de vencimento :";
                $l_unlimited="Ilimitado";
                $l_without="Sem";
        break;
        default:
                $l_title_imp = "INTERNET ACCESS TICKET";
                $l_footer_imp = "Powered by ALCASAR";
                $l_explain1_imp = "Enter 'alcasar' in your browser to manage your account (password, certificate, etc.).";
                $l_explain2_imp = "Enter 'logout' in your browser to disconnect.";
                        $l_explain = "Enter 'alcasar' in your browser to manage your account (password, certificate, etc.).
                        Enter 'logout' in your browser to disconnect.";
                $l_login_imp = "Login :";
                $l_password_imp = "Password :";
                $l_max_all_session_imp="Total time allowed :";
                $l_session_timeout_imp="Session timeout :";
                $l_max_daily_session_imp="Max daily session :";
                $l_max_monthly_session_imp ="Max monthly session :";
                $l_expiration_imp="Expiration date :";
                $l_unlimited="Unlimited";
                $l_without="Without";
        break;
        }
        
require(ROOT.'etc/freeradius-web/config.php');

require('../lib/attrshow.php');
require('../lib/defaults.php');
if ($config[general_lib_type] == 'sql' && $config[sql_use_operators] == 'true'){
        $colspan=2;
        $show_ops=1;
}else{
        $show_ops = 0;
        $colspan=1;
}

$LIBpath = "../lib/";
require(ROOT.'etc/freeradius-web/config.php');
if (is_file($LIBpath."sql/drivers/$config[sql_type]/functions.php"))
        {
        include_once($LIBpath."sql/drivers/$config[sql_type]/functions.php");
        }
else
        {
        echo "<b>Could not include SQL library</b><br>\n";
        exit();
        }
include_once($LIBpath.'functions.php');
if ($config['sql_use_operators'] == 'true')
        {
        include_once($LIBpath."operators.php");
        $text = ',op';
        $passwd_op = ",':='";
        }
$link = @da_sql_pconnect($config);

$nbfailuser = 0;

// Préparation de la fiche PDF
$pdf = new ticketsPDF(2,3);
$pdf->setTicketsTitle($l_title_imp);
$pdf->setTicketsFooter($l_footer_imp);

if ($link)
{
        if (is_file($LIBpath."crypt/$config[general_encryption_method].php"))
        {
                include($LIBpath."crypt/$config[general_encryption_method].php");
                // ajout des comptes (mêmes attributs pour tous sauf login + mdp)

                for ($i = 1; $i <= $nbtickets; $i++) 
                {
                        // effacement des variables
                        $login = "";
                        $passwd = "";
                        // création des données uniques
                        $login = GenRandUsersName();
                        $passwd = GenPassword();
                        $login = da_sql_escape_string($login);
                        $passwd = da_sql_escape_string($passwd);
                        // création des variables d'impression
                        $login_imp = $login;
                        $passwd1_imp = $passwd;
                        // encryption du mot de passe
                        $passwd = da_encrypt($passwd);
                        
                        // test si l'usager existe
                        if (is_file("../lib/$config[general_lib_type]/user_info.php"))
                                include("../lib/$config[general_lib_type]/user_info.php");
                                
                        if ($user_exists == "no"){
                                // Création de l'usager
                                if (is_file("../lib/$config[general_lib_type]/create_user.php"))
                                        include("../lib/$config[general_lib_type]/create_user.php");
                                /*  Petit traitement pré-impression pour la lisibilité */
                                /*  Récupération des attributs du groupe le cas échéant */
                                if ($group!=''){
                                        $saved_login = $login;
                                        $login = $group;
                                        if (is_file("../lib/sql/group_info.php"))
                                                include("../lib/sql/group_info.php");
                                        $login = $saved_login;}
                                /*  Si les valeurs de durée sont vide remplissage avec la valeur 'Illimitée'*/
                                /*  et formatage des secondes sous le format Heure min ses*/
                                if ($sto_imp==''){ $sto_imp=$l_unlimited;}
                                        else { $sto_imp=sec_imp($sto_imp);}
                                if ($mas_imp==''){ $mas_imp=$l_unlimited;}
                                        else { $mas_imp=sec_imp($mas_imp);}
                                if ($mds_imp==''){ $mds_imp=$l_unlimited;}
                                        else { $mds_imp=sec_imp($mds_imp);}
                                if ($mms_imp==''){ $mms_imp=$l_unlimited;}
                                        else { $mms_imp=sec_imp($mms_imp);}     
                                /*Formatage de la date afin d'être lisible dans toute les langues 'jj mm yyyy'*/
                                $exp_imp = $Expiration;
                                if ($exp_imp!=''){ $exp_imp=date("d - m - Y",strtotime($exp_imp));}
                                        else { $exp_imp=$l_without;}
                                // Ajout d'un ticket sur la fiche PDF
                                $pdf->newTickets();
                                $pdf->Ln(5);
                                $pdf->addInfos($l_login_imp, $login_imp);
                                $pdf->addInfos($l_password_imp, $passwd1_imp);
                                $pdf->Ln(5);
                                $pdf->addInfos($l_max_all_session_imp, $mas_imp);
                                $pdf->addInfos($l_session_timeout_imp, $sto_imp);
                                $pdf->addInfos($l_max_daily_session_imp, $mds_imp);
                                $pdf->addInfos($l_expiration_imp, $exp_imp);
                                $pdf->Ln(10);
                                $pdf->addComment($l_explain);
                        } else {
                                $nbfailuser++;
                        }# if user
                } # end for
        } # end if (is file)
} # end if (link)

//Affichage de la fiche de tickets
ob_end_clean();
$pdf->Output();
?>

Generated by GNU Enscript 1.6.6.