diff options
Diffstat (limited to 'juick-www/src/main/webapp')
20 files changed, 502 insertions, 44 deletions
diff --git a/juick-www/src/main/webapp/WEB-INF/juick.conf.example b/juick-www/src/main/webapp/WEB-INF/juick.conf.example deleted file mode 100644 index bbe2a9e5..00000000 --- a/juick-www/src/main/webapp/WEB-INF/juick.conf.example +++ /dev/null @@ -1,6 +0,0 @@ -mysql_username=username -xmpp_password=secret -sape_user=usertoken -wns_application_sip=ms-app://x-1-11-1-1111111111-... -wns_client_secret=secret -xmpp_disabled=false
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/layouts/content.html b/juick-www/src/main/webapp/WEB-INF/layouts/content.html new file mode 100644 index 00000000..6a564034 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/layouts/content.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <script type="text/javascript" src="/scripts.js"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + {% block headers %} + {{ headers | raw }} + {% endblock %} + <title>{{ title }}</title> + <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" /> + <link rel="icon" href="//i.juick.com/favicon.png" /> + </head> + <body> + {% include "views/partial/navigation" %} + <section id="content"> + {% block content %} + {% endblock %} + </section> + <aside id="column"> + {% block column %} + {% endblock %} + </aside> + {% include "views/partial/footer" %} + </body> +</html>
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/layouts/rss.xml b/juick-www/src/main/webapp/WEB-INF/layouts/rss.xml new file mode 100644 index 00000000..23866c8a --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/layouts/rss.xml @@ -0,0 +1,38 @@ +<?xml version='1.0' encoding='utf-8'?> +<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' + xmlns:juick='http://juick.com/'> + <channel> + <atom:link href='http://rss.juick.com/{{ user.getName() }}/blog' rel='self' type='application/rss+xml'/> + <title>{{ user.getName() }} - Juick</title> + <link>http://juick.com/{{ user.getName() }}/</link> + <description>The latest messages by @{{ user.getName() }} at Juick</description> + <image> + <url>http://i.juick.com/a/{{ user.getUid() }}.png</url> + <title>{{ user.getName() }} - Juick</title> + <link>http://juick.com/{{ user.getName() }}/</link> + </image> + {% for msg in msgs %} + <item> + <link>http://juick.com/{{ msg.getUser().getName() }}/{{ msg.getMid() }}</link> + <guid>http://juick.com/{{ msg.getUser().getName() }}/{{ msg.getMid() }}</guid> + <title><![CDATA[@{{ msg.getUser().getName() }}: {% for tag in msg.getTags() %} *{{ tag }}{% endfor %}]]></title> + <description><![CDATA[{{ msg.getText() | raw }}]]></description> + <pubDate>{{ sdfRSS.format(msg.getDate()) }}</pubDate> + <comments>http://juick.com/{{ msg.getUser().getName() }}/{{ msg.getMid() }}</comments> + {% for tag in msg.getTags() %} + <category>{{ tag }}</category> + {% endfor %} + {% if msg.getAttachmentType() is not empty %} + {% if msg.getAttachmentType() == "jpg" %} + <media:content url='http://i.juick.com/photos-1024/{{ msg.getMid() }}.jpg' type='image/jpeg'/> + <media:thumbnail url='http://i.juick.com/ps/{{ msg.getMid() }}.jpg'/> + {% elseif msg.getAttachmentType() == "png" %} + <media:content url='http://i.juick.com/photos-1024/{{ msg.getMid() }}.png' type='image/png'/> + <media:thumbnail url='http://i.juick.com/ps/{{ msg.getMid() }}.png'/> + {% endif %} + {% endif %} + <juick:user uid='{{ msg.getUser().getUid() }}'/> + </item> + {% endfor %} + </channel> +</rss> diff --git a/juick-www/src/main/webapp/WEB-INF/views/404.html b/juick-www/src/main/webapp/WEB-INF/views/404.html new file mode 100644 index 00000000..21f42d75 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/404.html @@ -0,0 +1,11 @@ +{% extends "layouts/content" %} +{% block content %} + <article> + <h1>Страница не найдена</h1> + <p>Сожалеем, но страницу с этим адресом удалил её автор, либо её никогда не существовало.</p> + </article> +{% endblock %} + +{% block "column" %} +{% include "views/partial/homecolumn" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/help.html b/juick-www/src/main/webapp/WEB-INF/views/help.html new file mode 100644 index 00000000..a4b76676 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/help.html @@ -0,0 +1,10 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + {{ content | raw }} +</article> +{% endblock %} + +{% block "column" %} +{{ navigation | raw }} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/footer.html b/juick-www/src/main/webapp/WEB-INF/views/partial/footer.html new file mode 100644 index 00000000..6978a2c0 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/footer.html @@ -0,0 +1,34 @@ +<div id="footer"> + <div id="footer-right"> + <a href="/settings" rel="nofollow">Настройки</a> · + <a href="/help/ru/contacts" rel="nofollow">Контакты</a> · + <a href="/help/" rel="nofollow">Справка</a> · + <a href="/help/ru/adv" rel="nofollow">Реклама</a> + </div> + <div id="footer-social"> + <a href="https://twitter.com/Juick" rel="nofollow" class="ico32-twi">Twitter</a> + <a href="https://vk.com/juick" rel="nofollow" class="ico32-vk">ВКонтакте</a> + <a href="https://www.facebook.com/JuickCom" rel="nofollow" class="ico32-fb">Facebook</a> + </div> + <div id="footer-left">juick.com © 2008-2016 + {% if links %} + <br/>Спонсоры: {{ links }} + {% endif %} + </div> +</div> +<script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + ga('create','UA-385578-4','juick.com'); + ga('require','displayfeatures'); + ga('send','pageview'); + {% if (sapeon) %} + var _acic={dataProvider:10}; + (function(){ + var e=document.createElement('script');e.type='text/javascript';e.async=true;e.src='//www2.aci'+'nt.net/aci.js'; + var t=document.getElementsByTagName('script')[0];t.parentNode.insertBefore(e,t); + })(); + {% endif %} +</script>
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/homecolumn.html b/juick-www/src/main/webapp/WEB-INF/views/partial/homecolumn.html new file mode 100644 index 00000000..28a73662 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/homecolumn.html @@ -0,0 +1,6 @@ +<p class="tags"> + {% include "views/partial/tags" %} + {% if showAdv %} + <a href="http://ru.wix.com/">конструктор сайтов</a> + {% endif %} +</p>
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/navigation.html b/juick-www/src/main/webapp/WEB-INF/views/partial/navigation.html new file mode 100644 index 00000000..2863d0c3 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/navigation.html @@ -0,0 +1,37 @@ +<header> + <div id="logo"><a href="/">Juick</a></div> + <nav id="global"> + <ul> + <li><a href="/">Популярные</a></li> + <li><a href="/?show=all" rel="nofollow">Все сообщения</a></li> + <li><a href="/?show=photos" rel="nofollow">Фотографии</a></li> + </ul> + </nav> + <div id="search"> + <form action="/"> + <input type="text" name="search" class="text" placeholder="Поиск" value="{{ search }}"/> + </form> + </div> + <section id="headdiv"> + {% if visitor.getUID() > 0 %} + <nav id="user"> + <ul> + <li><a href="/?show=my">Моя лента</a></li> + <li><a href="/pm/inbox">Приватные</a></li> + <li><a href="/?show=discuss">Обсуждения</a></li> + <li><a href="/?show=recommended">Рекомендации</a></li> + </ul> + </nav> + <nav id="actions"> + <ul> + <li><a href="/#post">Написать</a></li> + <li><a href="/{{ visitor.getName() }}">@{{ visitor.getName() }}</a></li> + <li><a href="/logout">Выйти</a></li> + </ul> + </nav> + {% else %} + <p>Чтобы добавлять сообщения и комментарии, <a href="#" onclick="return Juick.openDialogLogin()">представьтесь</a>. + </p> + {% endif %} + </section> +</header> diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/settings_tabs.html b/juick-www/src/main/webapp/WEB-INF/views/partial/settings_tabs.html new file mode 100644 index 00000000..d7901d5e --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/settings_tabs.html @@ -0,0 +1,5 @@ +<div id="pagetabs"><ul> + <li><a href="/settings">Main</a></li> + <li><a href="/settings?page=password">Password</a></li> + <li><a href="/settings?page=about">About</a></li> +</ul></div>
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/partial/tags.html b/juick-www/src/main/webapp/WEB-INF/views/partial/tags.html new file mode 100644 index 00000000..4d05b7fb --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/partial/tags.html @@ -0,0 +1,3 @@ +{% for tag in tags %} + <a href="/tag/{{ tag | urlencode }}" title="{{ tag }}">{{ tag }}</a> +{% endfor %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/pm_inbox.html b/juick-www/src/main/webapp/WEB-INF/views/pm_inbox.html new file mode 100644 index 00000000..cb55582a --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/pm_inbox.html @@ -0,0 +1,37 @@ +{% extends "layouts/content" %} +{% block content %} +{% if not msgs.isEmpty() %} +<ul id="private-messages"> + {% for msg in msgs %} + <li class="msg"> + <div class="msg-cont"> + <div class="msg-header"> + @<a href="/{{ msg.getUser().getName() }}/">{{ msg.getUser().getName() }}</a>: + <div class="msg-avatar"> + <a href="/{{ msg.getUser().getName() }}/"> + <img src="//i.juick.com/a/{{ msg.getUser().getUID() }}.png" alt="{{ msg.getUser().getName() }}"/> + </a> + </div> + <div class="msg-ts">{{ msg.getDate() }}</div> + </div> + + <div class="msg-txt">{{ msg.getText() | raw }}</div> + + <form action="/pm/send" method="POST" enctype="multipart/form-data"> + <input type="hidden" name="uname" value="{{ msg.getUser().getName() }}"/> + <div class="msg-comment"> + <div class="ta-wrapper"> + <textarea name="body" rows="1" class="replypm" placeholder="Написать ответ"></textarea> + </div> + </div> + </form> + + </div> + </li> + {% endfor %} +</ul> +{% endif %} +{% endblock %} +{% block "column" %} +{% include "views/partial/homecolumn" %} +{% endblock %} diff --git a/juick-www/src/main/webapp/WEB-INF/views/pm_sent.html b/juick-www/src/main/webapp/WEB-INF/views/pm_sent.html new file mode 100644 index 00000000..41f3814b --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/pm_sent.html @@ -0,0 +1,33 @@ +{% extends "layouts/content" %} +{% block content %} +<form action="/pm/send" method="POST" enctype="multipart/form-data"> + <div class="newpm"> + <div class="newpm-to">To: <input type="text" name="uname" placeholder="username" value="{{ uname }}"/></div> + <div class="newpm-body"><textarea name="body" rows="2"></textarea></div> + <div class="newpm-send"><input type="submit" value="OK"/></div> + </div> +</form> +{% if not msgs.isEmpty() %} +<ul id="private-messages"> + {% for msg in msgs %} + <li class="msg"> + <div class="msg-cont"> + <div class="msg-header"> + @<a href="/{{ msg.getUser().getName() }}/">{{ msg.getUser().getName() }}</a>: + <div class="msg-avatar"> + <a href="/{{ msg.getUser().getName() }}/"> + <img src="//i.juick.com/a/{{ msg.getUser().getUID() }}.png" alt="{{ msg.getUser().getName() }}"/> + </a> + </div> + <div class="msg-ts">{{ msg.getDate() }}</div> + </div> + <div class="msg-txt">{{ msg.getText() | raw }}</div> + </div> + </li> + {% endfor %} +</ul> +{% endif %} +{% endblock %} +{% block "column" %} +{% include "views/partial/homecolumn" %} +{% endblock %} diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_about.html b/juick-www/src/main/webapp/WEB-INF/views/settings_about.html new file mode 100644 index 00000000..a11a1609 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_about.html @@ -0,0 +1,20 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <form action="/settings" method="POST" enctype="multipart/form-data"> + <p>Full name: <input type="text" name="fullname" value="{{ userinfo.getFullName() }}"/></p> + <p>Country: <input type="text" name="country" value="{{ userinfo.getCountry() }}"/></p> + <p>URL: <input type="text" name="url" value="{{ userinfo.getUrl() }}" size="32"/><br/> + <small>Please, start with "http://"</small></p> + <p>About:<br/> + <input type="text" name="descr" value="{{ userinfo.getDescription() }}" style="width: 100%"/><br/> + <small>Max. 255 symbols</small></p> + <p>Avatar: <input type="file" name="avatar"/><br/> + <small>Recommendations: PNG, 96x96, <50Kb. Also, JPG and GIF supported.</small></p> + <p><input type="hidden" name="page" value="about"/><input type="submit" value=" OK "/></p> + </form> +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_auth-email.html b/juick-www/src/main/webapp/WEB-INF/views/settings_auth-email.html new file mode 100644 index 00000000..e7ed985a --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_auth-email.html @@ -0,0 +1,9 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <p>{{ result }}</p><p><a href="/settings">Settings</a>.</p> +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_main.html b/juick-www/src/main/webapp/WEB-INF/views/settings_main.html new file mode 100644 index 00000000..39c6d875 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_main.html @@ -0,0 +1,156 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <h1>Настройки</h1> + <form action="/settings" method="POST" enctype="multipart/form-data"> + <fieldset> + <legend>Notification options</legend> + <p><input type="checkbox" name="jnotify" value="1" {% if notify_options.isRepliesEnabled() %} + checked="checked" {% endif %}/> Reply notifications ("Message posted")</p> + <p><input type="checkbox" name="subscr_notify" value="1" {% if notify_options.isSubscriptionsEnabled() %} + checked="checked" {% endif %}/> Subscriptions notifications ("@user subscribed...")</p> + <p><input type="checkbox" name="recomm" value="1" {% if notify_options.isRecommendationsEnabled() %} + checked="checked" {% endif %}/> Posts recommendations ("Recommended by @user")</p> + <p><input type="hidden" name="page" value="main"/><input type="submit" value=" OK "/></p> + </fieldset> + </form> + <fieldset> + <legend style="background: url(//telegram.org/favicon.ico?3) no-repeat; padding-left: 58px; line-height: 48px;"> + Telegram</legend> + {% if telegram_name is not empty %} + <form action="/settings" method="post"> + <div>Telegram: <b>{{ telegram_name }}</b> — + <input type="hidden" name="page" value="telegram-del"/> + <input type="submit" value=" Disable "/> + </div> + </form> + {% else %} + <p>To connect Telegram account: send any text message to <a href="https://telegram.me/Juick_bot">@Juick_bot</a> + </p> + {% endif %} + </fieldset> + <form action="/settings" method="POST" enctype="multipart/form-data"> + <fieldset> + <legend style="background: url(//static.juick.com/settings/xmpp.png) no-repeat; padding-left: 58px; line-height: 48px;"> + XMPP accounts + </legend> + <p>Your accounts:</p> + <p> + {% for jid in jids %} + <label><input type="radio" name="delete" value="xmpp;{{ jid }}">{{ jid }}</label><br/> + {% endfor %} + {% for auth in auths %} + <label><input type="radio" name="delete" + value="xmpp-unauth;{{ auth.getAccount() }}">{{ auth.getAccount() }}</label> + — <a href="#" + onclick="alert(\'To confirm, please send "AUTH {{ auth.getAuthCode() }}" (without quotes) from this account to "juick@juick.com".\'); return false;">Confirm</a><br/> + {% endfor %} + </p> + {% if jids is not empty %} + <p><input type="hidden" name="page" value="jid-del"/><input type="submit" value=" Delete "/></p> + {% endif %} + <p>To add new jabber account: send any text message to <a href="xmpp:juick@juick.com?message;body=login">juick@juick.com</a> + </p> + </fieldset> + </form> + <fieldset> + <legend style="background: url(//static.juick.com/settings/email.png) no-repeat; padding-left: 58px; line-height: 48px;"> + E-mail + </legend> + <form action="/settings" method="POST" enctype="multipart/form-data"> + <p>Add account:<br/> + <input type="text" name="account"/> + <input type="hidden" name="page" value="email-add"/> + <input type="submit" value=" Add "/> + </p> + </form> + <form action="/settings" method="POST" enctype="multipart/form-data"> + <p>Your accounts:</p> + <p> + {% for email in emails %} + <label><input type="radio" name="account" value="{{ email }}">{{ email }}</label><br/> + {% endfor %} + {% if emails is empty %} + - </p> + {% else %} + </p> + <p><input type="hidden" name="page" value="email-del"/><input type="submit" value=" Delete "/></p> + {% endif %} + </form> + {% if emails is not empty %} + <form action="/settings" method="POST" enctype="multipart/form-data"> + <p>You can receive all your subscriptions by email:<br/> + Sent to <select name="account"> + <option value="">Disabled</option> + {% for email in emails %} + <option value="{{ email }}" {% if eopts.getEmail()== email %} selected="selected" {% endif %}> + {{ email }} + </option> + {% endfor %} + </select> every day at <select name="time"> + {% for hour in hours %} + <option value="{{ hour }}" {% if eopts.getSubscriptionHour() == hour %} selected="selected" {% + endif %}> + {{ hour }}:00 GMT + </option> + {% endfor %} + </select> + <input type="hidden" name="page" value="email-subscr"/> + <input type="submit" value="OK"/></p> + </form> + {% endif %} + <p> </p> + <p>You can post to Juick via e-mail. Send your <span style="text-decoration: underline">plain text</span> + messages to special secret e-mail. You can attach one photo or video file.</p> + <p>Secret email: {% if ehash is not empty %} <strong>{{ ehash }}</strong> {% else %}-{% endif %}</p> + <form action="/settings" method="post"> + <p><input type="hidden" name="page" value="email"/><input type="submit" value=" Generate new "/></p> + </form> + </fieldset> + <fieldset> + <legend style="background: url(//static.juick.com/settings/facebook.png) no-repeat; padding-left: 58px; line-height: 48px;"> + Facebook + </legend> + {% if fbstatus.isConnected() %} + {% if fbstatus.isCrosspostEnabled() %} + <form action="/settings" method="post"> + <div> + Facebook: <b>Enabled</b> — + <input type="hidden" name="page" value="facebook-disable"/> + <input type="submit" value=" Disable "/> + </div> + </form> + {% else %} + <form action="/settings" method="post"> + <div> + Facebook: <b>Disabled</b> — + <input type="hidden" name="page" value="facebook-enable"/> + <input type="submit" value=" Enable "/> + </div> + </form> + {% endif %} + {% else %} + <p>Cross-posting to Facebook: <a href="/_fblogin"><img src="//static.juick.com/facebook-connect.png" alt="Connect to Facebook"/></a></p> + {% endif %} + </fieldset> + <fieldset> + <legend style="background: url(//static.juick.com/settings/twitter.png) no-repeat; padding-left: 58px; line-height: 48px;"> + Twitter</legend> + {% if twitter_name is not empty %} + <form action="/settings" method="post"> + <div>Twitter: <b>{{ twitter_name }}</b> — + <input type="hidden" name="page" value="twitter-del"/> + <input type="submit" value=" Disable "/> + </div> + </form> + {% else %} + <p>Cross-posting to Twitter: <a href="/_twitter"><img src="//static.juick.com/twitter-connect.png" + alt="Connect to Twitter"/></a></p> + {% endif %} + </fieldset> + +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_password.html b/juick-www/src/main/webapp/WEB-INF/views/settings_password.html new file mode 100644 index 00000000..d7883546 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_password.html @@ -0,0 +1,17 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <fieldset> + <legend>Changing your password</legend> + <form action="/settings" method="post"> + <input type="hidden" name="page" value="password"/> + <p>Change password: <input type="password" name="password" size="8"/> <input type="submit" + value=" Update "/><br/> + <i>(max. length - 16 symbols)</i></p> + </form> + </fieldset> +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_privacy.html b/juick-www/src/main/webapp/WEB-INF/views/settings_privacy.html new file mode 100644 index 00000000..29ed5e95 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_privacy.html @@ -0,0 +1,9 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <p>Privacy</p> +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/settings_result.html b/juick-www/src/main/webapp/WEB-INF/views/settings_result.html new file mode 100644 index 00000000..88a52938 --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/settings_result.html @@ -0,0 +1,9 @@ +{% extends "layouts/content" %} +{% block content %} +<article> + <p>{{ result | raw }}</p> +</article> +{% endblock %} +{% block "column" %} +{% include "views/partial/settings_tabs" %} +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/views/signup.html b/juick-www/src/main/webapp/WEB-INF/views/signup.html new file mode 100644 index 00000000..e454f7dd --- /dev/null +++ b/juick-www/src/main/webapp/WEB-INF/views/signup.html @@ -0,0 +1,41 @@ +{% extends "layouts/content" %} +{% block content %} +<h1 class="signup-h1"> + {% if type | slice(0, 1) == 'f' %} + <img src="//static.juick.com/settings/facebook.png" alt="Facebook"/> + {% elseif type | slice(0, 1) == 'v' %} + <img src="//static.juick.com/settings/vk.png" alt="VKontakte"/> + {% elseif type | slice(0, 1) == 'x' %} + <img src="//static.juick.com/settings/xmpp.png" alt="XMPP"/> + {% elseif type | slice(0, 1) == 'd' %} + <img src="//telegram.org/favicon.ico?3" alt="Telegram"/> + {% endif %} + {{ account | raw }}</h1> + +<h2 class="signup-h2">Связать с существующим аккаунтом Juick</h2> +<form action="/signup" method="post"> + <input type="hidden" name="action" value="link"/> + <input type="hidden" name="type" value="{{ type }}"/> + <input type="hidden" name="hash" value="{{ hash }}"/> + {% if visitor.getUID() > 0 %} + <input type="submit" value="Связать с этим аккаунтом"/> + {% else %} + <p>Имя пользователя: <input type="text" name="username"/></p> + <p>Пароль: <input type="password" name="password"/></p> + <p><input type="submit" value=" OK "/></p> + {% endif %} +</form> + +<hr class="signup-hr"/> + +<h2 class="signup-h2">Создать новый аккаунт Juick</h2> +<form action="/signup" method="post"> + <input type="hidden" name="action" value="new"/> + <input type="hidden" name="type" value="{{ type }}"/> + <input type="hidden" name="hash" value="{{ hash }}"/> + <p>Имя пользователя: <input type="text" name="username" id="username"/><br/><i>(От 2-х до 16-и латинских символов + и/или цифр, дефис)</i></p> + <p>Пароль: <input type="password" name="password"/><br/><i>(от 6-и до 32-х символов)</i></p> + <p><input type="submit" value=" OK "/></p> +</form> +{% endblock %}
\ No newline at end of file diff --git a/juick-www/src/main/webapp/WEB-INF/web.xml b/juick-www/src/main/webapp/WEB-INF/web.xml index ed9e8e62..a31c71d0 100644 --- a/juick-www/src/main/webapp/WEB-INF/web.xml +++ b/juick-www/src/main/webapp/WEB-INF/web.xml @@ -2,42 +2,4 @@ <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> - <servlet> - <servlet-name>Main</servlet-name> - <servlet-class>com.juick.www.Main</servlet-class> - <load-on-startup>1</load-on-startup> - </servlet> - <servlet-mapping> - <servlet-name>Main</servlet-name> - <url-pattern>/</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>default</servlet-name> - <url-pattern>/scripts.js</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>default</servlet-name> - <url-pattern>/style.css</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>default</servlet-name> - <url-pattern>/scripts.js.map</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>default</servlet-name> - <url-pattern>/style.css.map</url-pattern> - </servlet-mapping> - <mime-mapping> - <extension>js</extension> - <mime-type>application/javascript;charset=UTF-8</mime-type> - </mime-mapping> - <mime-mapping> - <extension>css</extension> - <mime-type>text/css;charset=UTF-8</mime-type> - </mime-mapping> - <session-config> - <session-timeout> - 30 - </session-timeout> - </session-config> </web-app> |