diff --git a/inc/User.class.php b/inc/User.class.php index e6d4350..75f44f7 100644 --- a/inc/User.class.php +++ b/inc/User.class.php @@ -67,7 +67,11 @@ class User extends Storage { } public function setEmail($email) { - if(filter_var($email, FILTER_VALIDATE_EMAIL) !== false) { + if (empty($email)) { + $this->email = null; + return true; + } + elseif(filter_var($email, FILTER_VALIDATE_EMAIL) !== false) { $this->email = $email; return true; } @@ -77,7 +81,7 @@ class User extends Storage { } public function setDisplayName($display_name) { - $this->display_name = $display_name; + $this->display_name = (!empty($display_name) ? $display_name : NULL); } public function setPassword($password) { @@ -113,7 +117,7 @@ class User extends Storage { } public function setStaySignedInToken($token) { - $this->stay_signed_in_token = $token; + $this->stay_signed_in_token = (!empty($token) ? $token : NULL); } // Password functions @@ -177,8 +181,18 @@ class User extends Storage { // (a user = a unique login and display_name) // ========================================= public function isUnique() { - if($this->load(array('login'=>$this->login)) === false && $this->load(array('display_name'=>$this->display_name)) === false) { - return true; + if($this->load(array('login'=>$this->login)) === false) { + if (!empty($this->display_name)) { + if ($this->load(array('display_name'=>$this->display_name)) === false) { + return true; + } + else { + return false; + } + } + else { + return true; + } } else { return false; diff --git a/index.php b/index.php index 7334139..1c7e400 100644 --- a/index.php +++ b/index.php @@ -227,7 +227,7 @@ $user->setPassword($user->encrypt($_POST['password'])); } $user->setAdmin($_POST['admin']); - $user->setStaySignedInToken(""); + $user->setStaySignedInToken(NULL); if($user->setEmail($_POST['email']) !== false) { if(!empty($_POST['user_id']) || $user->isUnique()) { @@ -1088,7 +1088,7 @@ // Only keep the invoices which concern the user (as buyer or user in) (only if user != admin) // TODO : Optimize ? - if(!$current_user->getAdmin()) { + if(!$current_user->getAdmin() && $invoices_list !== false) { foreach($invoices_list as $key=>$invoice) { if($invoice->getBuyer() != $current_user->getId() && !$invoice->getUsersIn()->inUsersIn($current_user->getId())) { unset($invoices_list[$key]); diff --git a/tpl/default/index.html b/tpl/default/index.html index 9d0e547..0b93d7b 100644 --- a/tpl/default/index.html +++ b/tpl/default/index.html @@ -35,7 +35,7 @@ {$i18n['users']} {$i18n['you_owe_him']} - {$i18n['he_owes_you']}/th> + {$i18n['he_owes_you']} {loop="$users"} {if condition="$balances[$value->getId()][$current_user->getId()] !== 'X' && $balances[$value->getId()][$current_user->getId()] !== '-'"} @@ -141,7 +141,7 @@ {/loop} {else} -

{$i18n['no_bills']}.

+

{$i18n['no_bills']}

{/if} {include="footer"}