mirror of
http://git.whoc.org.uk/git/password-manager.git
synced 2025-10-24 01:07:35 +02:00
Added static resources used when exiting the application
Signed-off-by: Giulio Cesare Solaroli <giulio.cesare@clipperz.com>
This commit is contained in:
126
frontend/beta/staticResources/accountDeleted.html
Normal file
126
frontend/beta/staticResources/accountDeleted.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!--
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>clipperz - account deleted</title>
|
||||
<link rel="stylesheet" type="text/css" href="./static.css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- h1>clipper<span class="logo_z">z</span></h1 -->
|
||||
<div class="header">
|
||||
<div id="logo"></div>
|
||||
<h5 class="clipperzPayoff">keep it to yourself!</h5>
|
||||
</div>
|
||||
|
||||
<div class="block1">
|
||||
<div class="languageBlock en-us">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Your Clipperz account has been deleted!</h3>
|
||||
|
||||
<p>You may visit the Clipperz website to sign up for a new account.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock zh-cn">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>您的 Clipperz 账户已经被删除!</h3>
|
||||
|
||||
<p>您可以访问 Clipperz 网站重新注册一个新账户。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
<div class="languageBlock fr-fr">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3></h3>
|
||||
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<div class="languageBlock it-it">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Il tuo account su Clipperz è stato cancellato!</h3>
|
||||
|
||||
<p>Visita il sito di Clipperz per creartene uno nuovo.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock ja-jp">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>アカウントを削除しました。</h3>
|
||||
|
||||
<p>Clipperz で新しいアカウントを登録することができます。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block2">
|
||||
<div class="languageBlock pt-br">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Sua conta Clipperz foi apagada!</h3>
|
||||
|
||||
<p>Você pode visitar o site Clipperz e criar uma nova conta.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock es-es">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>¡Su cuenta Clipperz ha sido borrada!</h3>
|
||||
|
||||
<p>Usted puede visitar el sitio web de Clipperz para suscribir una nueva cuenta.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock ru-ru">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Ваш аккаунт был удален!</h3>
|
||||
|
||||
<p>Вы можете зайти на сайт снова, чтобы завести новый аккаунт.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
frontend/beta/staticResources/clipperz.ico
Normal file
BIN
frontend/beta/staticResources/clipperz.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
37
frontend/beta/staticResources/clipperz_directLogin.html
Normal file
37
frontend/beta/staticResources/clipperz_directLogin.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<!--
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Clipperz DirectLogin</title>
|
||||
</head>
|
||||
<body>
|
||||
<form method="POST" action="./index_debug.html#formPost_secondtry">
|
||||
<input type='text' name='username' value='joe' />
|
||||
<input type='password' name='passphrase' value='clipperz' />
|
||||
<input type='submit' name='login' value='login' />
|
||||
</form>
|
||||
|
||||
</body>
|
||||
137
frontend/beta/staticResources/error.html
Normal file
137
frontend/beta/staticResources/error.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!--
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>clipperz - error</title>
|
||||
<link rel="stylesheet" type="text/css" href="./static.css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- h1>clipper<span class="logo_z">z</span></h1 -->
|
||||
<div class="header">
|
||||
<div id="logo"></div>
|
||||
<h5 class="clipperzPayoff">keep it to yourself!</h5>
|
||||
</div>
|
||||
|
||||
<div class="block1">
|
||||
|
||||
<div class="languageBlock en-us">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Sorry, you have been logged out!</h3>
|
||||
|
||||
<p>Probably one or more cards have been modified by another session.</p>
|
||||
<p>This can happen if you access your Clipperz account from two different browser windows or from two different computers at the same time.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock zh-cn">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>对不起,您已经登出系统!</h3>
|
||||
|
||||
<p>可能有一两张密码卡片被别的进程修改。</p>
|
||||
<p>这或许是你使用两个不同的窗口或者两台电脑登录 Clipperz 账户。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
<div class="languageBlock fr-fr">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3></h3>
|
||||
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<div class="languageBlock it-it">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Attenzione, sei stato scollegato da Clipperz!</h3>
|
||||
|
||||
<p>Probabilmente ona o più schede sono state modificate in un'altra sessione.</p>
|
||||
<p>Questo può accadere se accedi a Clipperz da più finestre del browser o da due computer diversi contemporaneamente.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock ja-jp">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>残念ながらログアウトしました。</h3>
|
||||
|
||||
<p>別のセッションでカードが編集されました。</p>
|
||||
<p>複数のブラウザやコンピュータで同時に Clipperz にログインしている可能性があります。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="block2">
|
||||
|
||||
<div class="languageBlock pt-br">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Desculpe, você foi desconectado!</h3>
|
||||
|
||||
<p>Provavelmente um ou mais cards tenham sido modificados numa outra sessão.</p>
|
||||
<p>Isso pode acontecer quando você acessa Clipperz através de duas janelas de navegadores diferentes ou de dois computadores diferentes.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="languageBlock es-es">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>¡Disculpe, acaba de cerrar su sesión!</h3>
|
||||
|
||||
<p>Probablemente una o más tarjetas han sido modicifadas por otra sesión.</p>
|
||||
<p>Esto puede pasar si usted accede a su cuenta de Clipperz desde dos sesiones de navegadores diferentes o desde dos computadoras diferentes.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock ru-ru">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Извините, Вы только что вышли!</h3>
|
||||
|
||||
<p>Вероятно одна или более карточек были изменены во время другой сессией</p>
|
||||
<!-- p>Это могло произойти, если Вы работали с Clipperz из двух разных окон браузера или двух разных компьютеров.</p -->
|
||||
<p>Это могло произойти из-за того, что какая-то карточка была изменена в другой сессии (если вы одновременно работаете с Clipperz из разных окон браузера или на разных компьютерах).</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
136
frontend/beta/staticResources/logout.html
Normal file
136
frontend/beta/staticResources/logout.html
Normal file
@@ -0,0 +1,136 @@
|
||||
<!--
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>clipperz - logout</title>
|
||||
<link rel="stylesheet" type="text/css" href="./static.css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<div id="logo"></div>
|
||||
<h5 class="clipperzPayoff">keep it to yourself!</h5>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="contentWrapper">
|
||||
<div class="block1">
|
||||
<div class="languageBlock en-us">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Goodbye! Thanks for using Clipperz.</h3>
|
||||
|
||||
<p>You just logged out from your Clipperz account. We hope to see you again soon!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock zh-cn">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>下次再见!感谢您使用 Clipperz。</h3>
|
||||
|
||||
<p>您仅仅是从您的 Clipperz 账户登出,我们希望很快再次见到您!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
<div class="languageBlock fr-fr">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3></h3>
|
||||
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
<div class="languageBlock it-it">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Arrivederci! Grazie per aver scelto Clipperz.</h3>
|
||||
|
||||
<p>Sei uscito da Clipperz. Speriamo di rivederti presto.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock ja-jp">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Clipperz をご利用いただきありがとうございました。</h3>
|
||||
|
||||
<p>Clipperz から正常にログアウトしました。またのご利用をお待ちしています。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block2">
|
||||
<div class="languageBlock pt-br">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Até logo! Obrigado por utilizar Clipperz.</h3>
|
||||
|
||||
<p>Você acaba de sair de sua conta Clipperz. Esperamos ve-lo de volta em breve!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="languageBlock es-es">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>¡Hasta luego! Gracias por usar Clipperz</h3>
|
||||
|
||||
<p>Se acaba cerrar su sesión Clipperz. ¡Esperamos verlo nuevamente pronto!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="languageBlock ru-ru">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>До свидания! Спасибо за использование Clipperz.</h3>
|
||||
|
||||
<p>Вы только что вышли из своего аккаунта Clipperz. Мы надеемся увидеть Вас снова!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="languageBlock de-de">
|
||||
<div class="flags"></div>
|
||||
<div class="content">
|
||||
<h3>Auf Wiedersehen! Danke, dass Sie Clipperz verwendet haben.</h3>
|
||||
|
||||
<p>Sie haben sich gerade von Ihrem Clipperz-Account abgemeldet. Wir hoffen, Sie bald wieder zu sehen.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
207
frontend/beta/staticResources/static.css
Normal file
207
frontend/beta/staticResources/static.css
Normal file
@@ -0,0 +1,207 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
/* @override
|
||||
http://www.example.com/DEVELOPMENT/static.css
|
||||
http://www.clipperz.com/files/clipperz.com/appTips/static.css
|
||||
*/
|
||||
|
||||
body {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-family: Helvetica, Arial, Geneva, sans-serif;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
div.header {
|
||||
padding: 20px 25px;
|
||||
background-color: #1f2148;
|
||||
}
|
||||
|
||||
div#logo {
|
||||
background: url(./images/old/logo.png);
|
||||
width: 150px;
|
||||
height: 39px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
h5.clipperzPayoff {
|
||||
color: white;
|
||||
font-size: 13pt;
|
||||
font-weight: normal;
|
||||
padding-left: 20px;
|
||||
white-space: nowrap;
|
||||
margin: 0px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
/*
|
||||
h1 {
|
||||
font-size: 40pt;
|
||||
color: #333366;
|
||||
}
|
||||
|
||||
h1 span.logo_z {
|
||||
color: #ff9400;
|
||||
}
|
||||
*/
|
||||
|
||||
div.contentWrapper {
|
||||
padding: 20px;
|
||||
}
|
||||
div.block1 {
|
||||
float: left;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
div.block2 {
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.languageBlock {
|
||||
clear: both;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
div.flags {
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.content {
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin: 0px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 10pt;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
/* @group RSS feed */
|
||||
|
||||
body.iFrame {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
font-family: Helvetica, Arial, Geneva, sans-serif;
|
||||
}
|
||||
|
||||
div#feedContent ul {
|
||||
list-style-type: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div#feedContent ul li {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected {
|
||||
display: block;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected em.date{
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected a {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected h2 {
|
||||
font-size: 8pt;
|
||||
color: #c3c4cf;
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected p {
|
||||
font-size: 8pt;
|
||||
color: #c3c4cf;
|
||||
margin: 0px;
|
||||
display: inline;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
div#feedContent ul li.selected p a {
|
||||
font-size: 8pt;
|
||||
color: #c3c4cf;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
|
||||
div.languageBlock div.flags {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
div.languageBlock.en-us div.flags {
|
||||
background: url(./images/old/flags/en.png);
|
||||
}
|
||||
|
||||
div.languageBlock.zh-cn div.flags {
|
||||
background: url(./images/old/flags/cn.png);
|
||||
}
|
||||
|
||||
div.languageBlock.fr-fr div.flags {
|
||||
background: url(./images/old/flags/fr.png);
|
||||
}
|
||||
|
||||
div.languageBlock.it-it div.flags {
|
||||
background: url(./images/old/flags/it.png);
|
||||
}
|
||||
|
||||
div.languageBlock.ja-jp div.flags {
|
||||
background: url(./images/old/flags/jp.png);
|
||||
}
|
||||
|
||||
div.languageBlock.pt-br div.flags {
|
||||
background: url(./images/old/flags/br.png);
|
||||
}
|
||||
|
||||
div.languageBlock.es-es div.flags {
|
||||
background: url(./images/old/flags/es.png);
|
||||
}
|
||||
|
||||
div.languageBlock.ru-ru div.flags {
|
||||
background: url(./images/old/flags/ru.png);
|
||||
}
|
||||
|
||||
div.languageBlock.de-de div.flags {
|
||||
background: url(./images/old/flags/de.png);
|
||||
}
|
||||
|
||||
|
||||
/* @end */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user