add UserLogin
authorGautier Thibault <gthibault@universcine.com>
Wed, 24 Mar 2010 15:42:58 +0100
changeset 22 9a7dd07eeae6
parent 21 8a048c4acbda
child 23 6c5bf4fc94ee
add UserLogin
web/thdProject/apps/frontend/config/routing.yml
web/thdProject/apps/frontend/modules/account/actions/actions.class.php
web/thdProject/apps/frontend/modules/account/actions/components.class.php
web/thdProject/apps/frontend/modules/account/templates/_loginUserForm.php
web/thdProject/apps/frontend/modules/account/templates/_loginUserFormHeader.php
web/thdProject/apps/frontend/modules/homepage/templates/_lastTaggedList.php
web/thdProject/apps/frontend/modules/partials/actions/actions.class.php
web/thdProject/apps/frontend/modules/partials/actions/components.class.php
web/thdProject/apps/frontend/modules/partials/templates/_header.php
web/thdProject/apps/frontend/modules/partials/templates/_navigation.php
web/thdProject/apps/frontend/modules/partials/templates/_userPanel.php
web/thdProject/apps/frontend/templates/layout.php
web/thdProject/cache/.keepme
web/thdProject/lib/helper/ThdHtmlHelper.php
web/thdProject/web/css/base.css
web/thdProject/web/css/layout.css
web/thdProject/web/images/layout/bg_login.png
--- a/web/thdProject/apps/frontend/config/routing.yml	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/apps/frontend/config/routing.yml	Wed Mar 24 15:42:58 2010 +0100
@@ -3,6 +3,17 @@
   url:   /
   param: { module: homepage, action: index }
   
+loginUser:
+  url: /connexion
+  param: { module: account, action: loginUser}
+
+logoutUser:
+  url: /deconnexion
+  param: { module: account, action: logoutUser}
+
+registerUser:
+  url: /inscription
+  param: { module: account, action: registerUser}
  
  
 ########  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/account/actions/actions.class.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * account actions.
