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
-
69app/widgets/Avatar/_avatar_form.tpl
-
53app/widgets/Avatar/avatar.css
-
53app/widgets/Chat/Chat.php
-
2app/widgets/Chat/_chat_header.tpl
-
20app/widgets/Chat/_chat_messages.tpl
-
7app/widgets/Chats/Chats.php
-
4app/widgets/Login/login.css
-
14app/widgets/Menu/_menu_list.tpl
-
40lib/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"> |
|||
<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 /> |
|||
|
|||
<input type="file" onchange="vCardImageLoad(this.files);"> |
|||
<h3>{$c->__('page.avatar')}</h3> |
|||
<div class="block"> |
|||
<input type="file" onchange="vCardImageLoad(this.files);"> |
|||
<label for="avatar">{$c->__('page.avatar')}</label> |
|||
<input type="hidden" name="photobin" value="{$photobin}"/> |
|||
</div> |
|||
|
|||
<input type="hidden" name="photobin" value="{$photobin}"/> |
|||
</div> |
|||
<div class="block" id="result"> |
|||
<img id="vCardPhotoPreview" src="data:image/jpeg;base64,{$photobin}"> |
|||
<span id="picturesize" class="clean"></span> |
|||
</div> |
|||
|
|||
<div class="element" id="camdiv"> |
|||
<label for="url"><i class="fa fa-camera"></i> {$c->__('avatar.webcam')}</label> |
|||
<video id="runningcam" class="squares" autoplay></video> |
|||
<canvas style="display:none;"></canvas> |
|||
|
|||
<a |
|||
id="shoot" |
|||
class="button color green" |
|||
onclick="return false;"> |
|||
<i class="fa fa-smile-o"></i> {$c->__('avatar.cheese')} |
|||
</a> |
|||
<a |
|||
id="capture" |
|||
class="button color purple" |
|||
onclick=" |
|||
showVideo(); |
|||
return false;"> |
|||
<i class="fa fa-smile-o"></i> {$c->__('avatar.snapshot')} |
|||
</a> |
|||
</div> |
|||
</fieldset> |
|||
<div id="camdiv" class="block"> |
|||
<video id="runningcam" class="squares" autoplay></video> |
|||
<canvas style="display:none;"></canvas> |
|||
|
|||
<a |
|||
id="shoot" |
|||
class="button flat oppose" |
|||
onclick="return false;"> |
|||
{$c->__('avatar.cheese')} |
|||
</a> |
|||
<a |
|||
id="capture" |
|||
class="button flat" |
|||
onclick=" |
|||
showVideo(); |
|||
return false;"> |
|||
{$c->__('avatar.snapshot')} |
|||
</a> |
|||
<label for="url">{$c->__('avatar.webcam')}</label> |
|||
</div> |
|||
|
|||
<div class="clear"></div> |
|||
|
|||
<a |
|||
onclick=" |
|||
{$submit} |
|||
movim_button_save('#avatarvalidate'); |
|||
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" |
|||
><i class="fa fa-check"></i> {$c->__('button.submit')}</a> |
|||
>{$c->__('button.submit')}</a> |
|||
</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; |
|||
} |
|||
|
|||
#avatar .element.active #runningcam{ |
|||
#avatar #camdiv.active #runningcam{ |
|||
display: block; |
|||
} |
|||
|
|||
#avatar .element.active #shoot{ |
|||
#avatar #camdiv.active #shoot{ |
|||
display: inline-block; |
|||
} |
|||
|
|||
#avatar .element.active #capture { |
|||
#avatar #camdiv #runningcam { |
|||
max-width: 100%; |
|||
} |
|||
|
|||
#avatar #camdiv.active #capture { |
|||
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{ |
|||
height:200px; |
|||
box-shadow: none !important; |
|||
border: 0px !important; |
|||
} |
|||
*/ |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue