Big templates cleanup

master
Daniel Berteaud 9 years ago
parent 426fa04522
commit 6c2cf3e60a
  1. 43
      templates/default/about.html.ep
  2. 10
      templates/default/admin.html.ep
  3. 53
      templates/default/admin_audit.html.ep
  4. 26
      templates/default/admin_manage_rooms.html.ep
  5. 33
      templates/default/auth_modal.html.ep
  6. 182
      templates/default/configure_modal.html.ep
  7. 25
      templates/default/delete_room_modal.html.ep
  8. 865
      templates/default/documentation.html.ep
  9. 55
      templates/default/error.html.ep
  10. 6
      templates/default/exception.html.ep
  11. 38
      templates/default/feedback.html.ep
  12. 3
      templates/default/feedback.mail.ep
  13. 16
      templates/default/feedback_thanks.html.ep
  14. 9
      templates/default/footer.html.ep
  15. 16
      templates/default/goodbye.html.ep
  16. 28
      templates/default/header.html.ep
  17. 182
      templates/default/index.html.ep
  18. 44
      templates/default/invitation.html.ep
  19. 15
      templates/default/invitation_thanks.html.ep
  20. 31
      templates/default/invite.mail.ep
  21. 51
      templates/default/invite_modal.html.ep
  22. 378
      templates/default/join.html.ep
  23. 44
      templates/default/js_common.html.ep
  24. 15
      templates/default/kicked.html.ep
  25. 2
      templates/default/noscript.html.ep
  26. 6
      templates/default/not_found.html.ep
  27. 21
      templates/default/notification.mail.ep
  28. 59
      templates/default/public_toolbar.html.ep

@ -1,58 +1,69 @@
% title $self->l('ABOUT'); % title l('ABOUT');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
<%= l('ABOUT') %> %= l('ABOUT')
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<p> <p>
<%== l('ABOUT_VROOM') %> %== l('ABOUT_VROOM')
</p> </p>
</div> </div>
</div> </div>
<% if ($config->{'interface.demo'}){ %> % if ($config->{'interface.demo'}){
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
<%= l('WHO_IS_BEHIND_VROOM') %> %= l('WHO_IS_BEHIND_VROOM')
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<p> <p>
<%== l('ABOUT_WHO_IS_BEHIND_VROOM') %> %== l('ABOUT_WHO_IS_BEHIND_VROOM')
</p> </p>
</div> </div>
</div> </div>
<% } %> % }
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"> <h3 class="panel-title">
<%= l('THANKS') %> %= l('THANKS')
</h3> </h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<p> <p>
<%== l('ABOUT_THANKS') %> %== l('ABOUT_THANKS')
<ul> <ul>
<% foreach my $component (sort keys %{$components}) { %> % foreach my $component (sort keys %{$components}) {
<li> <li>
<a href="<%= $components->{$component}->{url} %>"><%= $component %></a> <a href="<%= $components->{$component}->{url} %>">
%= $component
</a>
</li> </li>
<% } %> % }
</ul> </ul>
</p> </p>
<p> <p>
<%= l('ABOUT_MUSICS') %> %= l('ABOUT_MUSICS')
<ul> <ul>
<% foreach my $music (sort keys %{$musics}) { %> % foreach my $music (sort keys %{$musics}) {
<li> <li>
<%= $music %> <%= l('FROM_AUTHOR') %> <a href="<%= $musics->{$music}->{author_url} %>"><%= $musics->{$music}->{author} %></a> (<a href="<%= $musics->{$music}->{licence_url} %>"><%= $musics->{$music}->{licence} %></a>) %= $music
%= l('FROM_AUTHOR')
<a href="<%= $musics->{$music}->{author_url} %>">
%= $musics->{$music}->{author}
</a>
(
<a href="<%= $musics->{$music}->{licence_url} %>">
%= $musics->{$music}->{licence}
</a>
)
</li> </li>
<% } %> % }
</p> </p>
</div> </div>
</div> </div>

@ -3,11 +3,13 @@
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="col-sm-offset-3 col-md-offset-4 col-sm-6 col-md-4"> <div class="col-sm-offset-3 col-md-offset-4 col-sm-6 col-md-4">
<a class="btn btn-lg btn-primary btn-block" href="<%= $self->url_for('/admin/rooms') %>"> <a class="btn btn-lg btn-primary btn-block"
<%= l('ROOM_MANAGEMENT') %> href="<%= url_for('/admin/rooms') %>">
%= l('ROOM_MANAGEMENT')
</a> </a>
<a class="btn btn-lg btn-primary btn-block" href="<%= $self->url_for('/admin/audit') %>"> <a class="btn btn-lg btn-primary btn-block"
<%= l('AUDIT') %> href="<%= url_for('/admin/audit') %>">
%= l('AUDIT')
</a> </a>
</div> </div>

@ -5,10 +5,14 @@
%= include 'noscript' %= include 'noscript'
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<form class="form-inline" id="eventSearch" role="form"> <form class="form-inline"
id="eventSearch">
<div class="form-group"> <div class="form-group">
<div class="input-group"> <div class="input-group">
<input type="text" id="searchEvent" class="form-control" value=""/> <input type="text"
id="searchEvent"
class="form-control"
value="">
<div class="input-group-addon"> <div class="input-group-addon">
<span class="glyphicon glyphicon-search"> <span class="glyphicon glyphicon-search">
</span> </span>
@ -16,53 +20,70 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<input type="text" id="dateStart" name="dateStart" class="form-control date-picker" value="<%= DateTime->now->ymd %>"/> <input type="text"
id="dateStart"
name="dateStart"
class="form-control date-picker"
value="<%= DateTime->now->ymd %>">
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="input-group"> <div class="input-group">
<input type="text" id="dateEnd" name="dateEnd" class="form-control date-picker" value="<%= DateTime->now->ymd %>"/> <input type="text"
id="dateEnd"
name="dateEnd"
class="form-control date-picker"
value="<%= DateTime->now->ymd %>">
<span class="input-group-btn"> <span class="input-group-btn">
<button id="events_refresh" class="btn btn-primary help" data-toggle="tooltip" data-placement="bottom" title="<%= l('REFRESH_EVENTS') %>"> <button id="events_refresh"
class="btn btn-primary help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('REFRESH_EVENTS') %>">
<span class="glyphicon glyphicon-play"> <span class="glyphicon glyphicon-play">
</span> </span>
</button> </button>
<% if ($self->get_opt_features->{excel}){ %> % if ($self->get_opt_features->{excel}){
<button id="events_export" class="btn btn-default help" data-toggle="tooltip" data-placement="bottom" title="<%= l('EXPORT_EVENTS') %>"> <button id="events_export"
class="btn btn-default help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('EXPORT_EVENTS') %>">
<span class="glyphicon glyphicon-save"> <span class="glyphicon glyphicon-save">
</span> </span>
</button> </button>
<% } %> % }
</span> </span>
</div> </div>
</div> </div>
<div class="form-group pull-right hidden-xs"> <div class="form-group pull-right hidden-xs">
%= image '/img/loading.gif', alt => $self->l('LOADING'), id => 'loadingIcon' %= image url_for('/img/loading.gif'), alt => $self->l('LOADING'), id => 'loadingIcon'
</div> </div>
</div> </div>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div class="text-center" id="pagination"> <div class="text-center"
id="pagination">
</div> </div>
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
<th class="hidden-xs"> <th class="hidden-xs">
<%= l('EVENT_ID') %> %= l('EVENT_ID')
</th> </th>
<th> <th>
<%= l('EVENT_DATE') %> %= l('EVENT_DATE')
</th> </th>
<th> <th>
<%= l('EVENT_FROM_IP') %> %= l('EVENT_FROM_IP')
</th> </th>
<th class="hidden-xs"> <th class="hidden-xs">
<%= l('EVENT') %> %= l('EVENT')
</th> </th>
<th class="hidden-xs"> <th class="hidden-xs">
<%= l('EVENT_USER') %> %= l('EVENT_USER')
</th> </th>
<th> <th>
<%= l('EVENT_MESSAGE') %> %= l('EVENT_MESSAGE')
</th> </th>
</tr> </tr>
</thead> </thead>

@ -1,6 +1,6 @@
% title $self->l('ROOM_MANAGEMENT'); % title $self->l('ROOM_MANAGEMENT');
%=include 'header' %= include 'header'
%=include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
%= include 'noscript' %= include 'noscript'
%= include 'configure_modal' %= include 'configure_modal'
@ -10,7 +10,10 @@
<div class="form-inline"> <div class="form-inline">
<div class="form-group"> <div class="form-group">
<div class="input-group input-group-lg"> <div class="input-group input-group-lg">
<input type="text" id="searchRoom" class="form-control" value=""/> <input type="text"
id="searchRoom"
class="form-control"
value="">
<div class="input-group-addon"> <div class="input-group-addon">
<span class="glyphicon glyphicon-search"> <span class="glyphicon glyphicon-search">
</span> </span>
@ -20,25 +23,26 @@
</div> </div>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div class="text-center" id="pagination"> <div class="text-center"
id="pagination">
</div> </div>
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
<th> <th>
<%= l('ROOM_NAME') %> %= l('ROOM_NAME')
</th> </th>
<th class="hidden-xs"> <th class="hidden-xs">
<%= l('CREATION_DATE') %> %= l('CREATION_DATE')
</th> </th>
<th class="hidden-xs"> <th class="hidden-xs">
<%= l('LAST_ACTIVITY') %> %= l('LAST_ACTIVITY')
</th> </th>
<th class="hidden-xs hidden-sm"> <th class="hidden-xs hidden-sm">
<%= l('NUMBER_OF_PARTICIPANTS') %> %= l('NUMBER_OF_PARTICIPANTS')
</th> </th>
<th> <th>
<%= l('MANAGE') %> %= l('MANAGE')
</th> </th>
</tr> </tr>
</thead> </thead>
@ -49,10 +53,10 @@
</div> </div>
</div> </div>
%=include 'js_common' %= include 'js_common'
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
initAdminRooms(); initAdminRooms();
}); });
</script> </script>
%=include 'footer' %= include 'footer'

@ -1,31 +1,41 @@
<div class="modal fade" role="dialog" id="ownerAuthModal" aria-labelledby="ownerAuthModal" aria-hidden="true"> <div class="modal fade"
id="ownerAuthModal"
aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('AUTHENTICATE') %> %= l('AUTHENTICATE')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form class="form-horizontal" role="form" id="ownerAuthForm"> <form class="form-horizontal"
id="ownerAuthForm">
<div class="form-group"> <div class="form-group">
<label for="ownerAuthPass" class="col-sm-4 control-label"> <label for="ownerAuthPass"
<%= l('PASSWORD') %> class="col-sm-4 control-label">
%= l('PASSWORD')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="password" id="ownerAuthPass" class="form-control" placeholder="<%= l('PASSWORD') %>"/> <input type="password"
id="ownerAuthPass"
class="form-control"
placeholder="<%= l('PASSWORD') %>">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button type="submit" class="btn btn-default btn-primary"> <button type="submit"
<%= l('SUBMIT') %> class="btn btn-default btn-primary">
%= l('SUBMIT')
</button> </button>
<button class="btn btn-default" data-dismiss="modal"> <button class="btn btn-default"
<%= l('CANCEL') %> data-dismiss="modal">
%= l('CANCEL')
</button> </button>
</div> </div>
</div> </div>
@ -34,4 +44,3 @@
</div> </div>
</div> </div>
</div> </div>

@ -1,114 +1,175 @@
<div class="modal fade" role="dialog" id="configureModal" aria-labelledby="configureModal" aria-hidden="true"> <div class="modal fade"
id="configureModal"
aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('CONFIGURE') %> %= l('CONFIGURE')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="configureRoomForm" class="form-horizontal" role="form"> <form id="configureRoomForm" class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="lockedSet"> <label class="col-sm-4 control-label"
<%= l('LOCK_ROOM') %> for="lockedSet">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_LOCK_ROOM') %>"> %= l('LOCK_ROOM')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_LOCK_ROOM') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="checkbox" class="bs-switch" id="lockedSet"> <input type="checkbox"
class="bs-switch"
id="lockedSet">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="askForNameSet"> <label class="col-sm-4 control-label"
<%= l('ASK_FOR_NAME') %> for="askForNameSet">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_ASK_FOR_NAME') %>"> %= l('ASK_FOR_NAME')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_ASK_FOR_NAME') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="checkbox" class="bs-switch" id="askForNameSet"> <input type="checkbox"
class="bs-switch"
id="askForNameSet">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="joinPassSet"> <label class="col-sm-4 control-label"
<%= l('PASSWORD_PROTECT') %> for="joinPassSet">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_PASSWORD_PROTECT') %>"> %= l('PASSWORD_PROTECT')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_PASSWORD_PROTECT') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="checkbox" class="bs-switch" id="joinPassSet"> <input type="checkbox"
class="bs-switch"
id="joinPassSet">
</div> </div>
</div> </div>
<div class="form-group hidden-form" id="joinPassFields"> <div class="form-group hidden-form"
<label class="col-sm-4 control-label" for="joinPass"> id="joinPassFields">
<%= l('PASSWORD') %> <label class="col-sm-4 control-label"
for="joinPass">
%= l('PASSWORD')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input id="joinPass" type="password" class="form-control" placeholder="<%= l('PASSWORD') %>"/> <input id="joinPass"
type="password"
class="form-control"
placeholder="<%= l('PASSWORD') %>">
</div> </div>
<label class="col-sm-4 control-label" for="joinPassConfirm"> <label class="col-sm-4 control-label"
<%= l('CONFIRM_PASSWORD') %> for="joinPassConfirm">
%= l('CONFIRM_PASSWORD')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input id="joinPassConfirm" type="password" class="form-control" placeholder="<%= l('CONFIRM_PASSWORD') %>"/> <input id="joinPassConfirm"
type="password"
class="form-control"
placeholder="<%= l('CONFIRM_PASSWORD') %>">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="ownerPassSet"> <label class="col-sm-4 control-label"
<%= l('RESERVE_THIS_ROOM') %> for="ownerPassSet">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_RESERVE_THIS_ROOM') %>"> %= l('RESERVE_THIS_ROOM')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_RESERVE_THIS_ROOM') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="checkbox" class="bs-switch" id="ownerPassSet"> <input type="checkbox"
class="bs-switch"
id="ownerPassSet">
</div> </div>
</div> </div>
<div class="form-group hidden-form" id="ownerPassFields"> <div class="form-group hidden-form"
<label class="col-sm-4 control-label" for="ownerPass"> id="ownerPassFields">
<%= l('PASSWORD') %> <label class="col-sm-4 control-label"
for="ownerPass">
%= l('PASSWORD')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input id="ownerPass" type="password" class="form-control" placeholder="<%= l('PASSWORD') %>"/> <input id="ownerPass"
type="password"
class="form-control"
placeholder="<%= l('PASSWORD') %>">
</div> </div>
<label class="col-sm-4 control-label" for="ownerPassConfirm"> <label class="col-sm-4 control-label"
<%= l('CONFIRM_PASSWORD') %> for="ownerPassConfirm">
%= l('CONFIRM_PASSWORD')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input id="ownerPassConfirm" type="password" class="form-control" placeholder="<%= l('CONFIRM_PASSWORD') %>"/> <input id="ownerPassConfirm"
type="password"
class="form-control"
placeholder="<%= l('CONFIRM_PASSWORD') %>">
</div> </div>
</div> </div>
<% if (defined(stash("page")) && stash("page") eq 'admin'){ %> % if (defined(stash("page")) && stash("page") eq 'admin'){
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="persistentSet"> <label class="col-sm-4 control-label"
<%= l('PERSISTENT') %> for="persistentSet">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_PERSISTENT') %>"> %= l('PERSISTENT')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_PERSISTENT') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<input type="checkbox" class="bs-switch" id="persistentSet"> <input type="checkbox"
class="bs-switch"
id="persistentSet">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="maxMembers"> <label class="col-sm-4 control-label"
<%= l('MAX_MEMBERS') %> for="maxMembers">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-content="<%= l('TOOLTIP_MAX_MEMBERS') %>"> %= l('MAX_MEMBERS')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-content="<%= l('TOOLTIP_MAX_MEMBERS') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
@ -122,21 +183,32 @@
max="<%= $config->{'rooms.max_members'} > 0 ? $config->{'rooms.max_members'} : 255 %>"> max="<%= $config->{'rooms.max_members'} > 0 ? $config->{'rooms.max_members'} : 255 %>">
</div> </div>
</div> </div>
<% } %> % }
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label" for="emailNotifications"> <label class="col-sm-4 control-label"
<%= l('NOTIFICATION_ON_JOIN') %> for="emailNotifications">
<a href="#" class="popup" data-container="body" data-toggle="popover" data-placement="left" data-content="<%= l('TOOLTIP_NOTIFICATION_ON_JOIN') %>"> %= l('NOTIFICATION_ON_JOIN')
<a href="#"
class="popup"
data-container="body"
data-toggle="popover"
data-placement="left"
data-content="<%= l('TOOLTIP_NOTIFICATION_ON_JOIN') %>">
&nbsp;&nbsp &nbsp;&nbsp
<span class="glyphicon glyphicon-question-sign"> <span class="glyphicon glyphicon-question-sign">
</span> </span>
</a> </a>
</label> </label>
<div class="col-sm-8 email-list" id="email-list-notification"> <div class="col-sm-8 email-list"
id="email-list-notification">
<div class="email-entry input-group"> <div class="email-entry input-group">
<input class="form-control" autocomplete="off" name="emails[]" type="text" placeholder="<%= l('EMAIL_PLACEHOLDER') %>" /> <input class="form-control"
autocomplete="off"
name="emails[]"
type="text"
placeholder="<%= l('EMAIL_PLACEHOLDER') %>">
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-primary btn-add-email" type="button"> <button class="btn btn-primary btn-add-email">
<span class="glyphicon glyphicon-plus"> <span class="glyphicon glyphicon-plus">
</span> </span>
</button> </button>
@ -146,11 +218,14 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button type="submit" id="configureButton" class="btn btn-primary"> <button type="submit"
<%= l('SUBMIT') %> id="configureButton"
class="btn btn-primary">
%= l('SUBMIT')
</button> </button>
<button class="btn btn-default" data-dismiss="modal"> <button class="btn btn-default"
<%= l('CANCEL') %> data-dismiss="modal">
%= l('CANCEL')
</button> </button>
</div> </div>
</div> </div>
@ -159,4 +234,3 @@
</div> </div>
</div> </div>
</div> </div>

@ -1,28 +1,34 @@
<div class="modal fade" role="dialog" id="deleteRoomModal" aria-labelledby="deleteRoomModal" aria-hidden="true"> <div class="modal fade"
id="deleteRoomModal"
aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"*
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('CONFIRM_DELETE') %> %= l('CONFIRM_DELETE')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p> <p>
<%= l('ROOM_WILL_BE_DELETED') %> %= l('ROOM_WILL_BE_DELETED')
</p> </p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<form id="deleteRoomForm" class="form-horizontal" role="form"> <form id="deleteRoomForm"
class="form-horizontal">
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button type="submit" class="btn btn-danger"> <button type="submit"
<%= l('DELETE') %> class="btn btn-danger">
%= l('DELETE')
</button> </button>
<button class="btn btn-default" data-dismiss="modal"> <button class="btn btn-default"
<%= l('CANCEL') %> data-dismiss="modal">
%= l('CANCEL')
</button> </button>
</div> </div>
</div> </div>
@ -31,4 +37,3 @@
</div> </div>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

@ -1,51 +1,50 @@
% title $self->l('OOOPS'); % title l('OOOPS');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<div class="jumbotron alert-danger"> <div class="jumbotron alert-danger">
<h2> <h2>
<%= l('ERROR_OCCURRED') %> %= l('ERROR_OCCURRED')
</h2> </h2>
<p> <p>
<%= $msg %> %= $msg
</p> </p>
<div class="row"> <div class="row">
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="col-sm-6 col-lg-4 col-xl-3">
<a class="btn btn-primary btn-lg btn-full" role="button" href="<%= $self->url_for('/') %>"> <a class="btn btn-primary btn-lg btn-full"
<%= l('BACK_TO_MAIN_MENU') %> href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a> </a>
</div> </div>
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="col-sm-6 col-lg-4 col-xl-3">
<% if ($err eq 'ERROR_NAME_CONFLICT'){ %> % if ($err eq 'ERROR_NAME_CONFLICT'){
<a class="btn btn-default btn-lg btn-full" role="button" href="<%= $self->url_for("/$room") %>"> <a class="btn btn-default btn-lg btn-full"
<%= l('JOIN_THIS_ROOM') %> href="<%= url_for("/$room") %>">
%= l('JOIN_THIS_ROOM')
</a> </a>
<% } elsif ($err eq 'WRONG_PASSWORD'){ %> % } elsif ($err eq 'ERROR_ROOM_s_DOESNT_EXIST'){
<a class="btn btn-default btn-lg btn-full" role="button" href="<%= $self->url_for("/password/$room") %>"> <button class="btn btn-default btn-lg btn-full"
<%= l('TRY_AGAIN') %> type="submit" form="createRoom">
</a> %= l('CREATE_THIS_ROOM')
<% } elsif ($err eq 'ERROR_ROOM_s_LOCKED' && stash 'ownerPass'){ %>
<a class="btn btn-default btn-lg btn-full" role="button" href="<%= $self->url_for("/password/$room") %>">
<%= l('AUTH_IF_OWNER') %>
</a>
<% } elsif ($err eq 'ERROR_ROOM_s_DOESNT_EXIST'){ %>
<button class="btn btn-default btn-lg btn-full" style="width: 100%" type="submit" form="createRoom">
<%= l('CREATE_THIS_ROOM') %>
</button> </button>
<% } %> % }
</div> </div>
</div> </div>
<% if ($err eq 'ERROR_ROOM_s_DOESNT_EXIST'){ %> % if ($err eq 'ERROR_ROOM_s_DOESNT_EXIST'){
<form id="createRoom"> <form id="createRoom">
<input type="text" id="roomName" name="roomName" value="<%= $room %>" hidden/> <input type="text"
id="roomName"
name="roomName"
value="<%= $room %>"
hidden />
</form> </form>
<% } %> % }
</div> </div>
</div> </div>
%= include 'js_common' %= include 'js_common'
<script> <script>
$(document).ready(function() { $(document).ready(function() {
initIndex(); initIndex();
}); });
</script> </script>
%= include 'footer' %= include 'footer'

@ -1,4 +1,4 @@
% stash msg => $self->l('SERVER_ERROR'); % stash msg => l('SERVER_ERROR');
% stash err => 'server_error'; % stash err => 'server_error';
% stash room => ''; % stash room => '';
%=include 'error' %= include 'error'

@ -1,31 +1,45 @@
% title $self->l('FEEDBACK'); % title l('FEEDBACK');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<div class="well publicForm"> <div class="well publicForm">
<form role="form" action="<%= $self->url_for('/feedback') %>" method="post"> <form action="<%= url_for('/feedback') %>">
<legend class=text-center"> <legend class=text-center">
<%= l('GIVE_US_YOUR_FEEDBACK') %> %= l('GIVE_US_YOUR_FEEDBACK')
</legend> </legend>
<center> <center>
<%= l('YOUR_FEEDBACK_HELPS_US') %> %= l('YOUR_FEEDBACK_HELPS_US')
</center> </center>
<br> <br>
<div class="form-group"> <div class="form-group">
<label for="email"><%= l('YOUR_MAIL_OPTIONAL') %></label> <label for="email">
<input type="email" class="form-control" id="email" name="email" placeholder="<%= l('EMAIL_PLACEHOLDER') %>"> %= l('YOUR_MAIL_OPTIONAL')
</label>
<input type="email"
class="form-control"
id="email"
name="email"
placeholder="<%= l('EMAIL_PLACEHOLDER') %>">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="comment"> <label for="comment">
<%= l('COMMENT') %> %= l('COMMENT')
</label> </label>
<textarea id="comment" name="comment" class="form-control" rows="10" placeholder="<%= l('VROOM_IS_AWESOME') %>" required></textarea> <textarea id="comment"
name="comment"
class="form-control"
rows="10"
placeholder="<%= l('VROOM_IS_AWESOME') %>"
required>
</textarea>
</div> </div>
<button type="submit" class="btn btn-primary"> <button type="submit"
<%= l('SUBMIT') %> class="btn btn-primary">
%= l('SUBMIT')
</button> </button>
<a href="<%= $self->url_for('/') %>" class="btn btn-default"> <a href="<%= url_for('/') %>"
<%= l('CANCEL') %> class="btn btn-default">
%= l('CANCEL')
</a> </a>
</form> </form>
</div> </div>

@ -8,7 +8,6 @@
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;"> <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">
&mdash; &mdash;
<br> <br>
<%= l('EMAIL_SIGN') %> %= l('EMAIL_SIGN')
</p> </p>
</html> </html>

@ -1,16 +1,22 @@
% title $self->l('FEEDBACK'); % title l('FEEDBACK');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<br/> <br/>
<div class="jumbotron"> <div class="jumbotron">
<h2><%= l('THANK_YOU') %></h2> <h2>
<p><%= l('THANKS_FOR_YOUR_FEEDBACK') %></p> %= l('THANK_YOU')
</h2>
<p>
%= l('THANKS_FOR_YOUR_FEEDBACK')
</p>
<div class='btn-group'> <div class='btn-group'>
<a class="btn btn-primary btn-lg" role="button" href="<%= $self->url_for('/') %>"><%= l('BACK_TO_MAIN_MENU') %></a> <a class="btn btn-primary btn-lg"
href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a>
</div> </div>
</div> </div>
</div> </div>
%= include 'js_common' %= include 'js_common'
%= include 'footer' %= include 'footer'

@ -2,10 +2,15 @@
<div id="footerContainer"> <div id="footerContainer">
<div class="container-fluid footer"> <div class="container-fluid footer">
<div class="col-xs-6"> <div class="col-xs-6">
<p class="text-muted pull-left"><%== l('VROOM_IS_FREE_SOFTWARE') %></p> <p class="text-muted pull-left">
%== l('VROOM_IS_FREE_SOFTWARE')
</p>
</div> </div>
<div class="col-xs-6"> <div class="col-xs-6">
<p class="text-muted pull-right brand"><%= l('POWERED_BY') %> <%== $config->{'interface.powered_by'} %></p> <p class="text-muted pull-right brand">
%= l('POWERED_BY')
%== $config->{'interface.powered_by'}
</p>
</div> </div>
</div> </div>
</div> </div>

@ -1,24 +1,26 @@
% title $self->l('GOODBYE'); % title l('GOODBYE');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<br/> <br/>
<div class="jumbotron"> <div class="jumbotron">
<h2> <h2>
<%= l('THANKS_SEE_YOU_SOON') %> %= l('THANKS_SEE_YOU_SOON')
</h2> </h2>
<p> <p>
<%= l('THANKS_FOR_USING') %> %= l('THANKS_FOR_USING')
</p> </p>
<div class='row'> <div class='row'>
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="col-sm-6 col-lg-4 col-xl-3">
<a class="btn btn-primary btn-lg btn-full" role="button" href="<%= $self->url_for('/') %>"> <a class="btn btn-primary btn-lg btn-full"
<%= l('BACK_TO_MAIN_MENU') %> href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a> </a>
</div> </div>
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="col-sm-6 col-lg-4 col-xl-3">
<a class="btn btn-default btn-lg btn-full" role="button" href="<%= $self->url_for('/feedback') %>"> <a class="btn btn-default btn-lg btn-full"
<%= l('GIVE_US_YOUR_FEEDBACK') %> href="<%= url_for('/feedback') %>">
%= l('GIVE_US_YOUR_FEEDBACK')
</a> </a>
</div> </div>
</div> </div>

@ -1,15 +1,27 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="<%= $self->languages %>"> <html lang="<%= languages %>">
<head> <head>
<title><%= $title %></title> <title>
<meta name="viewport" content="width=device-width, initial-scale=1"/> %= $title
<meta name="description" content=" <%= l('VROOM_DESC') %>" /> </title>
<meta name="viewport"
content="width=device-width, initial-scale=1" />
<meta name="description"
content="<%= l('VROOM_DESC') %>" />
<% <%
my @css = qw(bootstrap.css bootstrap-switch.css toc-scroll.css bootstrap-datepicker3.css vroom.css); my @css = qw(
@css = map { $self->url_for('/') . 'css/' . $_ } @css; bootstrap.css
bootstrap-switch.css
toc-scroll.css
bootstrap-datepicker3.css
vroom.css
);
@css = map { url_for('/css/' . $_) } @css;
%> %>
<%=css @css %> %= css @css
<link rel="icon" type="image/png" href="<%= $self->url_for('/img/favicon.png') %>" /> <link rel="icon"
type="image/png"
href="<%= url_for('/img/favicon.png') %>" />
</head> </head>
<body> <body>
<div id="wrap"> <div id="wrap">

@ -1,4 +1,4 @@
% title $self->l('WELCOME'); % title l('WELCOME');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
@ -6,47 +6,70 @@
%= include 'noscript' %= include 'noscript'
<div class="well publicForm"> <div class="well publicForm">
<h1 class="text-center"> <h1 class="text-center">
<%= l('CREATE_ROOM') %> %= l('CREATE_ROOM')
</h1> </h1>
<form id="createRoom" class="form-horizontal"> <form id="createRoom"
class="form-horizontal">
<fieldset> <fieldset>
<div class="input-group input-group-lg"> <div class="input-group input-group-lg">
<span class="input-group-addon hidden-xs"> <span class="input-group-addon hidden-xs">
<strong class="text-muted"> <strong class="text-muted">
<% %= $self->req->url->to_abs->host_port . $self->req->url->path
my $url = $self->url_for('/')->to_abs;
$url =~ s/^https?:\/\///;
$url .= ($url =~ m/\/$/)? '':'/';
%>
<%= $url %>
</strong> </strong>
</span> </span>
<div class="control-group"> <div class="control-group">
<input id="roomName" name="roomName" type="text" placeholder="<%= l('ROOM_NAME') %>" class="form-control input-lg help" data-toggle="tooltip" data-placement="bottom" title="<%= l('RANDOM_IF_EMPTY') %>" autofocus> <input id="roomName"
name="roomName"
type="text"
placeholder="<%= l('ROOM_NAME') %>"
class="form-control input-lg help" data-toggle="tooltip"
data-placement="bottom"
title="<%= l('RANDOM_IF_EMPTY') %>"
autofocus>
</div> </div>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-log-in"></span></button> <button type="submit"
class="btn btn-default">
<span class="glyphicon glyphicon-log-in">
</span>
</button>
</span> </span>
</div> </div>
</fieldset> </fieldset>
</form> </form>
</div> </div>
<div class="modal fade" role="dialog" id="conflictModal" aria-labelledby="conflictModal" aria-hidden="true"> <div class="modal fade"
id="conflictModal"
aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button class="close"
<h4 class="modal-title"><%= l('THIS_ROOM_ALREADY_EXISTS') %></h4> data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
%= l('THIS_ROOM_ALREADY_EXISTS')
</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="panel" id="confirmJoinForm"> <div class="panel"
<label><%= l('CONFIRM_OR_CHOOSE_ANOTHER_NAME') %></label> id="confirmJoinForm">
<label>
%= l('CONFIRM_OR_CHOOSE_ANOTHER_NAME')
</label>
<div class="btn-group btn-group-justified"> <div class="btn-group btn-group-justified">
<div class="btn-group"> <div class="btn-group">
<button class="btn btn-primary" id="confirmJoinButton"><%= l('JOIN_THIS_ROOM') %></button> <button class="btn btn-primary"
id="confirmJoinButton">
%= l('JOIN_THIS_ROOM')
</button>
</div> </div>
<div class="btn-group"> <div class="btn-group">
<button class="btn btn-default" id="chooseAnotherNameButton"><%= l('CHOOSE_ANOTHER_NAME') %></button> <button class="btn btn-default"
id="chooseAnotherNameButton">
%= l('CHOOSE_ANOTHER_NAME')
</button>
</div> </div>
</div> </div>
</div> </div>
@ -56,127 +79,152 @@
</div> </div>
<br/><br/> <br/><br/>
<div class="row"> <div class="row">
<div id="carouselIndexContainer" class="col-md-8 col-md-offset-2 col-xl-6 col-xl-offset-3 thumbnail"> <div id="carouselIndexContainer"
<div id="carouselIndex" class="carousel slide" data-ride="carousel"> class="col-md-8 col-md-offset-2 col-xl-6 col-xl-offset-3 thumbnail">
<div id="carouselIndex"
class="carousel slide"
data-ride="carousel">
<ol class="carousel-indicators carouselIndexIndicator"> <ol class="carousel-indicators carouselIndexIndicator">
<li data-target="#carouselIndex" data-slide-to="0" class="active"></li> <li data-target="#carouselIndex"
<li data-target="#carouselIndex" data-slide-to="1"></li> data-slide-to="0" class="active">
<li data-target="#carouselIndex" data-slide-to="2"></li> </li>
<li data-target="#carouselIndex" data-slide-to="3"></li> <li data-target="#carouselIndex"
<li data-target="#carouselIndex" data-slide-to="4"></li> data-slide-to="1">
<li data-target="#carouselIndex" data-slide-to="5"></li> </li>
<li data-target="#carouselIndex" data-slide-to="6"></li> <li data-target="#carouselIndex"
<% if ($self->get_opt_features->{etherpad}){ %> data-slide-to="2">
<li data-target="#carouselIndex" data-slide-to="7"></li> </li>
<% } %> <li data-target="#carouselIndex"
data-slide-to="3">
</li>
<li data-target="#carouselIndex"
data-slide-to="4">
</li>
<li data-target="#carouselIndex"
data-slide-to="5">
</li>
<li data-target="#carouselIndex"
data-slide-to="6">
</li>
% if (get_opt_features->{etherpad}){
<li data-target="#carouselIndex"
data-slide-to="7">
</li>
% }
</ol> </ol>
<div id="carouselIndexContent" class="carousel-inner"> <div id="carouselIndexContent"
class="carousel-inner">
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/lock.png', alt => $self->l('SECURE'), class => "img-responsive carouselLogo" %= image url_for('/img/lock.png'), alt => l('SECURE'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('P2P_COMMUNICATION') %> %= l('P2P_COMMUNICATION')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('SECURE') %> %= l('SECURE')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item active carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item active carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/universal.png', alt => $self->l('WORKS_EVERYWHERE'), class => "img-responsive carouselLogo" %= image url_for('/img/universal.png'), alt => l('WORKS_EVERYWHERE'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('MODERN_BROWSERS') %> %= l('MODERN_BROWSERS')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('WORKS_EVERYWHERE') %> %= l('WORKS_EVERYWHERE')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/multi.png', alt => $self->l('MULTI_USER'), class => "img-responsive carouselLogo" %= image url_for('/img/multi.png'), alt => l('MULTI_USER'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('THE_LIMIT_IS_YOUR_PIPE') %> %= l('THE_LIMIT_IS_YOUR_PIPE')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('MULTI_USER') %> %= l('MULTI_USER')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/signin.png', alt => $self->l('NO_SIGNIN'), class => "img-responsive carouselLogo" %= image url_for('/img/signin.png'), alt => l('NO_SIGNIN'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('YOU_DONT_HAVE_TO_REGISTER') %> %= l('YOU_DONT_HAVE_TO_REGISTER')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('NO_SIGNIN') %> %= l('NO_SIGNIN')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/clock.png', alt => $self->l('QUICK'), class => "img-responsive carouselLogo" %= image url_for('/img/clock.png'), alt => l('QUICK'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('STOP_WASTING_TIME') %> %= l('STOP_WASTING_TIME')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('QUICK') %> %= l('QUICK')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/screen.png', alt => $self->l('SCREEN_SHARING'), class => "img-responsive carouselLogo" %= image url_for('/img/screen.png'), alt => l('SCREEN_SHARING'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('SHARE_DESKTOP_OR_WINDOW') %> %= l('SHARE_DESKTOP_OR_WINDOW')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('SCREEN_SHARING') %> %= l('SCREEN_SHARING')
</h2> </h2>
</div> </div>
</div> </div>
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/chat.png', alt => $self->l('TEXT_CHAT'), class => "img-responsive carouselLogo" %= image url_for('/img/chat.png'), alt => l('TEXT_CHAT'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('SECURED_TEXT_CHAT') %> %= l('SECURED_TEXT_CHAT')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('TEXT_CHAT') %> %= l('TEXT_CHAT')
</h2> </h2>
</div> </div>
</div> </div>
<% if ($self->get_opt_features->{etherpad}) { %> % if (get_opt_features->{etherpad}) {
<div class="item carouselIndexItem col-xs-10 col-xs-offset-1"> <div class="item carouselIndexItem col-xs-10 col-xs-offset-1">
%= image '/img/note.png', alt => $self->l('COLLABORATIVE_NOTETAKING'), class => "img-responsive carouselLogo" %= image url_for('/img/note.png'), alt => l('COLLABORATIVE_NOTETAKING'), class => "img-responsive carouselLogo"
<p> <p>
<%= l('TAKE_NOTE_IN_REALTIME') %> %= l('TAKE_NOTE_IN_REALTIME')
</p> </p>
<div class="carousel-caption hidden-xs carouselIndexCaption"> <div class="carousel-caption hidden-xs carouselIndexCaption">
<h2> <h2>
<%= l('COLLABORATIVE_NOTETAKING') %> %= l('COLLABORATIVE_NOTETAKING')
</h2> </h2>
</div> </div>
</div> </div>
<% } %> % }
</div> </div>
<a class="left carousel-control" href="#carouselIndex" data-slide="prev"> <a class="left carousel-control"
<span class="glyphicon glyphicon-chevron-left"></span> href="#carouselIndex"
data-slide="prev">
<span class="glyphicon glyphicon-chevron-left">
</span>
</a> </a>
<a class="right carousel-control" href="#carouselIndex" data-slide="next"> <a class="right carousel-control"
<span class="glyphicon glyphicon-chevron-right"></span> href="#carouselIndex"
data-slide="next">
<span class="glyphicon glyphicon-chevron-right">
</span>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
%= include 'js_common' %= include 'js_common'
<script> <script>
$(document).ready(function() { $(document).ready(function() {
initIndex(); initIndex();
}); });
</script> </script>
%= include 'footer' %= include 'footer'

@ -1,47 +1,57 @@
% title $self->l('INVITATION'); % title l('INVITATION');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<div class="well publicForm"> <div class="well publicForm">
<form role="form" method="post"> <form>
<legend class="text-center"> <legend class="text-center">
<%= l('INVITATION_RESPONSE') %> %= l('INVITATION_RESPONSE')
</legend> </legend>
<p class="text-center"> <p class="text-center">
<%= l('CANNOT_JOIN_NOW') %> %= l('CANNOT_JOIN_NOW')
</p> </p>
<div class="form-group"> <div class="form-group">
<label for="response"> <label for="response">
<%= l('WILL_YOU_JOIN') %> %= l('WILL_YOU_JOIN')
</label> </label>
<select name="response" id="response" class="form-control"> <select name="response"
id="response"
class="form-control">
<option value="later"> <option value="later">
<%= l('WILL_TRY_TO_JOIN_LATER') %> %= l('WILL_TRY_TO_JOIN_LATER')
</option> </option>
<option value="decline" selected> <option value="decline"
<%= l('WONT_BE_ABLE_TO_JOIN') %> selected>
%= l('WONT_BE_ABLE_TO_JOIN')
</option> </option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="message"> <label for="message">
<%= l('MESSAGE') %> %= l('MESSAGE')
</label> </label>
<textarea name="message" id="message" class="form-control" rows="5" placeholder="<%= l('DONT_WAIT_FOR_ME') %>"></textarea> <textarea name="message"
id="message"
class="form-control"
rows="5"
placeholder="<%= l('DONT_WAIT_FOR_ME') %>">
</textarea>
</div> </div>
<div class="form-group"> <div class="form-group">
<label> <label>
<%= l('YOU_CAN_STILL_CHANGE_YOUR_MIND') %> %= l('YOU_CAN_STILL_CHANGE_YOUR_MIND')
</label> </label>
<p> <p>
<%= l('CLICK_SEND_OR_JOIN_NOW') %> %= l('CLICK_SEND_OR_JOIN_NOW')
</p> </p>
</div> </div>
<a class="btn btn-default btn-lg" role="button" href="<%= $self->url_for("/$room") %><% if ($token ne ''){ %>?token=<%= $token %><% } %>"> <a class="btn btn-default btn-lg"
<%= l('JOIN_THIS_ROOM') %> href="<%= Mojo::URL->new(url_for('/' . $room))->query(token => $token) %>">
%= l('JOIN_THIS_ROOM')
</a> </a>
<button type="submit" class="btn btn-primary btn-lg"> <button type="submit"
<%= l('SUBMIT') %> class="btn btn-primary btn-lg">
%= l('SUBMIT')
</button> </button>
</form> </form>
</div> </div>

@ -1,13 +1,20 @@
% title $self->l('INVITATION'); % title l('INVITATION');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<br/> <br/>
<div class="jumbotron"> <div class="jumbotron">
<h2><%= l('MESSAGE_SENT') %></h2> <h2>
<p><%= l('ORGANIZER_WILL_GET_YOUR_MESSAGE') %></p> %= l('MESSAGE_SENT')
</h2>
<p>
%= l('ORGANIZER_WILL_GET_YOUR_MESSAGE')
</p>
<div class='btn-group'> <div class='btn-group'>
<a class="btn btn-primary btn-lg" role="button" href="<%= $self->url_for('/') %>"><%= l('BACK_TO_MAIN_MENU') %></a> <a class="btn btn-primary btn-lg"
href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a>
</div> </div>
</div> </div>
</div> </div>

@ -1,54 +1,55 @@
<p> <p>
<%= l('YOU_ARE_INVITED_TO_A_MEETING') %> %= l('YOU_ARE_INVITED_TO_A_MEETING')
<ul> <ul>
<li> <li>
<%= l('A_MODERN_BROWSER') %> %= l('A_MODERN_BROWSER')
</li> </li>
<li> <li>
<%= l('A_WEBCAM') %> %= l('A_WEBCAM')
</li> </li>
<li> <li>
<%= l('A_MIC') %> %= l('A_MIC')
</li> </li>
</ul> </ul>
</p> </p>
<p> <p>
<%= l('WHEN_YOU_ARE_READY') %> %= l('WHEN_YOU_ARE_READY')
<center> <center>
<h1> <h1>
<% <%
my $link = Mojo::URL->new($self->url_for($room)->to_abs)->scheme('https'); my $link = Mojo::URL->new(url_for($room)->to_abs)->scheme('https');
my $target = $link->clone; my $target = $link->clone;
$target = ($joinPass eq 'yes') ? $target->query(token => $token) : $target; $target = ($joinPass eq 'yes') ? $target->query(token => $token) : $target;
%> %>
<a href="<%= $target %>"> <a href="<%= $target %>">
<%= $link %> %= $link
</a> </a>
</h1> </h1>
</center> </center>
</p> </p>
<% if ($message && $message ne ''){ %> % if ($message && $message ne ''){
<p> <p>
<%= l('MESSAGE_FROM_ORGANIZER') %>: <%= l('MESSAGE_FROM_ORGANIZER') %>:
</p> </p>
<p> <p>
<%= $message %> %= $message
</p> </p>
<% } %> % }
<p> <p>
<%= l('IF_YOU_CANNOT_JOIN') %> %= l('IF_YOU_CANNOT_JOIN')
<h3> <h3>
<a style="color:red" href="<%= Mojo::URL->new($self->url_for('/invitation/' . $token)->to_abs)->scheme('https') %>"> <a style="color:red"
<%= l('YOU_CAN_NOTIFY_THE_ORGANIZER') %> href="<%= Mojo::URL->new(url_for('/invitation/' . $token)->to_abs)->scheme('https') %>">
%= l('YOU_CAN_NOTIFY_THE_ORGANIZER')
</a> </a>
</h3> </h3>
</p> </p>
<br> <br>
<p> <p>
<%= l('HAVE_A_NICE_MEETING') %> %= l('HAVE_A_NICE_MEETING')
</p> </p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;"> <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">
&mdash; &mdash;
<br> <br>
<%= l('EMAIL_SIGN') %> %= l('EMAIL_SIGN')
</p> </p>

@ -1,25 +1,35 @@
<div class="modal fade" role="dialog" id="inviteModal" aria-labelledby="inviteModal" aria-hidden="true"> <div class="modal fade"
id="inviteModal"
aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('SEND_INVITE') %> %= l('SEND_INVITE')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="inviteEmail" class="form-horizontal" role="form"> <form id="inviteEmail"
class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label for="recipient" class="col-sm-4 control-label"> <label for="recipient"
<%= l('RECIPIENT') %> class="col-sm-4 control-label">
%= l('RECIPIENT')
</label> </label>
<div class="col-sm-8 email-list" id="email-list-invite"> <div class="col-sm-8 email-list"
id="email-list-invite">
<div class="email-entry input-group col-sm-8"> <div class="email-entry input-group col-sm-8">
<input class="form-control" autocomplete="off" name="invitation-recipients[]" type="text" placeholder="<%= l('EMAIL_PLACEHOLDER') %>" /> <input class="form-control"
autocomplete="off"
name="invitation-recipients[]"
type="text"
placeholder="<%= l('EMAIL_PLACEHOLDER') %>">
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-primary btn-add-email" type="button"> <button class="btn btn-primary btn-add-email">
<span class="glyphicon glyphicon-plus"> <span class="glyphicon glyphicon-plus">
</span> </span>
</button> </button>
@ -28,20 +38,28 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="message" class="col-sm-4 control-label"> <label for="message"
<%= l('MESSAGE') %> class="col-sm-4 control-label">
%= l('MESSAGE')
</label> </label>
<div class="col-sm-8"> <div class="col-sm-8">
<textarea id="message" name="message" class="form-control" placeholder="<%= l('MESSAGE') %>"></textarea> <textarea id="message"
name="message"
class="form-control"
placeholder="<%= l('MESSAGE') %>">
</textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button type="submit" id="inviteEmailButton" class="btn btn-primary"> <button type="submit"
<%= l('SUBMIT') %> id="inviteEmailButton"
class="btn btn-primary">
%= l('SUBMIT')
</button> </button>
<button class="btn btn-default" data-dismiss="modal"> <button class="btn btn-default"
<%= l('CANCEL') %> data-dismiss="modal">
%= l('CANCEL')
</button> </button>
</div> </div>
</div> </div>
@ -50,4 +68,3 @@
</div> </div>
</div> </div>
</div> </div>

@ -1,9 +1,12 @@
% title sprintf l('ROOM_s'), $room; % title sprintf l('ROOM_s'), $room;
%= include 'header' %= include 'header'
<div class="container-fluid"> <div class="container-fluid">
<nav id="toolbar" class="navbar navbar-default" role="toolbar"> <nav id="toolbar"
class="navbar navbar-default">
<div class="navbar-header"> <div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#roomToolBar"> <button class="navbar-toggle"
data-toggle="collapse"
data-target="#roomToolBar">
<span class="sr-only"> <span class="sr-only">
</span> </span>
<span class="icon-bar"> <span class="icon-bar">
@ -24,19 +27,32 @@
</button> </button>
</div> </div>
<div class="btn-group visible-xs-block header-btn-group col-xs-push-1"> <div class="btn-group visible-xs-block header-btn-group col-xs-push-1">
<button class="btn btn-lg btn-default help btn-logout navbar-btn" data-toggle="tooltip" data-placement="bottom" title="<%= l('LOGOUT') %>"> <button class="btn btn-lg btn-default help btn-logout navbar-btn"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('LOGOUT') %>">
<span class="glyphicon glyphicon-log-out"> <span class="glyphicon glyphicon-log-out">
</span> </span>
</button> </button>
</div> </div>
</div> </div>
<input id="roomName" name="roomName" type="hidden" value="<%= $room %>"/> <div id="roomToolBar"
<div id="roomToolBar" class="collapse navbar-collapse"> class="collapse navbar-collapse">
<div class="navbar-form navbar-btn-group navbar-left input-group"> <div class="navbar-form navbar-btn-group navbar-left input-group">
<div class="input-group"> <div class="input-group">
<input type="text" id="displayName" class="form-control input-lg help" placeholder="<%= l('YOUR_NAME') %>" data-toggle="tooltip" data-placement="bottom" title="<%= l('NAME_SENT_TO_OTHERS') %>"/> <input type="text"
id="displayName"
class="form-control input-lg help"
placeholder="<%= l('YOUR_NAME') %>"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('NAME_SENT_TO_OTHERS') %>">
<span class="input-group-btn"> <span class="input-group-btn">
<button id="changeColorButton" class="btn btn-lg btn-default help" data-toggle="tooltip" data-placement="bottom" title="<%= l('CHANGE_COLOR') %>"> <button id="changeColorButton"
class="btn btn-lg btn-default help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('CHANGE_COLOR') %>">
<span class="glyphicon glyphicon-tag"> <span class="glyphicon glyphicon-tag">
</span> </span>
</button> </button>
@ -44,66 +60,105 @@
</div> </div>
</div> </div>
<div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs"> <div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs">
<button id="chatDropdown" class="btn btn-lg btn-default collapsed help" data-toggle="collapse" data-target="#chatMenu" data-toggle="tooltip" data-placement="bottom" title="<%= l('CLICK_TO_CHAT') %>"> <button id="chatDropdown"
class="btn btn-lg btn-default collapsed help"
data-toggle="collapse" data-target="#chatMenu"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('CLICK_TO_CHAT') %>">
<span class="glyphicon glyphicon-comment"> <span class="glyphicon glyphicon-comment">
</span> </span>
<span class="badge" id="unreadMsg"> <span class="badge" id="unreadMsg">
0 0
</span> </span>
</button> </button>
<% if ($self->get_opt_features->{etherpad}){ %> % if (get_opt_features->{etherpad}){
<button class="btn btn-lg btn-default help btn-etherpad" data-toggle="tooltip" data-placement="bottom" title="<%= l('OPEN_ETHERPAD') %>"> <button class="btn btn-lg btn-default help btn-etherpad"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('OPEN_ETHERPAD') %>">
<span class="glyphicon glyphicon-pencil"> <span class="glyphicon glyphicon-pencil">
</span> </span>
</button> </button>
<% } %> % }
</div> </div>
<div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs"> <div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs">
<button class="btn btn-lg btn-default btn-mute-mic help" data-toggle="tooltip" data-placement="bottom" title="<%= l('MUTE_MIC') %>"> <button class="btn btn-lg btn-default btn-mute-mic help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('MUTE_MIC') %>">
<span class="glyphicon glyphicon-volume-off"> <span class="glyphicon glyphicon-volume-off">
</span> </span>
</button> </button>
<button class="btn btn-lg btn-default btn-suspend-cam help" data-toggle="tooltip" data-placement="bottom" title="<%= l('SUSPEND_CAM') %>"> <button class="btn btn-lg btn-default btn-suspend-cam help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('SUSPEND_CAM') %>">
<span class="glyphicon glyphicon-facetime-video"> <span class="glyphicon glyphicon-facetime-video">
</span> </span>
</button> </button>
<button class="btn btn-lg btn-default help btn-share-screen" data-toggle="tooltip" data-placement="bottom" title="<%= l('SHARE_YOUR_SCREEN') %>"> <button class="btn btn-lg btn-default help btn-share-screen"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('SHARE_YOUR_SCREEN') %>">
<span class="glyphicon glyphicon-blackboard"> <span class="glyphicon glyphicon-blackboard">
</span> </span>
</button> </button>
</div> </div>
<div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs aloneEl"> <div class="btn-group navbar-form navbar-btn-group navbar-left hidden-xs aloneEl">
<button class="btn btn-lg btn-default btn-moh help" data-toggle="tooltip" data-placement="bottom" title="<%= l('WAIT_WITH_MUSIC') %>"> <button class="btn btn-lg btn-default btn-moh help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('WAIT_WITH_MUSIC') %>">
<span class="glyphicon glyphicon-music"> <span class="glyphicon glyphicon-music">
</span> </span>
</button> </button>
</div> </div>
<div class="btn-group navbar-form navbar-btn-group navbar-left"> <div class="btn-group navbar-form navbar-btn-group navbar-left">
<div class="btn-group ownerEl"> <div class="btn-group ownerEl">
<button class="btn btn-lg btn-default help" type="button" data-toggle="modal" data-target="#inviteModal" data-toggle="tooltip" data-placement="bottom" title="<%= l('INVITE_PEOPLE') %>"> <button class="btn btn-lg btn-default help"
data-toggle="modal"
data-target="#inviteModal"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('INVITE_PEOPLE') %>">
<span class="glyphicon glyphicon-user"> <span class="glyphicon glyphicon-user">
</span> </span>
</button> </button>
</div> </div>
<div class="btn-group ownerEl"> <div class="btn-group ownerEl">
<button class="btn btn-lg btn-default help" type="button" data-toggle="modal" data-target="#configureModal" data-toggle="tooltip" data-placement="bottom" title="<%= l('CONFIGURE') %>"> <button class="btn btn-lg btn-default help"
data-toggle="modal"
data-target="#configureModal"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('CONFIGURE') %>">
<span class="glyphicon glyphicon-cog"> <span class="glyphicon glyphicon-cog">
</span> </span>
</button> </button>
</div> </div>
</div> </div>
<div class="btn-group navbar-form navbar-btn-group navbar-left"> <div class="btn-group navbar-form navbar-btn-group navbar-left">
<button class="btn btn-lg btn-default dropdown-toggle help unauthEl" data-toggle="modal" data-target="#ownerAuthModal" data-toggle="dropdown" data-toggle="tooltip" data-placement="bottom" title="<%= l('AUTHENTICATE') %>"> <button class="btn btn-lg btn-default dropdown-toggle help unauthEl"
data-toggle="modal"
data-target="#ownerAuthModal"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('AUTHENTICATE') %>">
<span class="glyphicon glyphicon-log-in"> <span class="glyphicon glyphicon-log-in">
</span> </span>
</button> </button>
</div> </div>
<div class="navbar-form navbar-btn-group navbar-right hidden-xs" data-toggle="buttons" > <div class="navbar-form navbar-btn-group navbar-right hidden-xs"
data-toggle="buttons" >
<div class="btn-group"> <div class="btn-group">
<div id="timeCounter" class="btn btn-lg btn-default disabled"> <div id="timeCounter" class="btn btn-lg btn-default disabled">
00:00 00:00
</div> </div>
<button class="btn btn-lg btn-default help btn-logout" data-toggle="tooltip" data-placement="bottom" title="<%= l('LOGOUT') %>"> <button class="btn btn-lg btn-default help btn-logout"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('LOGOUT') %>">
<span class="glyphicon glyphicon-log-out"> <span class="glyphicon glyphicon-log-out">
</span> </span>
</button> </button>
@ -111,50 +166,61 @@
</div> </div>
</div> </div>
</nav> </nav>
<div class="modal fade" role="dialog" id="quitModal" aria-labelledby="quitModal" aria-hidden="true"> <div class="modal fade"
id="quitModal"
aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('LEAVE_THIS_ROOM') %> %= l('LEAVE_THIS_ROOM')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p> <p>
<%= l('ARE_YOU_SURE_YOU_WANT_TO_LEAVE') %> %= l('ARE_YOU_SURE_YOU_WANT_TO_LEAVE')
</p> </p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button id="confirmQuitButton" class="btn btn-primary"> <button id="confirmQuitButton"
<%= l('QUIT') %> class="btn btn-primary">
%= l('QUIT')
</button> </button>
<button class="btn btn-default" data-dismiss="modal" data-target="#quitModal"> <button class="btn btn-default"
<%= l('CANCEL') %> data-dismiss="modal"
data-target="#quitModal">
%= l('CANCEL')
</button> </button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" role="dialog" id="chromeExtMessage" aria-labelledby="chromeExtMessage" aria-hidden="true"> <div class="modal fade"
id="chromeExtMessage"
aria-hidden="true">
<div class="modal-dialog modal-sm"> <div class="modal-dialog modal-sm">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title" id="chromeExtMessageTitle"> <h4 class="modal-title">
<%= l('EXTENSION_REQUIRED') %> %= l('EXTENSION_REQUIRED')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p> <p>
<%= l('VROOM_CHROME_EXTENSION') %> %= l('VROOM_CHROME_EXTENSION')
</p> </p>
<p> <p>
<a class="btn btn-default btn-lg" href="https://chrome.google.com/webstore/detail/<%= $config->{'interface.chrome_extension_id'} %>" target="_blank"> <a class="btn btn-default btn-lg"
href="https://chrome.google.com/webstore/detail/<%= $config->{'interface.chrome_extension_id'} %>"
target="_blank">
<span class="glyphicon glyphicon-download-alt"> <span class="glyphicon glyphicon-download-alt">
</span> </span>
</a> </a>
@ -163,158 +229,198 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" role="dialog" id="firefoxShareScreenModal" aria-labelledby="firefoxShareScreenModal" aria-hidden="true"> <div class="modal fade"
id="firefoxShareScreenModal"
aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal"
aria-hidden="true">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('ALLOW_SCREEN_SHARING') %> %= l('ALLOW_SCREEN_SHARING')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p> <p>
<%= l('ALLOW_SCREEN_SHARING_ON_FF') %> %= l('ALLOW_SCREEN_SHARING_ON_FF')
<%== sprintf $self->l('SCREEN_SHARING_ABOUT_CONFIG_s'), $self->req->url->to_abs->host %> %== sprintf l('SCREEN_SHARING_ABOUT_CONFIG_s'), $self->req->url->to_abs->host
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" role="dialog" id="disconnected" aria-labelledby="disconnected" aria-hidden="true"> <div class="modal fade"
id="disconnected"
aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <button class="close"
data-dismiss="modal">
&times; &times;
</button> </button>
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('CONNECTION_LOST') %> %= l('CONNECTION_LOST')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
%= image '/img/flash.png', alt => $self->l('CONNECTION_LOST'), class => "img-responsive center-block" %= image url_for('/img/flash.png'), alt => l('CONNECTION_LOST'), class => "img-responsive center-block"
<br> <br>
<p class="text-center"> <p class="text-center">
<%= l('CHECK_INTERNET_ACCESS') %> %= l('CHECK_INTERNET_ACCESS')
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" role="dialog" id="connecting" aria-labelledby="connecting" aria-hidden="false" data-keyboard="false" data-backdrop="static"> <div class="modal fade"
id="connecting"
aria-hidden="false"
data-keyboard="false"
data-backdrop="static">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title"> <h4 class="modal-title">
<%= l('CONNECTING') %> %= l('CONNECTING')
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div id="connecting-msg" class="connecting-msg"> <div id="connecting-msg"
%= image '/img/connecting.gif', alt => $self->l('CONNECTING'), class => "img-responsive center-block" class="connecting-msg">
%= image url_for('/img/connecting.gif'), alt => l('CONNECTING'), class => "img-responsive center-block"
<br> <br>
<p class="text-center"> <p class="text-center">
<%= l('CONNECTING_PLEASE_WAIT') %> %= l('CONNECTING_PLEASE_WAIT')
</p> </p>
<p class="text-center connecting-err-reason"> <p class="text-center connecting-err-reason">
</p> </p>
</div> </div>
<div id="room-is-locked" class="connecting-msg" style="display: none"> <div id="room-is-locked"
%= image '/img/lock.png', alt => $self->l('LOCKED'), class => "img-responsive center-block" class="connecting-msg"
style="display: none">
%= image url_for('/img/lock.png'), alt => l('LOCKED'), class => "img-responsive center-block"
<p class="text-center connecting-err-reason"> <p class="text-center connecting-err-reason">
</p> </p>
</div> </div>
<div id="no-media-msg" class="connecting-msg" style="display: none"> <div id="no-media-msg"
<% if (defined(stash('video')) && stash('video') eq 'false'){ %> class="connecting-msg"
style="display: none">
% if (defined(stash('video')) && stash('video') eq 'false'){
<p class="text-center"> <p class="text-center">
<%= l('NO_MEDIA_AVAILABLE') %> %= l('NO_MEDIA_AVAILABLE')
</p> </p>
<div class="row"> <div class="row">
<div class="col-xs-2 col-xs-offset-4"> <div class="col-xs-2 col-xs-offset-4">
%= image '/img/webcam.png', alt => "Webcam", class => "img-responsive, center-block" %= image url_for('/img/webcam.png'), alt => "Webcam", class => "img-responsive, center-block"
</div> </div>
<div class="col-xs-2"> <div class="col-xs-2">
%= image '/img/mic.png', alt => "Microphone", class => "img-responsive, center-block" %= image url_for('/img/mic.png'), alt => "Microphone", class => "img-responsive, center-block"
</div> </div>
</div> </div>
<br> <br>
<p class="text-center"> <p class="text-center">
<%= l('YOU_NEED8MIC_OR_WEBCAM') %> %= l('YOU_NEED8MIC_OR_WEBCAM')
</p> </p>
<% } else { %> % } else {
<p class="text-center"> <p class="text-center">
<%= l('CANT_ACCESS_WEBCAM') %> %= l('CANT_ACCESS_WEBCAM')
</p> </p>
%= image '/img/webcam.png', alt => "Webcam", class => "img-responsive center-block" %= image url_for('/img/webcam.png'), alt => "Webcam", class => "img-responsive center-block"
<br> <br>
<p class="text-center"> <p class="text-center">
<%= l('CLICK_IF_NO_WEBCAM') %> %= l('CLICK_IF_NO_WEBCAM')
</p> </p>
<p class="text-center"> <p class="text-center">
<a class="btn btn-default btn-lg" href="<%= $self->url_for("/$room") %>?video=false"> <a class="btn btn-default btn-lg"
href="<%= $self->req->url->query(video => 'false') %>">
<span class="glyphicon glyphicon-headphones"> <span class="glyphicon glyphicon-headphones">
</span> </span>
</a> </a>
</p> </p>
<% } %> % }
</div> </div>
<div id="auth-before-join" class="connecting-msg" style="display: none"> <div id="auth-before-join"
<form role="form" class="form-horizontal" id="authBeforeJoinForm"> class="connecting-msg"
style="display: none">
<form class="form-horizontal"
id="authBeforeJoinForm">
<div class="form-group"> <div class="form-group">
<label for="authBeforJoinPass" class="col-sm-4 control-label"> <label for="authBeforJoinPass"
<%= l('PASSWORD') %> class="col-sm-4 control-label">
%= l('PASSWORD')
</label> </label>
<div class="col-sm-4"> <div class="col-sm-4">
<input type="password" class="form-control" id="authBeforeJoinPass" placeholder="<%= l('PASSWORD') %>"> <input type="password"
class="form-control"
id="authBeforeJoinPass"
placeholder="<%= l('PASSWORD') %>">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button id="authBeforeJoinButton" class="btn btn-primary disabled" type="submit"> <button id="authBeforeJoinButton"
<%= l('SUBMIT') %> class="btn btn-primary disabled"
type="submit">
%= l('SUBMIT')
</button> </button>
<a class="btn btn-default" href="<%= $self->url_for('/') %>"> <a class="btn btn-default"
<%= l('CANCEL') %> href="<%= url_for('/') %>">
%= l('CANCEL')
</a> </a>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<div id="display-name-pre" class="connecting-msg" style="display: none"> <div id="display-name-pre"
<form role="form" class="form-horizontal" id="displayNamePreForm"> class="connecting-msg"
style="display: none">
<form class="form-horizontal"
id="displayNamePreForm">
<p class="text-center"> <p class="text-center">
<%= l('SET_A_DISPLAY_NAME') %> %= l('SET_A_DISPLAY_NAME')
</p> </p>
<div class="form-group"> <div class="form-group">
<label for="displayNamePre" class="col-sm-4 control-label"> <label for="displayNamePre"
<%= l('DISPLAY_NAME') %> class="col-sm-4 control-label">
%= l('DISPLAY_NAME')
</label> </label>
<div class="col-sm-4"> <div class="col-sm-4">
<input type="text" class="form-control" autocomplete="off" id="displayNamePre" placeholder="<%= l('YOUR_NAME') %>"> <input type="text"
class="form-control"
autocomplete="off"
id="displayNamePre"
placeholder="<%= l('YOUR_NAME') %>">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-4 col-sm-8"> <div class="col-sm-offset-4 col-sm-8">
<button id="displayNamePreButton" class="btn btn-primary disabled" type="submit"> <button id="displayNamePreButton"
<%= l('SUBMIT') %> class="btn btn-primary disabled"
type="submit">
%= l('SUBMIT')
</button> </button>
<a class="btn btn-default" href="<%= $self->url_for('/') %>"> <a class="btn btn-default"
<%= l('CANCEL') %> href="<%= url_for('/') %>">
%= l('CANCEL')
</a> </a>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<div id="no-webrtc-msg" class="connecting-msg" style="display: none"> <div id="no-webrtc-msg"
class="connecting-msg"
style="display: none">
<p> <p>
<%= l('NO_WEBRTC_SUPPORT') %> %= l('NO_WEBRTC_SUPPORT')
</p> </p>
<% if ($ua !~ m/iphone|ipad|ipod/i){ %> % if ($ua !~ m/iphone|ipad|ipod/i){
<p> <p>
<%= l('DOWNLOAD_ONE_OF_THESE_BROWSERS') %> %= l('DOWNLOAD_ONE_OF_THESE_BROWSERS')
</p> </p>
<div class="row"> <div class="row">
<% <%
@ -328,44 +434,63 @@
} }
%> %>
<div class="col-xs-4"> <div class="col-xs-4">
<a href="<%= $ffurl %>" target="_blank"> <a href="<%= $ffurl %>"
%= image '/img/firefox.png', alt => "Mozilla Firefox", class => "img-responsive center-block" target="_blank">
%= image url_for('/img/firefox.png'), alt => "Mozilla Firefox", class => "img-responsive center-block"
</a> </a>
</div> </div>
<div class="col-xs-4"> <div class="col-xs-4">
<a href="<%= $churl %>" target="_blank"> <a href="<%= $churl %>"
%= image '/img/chrome.png', alt => "Google Chrome", class => "img-responsive center-block" target="_blank">
%= image url_for('/img/chrome.png'), alt => "Google Chrome", class => "img-responsive center-block"
</a> </a>
</div> </div>
<div class="col-xs-4"> <div class="col-xs-4">
<a href="<%= $opurl %>" target="_blank"> <a href="<%= $opurl %>"
%= image '/img/opera.png', alt => "Opera", class => "img-responsive center-block" target="_blank">
%= image url_for('/img/opera.png'), alt => "Opera", class => "img-responsive center-block"
</a> </a>
</div> </div>
</div> </div>
<% } %> % }
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
%=include 'invite_modal' %= include 'invite_modal'
%=include 'configure_modal' %= include 'configure_modal'
%=include 'auth_modal' %= include 'auth_modal'
%=include 'noscript' %= include 'noscript'
<div class="frame"> <div class="frame">
<div id="chatMenu" class="nav-collapse collapse hidden-xs"> <div id="chatMenu"
<div id="chatHistory" class="form-control"> class="nav-collapse collapse hidden-xs">
<div id="chatHistory"
class="form-control">
</div> </div>
<form role="form" id="chatForm"> <form id="chatForm">
<div class="input-group"> <div class="input-group">
<textarea class="form-control" id="chatBox" form_id="chatForm" placeholder="<%= l('SET_YOUR_NAME_TO_CHAT') %>" rows=1 disabled></textarea> <textarea class="form-control"
id="chatBox"
form_id="chatForm"
placeholder="<%= l('SET_YOUR_NAME_TO_CHAT') %>"
rows=1 disabled>
</textarea>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="submit" id="sendChat" class="btn btn-default help" data-toggle="tooltip" data-placement="bottom" title="<%= l('SEND_MESSAGE') %>"> <button type="submit"
id="sendChat"
class="btn btn-default help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('SEND_MESSAGE') %>">
<span class="glyphicon glyphicon-share-alt"> <span class="glyphicon glyphicon-share-alt">
</span> </span>
</button> </button>
<button type="button" id="saveChat" class="btn btn-default help" data-toggle="tooltip" data-placement="bottom" title="<%= l('SAVE_HISTORY') %>"> <button id="saveChat"
class="btn btn-default help"
data-toggle="tooltip"
data-placement="bottom"
title="<%= l('SAVE_HISTORY') %>">
<span class="glyphicon glyphicon-floppy-save"> <span class="glyphicon glyphicon-floppy-save">
</span> </span>
</button> </button>
@ -373,27 +498,42 @@
</div> </div>
</form> </form>
</div> </div>
<audio id="mohPlayer" src="<%= $self->url_for('/snd/moh/' . $moh) %>" loop></audio> <audio id="mohPlayer"
<div id="view" class="view row-fluid"> src="<%= url_for('/snd/moh/' . $moh) %>"
<div id="webRTCVideo" class="col-xs-12 col-sm-4"> loop>
<div class="col-xs-3 col-sm-12 col-lg-6 previewContainer" id="videoLocalContainer"> </audio>
<video id="webRTCVideoLocal" class="webRTCVideo latencyUnknown" muted oncontextmenu="return false;"> <div id="view"
class="view row-fluid">
<div id="webRTCVideo"
class="col-xs-12 col-sm-4">
<div class="col-xs-3 col-sm-12 col-lg-6 previewContainer"
id="videoLocalContainer">
<video id="webRTCVideoLocal"
class="webRTCVideo latencyUnknown"
muted
oncontextmenu="return false;">
</video> </video>
<div id="localVolume" class="volumeBar"> <div id="localVolume"
class="volumeBar">
</div> </div>
<div id="name_local" class="displayName"> <div id="name_local"
class="displayName">
</div> </div>
</div> </div>
</div> </div>
<div id="mainView" class="col-xs-12 col-sm-8"> <div id="mainView"
<% if ($self->get_opt_features->{etherpad}){ %> class="col-xs-12 col-sm-8">
<div id="etherpadContainer" class="hidden-xs"></div> % if (get_opt_features->{etherpad}){
<% } %> <div id="etherpadContainer"
class="hidden-xs">
</div>
% }
<div id="mainVideo"> <div id="mainVideo">
</div> </div>
<div id="aloneMsg" class="aloneEl"> <div id="aloneMsg"
class="aloneEl">
<h2 class="text-center"> <h2 class="text-center">
<%= l('ALONE_IN_ROOM') %> %= l('ALONE_IN_ROOM')
</h2> </h2>
</div> </div>
</div> </div>
@ -404,10 +544,8 @@
var roomName = '<%= $room %>'; var roomName = '<%= $room %>';
$( document ).ready(function() { $( document ).ready(function() {
etherpad = { etherpad = {
enabled: <%= $self->get_opt_features->{etherpad} ? 'true' : 'false' %>, enabled: <%= get_opt_features->{etherpad} ? 'true' : 'false' %>,
<% % my $ethuri = Mojo::URL->new($config->{'etherpad.uri'});
my $ethuri = Mojo::URL->new($config->{'etherpad.uri'});
%>
host: "<%= $ethuri->scheme . '://' . $ethuri->authority %>", host: "<%= $ethuri->scheme . '://' . $ethuri->authority %>",
path: "<%= $ethuri->path . '/p/' %>", path: "<%= $ethuri->path . '/p/' %>",
group: "<%= $etherpadGroup %>" group: "<%= $etherpadGroup %>"

@ -1,25 +1,39 @@
<script type="text/javascript"> <script type="text/javascript">
<% my $url = $self->url_for('/'); var rootUrl = '<%= url_for('/') %>';
$url .= ($url =~ m/\/$/) ? '' : '/'; %> var currentLang = '<%= languages %>';
var rootUrl = '<%= $url %>'; var api_key = '<%= (session('key')) ? session('key') : '' %>';
var currentLang = '<%= $self->languages %>'; var page = '<%= stash('page') ? stash('page') : '' %>';
var api_key = '<%= ($self->session('key')) ? $self->session('key') : '' %>';
var page = '<%= stash('page') ? stash('page') : "" %>';
var roomName; var roomName;
</script> </script>
<script type="text/javascript" src= "<%= $self->url_for('/locales/' . $self->languages . '.js') %>"></script> <script type="text/javascript"
src="<%= url_for('/locales/' . languages . '.js') %>">
</script>
<% <%
my @js = qw(jquery-1.11.3.js bootstrap.js notify-combined.js bootstrap-switch.js jquery.bootpag.js toc.js bootstrap-datepicker.js); my @js = qw(
jquery-1.11.3.js
bootstrap.js
notify-combined.js
bootstrap-switch.js
jquery.bootpag.js
toc.js
bootstrap-datepicker.js
);
# Load supported languages for datpicker, if they exists # Load supported languages for datpicker, if they exists
foreach my $l ($self->get_supported_lang){ foreach my $l (get_supported_lang){
if (-e 'public/js/datepicker-locales/bootstrap-datepicker.' . $l . '.js'){ push @js, 'datepicker-locales/bootstrap-datepicker.' . $l . '.js'
push @js, 'datepicker-locales/bootstrap-datepicker.' . $l . '.js'; if (-e 'public/js/datepicker-locales/bootstrap-datepicker.' . $l . '.js');
}
} }
push @js, 'vroom.js'; push @js, 'vroom.js';
if (stash('page') && stash('page') eq 'room'){ if (stash('page') && stash('page') eq 'room'){
push @js, qw(simplewebrtc.bundle.js jquery.browser.js sprintf.js FileSaver.js jquery.tinytimer.js etherpad.js); push @js, qw(
simplewebrtc.bundle.js
jquery.browser.js
sprintf.js
FileSaver.js
jquery.tinytimer.js
etherpad.js
);
} }
@js = map { $self->url_for('/') . 'js/' . $_ } @js; @js = map { url_for('/js/' . $_) } @js;
%> %>
<%=js @js %> %= js @js

@ -1,12 +1,19 @@
% title $self->l('KICKED'); % title l('KICKED');
%= include 'header' %= include 'header'
%= include 'public_toolbar' %= include 'public_toolbar'
<div class="container-fluid"> <div class="container-fluid">
<div class="jumbotron alert-danger"> <div class="jumbotron alert-danger">
<h2><%= l('YOU_HAVE_BEEN_KICKED') %></h2> <h2>
<p><%= l('AN_ADMIN_HAS_KICKED_YOU') %></p> %= l('YOU_HAVE_BEEN_KICKED')
</h2>
<p>
%= l('AN_ADMIN_HAS_KICKED_YOU')
</p>
<div class="btn-group"> <div class="btn-group">
<a class="btn btn-primary btn-lg" role="button" href="<%= $self->url_for('/') %>"><%= l('BACK_TO_MAIN_MENU') %></a> <a class="btn btn-primary btn-lg"
href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a>
</div> </div>
</div> </div>
</div> </div>

@ -2,7 +2,7 @@
<div class="row"> <div class="row">
<div class="col-md-6 col-md-offset-3 alert alert-danger"> <div class="col-md-6 col-md-offset-3 alert alert-danger">
<p class="text-center"> <p class="text-center">
<%= l('JS_REQUIRED') %> %= l('JS_REQUIRED')
</p> </p>
</div> </div>
</div> </div>

@ -1,4 +1,4 @@
% stash msg => $self->l('PAGE_NOT_FOUND'); % stash msg => l('PAGE_NOT_FOUND');
% stash err => 'not_found'; % stash err => 'not_found';
% stash room => ''; % stash room => '';
%=include 'error' %= include 'error'

@ -1,31 +1,28 @@
<% % my $url = Mojo::URL->new(url_for('/' . $room)->to_abs)->scheme('https');
my $url = Mojo::URL->new($self->url_for('/')->to_abs)->scheme('https');
$url .= ($url =~ m/\/$/) ? '' : '/';
%>
<p> <p>
<%= l('SOMEONE_JOINED_A_ROOM') %> %= l('SOMEONE_JOINED_A_ROOM')
</p> </p>
<% if ($name && $name ne ''){ %> % if ($name && $name ne ''){
<p> <p>
<%= l('PARTICIPANT_NAME') %>: <%= $name %> <%= l('PARTICIPANT_NAME') %>: <%= $name %>
</p> </p>
<% } %> % }
<p> <p>
<%= l('WHEN_YOU_ARE_READY') %> %= l('WHEN_YOU_ARE_READY')
<center> <center>
<h1> <h1>
<a href="<%= $url . $room %>"> <a href="<%= $url %>">
<%= $url . $room %> %= $url
</a> </a>
</h1> </h1>
</center> </center>
</p> </p>
<br> <br>
<p> <p>
<%= l('HAVE_A_NICE_MEETING') %> %= l('HAVE_A_NICE_MEETING')
</p> </p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;"> <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">
&mdash; &mdash;
<br> <br>
<%= l('EMAIL_SIGN') %> %= l('EMAIL_SIGN')
</p> </p>

@ -1,40 +1,59 @@
<nav class="navbar navbar-default" role="navigation" id="headerNav"> <nav class="navbar navbar-default"
id="headerNav">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#toolbar"> <button class="navbar-toggle"
<span class="sr-only"></span> data-toggle="collapse"
<span class="icon-bar"></span> data-target="#toolbar">
<span class="icon-bar"></span> <span class="sr-only">
<span class="icon-bar"></span> </span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
</button> </button>
%= image '/img/logo_vroom_alpha.png', id => "navBarLogo", class => "hidden-xs" %= image url_for('/img/logo_vroom_alpha.png'), id => "navBarLogo", class => "hidden-xs"
</div> </div>
<div class="collapse navbar-collapse" id="toolbar"> <div class="collapse navbar-collapse"
id="toolbar">
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li id='lnk_index'> <li id='lnk_index'>
<a href="<%= $self->url_for('/') %>"><%= l('HOME') %></a> <a href="<%= url_for('/') %>">
%= l('HOME')
</a>
</li> </li>
<li id='lnk_about'> <li id='lnk_about'>
<a href="<%= $self->url_for('/about') %>"><%= l('ABOUT') %></a> <a href="<%= url_for('/about') %>">
%= l('ABOUT')
</a>
</li> </li>
<li id='lnk_feedback'> <li id='lnk_feedback'>
<a href="<%= $self->url_for('/feedback') %>"><%= l('FEEDBACK') %></a> <a href="<%= url_for('/feedback') %>">
%= l('FEEDBACK')
</a>
</li> </li>
<% if ($config->{'interface.demo'}){ %> % if ($config->{'interface.demo'}){
<li id='lnk_documentation'> <li id='lnk_documentation'>
<a href="<%= $self->url_for('/documentation') %>"><%= l('DOCUMENTATION') %></a> <a href="<%= url_for('/documentation') %>">
%= l('DOCUMENTATION')
</a>
</li> </li>
<% } %> % }
<li id='lnk_admin'> <li id='lnk_admin'>
<a href="<%= $self->url_for('/admin') %>"><%= l('ADMINISTRATION') %></a> <a href="<%= url_for('/admin') %>">
%= l('ADMINISTRATION')
</a>
</li> </li>
<li class="hidden-xs"> <li class="hidden-xs">
<select class="form-control navbar-btn" id="switch_lang"> <select class="form-control navbar-btn"
<% foreach my $lang ($self->get_supported_lang){ %> id="switch_lang">
<option value="<%= $lang %>" <%= ($self->languages eq $lang) ? 'selected="selected"' : '' %>> % foreach my $lang (get_supported_lang){
<%= $lang %> <option value="<%= $lang %>" <%= (languages eq $lang) ? 'selected="selected"' : '' %>>
%= $lang
</option> </option>
<% } %> % }
</select> </select>
</li> </li>
</ul> </ul>

Loading…
Cancel
Save