Author: ornicar2
Date: 2010-02-08 10:59:40 +0100 (Mon, 08 Feb 2010)
New Revision: 27698
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninAdminForm.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninFrontForm.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/DmSigninBaseForm.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/actions.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/components.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserComponents.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_form.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_list.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_show.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_signin.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/view.yml
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/layout.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/secureSuccess.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinBrowser.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinSuccess.php
Removed:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmFormSignin.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/BaseDmFormSignin.class.php
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/dm/modules.yml
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/doctrine/schema.yml
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/doctrine/PluginDmUserForm.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUserTable.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/user/dmSecurityUser.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/security.yml
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/base/BaseDmUserAdminForm.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/web/css/adminAuth.css
Log:
[Diem]
- removed dmAuth and dmAuthAdmin modules
- improved user integration for social websites where each user has a page and
can self register
- added unit and functional tests for user integration
- added default user widgets: form and signin
- made password required when creating a new user
- refactored user actions
- improved admin secure page style
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/dm/modules.yml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/dm/modules.yml
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/dm/modules.yml
2010-02-08 09:59:40 UTC (rev 27698)
@@ -5,6 +5,9 @@
dmUser:
name: User
credentials: security_user
+ components:
+ signin:
+ form: { name: "Register" }
dmPermission:
name: Permission
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/doctrine/schema.yml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/doctrine/schema.yml
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/config/doctrine/schema.yml
2010-02-08 09:59:40 UTC (rev 27698)
@@ -136,6 +136,10 @@
onDelete: CASCADE
DmRememberKey:
+ actAs:
+ Timestampable:
+ updated:
+ disabled: true
options:
symfony:
form: false
Deleted:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmFormSignin.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmFormSignin.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmFormSignin.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -1,11 +0,0 @@
-<?php
-
-class DmFormSignin extends BaseDmFormSignin
-{
- /**
- * @see sfForm
- */
- public function configure()
- {
- }
-}
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninAdminForm.php
(from rev 27414,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmFormSignin.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninAdminForm.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninAdminForm.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,14 @@
+<?php
+
+class DmSigninAdminForm extends DmSigninBaseForm
+{
+ /**
+ * @see sfForm
+ */
+ public function configure()
+ {
+ $this
+ ->changeToHidden('remember')
+ ->setDefault('remember', true);
+ }
+}
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninFrontForm.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninFrontForm.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/DmSigninFrontForm.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,11 @@
+<?php
+
+class DmSigninFrontForm extends DmSigninBaseForm
+{
+ /**
+ * @see sfForm
+ */
+ public function configure()
+ {
+ }
+}
Deleted:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/BaseDmFormSignin.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/BaseDmFormSignin.class.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/BaseDmFormSignin.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -1,28 +0,0 @@
-<?php
-
-class BaseDmFormSignin extends BaseForm
-{
- /**
- * @see sfForm
- */
- public function setup()
- {
- parent::setup();
-
- $this->setWidgets(array(
- 'username' => new sfWidgetFormInputText(),
- 'password' => new sfWidgetFormInputPassword(),
- 'remember' => new sfWidgetFormInputCheckbox(),
- ));
-
- $this->setValidators(array(
- 'username' => new sfValidatorString(),
- 'password' => new sfValidatorString(),
- 'remember' => new sfValidatorBoolean(),
- ));
-
- $this->setName('signin');
-
- $this->validatorSchema->setPostValidator(new dmValidatorUser());
- }
-}
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/DmSigninBaseForm.php
(from rev 27414,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/BaseDmFormSignin.class.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/DmSigninBaseForm.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/base/DmSigninBaseForm.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,28 @@
+<?php
+
+class DmSigninBaseForm extends BaseForm
+{
+ /**
+ * @see sfForm
+ */
+ public function setup()
+ {
+ parent::setup();
+
+ $this->setWidgets(array(
+ 'username' => new sfWidgetFormInputText(),
+ 'password' => new sfWidgetFormInputPassword(),
+ 'remember' => new sfWidgetFormInputCheckbox(),
+ ));
+
+ $this->setValidators(array(
+ 'username' => new sfValidatorString(),
+ 'password' => new sfValidatorString(),
+ 'remember' => new sfValidatorBoolean(),
+ ));
+
+ $this->setName('signin');
+
+ $this->validatorSchema->setPostValidator(new dmValidatorUser());
+ }
+}
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/doctrine/PluginDmUserForm.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/doctrine/PluginDmUserForm.class.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/form/doctrine/PluginDmUserForm.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -10,4 +10,39 @@
*/
abstract class PluginDmUserForm extends BaseDmUserForm
{
+ /**
+ * @see sfForm
+ */
+ public function setup()
+ {
+ parent::setup();
+
+ unset(
+ $this['last_login'],
+ $this['created_at'],
+ $this['updated_at'],
+ $this['salt'],
+ $this['algorithm'],
+ $this['groups_list'],
+ $this['permissions_list'],
+ $this['is_active'],
+ $this['is_super_admin']
+ );
+
+ $this->widgetSchema['password'] = new sfWidgetFormInputPassword();
+ $this->validatorSchema['password']->setOption('required',
$this->object->isNew());
+ $this->widgetSchema['password_again'] = new sfWidgetFormInputPassword();
+ $this->validatorSchema['password_again'] = clone
$this->validatorSchema['password'];
+
+ $this->widgetSchema->moveField('password_again', 'after', 'password');
+
+ $this->validatorSchema['username'] = new sfValidatorAnd(array(
+ $this->validatorSchema['username'],
+ new sfValidatorRegex(array('pattern' => '/^[\w\d\...@\.]+$/')),
+ ));
+
+ $this->changeToEmail('email');
+
+ $this->mergePostValidator(new sfValidatorSchemaCompare('password',
sfValidatorSchemaCompare::EQUAL, 'password_again', array(), array('invalid' =>
'The two passwords must be the same.')));
+ }
}
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUserTable.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUserTable.class.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUserTable.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -35,4 +35,9 @@
return $columns;
}
+
+ public function getIdentifierColumnName()
+ {
+ return 'username';
+ }
}
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/user/dmSecurityUser.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/user/dmSecurityUser.class.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/user/dmSecurityUser.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -167,38 +167,44 @@
$user->set('last_login', date('Y-m-d H:i:s'));
$user->save($con);
- // remember?
if ($remember)
{
- $expirationAge = $this->getRememberKeyExpirationAge();
+ try
+ {
+ $expirationAge = $this->getRememberKeyExpirationAge();
- // remove old keys
- Doctrine_Core::getTable('DmRememberKey')->createQuery()
- ->delete()
- ->where('created_at < ?', date('Y-m-d H:i:s', time() - $expirationAge))
- ->execute();
+ // remove old keys
+ Doctrine_Core::getTable('DmRememberKey')->createQuery()
+ ->delete()
+ ->where('created_at < ?', date('Y-m-d H:i:s', time() -
$expirationAge))
+ ->execute();
- // remove other keys from this user
- Doctrine_Core::getTable('DmRememberKey')->createQuery()
- ->delete()
- ->where('dm_user_id = ?', $user->getId())
- ->orWhere('ip_address = ?', $_SERVER['REMOTE_ADDR'])
- ->execute();
+ // remove other keys from this user
+ Doctrine_Core::getTable('DmRememberKey')->createQuery()
+ ->delete()
+ ->where('dm_user_id = ?', $user->getId())
+ ->orWhere('ip_address = ?', $_SERVER['REMOTE_ADDR'])
+ ->execute();
- // generate new keys
- $key = md5(dmString::random(20));
+ // generate new keys
+ $key = md5(dmString::random(20));
- // save key
- $rk = new DmRememberKey();
- $rk->setRememberKey($key);
- $rk->setUser($user);
- $rk->setIpAddress($_SERVER['REMOTE_ADDR']);
- $rk->save($con);
+ // save key
+ $rk = new DmRememberKey();
+ $rk->setRememberKey($key);
+ $rk->setUser($user);
+ $rk->setIpAddress($_SERVER['REMOTE_ADDR']);
+ $rk->save($con);
- $this->dispatcher->notify(new sfEvent($this, 'user.remember_me', array(
- 'remember_key' => $key,
- 'expiration_age' => $expirationAge
- )));
+ $this->dispatcher->notify(new sfEvent($this, 'user.remember_me', array(
+ 'remember_key' => $key,
+ 'expiration_age' => $expirationAge
+ )));
+ }
+ catch(Exception $e)
+ {
+
+ }
}
$this->dispatcher->notify(new sfEvent($this, 'user.sign_in'));
@@ -244,7 +250,6 @@
$this->signOut();
return null;
- throw new sfException('The user does not exist anymore in the
database.');
}
}
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/actions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/actions.class.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/actions.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,8 @@
+<?php
+
+require_once dirname(__FILE__).'/../lib/BasedmUserActions.class.php';
+
+class dmUserActions extends BasedmUserActions
+{
+
+}
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/components.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/components.class.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/actions/components.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,8 @@
+<?php
+
+require_once dirname(__FILE__).'/../lib/BasedmUserComponents.class.php';
+
+class dmUserComponents extends BasedmUserComponents
+{
+
+}
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,64 @@
+<?php
+
+class BasedmUserActions extends myFrontModuleActions
+{
+
+ public function executeSignin(dmWebRequest $request)
+ {
+ $request->setParameter('dm_page', dmDb::table('DmPage')->fetchSignin());
+
+ $this->getResponse()->setStatusCode(401);
+
+ return $this->forward('dmFront', 'page');
+ }
+
+ public function executeSecure(dmWebRequest $request)
+ {
+ $request->setParameter('dm_page', dmDb::table('DmPage')->fetchSignin());
+
+ $this->getResponse()->setStatusCode(403);
+
+ return $this->forward('dmFront', 'page');
+ }
+
+ public function executeSignout($request)
+ {
+ $this->getUser()->signOut();
+
+ $signoutUrl = sfConfig::get('dm_security_success_signout_url',
$request->getReferer());
+
+ $this->redirect('' != $signoutUrl ? $signoutUrl : '@homepage');
+ }
+
+ public function executeSigninWidget(dmWebRequest $request)
+ {
+ $form = $this->forms['DmSigninFront'];
+
+ if ($request->isMethod('post') && $request->hasParameter($form->getName()))
+ {
+ if ($form->bindAndValid($request))
+ {
+ $this->getUser()->signin($form->getValue('user'),
$form->getValue('remember'));
+
+ return $this->redirect($request->getReferer());
+ }
+ }
+ }
+
+ public function executeFormWidget(dmWebRequest $request)
+ {
+ $form = $this->forms['DmUser'];
+
+ if ($request->isMethod('post') && $request->hasParameter($form->getName()))
+ {
+ if ($form->bindAndValid($request))
+ {
+ $user = $form->save();
+
+ $this->getUser()->signin($user);
+
+ return $this->redirect($request->getReferer());
+ }
+ }
+ }
+}
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserComponents.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserComponents.class.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserComponents.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,29 @@
+<?php
+
+class BasedmUserComponents extends myFrontModuleComponents
+{
+
+ public function executeSignin()
+ {
+ $this->form = $this->forms['DmSigninFront'];
+ }
+
+ public function executeForm()
+ {
+ $this->form = $this->forms['DmUser'];
+ }
+
+ public function executeList()
+ {
+ $query = $this->getListQuery();
+
+ $this->dmUserPager = $this->getPager($query);
+ }
+
+ public function executeShow()
+ {
+ $query = $this->getShowQuery();
+
+ $this->dmUser = $this->getRecord($query);
+ }
+}
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_form.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_form.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_form.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,21 @@
+<?php
+
+echo $form->open('.dm_register_form');
+
+echo _tag('ul',
+
+ _tag('li', $form['username']->label()->field()->error()).
+
+ _tag('li', $form['email']->label()->field()->error()).
+
+ _tag('li', $form['password']->label()->field()->error()).
+
+ _tag('li', $form['password_again']->label()->field()->error())
+
+);
+
+echo $form->renderHiddenFields();
+
+echo $form->submit('Register');
+
+echo $form->close();
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_list.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_list.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_list.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,18 @@
+<?php // Vars: $articlePager
+
+echo $dmUserPager->renderNavigationTop();
+
+echo _open('ul.elements');
+
+foreach ($dmUserPager as $dmUser)
+{
+ echo _open('li.element');
+
+ echo $dmUser->username;
+
+ echo _close('li');
+}
+
+echo _close('ul');
+
+echo $dmUserPager->renderNavigationBottom();
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_show.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_show.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_show.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,3 @@
+<?php // Vars: $article
+
+echo £('h1', $dmUser->username);
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_signin.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_signin.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/templates/_signin.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,19 @@
+<?php
+
+echo $form->open('.dm_signin_form');
+
+echo _tag('ul',
+
+ _tag('li', $form['username']->label()->field()->error()).
+
+ _tag('li', $form['password']->label()->field()->error()).
+
+ _tag('li', $form['remember']->label()->field()->error())
+
+);
+
+echo $form->renderHiddenFields();
+
+echo $form->submit('Signin');
+
+echo $form->close();
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/security.yml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/security.yml
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/security.yml
2010-02-08 09:59:40 UTC (rev 27698)
@@ -1,2 +1,11 @@
all:
- credentials: security_user
\ No newline at end of file
+ credentials: security_user
+
+secure:
+ is_secure: false
+
+signin:
+ is_secure: false
+
+signout:
+ is_secure: false
\ No newline at end of file
Added:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/view.yml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/view.yml
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/config/view.yml
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,11 @@
+signinSuccess:
+
+ stylesheets: [ dmUserPlugin.adminAuth ]
+
+signinBrowser:
+
+ stylesheets: [ dmUserPlugin.adminAuth ]
+
+secureSuccess:
+
+ stylesheets: [ dmUserPlugin.adminAuth ]
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -1,25 +1,104 @@
<?php
-/*
- * This file is part of the symfony package.
- * (c) 2004-2006 Fabien Potencier <[email protected]>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- * @package symfony
- * @subpackage plugin
- * @author Fabien Potencier <[email protected]>
- * @version SVN: $Id: BasedmUserActions.class.php 23319 2009-10-25
12:22:23Z Kris.Wallsmith $
- */
class BasedmUserAdminActions extends autodmUserAdminActions
{
+
+ public function executeSignin(dmWebRequest $request)
+ {
+ if ($this->getUser()->isAuthenticated())
+ {
+ return $this->redirect('@homepage');
+ }
+
+ $this->setLayout(realpath(dirname(__FILE__).'/..').'/templates/layout');
+
+ if($request->getParameter('skip_browser_detection'))
+ {
+ $this->getService('browser_check')->markAsChecked();
+ }
+ elseif(!$this->getService('browser_check')->check())
+ {
+ return 'Browser';
+ }
+
+ $this->form = new DmSigninAdminForm();
+
+ if ($request->isMethod('post'))
+ {
+ $this->form->bindRequest($request);
+
+ if ($this->form->isValid())
+ {
+ $this->getUser()->signin($this->form->getValue('user'),
$this->form->getValue('remember'));
+
+ if ($this->getUser()->can('admin'))
+ {
+ $redirectUrl = $this->getUser()->getReferer($request->getReferer());
+
+ $this->redirect($redirectUrl ? $redirectUrl : '@homepage');
+ }
+ else
+ {
+ try
+ {
+
$this->redirect($this->getService('script_name_resolver')->get('front'));
+ }
+ catch(dmException $e)
+ {
+ // user can't go in admin, and front script_name can't be found.
+ $this->redirect('@homepage');
+ }
+ }
+ }
+ }
+ else
+ {
+ if ($request->isXmlHttpRequest())
+ {
+ $this->getResponse()->setHeaderOnly(true);
+ $this->getResponse()->setStatusCode(401);
+
+ return sfView::NONE;
+ }
+
+ // if we have been forwarded, then the referer is the current URL
+ // if not, this is the referer of the current request
+
$this->getUser()->setReferer($this->getContext()->getActionStack()->getSize() >
1 ? $request->getUri() : $request->getReferer());
+
+ $module = sfConfig::get('sf_login_module');
+ if ($this->getModuleName() != $module)
+ {
+ return $this->redirect($module.'/'.sfConfig::get('sf_login_action'));
+ }
+
+ $this->getResponse()->setStatusCode(401);
+ }
+ }
+
+ public function executeSignout($request)
+ {
+ $this->getUser()->signOut();
+
+ $signoutUrl = sfConfig::get('dm_security_success_signout_url',
$request->getReferer());
+
+ $this->redirect('' != $signoutUrl ? $signoutUrl : '@homepage');
+ }
+
+ public function executeSecure()
+ {
+ $this->setLayout(realpath(dirname(__FILE__).'/..').'/templates/layout');
+
+ $this->getResponse()->setStatusCode(403);
+ }
+
+ public function executePassword()
+ {
+ throw new sfException('This method is not yet implemented.');
+ }
+
public function validateEdit()
{
- if ($this->getRequest()->getMethod() == sfRequest::POST &&
!$this->getRequestParameter('id'))
+ if ($this->getRequest()->isMethod('post') &&
!$this->getRequestParameter('id'))
{
if ($this->getRequestParameter('dm_user[password]') == '')
{
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/base/BaseDmUserAdminForm.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/base/BaseDmUserAdminForm.php
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/base/BaseDmUserAdminForm.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -28,7 +28,7 @@
}
$this->widgetSchema['password'] = new sfWidgetFormInputPassword();
- $this->validatorSchema['password']->setOption('required', false);
+ $this->validatorSchema['password']->setOption('required',
$this->object->isNew());
$this->widgetSchema['password_again'] = new sfWidgetFormInputPassword();
$this->validatorSchema['password_again'] = clone
$this->validatorSchema['password'];
@@ -38,12 +38,9 @@
$this->validatorSchema['username'],
new sfValidatorRegex(array('pattern' => '/^[\w\d\...@\.]+$/')),
));
-
- $this->validatorSchema['email'] = new sfValidatorAnd(array(
- $this->validatorSchema['email'],
- new sfValidatorEmail(),
- ));
+ $this->changeToEmail('email');
+
$this->mergePostValidator(new sfValidatorSchemaCompare('password',
sfValidatorSchemaCompare::EQUAL, 'password_again', array(), array('invalid' =>
'The two passwords must be the same.')));
}
}
\ No newline at end of file
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/layout.php
(from rev 27598,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmAuthAdmin/templates/layout.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/layout.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/layout.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,22 @@
+<?php
+
+$helper = $sf_context->get('layout_helper');
+
+echo
+$helper->renderDoctype(),
+$helper->renderHtmlTag(),
+
+ "\n<head>\n",
+ $helper->renderHead(),
+ "\n</head>\n",
+
+ $helper->renderBodyTag('.dm.bg_2'),
+
+ $sf_content,
+
+ $helper->renderJavascriptConfig(),
+
+ $helper->renderJavascripts(),
+
+ '</body>',
+'</html>';
\ No newline at end of file
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/secureSuccess.php
(from rev 27598,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmAuthAdmin/templates/secureSuccess.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/secureSuccess.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/secureSuccess.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,17 @@
+<?php
+
+echo _open('div.dm.dm_auth.secure');
+
+echo _tag('h1.site_name', dmConfig::get('site_name'));
+
+echo _tag('div.message', __("You don't have the required permission to access
this page."));
+
+echo _tag('ul.choices',
+ _tag('li', _link('@signout')->text(__('Signout'))).
+ ($sf_user->can('admin') ? _tag('li', _link('@homepage')->text(__('Back to
admin'))) : '').
+ _tag('li', _link('app:front')->text(__('Back to site')))
+);
+
+echo _close('div');
+
+echo _link('http://diem-project.org/')->text('Diem CMF CMS for
symfony')->set('.generator_link');
\ No newline at end of file
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinBrowser.php
(from rev 27598,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmAuthAdmin/templates/signinBrowser.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinBrowser.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinBrowser.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,22 @@
+<?php
+
+echo _open('div.dm.dm_auth.unsupported_browser');
+
+echo _tag('h1.site_name', dmConfig::get('site_name'));
+
+echo _tag('div.message',
+ _tag('p.dm_browser_unsupported.mt10', __("Sorry, it looks like you're using
a browser that isn't supported.")).
+ _tag('p.dm_browser_suggestion.mt10', __("We suggest that you use one of
these browsers:")).
+ _tag('div.dm_suggested_browsers.clearfix',
+
_link('http://www.mozilla.com/firefox/')->text(_media('dmCore/images/64/firefox.png')->size(64,
64).'Firefox').
+
_link('http://www.google.com/chrome')->text(_media('dmCore/images/64/chrome.png')->size(64,
64).'Chrome').
+
_link('http://www.apple.com/safari/')->text(_media('dmCore/images/64/safari.png')->size(64,
64).'Safari <em>not yet</em>')->set('.not_ready')
+ ).
+ _tag('div.dm_skip_browser_detection',
+ _link('@signin?skip_browser_detection=1')->text(__('Or continue at your
own peril'))
+ )
+);
+
+echo _close('div');
+
+echo _link('http://diem-project.org/')->text('Diem CMF CMS for
symfony')->set('.generator_link');
\ No newline at end of file
Copied:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinSuccess.php
(from rev 27598,
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmAuthAdmin/templates/signinSuccess.php)
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinSuccess.php
(rev 0)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/templates/signinSuccess.php
2010-02-08 09:59:40 UTC (rev 27698)
@@ -0,0 +1,27 @@
+<?php
+
+echo _open('div.dm.dm_auth');
+
+echo _tag('h1.site_name', dmConfig::get('site_name'));
+
+echo _tag('div.message',
+ $form->open('.dm_form.list.little.clearfix action="@signin"').
+ _tag('ul',
+ _tag('li.dm_form_element.clearfix',
+ $form['username']->error()->label(__('Username'))->field()
+ ).
+ _tag('li.dm_form_element.clearfix',
+ $form['password']->error()->label(__('Password'))->field()
+ )
+ ).
+ $form->renderHiddenFields().
+ $form->submit(__('Signin'), '.mt10').
+ '</form>'
+);
+
+echo _close('div');
+
+echo _link('http://diem-project.org/')->text('Diem CMF CMS for
symfony')->set('.generator_link');
+
+?>
+<script
type="text/javascript">document.getElementById('signin_username').focus();</script>
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/web/css/adminAuth.css
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/web/css/adminAuth.css
2010-02-08 09:59:34 UTC (rev 27697)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/web/css/adminAuth.css
2010-02-08 09:59:40 UTC (rev 27698)
@@ -107,6 +107,23 @@
text-align: right;
}
+div.dm_auth ul.choices {
+ text-align: left;
+ width: 260px;
+ margin: 20px auto 0 auto;
+ padding: 10px;
+ background: url(../images/alpha_white_bg_light.png) repeat;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border: 1px outset #fff;
+}
+
+div.dm_auth ul.choices li {
+ list-style: disc inside;
+ color: #aaa;
+ margin: 0.5em 0;
+}
+
.generator_link {
position: absolute;
bottom: 0;
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.