Module Auth
This commit is contained in:
parent
d1065a927d
commit
63881ef165
246
application/modules/auth/controllers/SsoController.php
Normal file
246
application/modules/auth/controllers/SsoController.php
Normal file
@ -0,0 +1,246 @@
|
||||
<?php
|
||||
class Auth_SsoController extends Zend_Controller_Action
|
||||
{
|
||||
protected $theme;
|
||||
|
||||
protected $partnerConfig = array(
|
||||
'inextenso' => array(
|
||||
'logo' => 'logo-in-extenso.gif',
|
||||
'clientId' => 195,
|
||||
'serviceCode' => 'SSO',
|
||||
'authType' => 'userSSO',
|
||||
'login' => 'mail',
|
||||
'token' => 'token',
|
||||
)
|
||||
);
|
||||
|
||||
public function init()
|
||||
{
|
||||
// --- Theme
|
||||
$this->theme = Zend_Registry::get('theme');
|
||||
}
|
||||
|
||||
/**
|
||||
* Point d'entrée pour les connexions partenaires.
|
||||
* L'utilisateur s'identifie sur son portail habituel.
|
||||
*/
|
||||
public function indexAction()
|
||||
{
|
||||
// --- Désactiver le layout
|
||||
$this->_helper->layout()->disableLayout();
|
||||
|
||||
$this->view->headLink()
|
||||
->appendStylesheet($this->theme->pathStyle.'/inexweb.css', 'all')
|
||||
->appendStylesheet($this->theme->pathStyle.'/user.css', 'all');
|
||||
|
||||
$request = $this->getRequest();
|
||||
|
||||
/**
|
||||
* Get partner name - see route in bootstrap
|
||||
*/
|
||||
$partner = $request->getParam('partner');
|
||||
if ( array_key_exists($partner, $this->partnerConfig) ) {
|
||||
$config = $this->partnerConfig[$partner];
|
||||
$this->view->logo = $config['logo'];
|
||||
$params = $request->getParams();
|
||||
$objectParams = array();
|
||||
foreach ($params as $label => $value) {
|
||||
if (in_array($label, array('module', 'controller', 'action'))) continue;
|
||||
$object = new stdClass();
|
||||
$object->label = $label;
|
||||
$object->value = $value;
|
||||
$objectParams[] = $object;
|
||||
}
|
||||
$this->view->Params = $objectParams;
|
||||
|
||||
$login = $params[$config['login']];
|
||||
$part = strstr($login, '@', true);
|
||||
if ($part !== false) {
|
||||
$login = $part;
|
||||
}
|
||||
$token = $params[$config['token']];
|
||||
|
||||
try {
|
||||
$ws = new Scores_Ws_Client('gestion', '0.4');
|
||||
$parameters = new stdClass();
|
||||
$parameters->client = $config['clientId'];
|
||||
$parameters->login = $login;
|
||||
$parameters->token = $token;
|
||||
$parameters->params = $objectParams;
|
||||
$hash = $ws->ssoAuthenticate($parameters);
|
||||
// --- Utilisateur inexistant
|
||||
if ( $hash === 'false' || $hash === false ) {
|
||||
$this->view->NoUser = true;
|
||||
$urlParams = array('module'=>'auth', 'controller'=>'sso', 'action'=>'userform');
|
||||
$urlParams = array_merge($params, $urlParams);
|
||||
$this->view->FormUrlParams = $urlParams;
|
||||
}
|
||||
// --- Redirection
|
||||
else {
|
||||
|
||||
$auth = Zend_Auth::getInstance();
|
||||
|
||||
// --- Set partial identity
|
||||
$identity = new stdClass();
|
||||
$identity->username = $login;
|
||||
$identity->password = $hash;
|
||||
$auth->getStorage()->write($identity);
|
||||
// --- End Set partial identity
|
||||
|
||||
// --- Get InfosLogin
|
||||
$adressIp = $_SERVER['REMOTE_ADDR'];
|
||||
$parameters = new stdClass();
|
||||
$parameters->login = $login;
|
||||
$parameters->ipUtilisateur = $adressIp;
|
||||
$parameters->from = 'auth';
|
||||
try {
|
||||
$ws = new Scores_Ws_Client('gestion', '0.3');
|
||||
$InfosLogin = $ws->getInfosLogin($parameters);
|
||||
Zend_Registry::get('firebug')->info($InfosLogin);
|
||||
if ( is_string($InfosLogin) || $InfosLogin->error->errnum != 0 ) {
|
||||
$this->view->Error = true;
|
||||
} else {
|
||||
$user = new Scores_Utilisateur();
|
||||
$identity = $user->updateProfil($InfosLogin);
|
||||
$auth->getStorage()->write($identity);
|
||||
// --- Redirect
|
||||
$this->redirect('/');
|
||||
}
|
||||
} catch ( Exception $e ) {
|
||||
switch ( $e->getCode() ) {
|
||||
case 'MSG':
|
||||
$this->view->Message = $e->getMessage();
|
||||
break;
|
||||
default:
|
||||
$this->view->Error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// --- End Get InfosLogin
|
||||
}
|
||||
} catch ( Exception $e ) {
|
||||
switch ( $e->getCode() ) {
|
||||
case 'MSG':
|
||||
$this->view->Message = $e->getMessage();
|
||||
break;
|
||||
default:
|
||||
$this->view->Error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->view->Message = "Erreur dans les paramètres.";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Affichage du formulaire pour l'inscription des utilisateurs
|
||||
*/
|
||||
public function userformAction()
|
||||
{
|
||||
// --- Désactiver le layout
|
||||
$this->_helper->layout()->disableLayout();
|
||||
$this->view->headLink()->appendStylesheet($this->theme->pathStyle.'/user.css', 'all');
|
||||
$request = $this->getRequest();
|
||||
|
||||
/**
|
||||
* Get partner name - see route in bootstrap
|
||||
*/
|
||||
$partner = $request->getParam('partner');
|
||||
if ( array_key_exists($partner, $this->partnerConfig) ) {
|
||||
$config = $this->partnerConfig[$partner];
|
||||
$this->view->logo = $config['logo'];
|
||||
$params = $request->getParams();
|
||||
$objectParams = array();
|
||||
foreach ($params as $label => $value) {
|
||||
if (in_array($label, array('module', 'controller', 'action'))) continue;
|
||||
$object = new stdClass();
|
||||
$object->label = $label;
|
||||
$object->value = $value;
|
||||
$objectParams[] = $object;
|
||||
}
|
||||
$this->view->Params = $objectParams;
|
||||
|
||||
$login = $params[$config['login']];
|
||||
$part = strstr($login, '@', true);
|
||||
if ($part !== false) {
|
||||
$login = $part;
|
||||
}
|
||||
$token = $params[$config['token']];
|
||||
|
||||
$this->view->NoUser = true;
|
||||
// --- Set form value
|
||||
$this->view->FormPartner = $partner;
|
||||
$this->view->FormIdentifiant = $login;
|
||||
$this->view->FormCourriel = $request->getParam('mail');
|
||||
$this->view->FormSiret = $request->getParam('siret');
|
||||
$this->view->FormNom = $request->getParam('lastname');
|
||||
$this->view->FormPrenom = $request->getParam('name');
|
||||
}
|
||||
else {
|
||||
$this->view->Message = "Erreur dans les paramètres.";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creation d'un utilisateur en SSO
|
||||
*/
|
||||
public function usercreateAction()
|
||||
{
|
||||
$this->_helper->layout()->disableLayout();
|
||||
|
||||
$request = $this->getRequest();
|
||||
|
||||
$partner = $request->getParam('partner');
|
||||
if ( array_key_exists($partner, $this->partnerConfig) ) {
|
||||
$config = $this->partnerConfig[$partner];
|
||||
$this->view->logo = $config['logo'];
|
||||
$data = array(
|
||||
'idClient' => $config['clientId'],
|
||||
'login' => $request->getParam('login'),
|
||||
'email' => $request->getParam('email', ''),
|
||||
'actif' => 1,
|
||||
'nom' => $request->getParam('nom', ''),
|
||||
'prenom' => $request->getParam('prenom', ''),
|
||||
'siret' => str_replace(' ', '', $request->getParam('siret', '')),
|
||||
'tel' => str_replace(array(' ','.'), array('',''), $request->getParam('tel', '')),
|
||||
'Service' => $config['serviceCode'],
|
||||
);
|
||||
|
||||
try {
|
||||
$ws = new Scores_Ws_Client('gestion', '0.4');
|
||||
$parameters = new stdClass();
|
||||
$parameters->data = json_encode($data);
|
||||
$created = $ws->setUserSSO($parameters);
|
||||
if ($created === false ) {
|
||||
$this->view->Message = "Erreur lors de la création de votre compte.";
|
||||
} else {
|
||||
$this->view->UserCreated = true;
|
||||
// --- Data to go back
|
||||
$params = $request->getParams();
|
||||
$urlArgs = array();
|
||||
foreach ($params as $label => $value) {
|
||||
if (in_array($label, array('module', 'controller', 'action'))) continue;
|
||||
if (substr($label, 0, 2) == 'P-') {
|
||||
$urlArgs[substr($label, 2)] = $value;
|
||||
}
|
||||
}
|
||||
$urlArgs['partner'] = 'inextenso';
|
||||
$this->view->UrlArgs = $urlArgs;
|
||||
}
|
||||
} catch ( Exception $e ) {
|
||||
switch ( $e->getCode() ) {
|
||||
case 'MSG':
|
||||
$this->view->Message = $e->getMessage();
|
||||
break;
|
||||
default:
|
||||
$this->view->Error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$this->view->Message = "Erreur dans les paramètres.";
|
||||
}
|
||||
}
|
||||
}
|
181
application/modules/auth/controllers/UserController.php
Normal file
181
application/modules/auth/controllers/UserController.php
Normal file
@ -0,0 +1,181 @@
|
||||
<?php
|
||||
class Auth_UserController extends Zend_Controller_Action
|
||||
{
|
||||
public function init()
|
||||
{
|
||||
$this->_helper->layout()->disableLayout();
|
||||
}
|
||||
|
||||
/**
|
||||
* Authentication
|
||||
*/
|
||||
public function loginAction()
|
||||
{
|
||||
$this->_helper->layout()->disableLayout();
|
||||
$this->view->headTitle()->append('Connexion');
|
||||
$form = new Application_Form_Login();
|
||||
$this->view->form = $form;
|
||||
$request = $this->getRequest();
|
||||
if ( $request->isPost() ) {
|
||||
$formData = $request->getPost();
|
||||
if ($form->isValid($formData)) {
|
||||
$login = $form->getValue('login');
|
||||
$pass = $form->getValue('pass');
|
||||
|
||||
$auth = Zend_Auth::getInstance();
|
||||
$authAdapter = new Scores_Auth_Adapter_Ws($login, $pass);
|
||||
$result = $auth->authenticate($authAdapter);
|
||||
|
||||
// Auth is valid
|
||||
if ( $result->isValid() ) {
|
||||
|
||||
// Save browser information
|
||||
$screenSize = $request->getParam('screenSize', 'unknow');
|
||||
$user = new Scores_Utilisateur();
|
||||
$info = get_browser();
|
||||
$isMobile = ($info->ismobiledevice==1) ? 1 : 0;
|
||||
$user->setBrowserInfo($info->platform, $info->browser, $info->version, $isMobile, $screenSize);
|
||||
|
||||
// Get previous url if user has been disconnected
|
||||
$url = '';
|
||||
if (Zend_Session::namespaceIsset('login')){
|
||||
$session = new Zend_Session_Namespace('login');
|
||||
if (isset($session->url)) {
|
||||
$url = $session->url;
|
||||
}
|
||||
}
|
||||
if (!empty($url) && $url!='/auth/user/login' && $url!='/auth/user/logout' ) {
|
||||
$this->redirect($url);
|
||||
}
|
||||
$this->redirect('/');
|
||||
}
|
||||
// Auth error
|
||||
else {
|
||||
$this->view->message = '';
|
||||
Zend_Registry::get('firebug')->info($result);
|
||||
foreach ($result->getMessages() as $message) {
|
||||
$this->view->message.= $message."<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Déconnexion
|
||||
*/
|
||||
public function logoutAction()
|
||||
{
|
||||
Zend_Auth::getInstance()->clearIdentity();
|
||||
$session = new Zend_Session_Namespace('wcheck');
|
||||
$session->unsetAll();
|
||||
$this->_helper->layout()->disableLayout();
|
||||
|
||||
$request = $this->getRequest();
|
||||
$message = $request->getParam('message');
|
||||
$this->view->assign('message', $message);
|
||||
|
||||
$ajax = $request->getParam('ajax', 0);
|
||||
$this->view->assign('ajax', $ajax);
|
||||
|
||||
$refresh = 5;
|
||||
|
||||
$url = 'http://'.$_SERVER['SERVER_NAME'].$this->view->url(array(
|
||||
'controller' => 'user',
|
||||
'action' => 'login',
|
||||
), 'default', true);
|
||||
|
||||
$this->view->assign('url', $url);
|
||||
|
||||
if ( $ajax == 0 ) {
|
||||
$this->view->assign('refresh', $refresh);
|
||||
$this->view->headMeta()->appendHttpEquiv('refresh', $refresh.'; url='.$url);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Oubli du mot de passe
|
||||
*/
|
||||
public function forgetAction()
|
||||
{
|
||||
$request = $this->getRequest();
|
||||
$name = 'Identifiants oubliés ?';
|
||||
$params = array(
|
||||
'identifiant' => '',
|
||||
'telephone' => '',
|
||||
'email' => '',
|
||||
'nom' => '',
|
||||
'prenom' => '',
|
||||
'fonction' => '',
|
||||
'service' => '',
|
||||
'rsociale' => '',
|
||||
);
|
||||
|
||||
$this->_helper->layout()->disableLayout();
|
||||
if ( $request->isPost() ) {
|
||||
$params = $request->getParams();
|
||||
$message = '';
|
||||
|
||||
$paramlist = array(
|
||||
'telephone' => 'Numéro de téléphone direct',
|
||||
'email' => 'Adresse email',
|
||||
'nom' => 'Nom',
|
||||
'prenom' => 'Prénom',
|
||||
'fonction' => 'Fonction',
|
||||
'service' => 'Service',
|
||||
'rsociale' => 'Sociale',
|
||||
);
|
||||
|
||||
foreach ($paramlist as $item => $val) {
|
||||
if (!isset($params[$item])) {
|
||||
$message .= "Champs $val vide !<br/>";
|
||||
}
|
||||
}
|
||||
|
||||
$validator = new Zend_Validate_EmailAddress();
|
||||
if (isset($params['email'])){
|
||||
if (!$validator->isValid($params['email'])) {
|
||||
$message .="Adresse email invalide ! <br/>";
|
||||
}
|
||||
}
|
||||
|
||||
if ($message == '') {
|
||||
|
||||
$mailbody = '<style type="text/css">table {font-family:Arial, Helvetica, sans-serif; font-size: 12px; width: 550px; border: none;}table td{padding: 4px 8px;}</style>';
|
||||
$mailbody .= "Demande d'envoi des identifiants.<br /><br />";
|
||||
$mailbody .= "L'un de nos clients a égaré son(ses) identifiant(s).<br />";
|
||||
$mailbody .= "Via notre lien -identifiants oubliés- il a effectué une demande de transmission de ces codes.<br />";
|
||||
$mailbody .= "<p>A l'aide des informations ci-dessous, merci de retrouver ces codes et les lui envoyer par email.</p>";
|
||||
$mailbody .= "<table><tr bgcolor='#eeeeee'><td width='200px'><strong>Identifiant :</strong></td><td>".$params['identifiant']."</td></tr>";
|
||||
$mailbody .= "<tr><td><strong>Adresse email:</strong></td><td>".$params['email']."</td></tr>";
|
||||
$mailbody .= "<tr bgcolor='#eeeeee'><td><strong>Numéro de téléphone direct:</strong></td><td>".$params['telephone']."</td></tr>";
|
||||
$mailbody .= "<tr><td><strong>Nom:</strong></td><td>".$params['nom']."</td></tr>";
|
||||
$mailbody .= "<tr bgcolor='#eeeeee'><td><strong>Prénom:</strong></td><td>".$params['prenom']."</td></tr>";
|
||||
$mailbody .= "<tr><td><strong>Fonction:</strong></td><td>".$params['fonction']."</td></tr>";
|
||||
$mailbody .= "<tr bgcolor='#eeeeee'><td><strong>Service:</strong></td><td>".$params['service']."</td></tr>";
|
||||
$mailbody .= "<tr><td><strong>Dénomination Sociale:</strong></td><td>".$params['rsociale']."</td></tr></table>";
|
||||
$mailbody .= "<p>Si les informations fournies ne permettent pas d'identifier correctement l'utilisateur, ";
|
||||
$mailbody .= "merci d'émettre un message sur le mail communiquer en précisant que \"Les éléments confiés ne permettent pas d'identifier l'utilisateur ";
|
||||
$mailbody .= "et par conséquence de vous délivrer les codes d'accès demandés\".<br />";
|
||||
$mailbody .= "Aussi nous vous invitons à vous rapprocher de votre interlocuteur commercial habituel ";
|
||||
$mailbody .= "ou de votre responsable suivi relations Scores & Décisions au sein de votre société.</p>";
|
||||
|
||||
$mail = new Scores_Mail_Method();
|
||||
$mail->setSubject("Demande d'envoi des identifiants");
|
||||
$mail->setBodyHtmlC($mailbody);
|
||||
$mail->setFromKey('support');
|
||||
$mail->addToKey('support');
|
||||
$mail->setReplyTo($params['email']);
|
||||
try {
|
||||
$mail->execute();
|
||||
$this->view->assign('sendEmail' , true);
|
||||
}
|
||||
catch ( Zend_Mail_Transport_Exception $e ){
|
||||
$message = $e->getMessage();
|
||||
}
|
||||
|
||||
}
|
||||
$this->view->assign('message', $message);
|
||||
}
|
||||
}
|
||||
}
|
101
application/modules/auth/views/default/scripts/sso/index.phtml
Normal file
101
application/modules/auth/views/default/scripts/sso/index.phtml
Normal file
@ -0,0 +1,101 @@
|
||||
<?php echo $this->doctype(); ?>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo $this->headMeta(); ?>
|
||||
<?php echo $this->headTitle(); ?>
|
||||
<?php echo $this->headStyle(); ?>
|
||||
<?php echo $this->headLink(); ?>
|
||||
<?php echo $this->headScript(); ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrap">
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
<h1 class="text-center">Scores & Decisions</h1>
|
||||
<br/>
|
||||
|
||||
<p>
|
||||
Scores & Decisions est l'éditeur d'une base de données de référence sur toutes les entreprises de France.
|
||||
Scores & Decisions est licencié officiel depuis 2008 pour la rediffusion du répertoire Sirène (INSEE), du RNCS
|
||||
Registre National du Commerce et des Sociétés (INPI) et des Journaux Officiels (DILA). Scores & Decisions est
|
||||
un service privé distinct des services publics cités.
|
||||
</p>
|
||||
<br/>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<p class="text-primary">Spécialiste de l'information légales et financières sur les entreprises, Scores & Décisions vous permet par
|
||||
confirmation des éléments ci-contre d'accéder à toute sa base de données.</p>
|
||||
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
Télécharger nos Conditions Générales de Services
|
||||
<a href="<?=$this->baseUrl()?>/documents/inextenso_cgs.pdf" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
Télécharger nos Conditions Tarifaires
|
||||
<a href="#" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
Télécharger les coordonnées de vos contacts
|
||||
<a href="<?=$this->baseUrl()?>/documents/inextenso_contacts.pdf" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-danger">Ce service est actuellement en beta. La consultation vous est offerte durant cette période.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
<h2>Trouvez les réponses à vos questions !</h2>
|
||||
|
||||
<ul class="arguments">
|
||||
|
||||
<li><strong>Disposez de certitudes sur l'identité de vos interlocuteurs, les liens financiers et les liens
|
||||
dirigeants... ></strong> Mon client a t il une existence légale ? Quels sont les derniers événements qui ont touché l'entreprise ?</li>
|
||||
|
||||
<li><strong>Évitez les mauvais payeurs ></strong>
|
||||
Ce prospect paye t'il rapidement, est-il en procédure collective ? Quel est sa rentabilité, son niveau de
|
||||
trésorerie ?</li>
|
||||
|
||||
<li><strong>Surveillez la solvabilité de vos partenaires, clients et fournisseurs ou concurrents ></strong>
|
||||
Mes clients sont ils viables dans la durée, puis je continuer et développer les ventes ?</li>
|
||||
|
||||
<li><strong>Découvrez la valeur de votre entreprises ou celles de vos concurrents ></strong> Mon entreprise a t elle de la
|
||||
valeur ? combien me coûterait le rachat d'un concurrent ?</li>
|
||||
|
||||
<li><strong>Trouvez vos futurs clients ></strong> Où sont et qui sont mes prospects ?</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Les données agrégées sont officielles, exhaustives, fraîches et opposables aux tiers. Elles sont utilisées
|
||||
par des grands groupes et institutionnels dans des cadres contentieux, de conformité, de fraude...</p>
|
||||
|
||||
<a type="button" class="btn btn-success btn-lg" href="<?=$this->url($this->FormUrlParams, 'default', true)?>">Accédez au site</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p class="inexweb text-center"><img src="/themes/default/images/partner/logo-inexweb.png"/> <strong>vous offre 60 jours de gratuité, et la surveillance de votre portefeuille clients !</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php echo $this->inlineScript(); ?>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -0,0 +1,58 @@
|
||||
<?php echo $this->doctype(); ?>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo $this->headMeta(); ?>
|
||||
<?php echo $this->headTitle(); ?>
|
||||
<?php echo $this->headStyle(); ?>
|
||||
<?php echo $this->headLink(); ?>
|
||||
<?php echo $this->headScript(); ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrap">
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6"><img src="/themes/default/images/partner/<?=$this->logo?>"/></div>
|
||||
<div class="col-md-6">
|
||||
|
||||
<h2 class="form-signin-heading">Extranet <small>Scores & Décisions</small></h2>
|
||||
<?php
|
||||
//Error
|
||||
if ($this->Error) {?>
|
||||
<div style="text-align:center;"><p class="text-danger"><span>Une erreur est survenue</span></p></div>
|
||||
<?php
|
||||
}
|
||||
//Message
|
||||
else if ($this->Message) {?>
|
||||
<div style="text-align:center;"><p class="text-danger"><span><?=$this->Message?></span></p></div>
|
||||
<?php
|
||||
}
|
||||
//OK
|
||||
else if ($this->UserCreated) {?>
|
||||
<div>
|
||||
<p class="text-success">
|
||||
<span>Votre compte a été crée avec succès.</span>
|
||||
<a href="<?=$this->url(array_merge(array('module'=>'auth', 'controller'=> 'sso', 'action' => 'index'), $this->UrlArgs))?>">
|
||||
Cliquez ici pour être redirigé vers la page d'accueil.</a>
|
||||
</p>
|
||||
</div>
|
||||
<?php }?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted credit"> © <?=date('Y')?> <a href="http://www.scores-decisions.com">Scores & Décisions SAS</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php echo $this->inlineScript(); ?>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -0,0 +1,127 @@
|
||||
<?php echo $this->doctype(); ?>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo $this->headMeta(); ?>
|
||||
<?php echo $this->headTitle(); ?>
|
||||
<?php echo $this->headStyle(); ?>
|
||||
<?php echo $this->headLink(); ?>
|
||||
<?php echo $this->headScript(); ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrap">
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<p><img src="/themes/default/images/partner/<?=$this->logo?>"/></p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<p class="text-primary">Spécialiste de l'information légales et financières sur les entreprises, Scores & Décisions vous permet par
|
||||
confirmation des éléments ci-contre d'accéder à toute sa base de données.</p>
|
||||
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
Télécharger nos Conditions Générales de Services
|
||||
<a href="<?=$this->baseUrl()?>/documents/inextenso_cgs.pdf" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
Télécharger nos Conditions Tarifaires
|
||||
<a href="#" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
Télécharger les coordonnées de vos contacts
|
||||
<a href="<?=$this->baseUrl()?>/documents/inextenso_contacts.pdf" target="_blank">
|
||||
<span class="glyphicon glyphicon-file pull-right" aria-hidden="true"></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-danger">Ce service est actuellement en beta. La consultation vous est offerte durant cette période.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
<form method="post" action="<?=$this->url(array('module'=>'auth', 'controller'=>'sso', 'action'=>'usercreate'), 'default', true)?>">
|
||||
<h2 class="form-signin-heading">Extranet <small>Scores & Décisions</small></h2>
|
||||
<?php
|
||||
//Error
|
||||
if ($this->Error) {?>
|
||||
<div style="text-align:center;"><p class="text-danger"><span>Une erreur est survenue</span></p></div>
|
||||
<?php
|
||||
}
|
||||
//Message
|
||||
else if ($this->Message) {?>
|
||||
<div style="text-align:center;"><p class="text-danger"><span><?=$this->Message?></span></p></div>
|
||||
<?php
|
||||
}
|
||||
//NoUser
|
||||
else if ($this->NoUser) {?>
|
||||
<div><p class="text-warning"><span>
|
||||
Votre compte n'existe pas encore. Compléter le formulaire puis valider pour créer votre compte.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
<?php foreach ($this->Params as $item) {?>
|
||||
<input type="hidden" name="P-<?=$item->label?>" value="<?=$item->value?>"/>
|
||||
<?php }?>
|
||||
|
||||
<input type="hidden" name="partner" value="<?=$this->FormPartner?>"/>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="identifiant">Identifiant</label>
|
||||
<input type="text" id="identifiant" value="<?=$this->FormIdentifiant?>" class="form-control" disabled>
|
||||
<input type="hidden" name="login" value="<?=$this->FormIdentifiant?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input type="text" class="form-control" value="<?=$this->FormCourriel?>" disabled>
|
||||
<input type="hidden" name="email" value="<?=$this->FormCourriel?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="siret">SIRET</label>
|
||||
<input type="text" class="form-control" name="siret" value="<?=$this->FormSiret?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nom">Nom</label>
|
||||
<input type="text" class="form-control" name="nom" value="<?=$this->FormNom?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="prenom">Prénom</label>
|
||||
<input type="text" class="form-control" name="prenom" value="<?=$this->FormPrenom?>">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tel">Téléphone</label>
|
||||
<input type="text" class="form-control" name="tel" value="<?=$this->FormTel?>">
|
||||
</div>
|
||||
|
||||
<button class="btn btn-lg btn-primary btn-block clearfix" type="submit">Valider</button>
|
||||
|
||||
<?php }?>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted credit"> © <?=date('Y')?> <a href="http://www.scores-decisions.com">Scores & Décisions SAS</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php echo $this->inlineScript(); ?>
|
||||
</body>
|
||||
</html>
|
||||
|
184
application/modules/auth/views/default/scripts/user/forget.phtml
Normal file
184
application/modules/auth/views/default/scripts/user/forget.phtml
Normal file
@ -0,0 +1,184 @@
|
||||
<style>
|
||||
div#dlg input#frm {
|
||||
border-radius:0;
|
||||
font-size:95%;
|
||||
margin:0;
|
||||
padding:0em 0em 0em 0.2em;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
width: 20em;
|
||||
height:1.5em;
|
||||
}
|
||||
label#frm {
|
||||
font-family: arial;
|
||||
font-size:0.9em;
|
||||
cursor: default;
|
||||
clear: both;
|
||||
float: left;
|
||||
width: 20em;
|
||||
margin-right: 1em;
|
||||
text-align: right;
|
||||
}
|
||||
.brsr {
|
||||
border-style:solid;
|
||||
border-width:1px;
|
||||
border-color:red;
|
||||
}
|
||||
.loading
|
||||
{
|
||||
background-color: silver;
|
||||
height: 450px;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
position: absolute;
|
||||
width: 720px;
|
||||
opacity: 0.3;
|
||||
display:none;
|
||||
z-index: 1;
|
||||
}
|
||||
.message {
|
||||
font-size: 0.8em;
|
||||
width: 96%;
|
||||
background-color: #FFFFDD;
|
||||
border: 1px solid #FCEFA1;
|
||||
border-radius: 4px;
|
||||
padding: 10px 15px 10px 15px;
|
||||
}
|
||||
.stl {
|
||||
height:25px;
|
||||
}
|
||||
|
||||
#htxt, #ftxt {
|
||||
margin-top: 10px;
|
||||
margin-bottom:20px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<?php if ($this->sendEmail) {?>
|
||||
<div class='message'><p id='<?=$this->bt_fermer;?>'>
|
||||
Votre demande a été envoyée. Nous vous contacterons prochainement.
|
||||
</p></div>
|
||||
|
||||
<script>
|
||||
$('#dlg').dialog({ buttons: [
|
||||
{ text: "Fermer", click: function() { $(this).dialog('close'); }}
|
||||
] });
|
||||
</script>
|
||||
|
||||
<?php } else {?>
|
||||
|
||||
<?php if ($this->message!='') {?>
|
||||
<div class='message'><p id='<?=$this->bt_fermer;?>'><?=$this->message; ?></p></div>
|
||||
<?php }?>
|
||||
|
||||
<div id='htxt'>
|
||||
Pour recevoir votre mot de passe et/ou votre identifiant oubliés, nous vous invitons à saisir les informations ci-dessous et cliquer sur valider.
|
||||
A réception de ces données, nous vous informerons par e-mail.
|
||||
<p>Tous les champs (*) sont obligatoires : en cas de données manquantes ou erronées, votre demande ne pourra pas être prise en compte par nos services. * = champ obligatoire.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<form>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Identifiant :</label>
|
||||
<input id="frm" type="text" name="identifiant"/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Adresse email* :</label>
|
||||
<input id="frm" type="text" name="email" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Numéro de téléphone* :</label>
|
||||
<input id="frm" type="text" name="telephone" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Nom* :</label>
|
||||
<input id="frm" type="text" name="nom" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Prénom* :</label>
|
||||
<input id="frm" type="text" name="prenom" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Fonction* :</label>
|
||||
<input id="frm" type="text" name="fonction" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Votre Service* :</label>
|
||||
<input id="frm" type="text" name="service" required/>
|
||||
</div>
|
||||
<div class="stl">
|
||||
<label id="frm">Dénomination Sociale* :</label>
|
||||
<input id="frm" type="text" name="rsociale" required/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="ftxt">
|
||||
<p>Ces informations sont destinées exclusivement au traitement de votre demande et à l'émission d'une réponse personnalisée.</p>
|
||||
</div>
|
||||
|
||||
<div class="loading"><center><img style="padding-top:25%" src="/themes/default/images/giant/19-1.gif" /></center></div>
|
||||
|
||||
<script>
|
||||
function validate() {
|
||||
var allvals = true;
|
||||
$('div#dlg input[required]').each(function() {
|
||||
if(!$(this).val()) {
|
||||
allvals = false;
|
||||
$(this).addClass('brsr');
|
||||
}
|
||||
else { $(this).removeClass('brsr'); }
|
||||
});
|
||||
return allvals;
|
||||
}
|
||||
|
||||
function isEmail(email) {
|
||||
var emailval = true;
|
||||
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
|
||||
if (!regex.test(email.val())) {
|
||||
emailval = false;
|
||||
$(email).addClass('brsr');
|
||||
}
|
||||
else {
|
||||
$(email).removeClass('brsr');
|
||||
}
|
||||
return emailval;
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
validate();
|
||||
});
|
||||
|
||||
$('div#dlg input[required]').blur(function(){
|
||||
if(!$(this).val()) { $(this).addClass('brsr'); }
|
||||
else { $(this).removeClass('brsr'); }
|
||||
});
|
||||
|
||||
$('#dlg').dialog({ buttons: [
|
||||
{ text: "Valider", click: function() {
|
||||
var values = $(this).find('form').serialize();
|
||||
if (validate() && isEmail($('div#dlg input[name=email]'))) {
|
||||
if ($('.loading').css('display')=='none') {
|
||||
$('.loading').css('display', 'block');
|
||||
$('.ui-dialog-content').css('overflow','hidden');
|
||||
$(".ui-dialog-buttonpane button:contains('Valider')").button("disable");
|
||||
} else {
|
||||
$('.loading').css('display', 'none');
|
||||
}
|
||||
$.post('/auth/user/forget', values, function(data) {
|
||||
$('#dlg').html(data);
|
||||
$('#htxt').height(50);
|
||||
$('input#frm').attr("disabled", "disabled");
|
||||
$(".ui-dialog-buttonpane button:contains('Valider')").hide();
|
||||
});
|
||||
}
|
||||
}},
|
||||
{ text: "Annuler", click: function() { $(this).dialog('close'); }}
|
||||
] });
|
||||
</script>
|
||||
|
||||
<?php }?>
|
@ -0,0 +1,70 @@
|
||||
<?php echo $this->doctype(); ?>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo $this->headMeta(); ?>
|
||||
<?php echo $this->headTitle(); ?>
|
||||
<?php echo $this->headStyle(); ?>
|
||||
<?php echo $this->headLink(); ?>
|
||||
<?php echo $this->headScript(); ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrap">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<form class="form-signin" method="post" action="<?=$this->url(array('module'=>'auth', 'controller'=>'user',
|
||||
'action'=>'login'), 'default', true)?>">
|
||||
|
||||
<h2 class="form-signin-heading">Extranet <small>Scores & Décisions</small></h2>
|
||||
<div style="text-align:center;"><p class="text-danger"><span><?=$this->message?></span></p></div>
|
||||
<input name="login" value="" type="text" class="form-control" placeholder="Identifiant" autofocus autocomplete="off" required />
|
||||
<input name="pass" value="" type="password" class="form-control" placeholder="Mot de passe" required/>
|
||||
<script>document.write('<input name="screenSize" type="hidden" value="'+ screen.width +'x'+screen.height + '">');</script>
|
||||
|
||||
<button class="btn btn-lg btn-primary btn-block clearfix"" type="submit">Connexion</button>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="form-signin">
|
||||
<a class="dlg pull-right" title="<?=$this->translate("Identifiants oubliés ?")?>" href="<?=$this->url(array(
|
||||
'module'=>'auth', 'controller'=>'user', 'action'=>'forget'))?>">
|
||||
<?=$this->translate("Identifiants oubliés ?")?></a>
|
||||
<script>
|
||||
$('a.dlg').on('click', function(e){
|
||||
e.preventDefault();
|
||||
var title = $(this).attr('title');
|
||||
var href = $(this).attr('href');
|
||||
var dlgOpts = {
|
||||
bgiframe: true,
|
||||
title: title,
|
||||
width: 710,
|
||||
height: 530,
|
||||
modal: true,
|
||||
resizable: false,
|
||||
open: function(event, ui) {
|
||||
$(this).html('Chargement...');
|
||||
$(this).load(href);
|
||||
},
|
||||
buttons: {'Fermer': function() { $(this).dialog('close'); }},
|
||||
close: function() { $('#dlg').remove(); }};
|
||||
$('<div id="dlg"></div>').dialog(dlgOpts);
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted credit"> © <?=date('Y')?> <a href="http://www.scores-decisions.com">Scores & Décisions SAS</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php echo $this->inlineScript(); ?>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,40 @@
|
||||
<?php if ($this->ajax) {?>
|
||||
|
||||
<h4 class="logout"><?=$this->translate("Vous avez été déconnecté.")?></h4>
|
||||
<h5 class="logout"><?=$this->translate("Veuillez cliquer")?> <a href="<?=$this->url?>"><?=$this->translate("ici")?></a>
|
||||
</h5>
|
||||
|
||||
<?php } else {?>
|
||||
|
||||
<?php echo $this->doctype(); ?>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo $this->headMeta(); ?>
|
||||
<?php echo $this->headTitle(); ?>
|
||||
<?php echo $this->headStyle(); ?>
|
||||
<?php echo $this->headLink(); ?>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrap">
|
||||
|
||||
<div class="container">
|
||||
<h4><?=$this->translate("Vous avez été déconnecté.")?></h4>
|
||||
<p><?=$this->message?></p>
|
||||
<h5 class="logout">
|
||||
<?=$this->translate("Si cette page ne disparait pas au bout de %1\$s seconde(s)", $this->refresh)?>,
|
||||
<?=$this->translate("veuillez cliquer ")?><a href="<?=$this->url?>"><?=$this->translate("ici")?></a>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted credit"> © <?=date('Y')?> <a href="http://www.scores-decisions.com">Scores & Décisions SAS</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php }?>
|
Loading…
Reference in New Issue
Block a user