mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-12-23 03:43:48 +01:00
Login page completed.
This commit is contained in:
parent
b9e508424c
commit
2f8df725c9
@ -45,4 +45,16 @@ public class LoginController {
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "loginOpenId", method = RequestMethod.GET)
|
||||
protected ModelAndView showLoginOpenIdPage() {
|
||||
final User user = Utils.getUser(false);
|
||||
ModelAndView result;
|
||||
if (user != null) {
|
||||
result = new ModelAndView("forward:/c/maps/");
|
||||
} else {
|
||||
result = new ModelAndView("loginOpenId");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ package com.wisemapping.webmvc;
|
||||
|
||||
import com.wisemapping.exceptions.WiseMappingException;
|
||||
import com.wisemapping.model.CollaborationRole;
|
||||
import com.wisemapping.model.MindMapHistory;
|
||||
import com.wisemapping.model.Mindmap;
|
||||
import com.wisemapping.model.User;
|
||||
import com.wisemapping.security.Utils;
|
||||
|
@ -245,6 +245,8 @@ ACCESS_HAS_BEEN_REVOKED= Upps. your access permissions to this map has been revo
|
||||
LICENSE=License
|
||||
WELCOME_TO_WISEMAPPING=Welcome to WiseMapping
|
||||
WELCOME_DETAILS=WiseMapping will enable you to create and read your mind maps everywhere. With WiseMapping you can: <ul><li>Embed mind map it in web pages and blogs</li><li>Link mind map and documents</li><li>Share your maps with friend and colleagues</li><li>Export your maps SVG,PNG,JPG and FreeMind</li></ul>.
|
||||
OPEN_ID_LOGIN=Open Id Login
|
||||
LOGING_OPENID_DETAILS=Why OpenID? It's a single username and password that allows you to log in to any OpenID-enabled site. It works on thousands of websites.ItÕs an open standard.</br>Do you already have an account on one of these sites? Click the logo to <b>log in</b> with it here:
|
||||
DIRECT_LINK_EXPLANATION=Copy and paste the link below to share your map with colleagues
|
||||
TEMPORAL_PASSWORD_SENT=Your temporal password has been sent
|
||||
TEMPORAL_PASSWORD_SENT_DETAILS=We've sent you an email that will allow you to reset your password. Please check your email now.
|
||||
|
@ -75,6 +75,12 @@
|
||||
<put-attribute name="removeSignin" value="true"/>
|
||||
</definition>
|
||||
|
||||
<definition name="loginOpenId" extends="pageTemplate">
|
||||
<put-attribute name="title" value="LOGIN"/>
|
||||
<put-attribute name="body" value="/jsp/loginOpenId.jsp"/>
|
||||
<put-attribute name="removeSignin" value="true"/>
|
||||
</definition>
|
||||
|
||||
<definition name="termsOfUse" extends="pageTemplate">
|
||||
<put-attribute name="title" value="TERM_OF_USE"/>
|
||||
<put-attribute name="body" value="/jsp/termsOfUse.jsp"/>
|
||||
|
@ -15,6 +15,7 @@
|
||||
<sec:http pattern="/favicon.ico" security="none"/>
|
||||
|
||||
<sec:http pattern="/c/login" security="none"/>
|
||||
<sec:http pattern="/c/loginOpenId" security="none"/>
|
||||
<sec:http pattern="/c/user/registration" security="none"/>
|
||||
<sec:http pattern="/c/user/resetpassword" security="none"/>
|
||||
<sec:http pattern="/c/home" security="none"/>
|
||||
@ -50,26 +51,26 @@
|
||||
authentication-failure-url="/c/login?login_error=2"
|
||||
login-processing-url="/c/j_spring_security_check"/>
|
||||
|
||||
<!--<sec:openid-login user-service-ref="userDetailsService"-->
|
||||
<!--authentication-failure-url="/c/login.jsp?login_error=true"-->
|
||||
<!--login-processing-url="/c/j_spring_openid_security_check">-->
|
||||
<sec:openid-login user-service-ref="userDetailsService"
|
||||
authentication-failure-url="/c/login.jsp?login_error=true"
|
||||
login-processing-url="/c/j_spring_openid_security_check">
|
||||
|
||||
<!--<sec:attribute-exchange identifier-match="https://www.google.com/.*">-->
|
||||
<!--<sec:openid-attribute name="email" type="http://axschema.org/contact/email" required="true" count="1"/>-->
|
||||
<!--<sec:openid-attribute name="firstname" type="http://axschema.org/namePerson/first" required="true"/>-->
|
||||
<!--<sec:openid-attribute name="lastname" type="http://axschema.org/namePerson/last" required="true"/>-->
|
||||
<!--</sec:attribute-exchange>-->
|
||||
<sec:attribute-exchange identifier-match="https://www.google.com/.*">
|
||||
<sec:openid-attribute name="email" type="http://axschema.org/contact/email" required="true" count="1"/>
|
||||
<sec:openid-attribute name="firstname" type="http://axschema.org/namePerson/first" required="true"/>
|
||||
<sec:openid-attribute name="lastname" type="http://axschema.org/namePerson/last" required="true"/>
|
||||
</sec:attribute-exchange>
|
||||
|
||||
<!--<sec:attribute-exchange identifier-match=".*yahoo.com.*">-->
|
||||
<!--<sec:openid-attribute name="email" type="http://axschema.org/contact/email" required="true"/>-->
|
||||
<!--<sec:openid-attribute name="fullname" type="http://axschema.org/namePerson" required="true"/>-->
|
||||
<!--</sec:attribute-exchange>-->
|
||||
<sec:attribute-exchange identifier-match=".*yahoo.com.*">
|
||||
<sec:openid-attribute name="email" type="http://axschema.org/contact/email" required="true"/>
|
||||
<sec:openid-attribute name="fullname" type="http://axschema.org/namePerson" required="true"/>
|
||||
</sec:attribute-exchange>
|
||||
|
||||
<!--<sec:attribute-exchange identifier-match=".*myopenid.com.*">-->
|
||||
<!--<sec:openid-attribute name="email" type="http://schema.openid.net/contact/email" required="true"/>-->
|
||||
<!--<sec:openid-attribute name="fullname" type="http://schema.openid.net/namePerson" required="true"/>-->
|
||||
<!--</sec:attribute-exchange>-->
|
||||
<!--</sec:openid-login>-->
|
||||
<sec:attribute-exchange identifier-match=".*myopenid.com.*">
|
||||
<sec:openid-attribute name="email" type="http://schema.openid.net/contact/email" required="true"/>
|
||||
<sec:openid-attribute name="fullname" type="http://schema.openid.net/namePerson" required="true"/>
|
||||
</sec:attribute-exchange>
|
||||
</sec:openid-login>
|
||||
<sec:remember-me key="wisemapping-hashed-key"/>
|
||||
<sec:logout logout-url="/c/logout" invalidate-session="true" logout-success-url="/c/login"/>
|
||||
</sec:http>
|
||||
|
69
wise-webapp/src/main/webapp/css/openid.css
Normal file
69
wise-webapp/src/main/webapp/css/openid.css
Normal file
@ -0,0 +1,69 @@
|
||||
/*
|
||||
Simple OpenID Plugin
|
||||
http://code.google.com/p/openid-selector/
|
||||
|
||||
This code is licensed under the New BSD License.
|
||||
*/
|
||||
|
||||
#openid_form {
|
||||
width: 580px;
|
||||
}
|
||||
|
||||
#openid_form legend {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#openid_choice {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#openid_input_area {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#openid_btns, #openid_btns br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#openid_highlight {
|
||||
padding: 3px;
|
||||
background-color: #FFFCC9;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.openid_large_btn {
|
||||
width: 100px;
|
||||
height: 60px;
|
||||
/* fix for IE 6 only: http://en.wikipedia.org/wiki/CSS_filter#Underscore_hack */
|
||||
_width: 102px;
|
||||
_height: 62px;
|
||||
|
||||
border: 1px solid #DDD;
|
||||
margin: 3px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.openid_small_btn {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
/* fix for IE 6 only: http://en.wikipedia.org/wiki/CSS_filter#Underscore_hack */
|
||||
_width: 26px;
|
||||
_height: 26px;
|
||||
|
||||
border: 1px solid #DDD;
|
||||
margin: 3px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
a.openid_large_btn:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.openid_large_btn:focus {
|
||||
-moz-outline-style: none;
|
||||
}
|
||||
|
||||
.openid_selected {
|
||||
border: 4px solid #DDD;
|
||||
}
|
BIN
wise-webapp/src/main/webapp/images/openid-providers-en.png
Normal file
BIN
wise-webapp/src/main/webapp/images/openid-providers-en.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
96
wise-webapp/src/main/webapp/js/openid-en.js
Normal file
96
wise-webapp/src/main/webapp/js/openid-en.js
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
Simple OpenID Plugin
|
||||
http://code.google.com/p/openid-selector/
|
||||
|
||||
This code is licensed under the New BSD License.
|
||||
*/
|
||||
|
||||
var providers_large = {
|
||||
google : {
|
||||
name : 'Google',
|
||||
url : 'https://www.google.com/accounts/o8/id'
|
||||
},
|
||||
yahoo : {
|
||||
name : 'Yahoo',
|
||||
url : 'http://me.yahoo.com/'
|
||||
},
|
||||
aol : {
|
||||
name : 'AOL',
|
||||
label : 'Enter your AOL screenname.',
|
||||
url : 'http://openid.aol.com/{username}'
|
||||
},
|
||||
myopenid : {
|
||||
name : 'MyOpenID',
|
||||
label : 'Enter your MyOpenID username.',
|
||||
url : 'http://{username}.myopenid.com/'
|
||||
},
|
||||
openid : {
|
||||
name : 'OpenID',
|
||||
label : 'Enter your OpenID.',
|
||||
url : null
|
||||
}
|
||||
};
|
||||
|
||||
var providers_small = {
|
||||
livejournal : {
|
||||
name : 'LiveJournal',
|
||||
label : 'Enter your Livejournal username.',
|
||||
url : 'http://{username}.livejournal.com/'
|
||||
},
|
||||
/* flickr: {
|
||||
name: 'Flickr',
|
||||
label: 'Enter your Flickr username.',
|
||||
url: 'http://flickr.com/{username}/'
|
||||
}, */
|
||||
/* technorati: {
|
||||
name: 'Technorati',
|
||||
label: 'Enter your Technorati username.',
|
||||
url: 'http://technorati.com/people/technorati/{username}/'
|
||||
}, */
|
||||
wordpress : {
|
||||
name : 'Wordpress',
|
||||
label : 'Enter your Wordpress.com username.',
|
||||
url : 'http://{username}.wordpress.com/'
|
||||
},
|
||||
blogger : {
|
||||
name : 'Blogger',
|
||||
label : 'Your Blogger account',
|
||||
url : 'http://{username}.blogspot.com/'
|
||||
},
|
||||
verisign : {
|
||||
name : 'Verisign',
|
||||
label : 'Your Verisign username',
|
||||
url : 'http://{username}.pip.verisignlabs.com/'
|
||||
},
|
||||
/* vidoop: {
|
||||
name: 'Vidoop',
|
||||
label: 'Your Vidoop username',
|
||||
url: 'http://{username}.myvidoop.com/'
|
||||
}, */
|
||||
/* launchpad: {
|
||||
name: 'Launchpad',
|
||||
label: 'Your Launchpad username',
|
||||
url: 'https://launchpad.net/~{username}'
|
||||
}, */
|
||||
claimid : {
|
||||
name : 'ClaimID',
|
||||
label : 'Your ClaimID username',
|
||||
url : 'http://claimid.com/{username}'
|
||||
},
|
||||
clickpass : {
|
||||
name : 'ClickPass',
|
||||
label : 'Enter your ClickPass username',
|
||||
url : 'http://clickpass.com/public/{username}'
|
||||
},
|
||||
google_profile : {
|
||||
name : 'Google Profile',
|
||||
label : 'Enter your Google Profile username',
|
||||
url : 'http://www.google.com/profiles/{username}'
|
||||
}
|
||||
};
|
||||
|
||||
openid.locale = 'en';
|
||||
openid.sprite = 'en'; // reused in german& japan localization
|
||||
openid.demo_text = 'In client demo mode. Normally would have submitted OpenID:';
|
||||
openid.signin_text = 'Sign-In';
|
||||
openid.image_title = 'log in with {provider}';
|
203
wise-webapp/src/main/webapp/js/openid-jquery.js
Normal file
203
wise-webapp/src/main/webapp/js/openid-jquery.js
Normal file
@ -0,0 +1,203 @@
|
||||
/*
|
||||
Simple OpenID Plugin
|
||||
http://code.google.com/p/openid-selector/
|
||||
|
||||
This code is licensed under the New BSD License.
|
||||
*/
|
||||
|
||||
var providers;
|
||||
var openid;
|
||||
(function ($) {
|
||||
openid = {
|
||||
version: '1.3', // version constant
|
||||
demo: false,
|
||||
demo_text: null,
|
||||
cookie_expires: 6 * 30, // 6 months.
|
||||
cookie_name: 'openid_provider',
|
||||
cookie_path: '/',
|
||||
|
||||
img_path: 'images/',
|
||||
locale: null, // is set in openid-<locale>.js
|
||||
sprite: null, // usually equals to locale, is set in
|
||||
// openid-<locale>.js
|
||||
signin_text: null, // text on submit button on the form
|
||||
all_small: false, // output large providers w/ small icons
|
||||
no_sprite: false, // don't use sprite image
|
||||
image_title: '{provider}', // for image title
|
||||
|
||||
input_id: null,
|
||||
provider_url: null,
|
||||
provider_id: null,
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @return {Void}
|
||||
*/
|
||||
init: function (input_id) {
|
||||
providers = $.extend({}, providers_large, providers_small);
|
||||
var openid_btns = $('#openid_btns');
|
||||
this.input_id = input_id;
|
||||
$('#openid_choice').show();
|
||||
$('#openid_input_area').empty();
|
||||
var i = 0;
|
||||
// add box for each provider
|
||||
var id, box;
|
||||
for (id in providers_large) {
|
||||
box = this.getBoxHTML(id, providers_large[id], (this.all_small ? 'small' : 'large'), i++);
|
||||
openid_btns.append(box);
|
||||
}
|
||||
if (providers_small) {
|
||||
openid_btns.append('<br/>');
|
||||
for (id in providers_small) {
|
||||
box = this.getBoxHTML(id, providers_small[id], 'small', i++);
|
||||
openid_btns.append(box);
|
||||
}
|
||||
}
|
||||
$('#openid_form').submit(this.submit);
|
||||
var box_id = this.readCookie();
|
||||
if (box_id) {
|
||||
this.signin(box_id, true);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {String}
|
||||
*/
|
||||
getBoxHTML: function (box_id, provider, box_size, index) {
|
||||
if (this.no_sprite) {
|
||||
var image_ext = box_size == 'small' ? '.ico.gif' : '.gif';
|
||||
return '<a title="' + this.image_title.replace('{provider}', provider.name) + '" href="javascript:openid.signin(\'' + box_id + '\');"'
|
||||
+ ' style="background: #FFF url(' + this.img_path + '../images.' + box_size + '/' + box_id + image_ext + ') no-repeat center center" '
|
||||
+ 'class="' + box_id + ' openid_' + box_size + '_btn"></a>';
|
||||
}
|
||||
var x = box_size == 'small' ? -index * 24 : -index * 100;
|
||||
var y = box_size == 'small' ? -60 : 0;
|
||||
return '<a title="' + this.image_title.replace('{provider}', provider.name) + '" href="javascript:openid.signin(\'' + box_id + '\');"'
|
||||
+ ' style="background: #FFF url(' + this.img_path + 'openid-providers-' + this.sprite + '.png); background-position: ' + x + 'px ' + y + 'px" '
|
||||
+ 'class="' + box_id + ' openid_' + box_size + '_btn"></a>';
|
||||
},
|
||||
|
||||
/**
|
||||
* Provider image click
|
||||
*
|
||||
* @return {Void}
|
||||
*/
|
||||
signin: function (box_id, onload) {
|
||||
var provider = providers[box_id];
|
||||
if (!provider) {
|
||||
return;
|
||||
}
|
||||
this.highlight(box_id);
|
||||
this.setCookie(box_id);
|
||||
this.provider_id = box_id;
|
||||
this.provider_url = provider.url;
|
||||
// prompt user for input?
|
||||
if (provider.label) {
|
||||
this.useInputBox(provider);
|
||||
} else {
|
||||
$('#openid_input_area').empty();
|
||||
if (!onload) {
|
||||
$('#openid_form').submit();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Sign-in button click
|
||||
*
|
||||
* @return {Boolean}
|
||||
*/
|
||||
submit: function () {
|
||||
var url = openid.provider_url;
|
||||
if (url) {
|
||||
url = url.replace('{username}', $('#openid_username').val());
|
||||
openid.setOpenIdUrl(url);
|
||||
}
|
||||
if (openid.demo) {
|
||||
alert(openid.demo_text + "\r\n" + document.getElementById(openid.input_id).value);
|
||||
return false;
|
||||
}
|
||||
if (url && url.indexOf("javascript:") == 0) {
|
||||
url = url.substr("javascript:".length);
|
||||
eval(url);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {Void}
|
||||
*/
|
||||
setOpenIdUrl: function (url) {
|
||||
var hidden = document.getElementById(this.input_id);
|
||||
if (hidden != null) {
|
||||
hidden.value = url;
|
||||
} else {
|
||||
$('#openid_form').append('<input type="hidden" id="' + this.input_id + '" name="' + this.input_id + '" value="' + url + '"/>');
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {Void}
|
||||
*/
|
||||
highlight: function (box_id) {
|
||||
// remove previous highlight.
|
||||
var highlight = $('#openid_highlight');
|
||||
if (highlight) {
|
||||
highlight.replaceWith($('#openid_highlight a')[0]);
|
||||
}
|
||||
// add new highlight.
|
||||
$('.' + box_id).wrap('<div id="openid_highlight"></div>');
|
||||
},
|
||||
|
||||
setCookie: function (value) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (this.cookie_expires * 24 * 60 * 60 * 1000));
|
||||
var expires = "; expires=" + date.toGMTString();
|
||||
document.cookie = this.cookie_name + "=" + value + expires + "; path=" + this.cookie_path;
|
||||
},
|
||||
|
||||
readCookie: function () {
|
||||
var nameEQ = this.cookie_name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for (var i = 0; i < ca.length; i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0) == ' ')
|
||||
c = c.substring(1, c.length);
|
||||
if (c.indexOf(nameEQ) == 0)
|
||||
return c.substring(nameEQ.length, c.length);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {Void}
|
||||
*/
|
||||
useInputBox: function (provider) {
|
||||
var input_area = $('#openid_input_area');
|
||||
var html = '';
|
||||
var id = 'openid_username';
|
||||
var value = '';
|
||||
var label = provider.label;
|
||||
var style = '';
|
||||
if (label) {
|
||||
html = '<p>' + label + '</p>';
|
||||
}
|
||||
if (provider.name == 'OpenID') {
|
||||
id = this.input_id;
|
||||
value = 'http://';
|
||||
style = 'background: #FFF url(' + this.img_path + 'openid-inputicon.gif) no-repeat scroll 0 50%; padding-left:18px;';
|
||||
}
|
||||
html += '<input id="' + id + '" type="text" style="' + style + '" name="' + id + '" value="' + value + '" />'
|
||||
+ '<input id="openid_submit" type="submit" value="' + this.signin_text + '"/>';
|
||||
input_area.empty();
|
||||
input_area.append(html);
|
||||
$('#' + id).focus();
|
||||
},
|
||||
|
||||
setDemoMode: function (demoMode) {
|
||||
this.demo = demoMode;
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
@ -49,6 +49,7 @@
|
||||
<a href="<c:url value="/c/user/resetPassword"/>"><spring:message code="FORGOT_PASSWORD"/></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<c:if test="${not empty param.login_error}">
|
||||
<c:choose>
|
||||
|
41
wise-webapp/src/main/webapp/jsp/loginOpenId.jsp
Normal file
41
wise-webapp/src/main/webapp/jsp/loginOpenId.jsp
Normal file
@ -0,0 +1,41 @@
|
||||
<%@page pageEncoding="UTF-8" %>
|
||||
<%@ include file="/jsp/init.jsp" %>
|
||||
|
||||
<%--@elvariable id="isHsql" type="boolean"--%>
|
||||
|
||||
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
|
||||
<script type="text/javascript" language="javascript">
|
||||
$(function () {
|
||||
$('#loginForm').submit(function () {
|
||||
$('.btn-primary').button("loading");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="row-fluid">
|
||||
<h1><spring:message code="OPEN_ID_LOGIN"/></h1>
|
||||
<spring:message code="LOGING_OPENID_DETAILS"/>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div id="login" class="fform span8">
|
||||
<form action="/c/j_spring_openid_security_check" method="get" id="openid_form">
|
||||
<input type="hidden" name="action" value="verify"/>
|
||||
<fieldset>
|
||||
<div id="openid_choice">
|
||||
</br>
|
||||
<div id="openid_btns"></div>
|
||||
</div>
|
||||
<div id="openid_input_area">
|
||||
<input id="openid_identifier" name="openid_identifier" type="text" value="http://"/>
|
||||
<input id="openid_submit" type="submit" value="Sign-In"/>
|
||||
</div>
|
||||
<noscript>
|
||||
<p>OpenID is service that allows you to log-on to many different websites using a single indentity.
|
||||
Find out <a href="http://openid.net/what/">more about OpenID</a> and <a
|
||||
href="http://openid.net/get/">how
|
||||
to get an OpenID enabled account</a>.</p>
|
||||
</noscript>
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- /Simple OpenID Selector -->
|
||||
</div>
|
||||
</div>
|
@ -14,13 +14,15 @@
|
||||
|
||||
<meta name="author" content="WiseMapping">
|
||||
<meta name="publisher" content="WiseMapping Open Source">
|
||||
<meta name="keywords" content="mindmap,mind map,mind maps,mindmaps,ideas,brainstorming,organize,thoughts,structure,collaboration,free,fast,simple,online,tool,knowledge,share,sharing,publish">
|
||||
<meta name="description" content="WiseMapping is a free, fast and simple online mind mapping editor for individuals and business. Sign up to start organizing and sharing your ideas and thoughts.">
|
||||
<meta property="og:title" content="WiseMapping" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="http://www.wisemapping.com" />
|
||||
<meta property="og:image" content="http://www.wisemapping.com/images/logo.png" />
|
||||
<meta property="og:site_name" content="WiseMapping.com" />
|
||||
<meta name="keywords"
|
||||
content="mindmap,mind map,mind maps,mindmaps,ideas,brainstorming,organize,thoughts,structure,collaboration,free,fast,simple,online,tool,knowledge,share,sharing,publish">
|
||||
<meta name="description"
|
||||
content="WiseMapping is a free, fast and simple online mind mapping editor for individuals and business. Sign up to start organizing and sharing your ideas and thoughts.">
|
||||
<meta property="og:title" content="WiseMapping"/>
|
||||
<meta property="og:type" content="website"/>
|
||||
<meta property="og:url" content="http://www.wisemapping.com"/>
|
||||
<meta property="og:image" content="http://www.wisemapping.com/images/logo.png"/>
|
||||
<meta property="og:site_name" content="WiseMapping.com"/>
|
||||
|
||||
<title>
|
||||
<spring:message code="SITE.TITLE"/>-
|
||||
@ -38,9 +40,20 @@
|
||||
<link rel="icon" href="images/favicon.ico" type="image/x-icon"/>
|
||||
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon"/>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="js/jquery-1.7.2.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="bootstrap/js/bootstrap.js"></script>
|
||||
<script src="js/less.js" type="text/javascript"></script>
|
||||
|
||||
<!-- Simple OpenID Selector -->
|
||||
<link type="text/css" rel="stylesheet" href="css/openid.css"/>
|
||||
<script type="text/javascript" language="javascript" src="js/jquery-1.7.2.min.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="js/openid-jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="js/openid-en.js"></script>
|
||||
<!-- /Simple OpenID Selector -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
openid.init('openid_identifier');
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user