summaryrefslogtreecommitdiffstats
path: root/apps/admin/lib/myChangeNicknameValidator.php
diff options
context:
space:
mode:
authorGravatar mszulecki2007-06-14 17:09:01 +0000
committerGravatar mszulecki2007-06-14 17:09:01 +0000
commit9f108dd1a969473375341d92a7b1252fa2cedc9a (patch)
treed5f2e35ec0bd2d52dab0ee3282fc6751e0fa8dba /apps/admin/lib/myChangeNicknameValidator.php
parente35884d11b81e4e4bbd73e1882e2b8011e85d118 (diff)
downloadmailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.gz
mailadmin-9f108dd1a969473375341d92a7b1252fa2cedc9a.tar.bz2
Initial import.
git-svn-id: http://svn.sukimashita.com/repos/mailadmin/trunk@2 4281df72-ff29-0410-8fee-2d9ac0c5f5a7
Diffstat (limited to 'apps/admin/lib/myChangeNicknameValidator.php')
-rw-r--r--apps/admin/lib/myChangeNicknameValidator.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/apps/admin/lib/myChangeNicknameValidator.php b/apps/admin/lib/myChangeNicknameValidator.php
new file mode 100644
index 0000000..e8dfdb1
--- /dev/null
+++ b/apps/admin/lib/myChangeNicknameValidator.php
@@ -0,0 +1,43 @@
+<?php
+
+class myChangeNicknameValidator extends sfValidator
+{
+ public function initialize($context, $parameters = null)
+ {
+ // initialize parent
+ parent::initialize($context);
+
+ // set defaults
+ $this->setParameter('change_error', 'Invalid input');
+
+ $this->getParameterHolder()->add($parameters);
+
+ return true;
+ }
+
+ public function execute(&$value, &$error)
+ {
+ $current_nickname = $this->getContext()->getUser()->getNickname();
+
+ $new_nickname = $value;
+
+ // changed the nickname?
+ if($new_nickname == $current_nickname)
+ return true;
+
+ $c = new Criteria();
+ $c->add(UserPeer::NICKNAME, $new_nickname);
+ $user = UserPeer::doSelectOne($c);
+
+ // nickname exists?
+ if($user)
+ {
+ $error = $this->getParameter('change_error');
+ return false;
+ }
+
+ return true;
+ }
+}
+
+?>