Browse Source

- Add ConfigData widget

- Fix Posts display
- CSS fix
pull/16/head
Jaussoin Timothée 13 years ago
parent
commit
35c7665a42
  1. 79
      system/Widget/WidgetCommon.php
  2. 14
      system/Widget/widgets/Config/Config.php
  3. 104
      system/Widget/widgets/ConfigData/ConfigData.php
  4. 3
      system/Widget/widgets/ConfigData/configdata.css
  5. 10
      system/Widget/widgets/Feed/Feed.php
  6. 5
      system/Widget/widgets/Login/Login.php
  7. 1
      system/Widget/widgets/Logout/Logout.php
  8. 4
      system/Widget/widgets/Roster/Roster.php
  9. 7
      themes/movim/config.tpl
  10. 4
      themes/movim/css/forms.css
  11. 4
      themes/movim/css/mobile.css
  12. 13
      themes/movim/css/posts.css
  13. 13
      themes/movim/css/style2.css

79
system/Widget/WidgetCommon.php

@ -22,21 +22,6 @@ class WidgetCommon extends WidgetBase {
<span>
'.$post->title.'
</span><br />';
if($post->jid != $post->uri)
$recycle .= '
<span class="recycle">
<a href="?q=friend&f='.$post->uri.'">'.$post->uri.'</a>
</span>';
if($post->getPlace() != false)
$place .= '
<span class="place">
<a
target="_blank"
href="http://www.openstreetmap.org/?lat='.$post->lat.'&lon='.$post->lon.'&zoom=10"
>'.$post->getPlace().'</a>
</span>';
if($this->user->getLogin() == $post->jid) {
$class = 'me ';
@ -46,16 +31,50 @@ class WidgetCommon extends WidgetBase {
$access .= 'protect orange';
}
if($post->commentplace)
$comments = $this->printComments($post, $comments);
else
if($post->public != 2) {
if($post->jid != $post->uri)
$recycle .= '
<span class="recycle">
<a href="?q=friend&f='.$post->uri.'">'.$post->uri.'</a>
</span>';
if($post->getPlace() != false)
$place .= '
<span class="place">
<a
target="_blank"
href="http://www.openstreetmap.org/?lat='.$post->lat.'&lon='.$post->lon.'&zoom=10"
>'.$post->getPlace().'</a>
</span>';
$content =
prepareString(html_entity_decode($post->content));
if($post->commentplace)
$comments = $this->printComments($post, $comments);
else
$comments = '';
$fold = t('Fold');
} else {
$content = '…';
$comments = '';
$fold = t('Unfold');
}
$html = '
<div class="post '.$class.'" id="'.$post->nodeid.'">
<a href="?q=friend&amp;f='.$post->jid.'">
<img class="avatar" src="'.$post->getContact()->getPhoto('m').'">
</a>
<div class="postmenu">
<a
href=""
onclick="'.$this->genCallAjax('ajaxPostFold', "'".$post->nodeid."'").'">'.$fold.'</a>
</div>
<div id="'.$post->nodeid.'" class="postbubble '.$access.'">
'.$title.'
@ -66,9 +85,7 @@ class WidgetCommon extends WidgetBase {
'.prepareDate(strtotime($post->published)).'
</span>
<div class="content">
'.prepareString(html_entity_decode($post->content)).'
<div class="clear"></div>
'.$content.'
</div>
'.$comments.'
'.$place.'
@ -179,7 +196,7 @@ class WidgetCommon extends WidgetBase {
else
return false;
}
/*
protected function preparePost($message, $comments = false) {
$tmp = '<a name="'.$message[0]->getData('nodeid').'"></a>';
@ -352,7 +369,7 @@ class WidgetCommon extends WidgetBase {
}
return $tmp;
}
}*/
protected function prepareComments($comments) {
$tmp = false;
@ -490,6 +507,22 @@ class WidgetCommon extends WidgetBase {
RPC::commit();
}
function ajaxPostFold($nodeid) {
$pd = new \modl\PostDAO();
$p = $pd->get($nodeid);
$public = $p->public;
if($public == 0) {
$p->public = 2;
$pd->set($p);
} elseif($public != 0) {
$p->public = 0;
$pd->set($p);
}
}
function onPostDelete($id) {
RPC::call('movim_delete', $id);
}

14
system/Widget/widgets/Config/Config.php

@ -59,7 +59,7 @@ class Config extends WidgetBase
$submit = $this->genCallAjax('ajaxSubmit', "movim_parse_form('general')")
. "this.className='button icon loading'; setTimeout(function() {location.reload(false)}, 2000);";
?>
<div id="config">
<div class="tabelem" title="<?php echo t('Configuration'); ?>" id="config" >
<form enctype="multipart/form-data" method="post" action="index.php" name="general">
<fieldset>
<legend><?php echo t('General'); ?></legend>
@ -118,6 +118,12 @@ class Config extends WidgetBase
style="background-color: #6d695c;"></div>
</label>
<input type="radio" name="pattern" id="default" value="default"/>
<label for="default"><span></span>
<div class="preview default"
style="background-color: #082D50;;"></div>
</label>
<input type="radio" name="pattern" id="tableclothe" value="tableclothe"/>
<label for="tableclothe"><span></span>
<div class="preview tableclothe"
@ -147,6 +153,12 @@ class Config extends WidgetBase
<div class="preview stars"
style="background-color:black;"></div>
</label>
<input type="radio" name="pattern" id="tartan" value="tartan"/>
<label for="tartan"><span></span>
<div class="preview tartan"
style="background-color: hsl(2, 57%, 40%);"></div>
</label>
</div>
</fieldset>
<br />

104
system/Widget/widgets/ConfigData/ConfigData.php

@ -0,0 +1,104 @@
<?php
/**
* @package Widgets
*
* @file Wall.php
* This file is part of MOVIM.
*
* @brief The configuration form
*
* @author Timothée Jaussoin <edhelas_at_gmail_dot_com>
*
* @version 1.0
* @date 28 October 2010
*
* Copyright (C)2010 MOVIM project
*
* See COPYING for licensing information.
*/
class ConfigData extends WidgetBase
{
function WidgetLoad()
{
$this->addcss('configdata.css');
}
function ajaxClearRosterLink() {
$rd = new \modl\RosterLinkDAO();
$rd->clearRosterLink();
$this->refresh();
}
function ajaxClearMessage() {
$md = new \modl\MessageDAO();
$md->clearMessage();
$this->refresh();
}
function ajaxClearPost() {
$pd = new \modl\PostDAO();
$pd->clearPost();
$this->refresh();
}
function refresh() {
$html = $this->prepareConfigData();
RPC::call('movim_fill', 'configdata', RPC::cdata($html));
RPC::commit();
}
function prepareConfigData() {
$cd = new \modl\ContactDAO();
$stats = $cd->getStatistics();
$clearrosterlink = $this->genCallAjax('ajaxClearRosterLink');
$clearmessage = $this->genCallAjax('ajaxClearMessage');
$clearpost = $this->genCallAjax('ajaxClearPost');
$html = '
<form enctype="multipart/form-data" method="post" action="index.php" name="general">
<fieldset>
<legend>'.t('Cache').'</legend>
<div class="clear"></div>
<div class="element thin">
<label for="name">'.t('Post'). ' - '.$stats['Post'].'</label><br />
<a
type="button"
name="email"
class="button icon back"
onclick="'.$clearpost.'">'.t('Clear').'</a>
</div>
<div class="element thin">
<label for="name">'.t('Messages'). ' - '.$stats['Message'].'</label><br />
<a
type="button"
name="email"
class="button icon back"
onclick="'.$clearmessage.'">'.t('Clear').'</a>
</div>
<div class="element thin">
<label for="name">'.t('Contacts'). ' - '.$stats['RosterLink'].'</label><br />
<a
type="button"
class="button icon back"
onclick="'.$clearrosterlink.'">'.t('Clear').'</a>
</div>
</fieldset>
</form>';
return $html;
}
function build()
{
?>
<div class="tabelem" title="<?php echo t('Data'); ?>" id="configdata" >
<?php echo $this->prepareConfigData(); ?>
</div>
<?php
}
}

3
system/Widget/widgets/ConfigData/configdata.css

@ -0,0 +1,3 @@
#configdata {
padding: 1.5em;
}

10
system/Widget/widgets/Feed/Feed.php

@ -12,6 +12,7 @@ class Feed extends WidgetCommon {
$this->registerEvent('comment', 'onComment');
$this->registerEvent('nocomment', 'onNoComment');
$this->registerEvent('nocommentstream', 'onNoCommentStream');
$this->registerEvent('commentpublisherror', 'onCommentPublishError');
$this->registerEvent('stream', 'onStream');
$this->registerEvent('postpublished', 'onPostPublished');
@ -57,6 +58,14 @@ class Feed extends WidgetCommon {
RPC::call('movim_fill', 'feednotifs', RPC::cdata($html));
RPC::commit();
}
function onCommentPublishError() {
$html =
'<div class="message error">'.
t("Comment publication error").'
</div>';
RPC::call('movim_fill', 'feednotifs', RPC::cdata($html));
}
function onPostPublished($post) {
$pd = new \modl\PostDAO();
@ -200,7 +209,6 @@ class Feed extends WidgetCommon {
t("Your feed cannot be loaded.").'
</div>';
RPC::call('movim_fill', 'feedcontent', RPC::cdata($html));
RPC::commit();
}
function ajaxPublishItem($content)

5
system/Widget/widgets/Login/Login.php

@ -119,6 +119,11 @@ class Login extends WidgetBase {
<div class="message warning">
'.t('Your XMPP server is unauthorized').'
</div>';
case 'mecerror':
$warning = '
<div class="message warning">
'.t('The server takes too much time to repond').'
</div>';
break;
}

1
system/Widget/widgets/Logout/Logout.php

@ -32,6 +32,7 @@ class Logout extends WidgetBase
{
$html = $this->preparePresence();
RPC::call('movim_fill', 'logout', RPC::cdata($html));
RPC::commit();
}
function onPostDisconnect($data)

4
system/Widget/widgets/Roster/Roster.php

@ -198,12 +198,12 @@ class Roster extends WidgetBase
*/
function prepareRoster()
{
$contactdao = new modl\ContactDAO();
$contactdao = new \modl\ContactDAO();
$contacts = $contactdao->getRoster();
$html = '';
$rd = new modl\RosterLinkDAO();
$rd = new \modl\RosterLinkDAO();
$capsdao = new modl\CapsDAO();
$caps = $capsdao->getAll();

7
themes/movim/config.tpl

@ -14,13 +14,12 @@
</div>
<div id="center" class="protect white">
<h1><?php echo t('Configuration'); ?></h1>
<?php $this->widget('Config');?>
<?php $this->widget('Tabs');?>
<?php $this->widget('Config');?>
<?php $this->widget('ConfigData');?>
</div>
</div>
<div id="right">
<?php $this->widget('Roster');?>
</div>

4
themes/movim/css/forms.css

@ -32,6 +32,10 @@ legend {
width: 100%;
}
.element.thin {
width: 25%;
}
.element > label {
display: block;
}

4
themes/movim/css/mobile.css

@ -84,6 +84,10 @@ h1 {
width: 100%;
}
.element.thin {
width: 50%;
}
.posthead {
padding: 0.3em;
}

13
themes/movim/css/posts.css

@ -24,6 +24,18 @@
clear: both;
}
.post .postmenu {
display: block;
clear: left;
float: left;
width: 50px;
margin-right: 15px;
margin-top: 7px;
margin-left: 0px;
text-align: center;
}
.post:first-child {
padding-top: 1.5em;
}
@ -115,7 +127,6 @@
border-top: 1px solid rgba(0, 0, 0, 0.1);
width: 100%;
background-color: rgba(0, 0, 0, 0.03);
clear: both;
}
.post .comments span {

13
themes/movim/css/style2.css

@ -134,6 +134,19 @@ body {
background-position: 0 0, 40px 60px, 130px 270px, 70px 100px;
}
.tartan {
background-image:
repeating-linear-gradient(transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(255,255,255,.2) 166px, rgba(255,255,255,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(255,255,255,.2) 179px, rgba(255,255,255,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
repeating-linear-gradient(270deg, transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(255,255,255,.2) 166px, rgba(255,255,255,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(255,255,255,.2) 179px, rgba(255,255,255,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
repeating-linear-gradient(125deg, transparent, transparent 2px, rgba(0,0,0,.2) 2px, rgba(0,0,0,.2) 3px, transparent 3px, transparent 5px, rgba(0,0,0,.2) 5px);
background-image:
-webkit-repeating-linear-gradient(transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(255,255,255,.2) 166px, rgba(255,255,255,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(255,255,255,.2) 179px, rgba(255,255,255,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
-webkit-repeating-linear-gradient(-180deg, transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(255,255,255,.2) 166px, rgba(255,255,255,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(255,255,255,.2) 179px, rgba(255,255,255,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
-webkit-repeating-linear-gradient(-35deg, transparent, transparent 2px, rgba(0,0,0,.2) 2px, rgba(0,0,0,.2) 3px, transparent 3px, transparent 5px, rgba(0,0,0,.2) 5px);
}
/* A simple clear element*/
.clear {
clear: both;

Loading…
Cancel
Save