From 3b8d31eb64d6c670632818f9b83b3488b49a65d6 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Fri, 6 Jan 2012 17:52:45 +0100 Subject: [PATCH 1/3] get_applied_template returns template login --- lib/classes/User/Adapter.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/classes/User/Adapter.class.php b/lib/classes/User/Adapter.class.php index dc7b48fe13..f0cbfa9f4f 100644 --- a/lib/classes/User/Adapter.class.php +++ b/lib/classes/User/Adapter.class.php @@ -1252,7 +1252,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface $template = ''; if ($this->applied_template) { - $sql = 'SELECT usr_login FROM usr WHERE usr_login = :login'; + $sql = 'SELECT usr_login FROM usr WHERE usr_id = :login'; $stmt = $this->appbox->get_connection()->prepare($sql); $stmt->execute(array(':login' => $this->applied_template)); $row = $stmt->fetch(PDO::FETCH_ASSOC); From 927eb160708d8196707a8ea0d25b2ebdd992f51d Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Fri, 6 Jan 2012 17:59:42 +0100 Subject: [PATCH 2/3] Fix template name --- lib/classes/User/Adapter.class.php | 64 +++++++++++++----------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/lib/classes/User/Adapter.class.php b/lib/classes/User/Adapter.class.php index f0cbfa9f4f..d2972803bf 100644 --- a/lib/classes/User/Adapter.class.php +++ b/lib/classes/User/Adapter.class.php @@ -405,14 +405,14 @@ class User_Adapter implements User_Interface, cache_cacheableInterface { if (trim($email) == '') $email = null; - + $test_user = User_Adapter::get_usr_id_from_email($email); - if($test_user && $test_user != $this->get_id()) + if ($test_user && $test_user != $this->get_id()) { - throw new Exception_InvalidArgument (sprintf(_('A user already exists with email addres %s'), $email)); + throw new Exception_InvalidArgument(sprintf(_('A user already exists with email addres %s'), $email)); } - + $sql = 'UPDATE usr SET usr_mail = :new_email WHERE usr_id = :usr_id'; $stmt = $this->appbox->get_connection()->prepare($sql); $stmt->execute(array(':new_email' => $email, ':usr_id' => $this->get_id())); @@ -593,7 +593,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface return $this; } - /** + /** * * @param boolean $boolean * @return User_Adapter @@ -861,7 +861,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface $stmt = $this->appbox->get_connection()->prepare($sql); $stmt->execute(array(':owner_id' => $owner->get_id(), ':usr_id' => $this->get_id())); $stmt->closeCursor(); - + $this->set_ftp_address('') ->set_activeftp(false) ->set_city('') @@ -893,10 +893,10 @@ class User_Adapter implements User_Interface, cache_cacheableInterface { return $this->is_template; } - + public function is_special() { - return in_array($this->login, array('invite', 'autoregister')); + return in_array($this->login, array('invite', 'autoregister')); } public function get_template_owner() @@ -906,9 +906,9 @@ class User_Adapter implements User_Interface, cache_cacheableInterface public static function get_usr_id_from_email($email) { - if(is_null($email)) + if (is_null($email)) return false; - + $conn = connection::getPDOConnection(); $sql = 'SELECT usr_id FROM usr WHERE usr_mail = :email @@ -1069,7 +1069,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface $this->id = (int) $row['usr_id']; $this->email = $row['usr_mail']; $this->login = $row['usr_login']; - + $this->ldap_created = $row['ldap_created']; $this->defaultftpdatas = $row['defaultftpdatasent']; @@ -1117,8 +1117,14 @@ class User_Adapter implements User_Interface, cache_cacheableInterface public function set_last_template(User_Interface $template) { $sql = 'UPDATE usr SET lastModel = :template_id WHERE usr_id = :usr_id'; + + $params = array( + ':usr_id' => $this->get_id() + , ':template_id' => $template->get_login() + ); + $stmt = $this->appbox->get_connection()->prepare($sql); - $stmt->execute(array(':usr_id' => $this->get_id(), ':template_id' => $template->get_id())); + $stmt->execute($params); $stmt->closeCursor(); $this->delete_data_from_cache(); @@ -1249,18 +1255,8 @@ class User_Adapter implements User_Interface, cache_cacheableInterface public function get_applied_template() { - $template = ''; - if ($this->applied_template) - { - $sql = 'SELECT usr_login FROM usr WHERE usr_id = :login'; - $stmt = $this->appbox->get_connection()->prepare($sql); - $stmt->execute(array(':login' => $this->applied_template)); - $row = $stmt->fetch(PDO::FETCH_ASSOC); - - $template = $row['usr_login']; - } - - return $template; + + return $this->applied_template; } public function get_creation_date() @@ -1281,7 +1277,6 @@ class User_Adapter implements User_Interface, cache_cacheableInterface protected function load_preferences() { if ($this->_prefs) - return $this; $sql = 'SELECT prop, value FROM usr_settings WHERE usr_id= :id'; $stmt = $this->appbox->get_connection()->prepare($sql); @@ -1375,32 +1370,32 @@ class User_Adapter implements User_Interface, cache_cacheableInterface } catch (Exception $e) { - + } return $this; } - public function get_cache_key($option=null) + public function get_cache_key($option = null) { return '_user_' . $this->get_id() . ($option ? '_' . $option : ''); } - public function delete_data_from_cache($option=null) + public function delete_data_from_cache($option = null) { $this->appbox->delete_data_from_cache($this->get_cache_key($option)); return $this; } - public function get_data_from_cache($option=null) + public function get_data_from_cache($option = null) { $this->appbox->get_data_from_cache($this->get_cache_key($option)); return $this; } - public function set_data_to_cache($value, $option=null, $duration = 0) + public function set_data_to_cache($value, $option = null, $duration = 0) { $this->appbox->set_data_to_cache($value, $this->get_cache_key($option), $duration); @@ -1607,7 +1602,6 @@ class User_Adapter implements User_Interface, cache_cacheableInterface $appbox = appbox::get_instance(); $session = $appbox->get_session(); if (!$session->is_authenticated()) - return; $ses_id = $session->get_ses_id(); @@ -1666,7 +1660,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface } catch (Exception $e) { - + } } } @@ -1730,7 +1724,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface } catch (Exception $e) { - + } return false; @@ -1816,7 +1810,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface } catch (Exception $e) { - + } return $locale; @@ -1882,7 +1876,6 @@ class User_Adapter implements User_Interface, cache_cacheableInterface public function get_nonce() { if ($this->nonce) - return $this->nonce; $nonce = false; @@ -1900,7 +1893,6 @@ class User_Adapter implements User_Interface, cache_cacheableInterface return $this->nonce; } - public function __sleep() { $vars = array(); From 354231b60b18a3c4a4f91d4e57a5b33df34b7305 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Fri, 6 Jan 2012 18:13:36 +0100 Subject: [PATCH 3/3] Add icon to templates user --- templates/web/admin/users.html | 10 +++++++--- www/skins/icons/template.png | Bin 0 -> 6520 bytes 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 www/skins/icons/template.png diff --git a/templates/web/admin/users.html b/templates/web/admin/users.html index bef6e1e9ac..b986457fab 100644 --- a/templates/web/admin/users.html +++ b/templates/web/admin/users.html @@ -151,10 +151,14 @@ {% for usr in users.get_results %} - {% if usr.ACL().is_phantom() %} - + {% if usr.is_template() %} + + {% else %} + {% if usr.ACL().is_phantom() %} + + {% endif %} + {{usr.get_id()}} {% endif %} - {{usr.get_id()}} {{usr.get_login()}} diff --git a/www/skins/icons/template.png b/www/skins/icons/template.png new file mode 100644 index 0000000000000000000000000000000000000000..e474208d4792e23a7cc47777a496432cdc5aad2b GIT binary patch literal 6520 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 eFF0zzp8)`4@nJO;Sl|}`0000ZMr# literal 0 HcmV?d00001