Big templates cleanup

This commit is contained in:
Daniel Berteaud 2015-07-23 14:15:30 +02:00
parent 426fa04522
commit 6c2cf3e60a
28 changed files with 1550 additions and 708 deletions

View File

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

View File

@ -3,11 +3,13 @@
%= include 'public_toolbar'
<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') %>">
<%= l('ROOM_MANAGEMENT') %>
<a class="btn btn-lg btn-primary btn-block"
href="<%= url_for('/admin/rooms') %>">
%= l('ROOM_MANAGEMENT')
</a>
<a class="btn btn-lg btn-primary btn-block" href="<%= $self->url_for('/admin/audit') %>">
<%= l('AUDIT') %>
<a class="btn btn-lg btn-primary btn-block"
href="<%= url_for('/admin/audit') %>">
%= l('AUDIT')
</a>
</div>

View File

@ -5,10 +5,14 @@
%= include 'noscript'
<div class="panel panel-default">
<div class="panel-heading">
<form class="form-inline" id="eventSearch" role="form">
<form class="form-inline"
id="eventSearch">
<div class="form-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">
<span class="glyphicon glyphicon-search">
</span>
@ -16,53 +20,70 @@
</div>
</div>
<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 class="form-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">
<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>
</button>
<% 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') %>">
% 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') %>">
<span class="glyphicon glyphicon-save">
</span>
</button>
<% } %>
% }
</span>
</div>
</div>
<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 class="panel-body">
<div class="text-center" id="pagination">
<div class="text-center"
id="pagination">
</div>
<table class="table table-hover">
<thead>
<tr>
<th class="hidden-xs">
<%= l('EVENT_ID') %>
%= l('EVENT_ID')
</th>
<th>
<%= l('EVENT_DATE') %>
%= l('EVENT_DATE')
</th>
<th>
<%= l('EVENT_FROM_IP') %>
%= l('EVENT_FROM_IP')
</th>
<th class="hidden-xs">
<%= l('EVENT') %>
%= l('EVENT')
</th>
<th class="hidden-xs">
<%= l('EVENT_USER') %>
%= l('EVENT_USER')
</th>
<th>
<%= l('EVENT_MESSAGE') %>
%= l('EVENT_MESSAGE')
</th>
</tr>
</thead>

View File

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

View File

@ -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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
<%= l('AUTHENTICATE') %>
%= l('AUTHENTICATE')
</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" role="form" id="ownerAuthForm">
<form class="form-horizontal"
id="ownerAuthForm">
<div class="form-group">
<label for="ownerAuthPass" class="col-sm-4 control-label">
<%= l('PASSWORD') %>
<label for="ownerAuthPass"
class="col-sm-4 control-label">
%= l('PASSWORD')
</label>
<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 class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button type="submit" class="btn btn-default btn-primary">
<%= l('SUBMIT') %>
<button type="submit"
class="btn btn-default btn-primary">
%= l('SUBMIT')
</button>
<button class="btn btn-default" data-dismiss="modal">
<%= l('CANCEL') %>
<button class="btn btn-default"
data-dismiss="modal">
%= l('CANCEL')
</button>
</div>
</div>
@ -34,4 +44,3 @@
</div>
</div>
</div>

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

@ -1,16 +1,22 @@
% title $self->l('FEEDBACK');
% title l('FEEDBACK');
%= include 'header'
%= include 'public_toolbar'
<div class="container-fluid">
<br/>
<div class="jumbotron">
<h2><%= l('THANK_YOU') %></h2>
<p><%= l('THANKS_FOR_YOUR_FEEDBACK') %></p>
<h2>
%= l('THANK_YOU')
</h2>
<p>
%= l('THANKS_FOR_YOUR_FEEDBACK')
</p>
<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>
%= include 'js_common'
%= include 'footer'

View File

@ -2,10 +2,15 @@
<div id="footerContainer">
<div class="container-fluid footer">
<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 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>

View File

@ -1,24 +1,26 @@
% title $self->l('GOODBYE');
% title l('GOODBYE');
%= include 'header'
%= include 'public_toolbar'
<div class="container-fluid">
<br/>
<div class="jumbotron">
<h2>
<%= l('THANKS_SEE_YOU_SOON') %>
%= l('THANKS_SEE_YOU_SOON')
</h2>
<p>
<%= l('THANKS_FOR_USING') %>
%= l('THANKS_FOR_USING')
</p>
<div class='row'>
<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('/') %>">
<%= l('BACK_TO_MAIN_MENU') %>
<a class="btn btn-primary btn-lg btn-full"
href="<%= url_for('/') %>">
%= l('BACK_TO_MAIN_MENU')
</a>
</div>
<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') %>">
<%= l('GIVE_US_YOUR_FEEDBACK') %>
<a class="btn btn-default btn-lg btn-full"
href="<%= url_for('/feedback') %>">
%= l('GIVE_US_YOUR_FEEDBACK')
</a>
</div>
</div>

View File

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

View File

@ -1,4 +1,4 @@
% title $self->l('WELCOME');
% title l('WELCOME');
%= include 'header'
%= include 'public_toolbar'
@ -6,47 +6,70 @@
%= include 'noscript'
<div class="well publicForm">
<h1 class="text-center">
<%= l('CREATE_ROOM') %>
%= l('CREATE_ROOM')
</h1>
<form id="createRoom" class="form-horizontal">
<form id="createRoom"
class="form-horizontal">
<fieldset>
<div class="input-group input-group-lg">
<span class="input-group-addon hidden-xs">
<strong class="text-muted">
<%
my $url = $self->url_for('/')->to_abs;
$url =~ s/^https?:\/\///;
$url .= ($url =~ m/\/$/)? '':'/';
%>
<%= $url %>
%= $self->req->url->to_abs->host_port . $self->req->url->path
</strong>
</span>
<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>
<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>
</div>
</fieldset>
</form>
</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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title"><%= l('THIS_ROOM_ALREADY_EXISTS') %></h4>
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
%= l('THIS_ROOM_ALREADY_EXISTS')
</h4>
</div>
<div class="modal-body">
<div class="panel" id="confirmJoinForm">
<label><%= l('CONFIRM_OR_CHOOSE_ANOTHER_NAME') %></label>
<div class="panel"
id="confirmJoinForm">
<label>
%= l('CONFIRM_OR_CHOOSE_ANOTHER_NAME')
</label>
<div class="btn-group btn-group-justified">
<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 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>
@ -56,127 +79,152 @@
</div>
<br/><br/>
<div class="row">
<div id="carouselIndexContainer" 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">
<div id="carouselIndexContainer"
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">
<li data-target="#carouselIndex" data-slide-to="0" class="active"></li>
<li data-target="#carouselIndex" data-slide-to="1"></li>
<li data-target="#carouselIndex" data-slide-to="2"></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 ($self->get_opt_features->{etherpad}){ %>
<li data-target="#carouselIndex" data-slide-to="7"></li>
<% } %>
<li data-target="#carouselIndex"
data-slide-to="0" class="active">
</li>
<li data-target="#carouselIndex"
data-slide-to="1">
</li>
<li data-target="#carouselIndex"
data-slide-to="2">
</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>
<div id="carouselIndexContent" class="carousel-inner">
<div id="carouselIndexContent"
class="carousel-inner">
<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>
<%= l('P2P_COMMUNICATION') %>
%= l('P2P_COMMUNICATION')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('SECURE') %>
%= l('SECURE')
</h2>
</div>
</div>
<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>
<%= l('MODERN_BROWSERS') %>
%= l('MODERN_BROWSERS')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('WORKS_EVERYWHERE') %>
%= l('WORKS_EVERYWHERE')
</h2>
</div>
</div>
<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>
<%= l('THE_LIMIT_IS_YOUR_PIPE') %>
%= l('THE_LIMIT_IS_YOUR_PIPE')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('MULTI_USER') %>
%= l('MULTI_USER')
</h2>
</div>
</div>
<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>
<%= l('YOU_DONT_HAVE_TO_REGISTER') %>
%= l('YOU_DONT_HAVE_TO_REGISTER')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('NO_SIGNIN') %>
%= l('NO_SIGNIN')
</h2>
</div>
</div>
<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>
<%= l('STOP_WASTING_TIME') %>
%= l('STOP_WASTING_TIME')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('QUICK') %>
%= l('QUICK')
</h2>
</div>
</div>
<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>
<%= l('SHARE_DESKTOP_OR_WINDOW') %>
%= l('SHARE_DESKTOP_OR_WINDOW')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('SCREEN_SHARING') %>
%= l('SCREEN_SHARING')
</h2>
</div>
</div>
<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>
<%= l('SECURED_TEXT_CHAT') %>
%= l('SECURED_TEXT_CHAT')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('TEXT_CHAT') %>
%= l('TEXT_CHAT')
</h2>
</div>
</div>
<% if ($self->get_opt_features->{etherpad}) { %>
% if (get_opt_features->{etherpad}) {
<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>
<%= l('TAKE_NOTE_IN_REALTIME') %>
%= l('TAKE_NOTE_IN_REALTIME')
</p>
<div class="carousel-caption hidden-xs carouselIndexCaption">
<h2>
<%= l('COLLABORATIVE_NOTETAKING') %>
%= l('COLLABORATIVE_NOTETAKING')
</h2>
</div>
</div>
<% } %>
% }
</div>
<a class="left carousel-control" href="#carouselIndex" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<a class="left carousel-control"
href="#carouselIndex"
data-slide="prev">
<span class="glyphicon glyphicon-chevron-left">
</span>
</a>
<a class="right carousel-control" href="#carouselIndex" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<a class="right carousel-control"
href="#carouselIndex"
data-slide="next">
<span class="glyphicon glyphicon-chevron-right">
</span>
</a>
</div>
</div>
</div>
</div>
%= include 'js_common'
<script>
$(document).ready(function() {
initIndex();
});
</script>
<script>
$(document).ready(function() {
initIndex();
});
</script>
%= include 'footer'

View File

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

View File

@ -1,13 +1,20 @@
% title $self->l('INVITATION');
% title l('INVITATION');
%= include 'header'
%= include 'public_toolbar'
<div class="container-fluid">
<br/>
<div class="jumbotron">
<h2><%= l('MESSAGE_SENT') %></h2>
<p><%= l('ORGANIZER_WILL_GET_YOUR_MESSAGE') %></p>
<h2>
%= l('MESSAGE_SENT')
</h2>
<p>
%= l('ORGANIZER_WILL_GET_YOUR_MESSAGE')
</p>
<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>

View File

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

View File

@ -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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
<%= l('SEND_INVITE') %>
%= l('SEND_INVITE')
</h4>
</div>
<div class="modal-body">
<form id="inviteEmail" class="form-horizontal" role="form">
<form id="inviteEmail"
class="form-horizontal">
<div class="form-group">
<label for="recipient" class="col-sm-4 control-label">
<%= l('RECIPIENT') %>
<label for="recipient"
class="col-sm-4 control-label">
%= l('RECIPIENT')
</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">
<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">
<button class="btn btn-primary btn-add-email" type="button">
<button class="btn btn-primary btn-add-email">
<span class="glyphicon glyphicon-plus">
</span>
</button>
@ -28,20 +38,28 @@
</div>
</div>
<div class="form-group">
<label for="message" class="col-sm-4 control-label">
<%= l('MESSAGE') %>
<label for="message"
class="col-sm-4 control-label">
%= l('MESSAGE')
</label>
<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 class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button type="submit" id="inviteEmailButton" class="btn btn-primary">
<%= l('SUBMIT') %>
<button type="submit"
id="inviteEmailButton"
class="btn btn-primary">
%= l('SUBMIT')
</button>
<button class="btn btn-default" data-dismiss="modal">
<%= l('CANCEL') %>
<button class="btn btn-default"
data-dismiss="modal">
%= l('CANCEL')
</button>
</div>
</div>
@ -50,4 +68,3 @@
</div>
</div>
</div>

View File

@ -1,9 +1,12 @@
% title sprintf l('ROOM_s'), $room;
%= include 'header'
<div class="container-fluid">
<nav id="toolbar" class="navbar navbar-default" role="toolbar">
<nav id="toolbar"
class="navbar navbar-default">
<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>
<span class="icon-bar">
@ -24,19 +27,32 @@
</button>
</div>
<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>
</button>
</div>
</div>
<input id="roomName" name="roomName" type="hidden" value="<%= $room %>"/>
<div id="roomToolBar" class="collapse navbar-collapse">
<div id="roomToolBar"
class="collapse navbar-collapse">
<div class="navbar-form navbar-btn-group navbar-left 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">
<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>
</button>
@ -44,66 +60,105 @@
</div>
</div>
<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>
<span class="badge" id="unreadMsg">
0
</span>
</button>
<% if ($self->get_opt_features->{etherpad}){ %>
<button class="btn btn-lg btn-default help btn-etherpad" data-toggle="tooltip" data-placement="bottom" title="<%= l('OPEN_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') %>">
<span class="glyphicon glyphicon-pencil">
</span>
</button>
<% } %>
% }
</div>
<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>
</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>
</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>
</button>
</div>
<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>
</button>
</div>
<div class="btn-group navbar-form navbar-btn-group navbar-left">
<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>
</button>
</div>
<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>
</button>
</div>
</div>
<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>
</button>
</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 id="timeCounter" class="btn btn-lg btn-default disabled">
00:00
</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>
</button>
@ -111,50 +166,61 @@
</div>
</div>
</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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
<%= l('LEAVE_THIS_ROOM') %>
%= l('LEAVE_THIS_ROOM')
</h4>
</div>
<div class="modal-body">
<p>
<%= l('ARE_YOU_SURE_YOU_WANT_TO_LEAVE') %>
%= l('ARE_YOU_SURE_YOU_WANT_TO_LEAVE')
</p>
</div>
<div class="modal-footer">
<button id="confirmQuitButton" class="btn btn-primary">
<%= l('QUIT') %>
<button id="confirmQuitButton"
class="btn btn-primary">
%= l('QUIT')
</button>
<button class="btn btn-default" data-dismiss="modal" data-target="#quitModal">
<%= l('CANCEL') %>
<button class="btn btn-default"
data-dismiss="modal"
data-target="#quitModal">
%= l('CANCEL')
</button>
</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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title" id="chromeExtMessageTitle">
<%= l('EXTENSION_REQUIRED') %>
<h4 class="modal-title">
%= l('EXTENSION_REQUIRED')
</h4>
</div>
<div class="modal-body">
<p>
<%= l('VROOM_CHROME_EXTENSION') %>
%= l('VROOM_CHROME_EXTENSION')
</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>
</a>
@ -163,158 +229,198 @@
</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-content">
<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;
</button>
<h4 class="modal-title">
<%= l('ALLOW_SCREEN_SHARING') %>
%= l('ALLOW_SCREEN_SHARING')
</h4>
</div>
<div class="modal-body">
<p>
<%= l('ALLOW_SCREEN_SHARING_ON_FF') %>
<%== sprintf $self->l('SCREEN_SHARING_ABOUT_CONFIG_s'), $self->req->url->to_abs->host %>
%= l('ALLOW_SCREEN_SHARING_ON_FF')
%== sprintf l('SCREEN_SHARING_ABOUT_CONFIG_s'), $self->req->url->to_abs->host
</p>
</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-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<button class="close"
data-dismiss="modal">
&times;
</button>
<h4 class="modal-title">
<%= l('CONNECTION_LOST') %>
%= l('CONNECTION_LOST')
</h4>
</div>
<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>
<p class="text-center">
<%= l('CHECK_INTERNET_ACCESS') %>
%= l('CHECK_INTERNET_ACCESS')
</p>
</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-content">
<div class="modal-header">
<h4 class="modal-title">
<%= l('CONNECTING') %>
%= l('CONNECTING')
</h4>
</div>
<div class="modal-body">
<div id="connecting-msg" class="connecting-msg">
%= image '/img/connecting.gif', alt => $self->l('CONNECTING'), class => "img-responsive center-block"
<div id="connecting-msg"
class="connecting-msg">
%= image url_for('/img/connecting.gif'), alt => l('CONNECTING'), class => "img-responsive center-block"
<br>
<p class="text-center">
<%= l('CONNECTING_PLEASE_WAIT') %>
%= l('CONNECTING_PLEASE_WAIT')
</p>
<p class="text-center connecting-err-reason">
</p>
</div>
<div id="room-is-locked" class="connecting-msg" style="display: none">
%= image '/img/lock.png', alt => $self->l('LOCKED'), class => "img-responsive center-block"
<div id="room-is-locked"
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>
</div>
<div id="no-media-msg" class="connecting-msg" style="display: none">
<% if (defined(stash('video')) && stash('video') eq 'false'){ %>
<div id="no-media-msg"
class="connecting-msg"
style="display: none">
% if (defined(stash('video')) && stash('video') eq 'false'){
<p class="text-center">
<%= l('NO_MEDIA_AVAILABLE') %>
%= l('NO_MEDIA_AVAILABLE')
</p>
<div class="row">
<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 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>
<br>
<p class="text-center">
<%= l('YOU_NEED8MIC_OR_WEBCAM') %>
%= l('YOU_NEED8MIC_OR_WEBCAM')
</p>
<% } else { %>
% } else {
<p class="text-center">
<%= l('CANT_ACCESS_WEBCAM') %>
%= l('CANT_ACCESS_WEBCAM')
</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>
<p class="text-center">
<%= l('CLICK_IF_NO_WEBCAM') %>
%= l('CLICK_IF_NO_WEBCAM')
</p>
<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>
</a>
</p>
<% } %>
% }
</div>
<div id="auth-before-join" class="connecting-msg" style="display: none">
<form role="form" class="form-horizontal" id="authBeforeJoinForm">
<div id="auth-before-join"
class="connecting-msg"
style="display: none">
<form class="form-horizontal"
id="authBeforeJoinForm">
<div class="form-group">
<label for="authBeforJoinPass" class="col-sm-4 control-label">
<%= l('PASSWORD') %>
<label for="authBeforJoinPass"
class="col-sm-4 control-label">
%= l('PASSWORD')
</label>
<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 class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button id="authBeforeJoinButton" class="btn btn-primary disabled" type="submit">
<%= l('SUBMIT') %>
<button id="authBeforeJoinButton"
class="btn btn-primary disabled"
type="submit">
%= l('SUBMIT')
</button>
<a class="btn btn-default" href="<%= $self->url_for('/') %>">
<%= l('CANCEL') %>
<a class="btn btn-default"
href="<%= url_for('/') %>">
%= l('CANCEL')
</a>
</div>
</div>
</form>
</div>
<div id="display-name-pre" class="connecting-msg" style="display: none">
<form role="form" class="form-horizontal" id="displayNamePreForm">
<div id="display-name-pre"
class="connecting-msg"
style="display: none">
<form class="form-horizontal"
id="displayNamePreForm">
<p class="text-center">
<%= l('SET_A_DISPLAY_NAME') %>
%= l('SET_A_DISPLAY_NAME')
</p>
<div class="form-group">
<label for="displayNamePre" class="col-sm-4 control-label">
<%= l('DISPLAY_NAME') %>
<label for="displayNamePre"
class="col-sm-4 control-label">
%= l('DISPLAY_NAME')
</label>
<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 class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button id="displayNamePreButton" class="btn btn-primary disabled" type="submit">
<%= l('SUBMIT') %>
<button id="displayNamePreButton"
class="btn btn-primary disabled"
type="submit">
%= l('SUBMIT')
</button>
<a class="btn btn-default" href="<%= $self->url_for('/') %>">
<%= l('CANCEL') %>
<a class="btn btn-default"
href="<%= url_for('/') %>">
%= l('CANCEL')
</a>
</div>
</div>
</form>
</div>
<div id="no-webrtc-msg" class="connecting-msg" style="display: none">
<div id="no-webrtc-msg"
class="connecting-msg"
style="display: none">
<p>
<%= l('NO_WEBRTC_SUPPORT') %>
%= l('NO_WEBRTC_SUPPORT')
</p>
<% if ($ua !~ m/iphone|ipad|ipod/i){ %>
% if ($ua !~ m/iphone|ipad|ipod/i){
<p>
<%= l('DOWNLOAD_ONE_OF_THESE_BROWSERS') %>
%= l('DOWNLOAD_ONE_OF_THESE_BROWSERS')
</p>
<div class="row">
<%
@ -328,44 +434,63 @@
}
%>
<div class="col-xs-4">
<a href="<%= $ffurl %>" target="_blank">
%= image '/img/firefox.png', alt => "Mozilla Firefox", class => "img-responsive center-block"
<a href="<%= $ffurl %>"
target="_blank">
%= image url_for('/img/firefox.png'), alt => "Mozilla Firefox", class => "img-responsive center-block"
</a>
</div>
<div class="col-xs-4">
<a href="<%= $churl %>" target="_blank">
%= image '/img/chrome.png', alt => "Google Chrome", class => "img-responsive center-block"
<a href="<%= $churl %>"
target="_blank">
%= image url_for('/img/chrome.png'), alt => "Google Chrome", class => "img-responsive center-block"
</a>
</div>
<div class="col-xs-4">
<a href="<%= $opurl %>" target="_blank">
%= image '/img/opera.png', alt => "Opera", class => "img-responsive center-block"
<a href="<%= $opurl %>"
target="_blank">
%= image url_for('/img/opera.png'), alt => "Opera", class => "img-responsive center-block"
</a>
</div>
</div>
<% } %>
% }
</div>
</div>
</div>
</div>
</div>
%=include 'invite_modal'
%=include 'configure_modal'
%=include 'auth_modal'
%=include 'noscript'
%= include 'invite_modal'
%= include 'configure_modal'
%= include 'auth_modal'
%= include 'noscript'
<div class="frame">
<div id="chatMenu" class="nav-collapse collapse hidden-xs">
<div id="chatHistory" class="form-control">
<div id="chatMenu"
class="nav-collapse collapse hidden-xs">
<div id="chatHistory"
class="form-control">
</div>
<form role="form" id="chatForm">
<form id="chatForm">
<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">
<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>
</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>
</button>
@ -373,27 +498,42 @@
</div>
</form>
</div>
<audio id="mohPlayer" src="<%= $self->url_for('/snd/moh/' . $moh) %>" loop></audio>
<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;">
<audio id="mohPlayer"
src="<%= url_for('/snd/moh/' . $moh) %>"
loop>
</audio>
<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>
<div id="localVolume" class="volumeBar">
<div id="localVolume"
class="volumeBar">
</div>
<div id="name_local" class="displayName">
<div id="name_local"
class="displayName">
</div>
</div>
</div>
<div id="mainView" class="col-xs-12 col-sm-8">
<% if ($self->get_opt_features->{etherpad}){ %>
<div id="etherpadContainer" class="hidden-xs"></div>
<% } %>
<div id="mainView"
class="col-xs-12 col-sm-8">
% if (get_opt_features->{etherpad}){
<div id="etherpadContainer"
class="hidden-xs">
</div>
% }
<div id="mainVideo">
</div>
<div id="aloneMsg" class="aloneEl">
<div id="aloneMsg"
class="aloneEl">
<h2 class="text-center">
<%= l('ALONE_IN_ROOM') %>
%= l('ALONE_IN_ROOM')
</h2>
</div>
</div>
@ -404,10 +544,8 @@
var roomName = '<%= $room %>';
$( document ).ready(function() {
etherpad = {
enabled: <%= $self->get_opt_features->{etherpad} ? 'true' : 'false' %>,
<%
my $ethuri = Mojo::URL->new($config->{'etherpad.uri'});
%>
enabled: <%= get_opt_features->{etherpad} ? 'true' : 'false' %>,
% my $ethuri = Mojo::URL->new($config->{'etherpad.uri'});
host: "<%= $ethuri->scheme . '://' . $ethuri->authority %>",
path: "<%= $ethuri->path . '/p/' %>",
group: "<%= $etherpadGroup %>"

View File

@ -1,25 +1,39 @@
<script type="text/javascript">
<% my $url = $self->url_for('/');
$url .= ($url =~ m/\/$/) ? '' : '/'; %>
var rootUrl = '<%= $url %>';
var currentLang = '<%= $self->languages %>';
var api_key = '<%= ($self->session('key')) ? $self->session('key') : '' %>';
var page = '<%= stash('page') ? stash('page') : "" %>';
var rootUrl = '<%= url_for('/') %>';
var currentLang = '<%= languages %>';
var api_key = '<%= (session('key')) ? session('key') : '' %>';
var page = '<%= stash('page') ? stash('page') : '' %>';
var roomName;
</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
foreach my $l ($self->get_supported_lang){
if (-e 'public/js/datepicker-locales/bootstrap-datepicker.' . $l . '.js'){
push @js, 'datepicker-locales/bootstrap-datepicker.' . $l . '.js';
}
foreach my $l (get_supported_lang){
push @js, 'datepicker-locales/bootstrap-datepicker.' . $l . '.js'
if (-e 'public/js/datepicker-locales/bootstrap-datepicker.' . $l . '.js');
}
push @js, 'vroom.js';
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

View File

@ -1,12 +1,19 @@
% title $self->l('KICKED');
% title l('KICKED');
%= include 'header'
%= include 'public_toolbar'
<div class="container-fluid">
<div class="jumbotron alert-danger">
<h2><%= l('YOU_HAVE_BEEN_KICKED') %></h2>
<p><%= l('AN_ADMIN_HAS_KICKED_YOU') %></p>
<h2>
%= l('YOU_HAVE_BEEN_KICKED')
</h2>
<p>
%= l('AN_ADMIN_HAS_KICKED_YOU')
</p>
<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>

View File

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

View File

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

View File

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

View File

@ -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="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#toolbar">
<span class="sr-only"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<button class="navbar-toggle"
data-toggle="collapse"
data-target="#toolbar">
<span class="sr-only">
</span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
</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 class="collapse navbar-collapse" id="toolbar">
<div class="collapse navbar-collapse"
id="toolbar">
<ul class="nav navbar-nav navbar-right">
<li id='lnk_index'>
<a href="<%= $self->url_for('/') %>"><%= l('HOME') %></a>
<a href="<%= url_for('/') %>">
%= l('HOME')
</a>
</li>
<li id='lnk_about'>
<a href="<%= $self->url_for('/about') %>"><%= l('ABOUT') %></a>
<a href="<%= url_for('/about') %>">
%= l('ABOUT')
</a>
</li>
<li id='lnk_feedback'>
<a href="<%= $self->url_for('/feedback') %>"><%= l('FEEDBACK') %></a>
<a href="<%= url_for('/feedback') %>">
%= l('FEEDBACK')
</a>
</li>
<% if ($config->{'interface.demo'}){ %>
% if ($config->{'interface.demo'}){
<li id='lnk_documentation'>
<a href="<%= $self->url_for('/documentation') %>"><%= l('DOCUMENTATION') %></a>
<a href="<%= url_for('/documentation') %>">
%= l('DOCUMENTATION')
</a>
</li>
<% } %>
% }
<li id='lnk_admin'>
<a href="<%= $self->url_for('/admin') %>"><%= l('ADMINISTRATION') %></a>
<a href="<%= url_for('/admin') %>">
%= l('ADMINISTRATION')
</a>
</li>
<li class="hidden-xs">
<select class="form-control navbar-btn" id="switch_lang">
<% foreach my $lang ($self->get_supported_lang){ %>
<option value="<%= $lang %>" <%= ($self->languages eq $lang) ? 'selected="selected"' : '' %>>
<%= $lang %>
<select class="form-control navbar-btn"
id="switch_lang">
% foreach my $lang (get_supported_lang){
<option value="<%= $lang %>" <%= (languages eq $lang) ? 'selected="selected"' : '' %>>
%= $lang
</option>
<% } %>
% }
</select>
</li>
</ul>