Merge commit '72efdbd742d4f3ac8a910bd5c817cf5c74570ba5' into ldap

This commit is contained in:
Matthew K. Fu JuYuan 2012-04-19 14:09:37 +08:00
commit ba0677a001
13 changed files with 473 additions and 251 deletions

View File

@ -97,6 +97,7 @@ GEM
railties (~> 3.0) railties (~> 3.0)
thor (~> 0.14) thor (~> 0.14)
json (1.6.5) json (1.6.5)
libv8 (3.3.10.4)
linecache19 (0.5.12) linecache19 (0.5.12)
ruby_core_source (>= 0.1.4) ruby_core_source (>= 0.1.4)
mail (2.3.3) mail (2.3.3)
@ -210,6 +211,8 @@ GEM
rack (~> 1.0) rack (~> 1.0)
tilt (~> 1.1, != 1.3.0) tilt (~> 1.1, != 1.3.0)
subexec (0.2.1) subexec (0.2.1)
therubyracer (0.9.10)
libv8 (~> 3.3.10)
thor (0.14.6) thor (0.14.6)
tilt (1.3.3) tilt (1.3.3)
tinymce-rails (3.4.8) tinymce-rails (3.4.8)
@ -272,6 +275,7 @@ DEPENDENCIES
sinatra sinatra
spork spork
sprockets sprockets
therubyracer
tinymce-rails tinymce-rails
uglifier uglifier
watchr watchr

View File

@ -7,4 +7,5 @@
//= require jquery //= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require page_edit //= require page_edit
//= require side_bar_history //= require side_bar_history
//= require new_admin

View File

@ -1,151 +1,151 @@
.list-remove { .list-remove {
position: relative; position: relative;
top: 2px; top: 2px;
left: 2px; left: 2px;
} }
.table th.select { .table th.select {
border-bottom:2px solid #0088CC; border-bottom:2px solid #0088CC;
} }
.main-list { .main-list {
margin-bottom: 0; margin-bottom: 0;
} }
.main-wrap>.main-list thead th { .main-wrap>.main-list thead th {
background-color: transparent; background-color: transparent;
border-right: medium none; border-right: medium none;
} }
.main-list thead th:last-child { .main-list thead th:last-child {
border-right: none; border-right: none;
} }
.main-list .span1 { .main-list .span1 {
min-width: 32px; min-width: 32px;
} }
.main-list .span7 { .main-list .span7 {
min-width: 300px; min-width: 300px;
} }
.main-list .nav-pills > li > a { .main-list .nav-pills > li > a {
border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px;
margin: 2px; margin: 2px;
padding:5px padding:5px
} }
.main-list tbody .quick-edit { .main-list tbody .quick-edit {
position:relative; position:relative;
height:20px; height:20px;
} }
.main-list tbody .quick-edit .nav { .main-list tbody .quick-edit .nav {
/*left: -55px;*/ /*left: -55px;*/
position: absolute; position: absolute;
/*top: -3px;*/ /*top: -3px;*/
width: 350px; width: 350px;
left: -8px; left: -8px;
} }
.main-list td { .main-list td {
background-color: #FFFFFF; background-color: #FFFFFF;
border-bottom: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD;
border-top: medium none; border-top: medium none;
} }
.main-list .nav { .main-list .nav {
margin-top: 0; margin-top: 0;
margin-bottom: 3px; margin-bottom: 3px;
} }
.main-list tr.with_action:hover .hide { .main-list tr.with_action:hover .hide {
display:block !important; display:block !important;
} }
.main-list .label-group { .main-list .label-group {
position: relative; position: relative;
height: 40px; height: 40px;
} }
.main-list .label-td { .main-list .label-td {
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
height: 40px; height: 40px;
overflow: hidden; overflow: hidden;
position: absolute; position: absolute;
width: 100%; width: 100%;
left: 0; left: 0;
z-index: 1; z-index: 1;
} }
.main-list .label-td:hover { .main-list .label-td:hover {
height: auto; height: auto;
text-align: center; text-align: center;
padding: 5px 5px 8px; padding: 5px 5px 8px;
left: -6px; left: -6px;
top: -6px; top: -6px;
border: 1px solid rgba(0, 0, 0, 0.2); border: 1px solid rgba(0, 0, 0, 0.2);
box-shadow: 0px 5px 10px rgba(0,0,0,0.2); box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 5px 10px rgba(0,0,0,0.2); -moz-box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 5px 10px rgba(0,0,0,0.2); -webkit-box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
border-radius: 3px; border-radius: 3px;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
z-index: 5; z-index: 5;
} }
.table-label { .table-label {
background-color: #F2F2F2; background-color: #F2F2F2;
position: relative; position: relative;
} }
.table-label .main-list thead th { .table-label .main-list thead th {
background-color: #F2F2F2; background-color: #F2F2F2;
border-right: 1px solid #DDDDDD; border-right: 1px solid #DDDDDD;
border-top: 1px solid #DDDDDD !important; border-top: 1px solid #DDDDDD !important;
} }
.route-group .route { .route-group .route {
padding: 0; padding: 0;
} }
.route-group .route .breadcrumb { .route-group .route .breadcrumb {
border-width: 0!important; border-width: 0!important;
} }
.qe-block td { .qe-block td {
height:auto; height:auto;
padding: 0; padding: 0;
} }
.qe-block .table td, .qe-block .table th { .qe-block .table td, .qe-block .table th {
padding: 8px; padding: 8px;
} }
.qe-block .form-horizontal { .qe-block .form-horizontal {
margin-bottom: 0; margin-bottom: 0;
} }
.qe-block .form-actions { .qe-block .form-actions {
margin-bottom: 0; margin-bottom: 0;
} }
legend { legend {
font-size: 15px; font-size: 15px;
line-height: 30px; line-height: 30px;
margin-bottom: 15px; margin-bottom: 15px;
padding-bottom: 5px; padding-bottom: 5px;
} }
.upload-picture { .upload-picture {
margin-left: 20px; margin-left: 20px;
} }
.subnav { .subnav {
-moz-border-radius: 0; -moz-border-radius: 0;
-webkit-border-radius: 0; -webkit-border-radius: 0;
border-radius: 0; border-radius: 0;
border-left: none; border-left: none;
border-right: none; border-right: none;
position: fixed; position: fixed;
top: 30px; top: 30px;
z-index: 50; z-index: 50;
} }
.subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover { .subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover {
-moz-border-radius: 0; -moz-border-radius: 0;
-webkit-border-radius: 0; -webkit-border-radius: 0;
border-radius: 0; border-radius: 0;
} }
.dropdown-menu.tags { .dropdown-menu.tags {
max-width: none; max-width: none;
} }
.dropdown-menu.tags .tags-cloud { .dropdown-menu.tags .tags-cloud {
width: 300px; width: 300px;
padding:10px; padding:10px;
} }
.dropdown-menu.tags .tags-cloud .active { .dropdown-menu.tags .tags-cloud .active {
background-color: #0088CC; background-color: #0088CC;
color: #FFFFFF; color: #FFFFFF;
} }
.dropdown-menu.tags .tags-cloud a { .dropdown-menu.tags .tags-cloud a {
display: inline-block; display: inline-block;
margin-bottom: 3px; margin-bottom: 3px;
} }
.dropdown-menu.tags li:last-child a { .dropdown-menu.tags li:last-child a {
display: block; display: block;
text-align:center; text-align:center;
} }

View File

@ -8,7 +8,7 @@
*= require bootstrap *= require bootstrap
*= require bootstrap-orbit *= require bootstrap-orbit
*= require list *= require list
*= require widget *= require widgets
*= require style *= require style
*= require scroll_style *= require scroll_style
*= require isotope *= require isotope

View File

@ -1,13 +1,9 @@
#back_sidebar { #back_sidebar {
background: url(<%= asset_path "75.png" %>) repeat scroll left top transparent;
box-shadow: 3px 0 4px #472A12;
border-right: 1px solid #121212;
height: 100%;
left: 0; left: 0;
position: fixed; position: fixed;
top: 0; top: 0;
width: 220px; width: 160px;
} }
#back_sidebar h1 { #back_sidebar h1 {
@ -91,4 +87,54 @@
} }
#sidebar .translations_setup { #sidebar .translations_setup {
margin-top: 42px; margin-top: 42px;
}
#main-sidebar{
left:0;
}
#main-sidebar .list{
}
#main-sidebar li{
position:relative;
}
#main-sidebar li a{
border-bottom: 1px solid #CCCCCC;
display: block;
padding: 10px 0 10px 10px;
}
#main-sidebar ul ul li a{
padding: 10px 0 10px 20px;
}
#main-sidebar li:hover .quick-edit{
display:block;
}
#main-sidebar .quick-edit{
background: none repeat scroll 0 0 #FFFFFF;
border: 1px solid #DDDDDD;
border-radius: 5px 5px 5px 5px;
display: none;
margin:-3px 0 0 3px;
padding: 3px;
z-index:1;
}
#main-sidebar .quick-edit:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#main-sidebar .quick-edit a{
border-bottom: medium none;
border-radius: 5px 5px 5px 5px;
font-size:12px;
float: left;
margin: 0 3px 0 0;
padding: 3px;
}
#main-sidebar .quick-edit a:hover{
background: none repeat scroll 0 0 #EEEEEE;
border-bottom:none;
} }

