Browse Source
- Complete the Chat features (composing + paused)
- Complete the Chat features (composing + paused)
- Add color chooser in the Controllers - Fix the forms CSS - Fix the Avatar widget - Fix XMPPtoForm (move the labels) - Fix the colors CSSpull/16/head
18 changed files with 224 additions and 92 deletions
-
1app/controllers/ChatController.php
-
9app/controllers/ConfController.php
-
1app/controllers/ContactController.php
-
9app/controllers/HelpController.php
-
1app/views/conf.tpl
-
2app/views/page.tpl
-
37app/widgets/Avatar/_avatar_form.tpl
-
51app/widgets/Avatar/avatar.css
-
53app/widgets/Chat/Chat.php
-
2app/widgets/Chat/_chat_header.tpl
-
18app/widgets/Chat/_chat_messages.tpl
-
5app/widgets/Chats/Chats.php
-
4app/widgets/Login/login.css
-
12app/widgets/Menu/_menu_list.tpl
-
36lib/XMPPtoForm.php
-
17system/template/TplPageBuilder.php
-
8themes/material/css/color.css
-
6themes/material/css/form.css
@ -1,45 +1,46 @@ |
|||||
<form name="avatarform" id="avatarform"> |
<form name="avatarform" id="avatarform"> |
||||
<fieldset> |
|
||||
<legend>{$c->__('page.avatar')}</legend> |
|
||||
<div class="element"> |
|
||||
<label for="avatar">{$c->__('page.avatar')}</label> |
|
||||
<img id="vCardPhotoPreview" src="data:image/jpeg;base64,{$photobin}"> |
|
||||
<br /><span id="picturesize" class="clean"></span><br /><br /> |
|
||||
|
|
||||
|
<h3>{$c->__('page.avatar')}</h3> |
||||
|
<div class="block"> |
||||
<input type="file" onchange="vCardImageLoad(this.files);"> |
<input type="file" onchange="vCardImageLoad(this.files);"> |
||||
|
|
||||
|
<label for="avatar">{$c->__('page.avatar')}</label> |
||||
<input type="hidden" name="photobin" value="{$photobin}"/> |
<input type="hidden" name="photobin" value="{$photobin}"/> |
||||
</div> |
</div> |
||||
|
|
||||
<div class="element" id="camdiv"> |
|
||||
<label for="url"><i class="fa fa-camera"></i> {$c->__('avatar.webcam')}</label> |
|
||||
|
<div class="block" id="result"> |
||||
|
<img id="vCardPhotoPreview" src="data:image/jpeg;base64,{$photobin}"> |
||||
|
<span id="picturesize" class="clean"></span> |
||||
|
</div> |
||||
|
|
||||
|
<div id="camdiv" class="block"> |
||||
<video id="runningcam" class="squares" autoplay></video> |
<video id="runningcam" class="squares" autoplay></video> |
||||
<canvas style="display:none;"></canvas> |
<canvas style="display:none;"></canvas> |
||||
|
|
||||
<a |
<a |
||||
id="shoot" |
id="shoot" |
||||
class="button color green" |
|
||||
|
class="button flat oppose" |
||||
onclick="return false;"> |
onclick="return false;"> |
||||
<i class="fa fa-smile-o"></i> {$c->__('avatar.cheese')} |
|
||||
|
{$c->__('avatar.cheese')} |
||||
</a> |
</a> |
||||
<a |
<a |
||||
id="capture" |
id="capture" |
||||
class="button color purple" |
|
||||
|
class="button flat" |
||||
onclick=" |
onclick=" |
||||
showVideo(); |
showVideo(); |
||||
return false;"> |
return false;"> |
||||
<i class="fa fa-smile-o"></i> {$c->__('avatar.snapshot')} |
|
||||
|
{$c->__('avatar.snapshot')} |
||||
</a> |
</a> |
||||
|
<label for="url">{$c->__('avatar.webcam')}</label> |
||||
</div> |
</div> |
||||
</fieldset> |
|
||||
|
|
||||
|
<div class="clear"></div> |
||||
|
|
||||
<a |
<a |
||||
onclick=" |
onclick=" |
||||
{$submit} |
{$submit} |
||||
movim_button_save('#avatarvalidate'); |
movim_button_save('#avatarvalidate'); |
||||
this.value = '{$c->__('button.submitting')}'; |
this.value = '{$c->__('button.submitting')}'; |
||||
this.className='button color orange inactive oppose';" |
|
||||
class="button color green oppose" |
|
||||
|
this.className='button color inactive oppose';" |
||||
|
class="button color oppose" |
||||
id="avatarvalidate" |
id="avatarvalidate" |
||||
><i class="fa fa-check"></i> {$c->__('button.submit')}</a> |
|
||||
|
>{$c->__('button.submit')}</a> |
||||
</form> |
</form> |
||||
@ -1,26 +1,63 @@ |
|||||
#avatar img { |
|
||||
margin: 0 auto; |
|
||||
|
#avatar form { |
||||
|
margin-top: 2rem; |
||||
} |
} |
||||
|
|
||||
#avatar .element #runningcam, |
|
||||
#avatar .element #shoot{ |
|
||||
|
#avatar #camdiv { |
||||
|
padding-top: 5rem; |
||||
|
} |
||||
|
|
||||
|
#avatar #camdiv #runningcam, |
||||
|
#avatar #camdiv #shoot{ |
||||
display: none; |
display: none; |
||||
} |
} |
||||
|
|
||||
#avatar .element.active #runningcam{ |
|
||||
|
#avatar #camdiv.active #runningcam{ |
||||
display: block; |
display: block; |
||||
} |
} |
||||
|
|
||||
#avatar .element.active #shoot{ |
|
||||
|
#avatar #camdiv.active #shoot{ |
||||
display: inline-block; |
display: inline-block; |
||||
} |
} |
||||
|
|
||||
#avatar .element.active #capture { |
|
||||
|
#avatar #camdiv #runningcam { |
||||
|
max-width: 100%; |
||||
|
} |
||||
|
|
||||
|
#avatar #camdiv.active #capture { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
|
|
||||
|
#avatar #result { |
||||
|
min-height: 35rem; |
||||
|
overflow: hidden; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
#avatar video { |
||||
|
background-color: #1F1F1F; |
||||
|
width: 100%; |
||||
|
min-height: 35rem; |
||||
|
} |
||||
|
|
||||
|
#avatar #result img { |
||||
|
position:absolute; |
||||
|
top: 0; |
||||
|
bottom: 0; |
||||
|
margin:auto; |
||||
|
left: calc(50% - 105px); |
||||
|
} |
||||
|
|
||||
|
#avatar #result span { |
||||
|
position: absolute; |
||||
|
bottom: 1rem; |
||||
|
font-size: 1.5rem; |
||||
|
margin-left: -3rem; |
||||
|
} |
||||
|
|
||||
|
/* |
||||
.squares, #snap{ |
.squares, #snap{ |
||||
height:200px; |
height:200px; |
||||
box-shadow: none !important; |
box-shadow: none !important; |
||||
border: 0px !important; |
border: 0px !important; |
||||
} |
} |
||||
|
*/ |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue