Initial commit

This commit is contained in:
2020-01-27 08:56:08 +01:00
commit b7525048d6
27129 changed files with 3409855 additions and 0 deletions

View File

@@ -0,0 +1,259 @@
<?php
include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Variable.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Client.class.php");
class Connexionauto extends PluginsClassiques{
function Connexionauto()
{
$this->PluginsClassiques();
}
function init()
{
$variable = new Variable();
if(! $variable->charger("connexionautoID")) {
$variable->nom = "connexionautoID";
$variable->valeur = "thelia".gencode(5);
$variable->protege = 1;
$variable->cache = 1;
$variable->add();
} else {
$variable->valeur = "thelia".gencode(5);
$variable->maj();
}
}
function destroy()
{
}
function demarrage()
{
$variable = new Variable();
$variable->charger('connexionautoID');
if(isset($_COOKIE[$variable->valeur]) && !empty($_COOKIE[$variable->valeur]))
{
$str = unserialize(urldecode($_COOKIE[$variable->valeur]));
if (!$_SESSION['navig']->connecte)
{
if ($str['type'] == "login")
{
$client = New Client();
$rec = $client->charger_mail($str['login']);
if($rec && md5($client->motdepasse) == $str['password'])
{
$_SESSION['navig']->client = $client;
$_SESSION['navig']->connecte = 1;
}
}
}
}
}
function action()
{
$variable = new Variable();
$variable->charger("connexionautoID");
if (isset($_COOKIE[$variable->valeur]) && !empty($_COOKIE[$variable->valeur]))
{
if (function_exists('lireParam'))
$get = lireParam('action', 'string', 'GET');
else
$get = isset($_GET['action'])?$_GET['action']:'';
if ($get && $get == "deconnexion")
{
$cook = unserialize(urldecode($_COOKIE[$variable->valeur]));
$cook['type'] = "email";
$cook = urlencode(serialize($cook));
setcookie($variable->valeur, $cook, time() + "36000000");
}
}
}
function apresconnexion()
{
$variable = new Variable();
$variable->charger("connexionautoID");
if (function_exists('lireParam'))
$post = lireParam('connexionauto', 'string', 'POST');
else
$post = isset($_POST['connexionauto'])?$_POST['connexionauto']:'';
$user['type'] = $post;
$user['login'] = $_SESSION['navig']->client->email;
if ($post)
{
if ($post == "login")
$user['password'] = md5($_SESSION['navig']->client->motdepasse);
//AJOUT TYPE "NONE"
if (in_array($post, array("email", "login")) || ($post == "none" && isset($_COOKIE[$variable->valeur]) && !empty($_COOKIE[$variable->valeur])))
{
$cook = urlencode(serialize($user));
setcookie($variable->valeur, $cook, time() + "36000000");
}
//AJOUT TYPE "SUPPR"
if (isset($_COOKIE[$variable->valeur]) && $post == "suppr")
{
setcookie($variable->valeur, false, 0);
unset($_COOKIE[$variable->valeur]);
}
}
}
function post()
{
global $res;
$variable = new Variable();
$variable->charger("connexionautoID");
if(isset($_COOKIE[$variable->valeur]) && !empty($_COOKIE[$variable->valeur]))
{
$str = unserialize(urldecode($_COOKIE[$variable->valeur]));
if ($str['type'] == "email")
$res = str_replace("#CX_EMAIL", $str['login'], $res);
}
$res = str_replace("#CX_EMAIL", "", $res);
}
}
?>

View File

@@ -0,0 +1,59 @@
Ce plugin permet de sauvegarder automatiquement l'email ou de garder une connexion actif indéfiniment.
NOTE AMELIORATIONS :
-lorsque l'on se déconnecte le cookie passe en type e-mail, on est donc pas reconnecté tout de suite après
-on peut proposer à son client de supprimer les informations contenus sur l'ordinateur qu'il utilise
Veuillez simplement glisser le répertoire connexionauto dans le dossier client/plugins de votre Thelia.
Pour mettre en place le plugin, activer le plugin dans le backoffice, ajouter simplement le code ci dessous html dans votre formulaire de connexion :
<input type="checkbox" value="" name="connexionauto" id="connexionauto" />
et changer simplement la valeur de "value" suivant le mode que vous voulez utilisés(email, login, none ou suppr) :
email : pour que l'email s'affiche automatiquement dans le champ "email", (rajouter "#CX_EMAIL" en value dans votre «input name="email"»)
login : pour que la personne soit connecté automatiquemement
none : pour ignorer la gestion de la connexion automatique en gardant les valeurs, si le cookie n'éxiste pas il n'est pas créé
suppr : pour supprimer définitivement le cookie associé et les données contenues à l'intérieur
note : si vous envoyez plusieurs valeurs de connexionauto, ce sera uniquement la dernière qui sera prise en compte.
Compatible avec toutes les versions de Thelia.
Auteur du plugin : Asturyan
mlemarchand@hubchannel.fr
Auteur des améliorations : Nyro
nyro_@hotmail.fr
Merci à Roadster31 et à Asturyan pour tout.
Nyro

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Migration automatique depuis le fichier original, sauvegardé dans plugin.xml.save-->
<plugin>
<descriptif lang="fr">
<titre>Connexion auto</titre>
<chapo></chapo>
<description>Ce plugin permet d'ajouter une connexion automatique "se souvenir de moi" ou de sauvegarder l'e-mail du client.</description>
<postscriptum></postscriptum>
</descriptif>
<version>2.0b</version>
<auteur>
<nom>Asturyan - mlemarchand@hubchannel.fr;Nyro - nyro_@hotmail.fr</nom>
<societe></societe>
<email></email>
<web></web>
</auteur>
<type>classique</type>
<prerequis/>
<thelia>1.4.3</thelia>
<etat>production</etat>
<documentation>README.TXT</documentation>
<urlmiseajour></urlmiseajour>
</plugin>