View File

@ -4,7 +4,7 @@ html, body{
padding: 0; padding: 0;
} }
html{ html{
background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent;
background-size: cover; background-size: cover;
} }
@ -172,8 +172,6 @@ body{
.main { .main {
background: none repeat scroll 0 0 #FFFFFF; background: none repeat scroll 0 0 #FFFFFF;
height: 100%; height: 100%;
margin-left: 220px;
padding: 0 40px;
position: relative; position: relative;
} }
.main_list { .main_list {

View File

@ -261,6 +261,10 @@
box-shadow: 0px 2px 1px rgba(0,0,0,0.1); box-shadow: 0px 2px 1px rgba(0,0,0,0.1);
-moz-box-shadow: 0px 2px 1px rgba(0,0,0,0.1); -moz-box-shadow: 0px 2px 1px rgba(0,0,0,0.1);
-webkit-box-shadow: 0px 2px 1px rgba(0,0,0,0.1); -webkit-box-shadow: 0px 2px 1px rgba(0,0,0,0.1);
display: none;
}
#main-sidebar .nav > li.active > .nav {
display: block;
} }
#main-sidebar .nav > li > .nav > li > a { #main-sidebar .nav > li > .nav > li > a {
margin-left: 0; margin-left: 0;
@ -433,6 +437,26 @@
.filters .in { .filters .in {
/*border-bottom: 1px solid rgba(0,0,0,0.07)*/ /*border-bottom: 1px solid rgba(0,0,0,0.07)*/
} }
#tags {
}
#tags .tag {
line-height: 32px;
padding: 0 10px;
background-color: #FFFFFF;
border-bottom: 1px solid #DDDDDD;
border-top: medium none;
}
#tags .tag form, #tags .tag form input {
margin:0;
}
#tags .tagitem {
display: inline-block;
float: left;
}
#tags .action {
display: inline-block;
float: right;
}
.sign-in { .sign-in {
width: 360px; width: 360px;
margin: 0 auto 70px; margin: 0 auto 70px;

View File

@ -0,0 +1,148 @@
.widget-size-300 {
width:298px;
}
.widget-box {
background-color: #FFF;
overflow: hidden;
min-width: 300px;
margin: 0 0 5px 5px;
position:relative;
}
.widget-box .widget-title {
color: #FFF;
padding-left: 5px;
border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
background-image: -moz-linear-gradient(top, #B7B7B7, #9d9d9d);
background-image: -ms-linear-gradient(top, #B7B7B7, #9d9d9d);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B7B7B7), to(#9d9d9d));
background-image: -webkit-linear-gradient(top, #B7B7B7, #9d9d9d);
background-image: -o-linear-gradient(top, #B7B7B7, #9d9d9d);
background-image: linear-gradient(top, #B7B7B7, #9d9d9d);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#B7B7B7', endColorstr='#9d9d9d', GradientType=0);
}
.widget-box .widget-title [class^="icons-"] {
margin: 3px 5px 0 2px;
}
.widget-box .widget-content {
padding: 10px;
border-width: 0 1px 1px;
border-style: solid;
border-color: #CCCCCC;
border-radius: 0 0 5px 5px;
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
}
.widget-box .form-horizontal .control-group > label {
width: 50px;
}
.widget-box .form-horizontal .controls {
margin-left: 60px;
}
.widget-action {
position:absolute;
right:1px;
top:6px;
}
.action {
float: left;
display:inline-block;
margin-right: 5px;
opacity: 0.8;
filter: alpha(opacity=80);
}
.action:hover {
opacity: 1;
filter: alpha(opacity=100);
cursor: pointer;
}
.select-role {
display:none;
padding: 10px 0;
}
.file-upload {
position:relative;
overflow: hidden;
}
.file-upload .file-name {
white-space: nowrap;
overflow: hidden;
border-style: solid;
border-width: 1px 1px 1px 0;
border-color: #CCC;
display: inline-block;
float: left;
padding: 4px 10px;
height: 18px;
line-height: 18px;
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
text-align: left;
margin: 0;
width: 182px;
}
.file-upload .upload {
margin:0;
padding:0;
position:absolute;
top: 0;
left:0;
opacity:.0;
font-size: 60px;
left: -595px/9;
filter: alpha(opacity: 0);
outline: none;
}
.file-upload .upload:focus {
position:absolute;
}
.upload-picture {
margin-bottom: 5px;
text-align: center;
width: 276px;
overflow: hidden;
height: 90px;
}
.upload-picture img {
left: 0;
margin-top: -15%;
width: 100%;
}
.widget-box .widgetInfo {
display: inline-block;
text-align: center;
width: 255px;
margin : 0px 0 5px;
padding: 5px 10px;
}
.file-upload .input-medium {
border-radius: 3px 3px 3px 3px !important;
width: 267px;
position: relative;
z-index: 5;
}
#widget-link table {
margin-bottom:0
}
/*Date*/
.showDate {
border-style: solid;
border-width: 1px 0 1px 1px;
border-color: #CCC;
display: inline-block;
float: left;
padding: 4px 10px;
height: 18px;
line-height: 18px;
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
text-align: center;
}
.calendarInput {
position: absolute;
visibility: hidden;
left: 11px;
}

View File

@ -12,12 +12,14 @@ module Admin::ItemHelper
ret << "<ul class='list'>" ret << "<ul class='list'>"
ret << "<li>" ret << "<li>"
ret << (link_to node.i18n_variable[I18n.locale], dest) ret << (link_to node.i18n_variable[I18n.locale], dest)
ret << ' | ' << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page') ret << "<div class='quick-edit'>"
ret << ' | ' << (link_to t('admin.new_page'), new_admin_page_path(:parent_id => node.id), :class => 'new_page') if node._type.eql?('Page') ret << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page')
ret << ' | ' << (link_to t('admin.new_link'), new_admin_link_path(:parent_id => node.id), :class => 'new_link') if node._type.eql?('Page') ret << (link_to t('admin.new_page'), new_admin_page_path(:parent_id => node.id), :class => 'new_page') if node._type.eql?('Page')
ret << ' | ' << (link_to t(:delete), eval("delete_admin_#{node._type.downcase}_path(node, :authenticity_token => form_authenticity_token)"), :confirm => t('sure?'), :class => 'delete') ret << (link_to t('admin.new_link'), new_admin_link_path(:parent_id => node.id), :class => 'new_link') if node._type.eql?('Page')
ret << render_children(node) ret << (link_to t(:delete), eval("delete_admin_#{node._type.downcase}_path(node, :authenticity_token => form_authenticity_token)"), :confirm => t('sure?'), :class => 'delete')
ret << "</div>"
ret << "</li>" ret << "</li>"
ret << render_children(node)
ret << "</ul>" ret << "</ul>"
end end
ret.html_safe ret.html_safe
@ -26,11 +28,9 @@ module Admin::ItemHelper
def render_children(parent) def render_children(parent)
if children = parent.children if children = parent.children
ret = '' ret = ''
ret << "<ul>"
children.each do |child| children.each do |child|
ret << render_node_and_children(child) ret << render_node_and_children(child)
end end
ret << "</ul>"
ret ret
end end
end end

View File

@ -161,13 +161,13 @@
<%= content_tag :div,:class => "tab-pane #{active_when_default_locale_eq locale}",:id=>"#{locale}" do%> <%= content_tag :div,:class => "tab-pane #{active_when_default_locale_eq locale}",:id=>"#{locale}" do%>
<div class="title"> <div class="title">
<%= f.fields_for :title,@ad_image.title do |f| %> <%= f.fields_for :title,@ad_image.title do |f| %>
<%= f.text_field locale,:class=>"ad_image-title",:placeholder => "輸入標題"%> <%= f.text_field locale,:class=>"ad_image-title post-title",:placeholder => "輸入標題"%>
<% end %> <% end %>
</div> </div>
<br/>
<div class="context editor"> <div class="context editor">
<%= f.fields_for :context, @ad_image.context do |f| %> <%= f.fields_for :context, @ad_image.context do |f| %>
<%= f.text_area locale,:style => "width:100%", :class => "asd_tinymce_textarea" %> <%= f.text_area locale,:style => "width:100%", :class => "asd_tinymce_textarea post-title" %>
<% end %> <% end %>
</div> </div>
@ -177,12 +177,12 @@
</div> </div>
</div> </div>
<div class="form-actions">
<button class="btn btn-success" type="submit">Preview/預覽</button>
<button class="btn btn-primary" type="submit">Submit/送出</button>
<button class="btn" type="reset">Cancel/取消</button>
</div>
</div> </div>
<!--Post End--> <!--Post End-->
<div class="form-actions">
<button class="btn btn-success" type="submit">Preview/預覽</button>
<button class="btn btn-primary" type="submit">Submit/送出</button>
<button class="btn" type="reset">Cancel/取消</button>
</div>
</form> </form>
</div> </div>

View File

@ -1,3 +1,3 @@
<div class="items_setup"> <div id="viewport">
<%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %> <%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %>
</div> </div>

View File

@ -1,37 +1,37 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%= @title || APP_CONFIG['orbit'] %></title> <title><%= @title || APP_CONFIG['orbit'] %></title>
<link rel="shortcut icon" href="/favicon.ico"> <link rel="shortcut icon" href="/favicon.ico">
<!--[if lt IE 9]> <!--[if lt IE 9]>
<%= javascript_include_tag "html5" %> <%= javascript_include_tag "html5" %>
<![endif]--> <![endif]-->
<%= stylesheet_link_tag "admin" %> <%= stylesheet_link_tag "admin" %>
<%= javascript_include_tag "admin" %> <%= javascript_include_tag "admin" %>
<%= yield :page_specific_css %> <%= yield :page_specific_css %>
<%= yield :page_specific_javascript %> <%= yield :page_specific_javascript %>
<%= csrf_meta_tag %> <%= csrf_meta_tag %>
</head> </head>
<body> <body>
<header id="back_banner_link" class="fixed clear" > <header id="back_banner_link" class="fixed clear" >
<nav id="back_orbit"> <nav id="back_orbit">
<span>Orbit Icon</span> <span>Orbit Icon</span>
<%= render 'layouts/drop_down_menu' %> <%= render 'layouts/drop_down_menu' %>
</nav> </nav>
<div class="hmenu"> <div class="hmenu">
<%= render 'devise/menu/login_items' %> <%= render 'devise/menu/login_items' %>
<div class="lang"><%= render 'layouts/lang_menu' %></div> <div class="lang"><%= render 'layouts/lang_menu' %></div>
</div> </div>
</header> </header>
<div id="back_content"> <div id="back_content">
<div id="back_sidebar"><%= yield :secondary %></div> <div id="back_sidebar"><%= yield :secondary %></div>
<div class="main"> <div class="main">
<%= yield %> <%= yield %>
</div> </div>
<div class="tertiary"><%= yield :tertiary %></div> <div class="tertiary"><%= yield :tertiary %></div>
<div id="back_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div> <div id="back_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,38 +1,39 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%= @title || APP_CONFIG['orbit'] %></title> <title><%= @title || APP_CONFIG['orbit'] %></title>
<link rel="shortcut icon" href="/favicon.ico"> <link rel="shortcut icon" href="/favicon.ico">
<!--[if lt IE 9]> <!--[if lt IE 9]>
<%= javascript_include_tag "html5" %> <%= javascript_include_tag "html5" %>
<![endif]--> <![endif]-->
<%= stylesheet_link_tag "site_editor" %> <%= stylesheet_link_tag "site_editor" %>
<%= javascript_include_tag "site_editor" %> <%= javascript_include_tag "site_editor" %>
<%= yield :page_specific_css %> <%= yield :page_specific_css %>
<%= yield :page_specific_javascript %> <%= yield :page_specific_javascript %>
<%= csrf_meta_tag %> <%= csrf_meta_tag %>
</head> </head>
<body> <body>
<!--
<header id="back_banner_link" class="fixed clear" > <header id="back_banner_link" class="fixed clear" >
<nav id="back_orbit"> <nav id="back_orbit">
<span>Orbit Icon</span> <span>Orbit Icon</span>
<%= render 'layouts/drop_down_menu' %> <%= render 'layouts/drop_down_menu' %>
</nav> </nav>
<div class="hmenu"> <div class="hmenu">
<%= render 'devise/menu/login_items' %> <%= render 'devise/menu/login_items' %>
<div class="lang"><%= render 'layouts/lang_menu' %></div> <div class="lang"><%= render 'layouts/lang_menu' %></div>
</div> </div>
</header> </header>
<div id="back_content"> -->
<div id="back_sidebar"><%= yield :sidebar %></div> <div id="main-wrap">
<div class="main"><div id='back_main' class="main2"> <div id="main-sidebar"><%= yield :sidebar %></div>
<%= yield %> <div class="main"><div id='back_main' class="main2">
</div></div> <%= yield %>
<div class="tertiary"><%= yield :tertiary %></div> </div></div>
<div id="back_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div> <div class="tertiary"><%= yield :tertiary %></div>
</div> <div id="back_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div>
</div>
</body>
</html> </body>
</html>