+ *
+ * @package    univercine
+ * @subpackage account
+ * @author     Your name here
+ * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
+ */
+class accountActions extends sfActions
+{
+  /**
+   * Executes index action
+   *
+   * @param sfRequest $request A request object
+   */
+  public function executeIndex(sfWebRequest $request)
+  {
+    return $this->forward('account', 'viewUser');
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/account/actions/components.class.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,7 @@
+<?php
+
+class accountComponents extends sfComponents {
+  public function executeLeftPanel() {
+
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/account/templates/_loginUserForm.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,24 @@
+<form class="table-form<?php if (isset($classes)) echo ' '.$classes; ?>" method="post" action="<?php echo url_for('@loginUser')?>">
+  <?php if($sf_user->hasFlash('login_error')): ?>
+    <div class="form-error">
+      Votre email et/ou votre mot de passe sont incorrects.
+      <br />
+      Vérifiez vos informations de connexion et connectez-vous à nouveau.
+    </div>
+  <?php endif;?>
+  <div class="field required">
+    <label for="login[email]"><?php echo __('form_label_email');?><sup class="required">*</sup></label>
+    <input type="text" name="login[email]" />
+  </div>
+
+  <div class="field required">
+    <label for="login[password]"><?php echo __('form_label_password');?><sup class="required">*</sup></label>
+    <input type="password" name="login[password]" />
+  </div>
+
+  <?php if (isset($serializedOriginRequest)) echo uc_render_hidden_fields($serializedOriginRequest); ?>
+
+  <div class="buttons">
+    <?php echo uc_render_submit_button('Validez'); ?>
+  </div>
+</form>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/account/templates/_loginUserFormHeader.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,27 @@
+<form class="table-form<?php if (isset($classes)) echo ' '.$classes; ?>" method="post" action="<?php echo url_for('@loginUser')?>">
+  <span class="head">Déja inscrit ? connectez-vous</span>
+  <?php if($sf_user->hasFlash('login_error')): ?>
+    <div class="form-error">
+      Votre email et/ou votre mot de passe sont incorrects.
+    </div>
+  <?php endif;?>
+  <div class="field required">
+    <label for="login[email]">Email</label>
+    <input type="text" name="login[email]" />
+  </div>
+
+  <div class="field required">
+    <label for="login[password]">Mot de passe</label>
+    <input type="password" name="login[password]" />
+  </div>
+
+  <input type="hidden" name="header_auth" value="1" />
+  <input type="hidden" name="page_uri" value="1" />
+
+  <div class="buttons">
+    <?php echo uc_render_submit_button('Validez'); ?>
+  </div>
+</form>
+<div class="register">
+      <a class="button" href="<?php echo url_for('@registerUser'); ?>">Créer mon compte</a>
+    </div>
--- a/web/thdProject/apps/frontend/modules/homepage/templates/_lastTaggedList.php	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/apps/frontend/modules/homepage/templates/_lastTaggedList.php	Wed Mar 24 15:42:58 2010 +0100
@@ -13,7 +13,7 @@
 		$video_file = $item->getVideos();
 	?>
 	<li>
-		<div id="player-<?php echo $ref; ?>" class="player-item" style="background:transparent url('posters/<?php echo $image_file[0]['file'].".jpg"; ?>') no-repeat;" href="<?php echo 	$videoPath.$video_file[0]['file'].".f4v";?>">
+		<div id="player-<?php echo $ref; ?>" class="player-item" style="background:transparent url('posters/<?php echo $image_file[0]['file'].".jpg"; ?>') no-repeat;" href="<?php echo video_path($video_file[0]['file']);?>">
 			<div class="infos">
 		    	<a href="<?php echo url_for('@editor?ref='.$ref.'&film_slug='.$slug); ?>" class="title" target="_top"><?php echo $title; ?></a> <span class="film-infos">De <?php echo thd_render_flat_list($item->getDirectors(), 'name'); ?></span>
 		    </div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/partials/actions/actions.class.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * No action for this module, wich is only a container of small graphical part.
+ *
+ * @package    univercine
+ * @subpackage partials
+ * @author     Your name here
+ * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
+ */
+class partialsActions extends sfActions
+{
+ /**
+  * Executes index action
+  *
+  * @param sfRequest $request A request object
+  */
+  public function executeIndex(sfWebRequest $request)
+  {
+    $this->forward('default', 'module');
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/partials/actions/components.class.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,10 @@
+
+<?php
+
+class partialsComponents extends sfComponents {
+  
+  public function executeUserPanel() {
+
+  }
+  
+}
--- a/web/thdProject/apps/frontend/modules/partials/templates/_header.php	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/apps/frontend/modules/partials/templates/_header.php	Wed Mar 24 15:42:58 2010 +0100
@@ -1,6 +1,6 @@
 <div id="universcinethd">
 	<h1 id="logo"><a href="<?php echo url_for('@homepage'); ?>" title="UniversCiné">UniversCiné</a></h1>
 </div>
-<div id="partners"> avec le concours de <a class="logo-partner" href="http://www.iri.centrepompidou.fr">iri</a> <a class="logo-partner">| Sony CSL</a> <a class="logo-partner">| Cap Digital</a></div>
+<div id="partners"> avec le concours de <a class="logo-partner" href="http://www.iri.centrepompidou.fr">iri</a> | <a href="http://www.csl.sony.fr" class="logo-partner">Sony CSL</a> | <a href="http://www.capdigital.com" class="logo-partner">Cap Digital</a></div>
 <div id="baseline"><cite>le site du cinéma indépendant</cite></div>
 
--- a/web/thdProject/apps/frontend/modules/partials/templates/_navigation.php	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/apps/frontend/modules/partials/templates/_navigation.php	Wed Mar 24 15:42:58 2010 +0100
@@ -7,6 +7,6 @@
 			<li><a href="<?php echo url_for('@editor?ref=13002&film_slug=apres-lui') ?>">Top des films taggés</a></li>
 			<li><a href="">Aide</a></li>
 			<li><a href="">Qui sommes-nous ?</a></li>
-		</ul>
+		</ul>		
 	</div>
 </div>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/thdProject/apps/frontend/modules/partials/templates/_userPanel.php	Wed Mar 24 15:42:58 2010 +0100
@@ -0,0 +1,11 @@
+<div id="header-user">
+  <div class="main"> 
+    <div class="login">
+      <?php include_partial('account/loginUserFormHeader', Array('classes' => 'ajax')); ?>
+    </div>
+    <div class="retrieve-password">
+      <a href="<?php echo url_for('@loginUser'); ?>">Mot de passe oublié ?</a>
+    </div>
+  </div>
+  
+</div>
\ No newline at end of file
--- a/web/thdProject/apps/frontend/templates/layout.php	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/apps/frontend/templates/layout.php	Wed Mar 24 15:42:58 2010 +0100
@@ -10,6 +10,7 @@
   	<div id="global-wrapper">
   		<!--HEADER-->
         <div id="header">
+        <?php include_component('partials', 'userPanel'); ?>
 		<?php include_partial('partials/header')?>
 		</div>
    		<!--HEADER END-->
--- a/web/thdProject/lib/helper/ThdHtmlHelper.php	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/lib/helper/ThdHtmlHelper.php	Wed Mar 24 15:42:58 2010 +0100
@@ -51,4 +51,14 @@
 
 function video_path($source) {
   return sfConfig::get('app_video_root_uri').'/'.$source;
+}
+
+/**
+ * Helper wich generate submit button
+ * [label] = displayed text
+ *
+ * @param string $label
+ */
+function uc_render_submit_button($label) {
+  return '<button class="submit" type="submit"><span>'.$label.'</span></button>';
 }
\ No newline at end of file
--- a/web/thdProject/web/css/base.css	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/web/css/base.css	Wed Mar 24 15:42:58 2010 +0100
@@ -33,7 +33,9 @@
 
 /* Links */
 a:link, a:visited {
-  color: #990000;
+  color: #FFFFFF;
+  font-weight: bold;
+  font size: 14px;
   text-decoration:none;
 }
 a:hover {
@@ -44,8 +46,8 @@
 }
 
 a.button {
-	display: inline-block;
-	padding: 5px 20px 0px 20px;
+  display: inline-block;
+  padding: 5px 20px 0px 20px;
   height: 17px;
   overflow: hidden;
   font-size: 10px;
@@ -230,4 +232,185 @@
 ul.tag-list li.tag-score-5 a {
   font-size: 20px;
   color: #FFFFFF;
+}
+
+
+
+.table-form .form-description {
+  color: #777777;
+  margin-left: 7px;
+  font-size: 11px;
+  font-weight: bold;
+}
+
+.table-form .form-description .required {
+  color: #990000;
+}
+
+.table-form .form-error {
+  padding: 10px 10px 10px 40px;
+  margin: 5px 0;
+  color: #ffffff;
+  background: #990000 url("/images/pictos/error.png") no-repeat 5px 10px;
+}
+
+.table-form fieldset {
+  display: block;
+  padding: 10px 0;
+  border: none;
+}
+
+.table-form .field {
+  clear: both;
+  width: 100%;
+  float: left;
+  padding: 2px 0px;
+}
+
+.table-form .field label {
+  display: block;
+  float: left;
+  margin-left: 7px;
+  margin-right: 7px;
+  color: #777777;
+  font-weight: bold;
+  padding-top: 4px;
+}
+
+.table-form .field input,
+.table-form .field select,
+.table-form .field .input-date,
+.table-form .field ul.radio_list {
+  display: block;
+  float: right;
+  margin-right: 7px;
+}
+
+.table-form .field .input-date select {
+  display: inline-block;
+  float: none;
+  width: auto;
+  margin: 0px;
+}
+
+.table-form .field ul.radio_list {
+  list-style: none;
+}
+
+.table-form .field ul.radio_list label,
+.table-form .field ul.radio_list input,
+.table-form .field ul.radio_list li {
+  display: inline;
+  padding: 0px;
+  margin: 0px;
+  float: none;
+  text-align: right;
+  line-height: 23px;
+  width: auto;
+}
+
+.table-form .field ul.radio_list li {
+  padding-left: 10px;
+}
+
+.table-form .field ul.radio_list input {
+  vertical-align: middle;
+}
+
+.table-form .field label .required {
+  color: #990000;
+  vertical-align: middle;
+  padding-left: 5px;
+}
+
+.table-form .field-type-file input {
+  height: 22px;
+}
+
+.table-form .field-type-file ul {
+  list-style: none;
+  float: right;
+  margin-right: 7px;
+}
+
+.table-form .field-type-file li {
+  display: block;
+  padding-bottom: 5px;
+  clear: both;
+}
+
+.table-form .field-type-file li label,
+.table-form .field-type-file li input {
+  display: inline;
+  float: none;
+  padding-top: 2px;
+  margin-left: 2px;
+  vertical-align: middle;
+}
+
+.table-form .field-type-file input {
+  clear: right;
+}
+
+.table-form .field-type-checkbox label {
+  float: left;
+  margin: 0 7px 0 7px;
+}
+
+.table-form .field-type-checkbox input {
+  float: left;
+  border: none;
+  padding: 0;
+  margin: 4px 0 0 8px;
+  background: transparent !important;
+}
+
+.table-form .field-type-captcha div {
+  clear: right;
+  float: right;
+}
+
+.table-form .field-type-captcha div a {
+  padding-right: 10px;
+}
+
+.table-form .field-type-captcha div input {
+  margin-top: 10px;
+}
+
+.table-form .buttons {
+  clear: both;
+  padding: 6px 0 0 0;
+  text-align: center;
+}
+
+.table-form .field-error {
+  background: #990000;
+  margin: 5px 0;
+  padding: 5px 0;
+}
+
+.table-form .field-error label,
+.table-form .field-error label .required {
+  color: #ffffff;
+}
+
+
+.table-form .field-error input {
+  background: #ffcccc;
+}
+
+.table-form ul.error-list {
+  clear: both;
+  display: block;
+  list-style: none;
+  margin: 0;
+  padding: 5px 0;
+  width: 100%;
+  color: #ffffff;
+}
+
+.table-form ul.error-list li {
+  display: block;
+  padding: 5px 10px 5px 50px;
 }
\ No newline at end of file
--- a/web/thdProject/web/css/layout.css	Wed Mar 24 14:54:32 2010 +0100
+++ b/web/thdProject/web/css/layout.css	Wed Mar 24 15:42:58 2010 +0100
@@ -13,7 +13,7 @@
 /* HEADER ===================== */
 #header {
   position: relative;
-  width: 100%;
+  width: 1200px;
   height: 120px;
   background: #000000;
 }
@@ -58,6 +58,125 @@
   font-family: Georgia, "Times New Roman", Times,serif;
 }
 
+#header-user {
+	position: absolute;
+	top: 7px;
+	right: 0px;
+	width: 380px;
+	height: 240px;
+}
+
+#header-user .main {
+  position: absolute;
+  top: 0px;
+  right: 0px;
+  width: 272px;
+}
+
+#header-user .login,
+#header-user .profile {
+	position: relative;
+  height: 117px;
+}
+
+#header-user .register a {
+	display: block;
+	padding-right: 0px;
+	padding-left: 0px;
+	text-align: center;  
+}
+
+#header-user .login {
+	background: transparent url("../images/layout/bg_login.png") repeat-x;
+}
+
+#header-user .login .head, 
+#header-user .login .error {
+	display: block;
+  font-family: Georgia,"Times New Roman",Times,serif;
+  font-size: 16px;
+  line-height: 16px;
+  padding: 5px 5px 10px 7px;
+}
+
+#header-user .login .head {
+	color: #EFEFEF;
+}
+
+#header-user .login .error {
+  color: #ff0000;
+}
+
+#header-user .login .buttons {
+	text-align: right;
+	padding: 5px 7px;
+}
+
+#header-user .login label {
+	color: #ffffff;
+	text-transform: lowercase;
+}
+
+#header-user .login .field input {
+  border: 0; 
+}
+
+#header-user .retrieve-password {
+	position: absolute;
+	top: 112px;
+	right: 120px;
+}
+
+#header-user .retrieve-password a {
+	color: #ffffff;
+	font-weight: bold;
+}
+
+#header-user .profile {
+	background: transparent url("/images/layout/bg_login.png") repeat-x;
+}
+
+#header-user .display-name {
+	display: block;
+  text-align: right;
+}
+
+#header-user .display-name span {
+	display: block;
+	padding: 2px 7px 0px 7px;
+	background: #990000;
+	color: #ffffff;
+	font-weight: bold;
+  font-size: 12px;
+  height: 20px;
+}
+
+#header-user .profile .avatar,
+#header-user .profile .community-list1 {
+	display: block;
+  position: absolute;
+	top: 15px;
+}
+
+#header-user .profile .avatar {
+  left: 7px;
+}
+
+#header-user .profile .community-list1 {
+  left: 60px;
+}
+
+#header-user .profile .community-list1 a {
+	font-size: 11px;
+	color: #777777;
+}
+
+#header-user .global-action-list {
+	position: absolute;
+  top: 55px;
+  left: 0px;
+}
+
 
 /* NAVIGATION====== */
 #navigation {
Binary file web/thdProject/web/images/layout/bg_login.png has changed