From 4096cad2845c2106db4cc462a88d8f093a5faabd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaussoin=20Timoth=C3=A9e?= Date: Wed, 25 Feb 2015 23:45:44 +0100 Subject: [PATCH] - Start to remove old widgets - Add Twimoji pack - Load library heyupdate/emoji to replace properly the emoji --- app/helpers/StringHelper.php | 13 +- app/widgets/Chat/Chat.php | 3 +- app/widgets/Chat/chat.css | 2 +- app/widgets/ContactAction/ContactAction.php | 153 ---------------- app/widgets/ContactAction/contactaction.tpl | 3 - app/widgets/ContactAction/locales.ini | 5 - app/widgets/ContactCard/ContactCard.php | 151 ---------------- app/widgets/ContactCard/contactcard.css | 7 - app/widgets/ContactCard/contactcard.tpl | 6 - app/widgets/ContactCard/locales.ini | 15 -- app/widgets/ContactInfo/ContactInfo.php | 163 ------------------ app/widgets/ContactInfo/contactinfo.css | 12 -- app/widgets/ContactInfo/contactinfo.tpl | 3 - app/widgets/ContactInfo/locales.ini | 13 -- app/widgets/ContactManage/ContactManage.php | 76 -------- .../ContactManage/_contact_manage_form.tpl | 35 ---- app/widgets/ContactManage/contactmanage.tpl | 5 - app/widgets/ContactManage/locales.ini | 4 - .../ContactPubsubSubscription.php | 74 -------- .../contactpubsubsubscription.js | 5 - .../contactpubsubsubscription.tpl | 10 -- .../ContactPubsubSubscription/locales.ini | 2 - app/widgets/ContactSummary/ContactSummary.php | 76 -------- .../_contactsummary_content.tpl | 20 --- app/widgets/ContactSummary/contactsummary.css | 37 ---- app/widgets/ContactSummary/contactsummary.tpl | 11 -- composer.json | 1 + themes/material/css/list.css | 4 +- themes/material/img/smileys/aloneyeah.png | Bin 3615 -> 0 bytes themes/material/img/smileys/ange.gif | Bin 403 -> 0 bytes themes/material/img/smileys/angry.png | Bin 452 -> 0 bytes themes/material/img/smileys/confused.gif | Bin 110 -> 0 bytes themes/material/img/smileys/confused.png | Bin 422 -> 0 bytes themes/material/img/smileys/cool.png | Bin 410 -> 0 bytes themes/material/img/smileys/cry.gif | Bin 176 -> 0 bytes themes/material/img/smileys/epic.png | Bin 5055 -> 0 bytes themes/material/img/smileys/evil.png | Bin 493 -> 0 bytes themes/material/img/smileys/fapfap.png | Bin 4049 -> 0 bytes themes/material/img/smileys/fou.gif | Bin 122 -> 0 bytes themes/material/img/smileys/frown.gif | Bin 94 -> 0 bytes themes/material/img/smileys/genius.png | Bin 4278 -> 0 bytes themes/material/img/smileys/grin.png | Bin 447 -> 0 bytes themes/material/img/smileys/gusta.png | Bin 1917 -> 0 bytes themes/material/img/smileys/happy.png | Bin 442 -> 0 bytes themes/material/img/smileys/heart.png | Bin 248 -> 0 bytes themes/material/img/smileys/heink.gif | Bin 282 -> 0 bytes themes/material/img/smileys/jap.gif | Bin 457 -> 0 bytes themes/material/img/smileys/locked.png | Bin 199 -> 0 bytes themes/material/img/smileys/loop.png | Bin 133 -> 0 bytes themes/material/img/smileys/neutral.png | Bin 360 -> 0 bytes themes/material/img/smileys/okay.gif | Bin 2192 -> 0 bytes themes/material/img/smileys/pencil.png | Bin 203 -> 0 bytes themes/material/img/smileys/petrus75.gif | Bin 883 -> 0 bytes themes/material/img/smileys/pfff.gif | Bin 1171 -> 0 bytes themes/material/img/smileys/pt1cable.gif | Bin 500 -> 0 bytes themes/material/img/smileys/redface.gif | Bin 95 -> 0 bytes themes/material/img/smileys/sad.png | Bin 425 -> 0 bytes themes/material/img/smileys/shocked.png | Bin 397 -> 0 bytes themes/material/img/smileys/smiley.png | Bin 442 -> 0 bytes themes/material/img/smileys/tongue.png | Bin 382 -> 0 bytes themes/material/img/smileys/trolldad.png | Bin 3490 -> 0 bytes themes/material/img/smileys/trollface.png | Bin 4454 -> 0 bytes themes/material/img/smileys/trollol.png | Bin 1988 -> 0 bytes themes/material/img/smileys/users.png | Bin 386 -> 0 bytes themes/material/img/smileys/wink.png | Bin 452 -> 0 bytes themes/material/img/smileys/wondering.png | Bin 419 -> 0 bytes 66 files changed, 16 insertions(+), 893 deletions(-) delete mode 100755 app/widgets/ContactAction/ContactAction.php delete mode 100755 app/widgets/ContactAction/contactaction.tpl delete mode 100755 app/widgets/ContactAction/locales.ini delete mode 100755 app/widgets/ContactCard/ContactCard.php delete mode 100755 app/widgets/ContactCard/contactcard.css delete mode 100755 app/widgets/ContactCard/contactcard.tpl delete mode 100755 app/widgets/ContactCard/locales.ini delete mode 100755 app/widgets/ContactInfo/ContactInfo.php delete mode 100755 app/widgets/ContactInfo/contactinfo.css delete mode 100755 app/widgets/ContactInfo/contactinfo.tpl delete mode 100755 app/widgets/ContactInfo/locales.ini delete mode 100755 app/widgets/ContactManage/ContactManage.php delete mode 100755 app/widgets/ContactManage/_contact_manage_form.tpl delete mode 100755 app/widgets/ContactManage/contactmanage.tpl delete mode 100755 app/widgets/ContactManage/locales.ini delete mode 100755 app/widgets/ContactPubsubSubscription/ContactPubsubSubscription.php delete mode 100755 app/widgets/ContactPubsubSubscription/contactpubsubsubscription.js delete mode 100755 app/widgets/ContactPubsubSubscription/contactpubsubsubscription.tpl delete mode 100755 app/widgets/ContactPubsubSubscription/locales.ini delete mode 100755 app/widgets/ContactSummary/ContactSummary.php delete mode 100644 app/widgets/ContactSummary/_contactsummary_content.tpl delete mode 100755 app/widgets/ContactSummary/contactsummary.css delete mode 100755 app/widgets/ContactSummary/contactsummary.tpl delete mode 100755 themes/material/img/smileys/aloneyeah.png delete mode 100755 themes/material/img/smileys/ange.gif delete mode 100755 themes/material/img/smileys/angry.png delete mode 100755 themes/material/img/smileys/confused.gif delete mode 100755 themes/material/img/smileys/confused.png delete mode 100755 themes/material/img/smileys/cool.png delete mode 100755 themes/material/img/smileys/cry.gif delete mode 100755 themes/material/img/smileys/epic.png delete mode 100755 themes/material/img/smileys/evil.png delete mode 100755 themes/material/img/smileys/fapfap.png delete mode 100755 themes/material/img/smileys/fou.gif delete mode 100755 themes/material/img/smileys/frown.gif delete mode 100755 themes/material/img/smileys/genius.png delete mode 100755 themes/material/img/smileys/grin.png delete mode 100755 themes/material/img/smileys/gusta.png delete mode 100755 themes/material/img/smileys/happy.png delete mode 100755 themes/material/img/smileys/heart.png delete mode 100755 themes/material/img/smileys/heink.gif delete mode 100755 themes/material/img/smileys/jap.gif delete mode 100755 themes/material/img/smileys/locked.png delete mode 100755 themes/material/img/smileys/loop.png delete mode 100755 themes/material/img/smileys/neutral.png delete mode 100755 themes/material/img/smileys/okay.gif delete mode 100755 themes/material/img/smileys/pencil.png delete mode 100755 themes/material/img/smileys/petrus75.gif delete mode 100755 themes/material/img/smileys/pfff.gif delete mode 100755 themes/material/img/smileys/pt1cable.gif delete mode 100755 themes/material/img/smileys/redface.gif delete mode 100755 themes/material/img/smileys/sad.png delete mode 100755 themes/material/img/smileys/shocked.png delete mode 100755 themes/material/img/smileys/smiley.png delete mode 100755 themes/material/img/smileys/tongue.png delete mode 100755 themes/material/img/smileys/trolldad.png delete mode 100755 themes/material/img/smileys/trollface.png delete mode 100755 themes/material/img/smileys/trollol.png delete mode 100755 themes/material/img/smileys/users.png delete mode 100755 themes/material/img/smileys/wink.png delete mode 100755 themes/material/img/smileys/wondering.png diff --git a/app/helpers/StringHelper.php b/app/helpers/StringHelper.php index 4609de0a6..2a5731c92 100755 --- a/app/helpers/StringHelper.php +++ b/app/helpers/StringHelper.php @@ -1,5 +1,8 @@ get(); $theme = $config->theme; - $path = BASE_URI . 'themes/' . $theme . '/img/smileys/'; + $path = BASE_URI . 'themes/' . $theme . '/img/emojis/'; + + /* foreach($smileys as $key => $value) { $replace = ' smiley'; $string = preg_replace('/(^|[ ])('.$key.')/', $replace, $string); - } + }*/ + + $emoji = new Emoji(new EmojiIndex(), $path.'%s.png'); + $string = $emoji->replaceEmojiWithImages($string); return trim($string); } @@ -310,4 +318,3 @@ function stringToColor($string) { function firstLetterCapitalize($string) { return ucfirst(strtolower(mb_substr($string, 0, 2))); } - diff --git a/app/widgets/Chat/Chat.php b/app/widgets/Chat/Chat.php index 1f6e32469..f6186795a 100644 --- a/app/widgets/Chat/Chat.php +++ b/app/widgets/Chat/Chat.php @@ -33,6 +33,8 @@ class Chat extends WidgetCommon && $message->type != 'groupchat') { Notification::append('chat|'.$from, $contact->getTrueName(), $message->body, $contact->getPhoto('s'), 4); } + + RPC::call('movim_fill', $from.'_state', ''); // If the message is from me } else { $from = $message->jidto; @@ -45,7 +47,6 @@ class Chat extends WidgetCommon } RPC::call('movim_append', $from.'_conversation', $this->prepareMessage($message, $from, $contact, $me)); - RPC::call('movim_fill', $from.'_state', ''); RPC::call('MovimTpl.scrollPanel'); } diff --git a/app/widgets/Chat/chat.css b/app/widgets/Chat/chat.css index 70c2421d0..54e91559c 100644 --- a/app/widgets/Chat/chat.css +++ b/app/widgets/Chat/chat.css @@ -18,10 +18,10 @@ #chat_widget .chat_box form > div { min-height: 0; + margin-bottom: -1rem; } #chat_widget .chat_box form textarea { - margin-bottom: 0; padding: 3rem 0px 1rem; } diff --git a/app/widgets/ContactAction/ContactAction.php b/app/widgets/ContactAction/ContactAction.php deleted file mode 100755 index 6b184b670..000000000 --- a/app/widgets/ContactAction/ContactAction.php +++ /dev/null @@ -1,153 +0,0 @@ - - * - * Copyright (C)2013 MOVIM project - * - * See COPYING for licensing information. - */ - -use Moxl\Xec\Action\Roster\AddItem; -use Moxl\Xec\Action\Roster\RemoveItem; -use Moxl\Xec\Action\Presence\Subscribe; -use Moxl\Xec\Action\Presence\Unsubscribe; - -class ContactAction extends WidgetCommon -{ - /** - * @brief Adding a new contact - * @param $jid - * @param $alias - * @returns - */ - function ajaxAddContact($jid) { - $r = new AddItem; - $r->setTo($jid) - ->setFrom($this->user->getLogin()) - ->request(); - } - - function ajaxSubscribeContact($jid) { - $p = new Subscribe; - $p->setTo($jid) - ->request(); - } - - - function ajaxRemoveContact($jid) { - $r = new RemoveItem; - $r->setTo($jid) - ->request(); - } - - function ajaxUnsubscribeContact($jid) { - $p = new Unsubscribe; - $p->setTo($jid) - ->request(); - } - - function prepareContactInfo() - { - $cd = new \modl\ContactDAO(); - $c = $cd->getRosterItem($_GET['f']); - - $html = ''; - - if(isset($c)) { - // Chat button - if($c->jid != $this->user->getLogin()) { - $presences = getPresences(); - - $html .='

'.$this->__('action.title').'

'; - - $ptoc = array( - 1 => 'green', - 2 => 'yellow', - 3 => 'red', - 4 => 'purple' - ); - - if($c->value && !in_array((int)$c->value, array(5, 6))) { - $html .= ' - jid."'").'" - > - '.$presences[(int)$c->value].' - '.$this->__('action.chat').' - '; - } - } - - $html .= '

'; - - $html .=' - - '.$this->__('action.remove').' - - - - - '; - } elseif($_GET['f'] != $this->user->getLogin()) { - $html .='

'.$this->__('action.actions').'

'; - - $html .=' - call("ajaxSubscribeContact", "'".$_GET['f']."'"). - 'this.className=\'button color purple icon loading merged left\'; setTimeout(function() {location.reload(false)}, 3000);" - > - '.$this->__('action.invite').' - '; - } - - return $html; - } -} diff --git a/app/widgets/ContactAction/contactaction.tpl b/app/widgets/ContactAction/contactaction.tpl deleted file mode 100755 index cdb6b9de5..000000000 --- a/app/widgets/ContactAction/contactaction.tpl +++ /dev/null @@ -1,3 +0,0 @@ -
- {$c->prepareContactInfo()} -
diff --git a/app/widgets/ContactAction/locales.ini b/app/widgets/ContactAction/locales.ini deleted file mode 100755 index 9e5d6c3a6..000000000 --- a/app/widgets/ContactAction/locales.ini +++ /dev/null @@ -1,5 +0,0 @@ -action.title = 'Actions' -action.chat = 'Chat' -action.actions = 'Actions' -action.invite = 'Invite this user' -action.remove = 'Remove this contact' diff --git a/app/widgets/ContactCard/ContactCard.php b/app/widgets/ContactCard/ContactCard.php deleted file mode 100755 index 794d3e5da..000000000 --- a/app/widgets/ContactCard/ContactCard.php +++ /dev/null @@ -1,151 +0,0 @@ - - * - * @version 1.0 - * @date 30 August 2010 - * - * Copyright (C)2010 MOVIM project - * - * See COPYING for licensing information. - */ - -class ContactCard extends WidgetCommon -{ - - function load() - { - $this->addcss('contactcard.css'); - $this->registerEvent('vcard', 'onVcard'); - } - - function display() - { - $cd = new \Modl\ContactDAO(); - $this->view->assign('contact', $cd->get($_GET['f'])); - } - - function onVcard($contact) - { - $html = $this->prepareContactCard($contact); - RPC::call('movim_fill', 'contactcard', $html); - } - - function prepareContactCard($contact) - { - $gender = getGender(); - $marital = getMarital(); - - $html = ''; - - $html .= ' -
-

'.$this->__('Profile').'

-
- '.$this->__('general.legend').''; - - if($this->testIsSet($contact->fn)) - $html .= '
- - '.$contact->fn.' -
'; - - if($this->testIsSet($contact->name)) - $html .= '
- - '.$contact->name.' -
'; - - if(strtotime($contact->date) != 0) - $html .= '
- - '.prepareDate(strtotime($contact->date), false).' -
'; - - if($contact->gender != 'N' && $this->testIsSet($contact->gender)) - $html .= '
- - '.$gender[(string)$contact->gender].' -
'; - - if($contact->marital != 'none' && $this->testIsSet($contact->marital)) - $html .= '
- - '.$marital[(string)$contact->marital].' -
'; - - if($this->testIsSet($contact->email)) { - if(filter_var($contact->email, FILTER_VALIDATE_EMAIL)) { - $html .= '
- - -
'; - } else { - $html .= '
- - '.$contact->email.' -
'; - } - } - - if($this->testIsSet($contact->url)) { - if(filter_var($contact->url, FILTER_VALIDATE_URL)) { - $html .= '
- - '.$contact->url.' -
'; - } else { - $html .= '
- - '.$contact->url.' -
'; - } - } - - if($this->testIsSet($contact->description) && prepareString($contact->description) != '') - $html .= '
- - '.prepareString($contact->description).' -
'; - - if($this->testIsSet($contact->adrlocality) || - $this->testIsSet($contact->adrcountry)) { - $html .= '
-
-
- '.$this->__('position.legend').''; - - if($this->testIsSet($contact->adrlocality)) { - $locality = '
- - '.$contact->adrlocality; - if($contact->adrpostalcode != 0) - $locality .= ' ('.$contact->adrpostalcode.')'; - $locality .= ' -
'; - - $html .= $locality; - } - - if($this->testIsSet($contact->adrcountry)) - $html .= '
- - '.$contact->adrcountry.' -
'; - } - - $html .= '
-
jid."'").'">
-
'; - - return $html; - } -} diff --git a/app/widgets/ContactCard/contactcard.css b/app/widgets/ContactCard/contactcard.css deleted file mode 100755 index 420edc8ea..000000000 --- a/app/widgets/ContactCard/contactcard.css +++ /dev/null @@ -1,7 +0,0 @@ -#contactcard h1 { - padding: 0; -} - -#contactcard .protect { - margin-right: -1rem; -} diff --git a/app/widgets/ContactCard/contactcard.tpl b/app/widgets/ContactCard/contactcard.tpl deleted file mode 100755 index be5607e70..000000000 --- a/app/widgets/ContactCard/contactcard.tpl +++ /dev/null @@ -1,6 +0,0 @@ -
-
- {if="isset($contact)"} - {$c->prepareContactCard($contact)} - {/if} -
diff --git a/app/widgets/ContactCard/locales.ini b/app/widgets/ContactCard/locales.ini deleted file mode 100755 index 89955f3f2..000000000 --- a/app/widgets/ContactCard/locales.ini +++ /dev/null @@ -1,15 +0,0 @@ -[general] -general.legend = 'General Informations' -general.name = 'Name' -general.nickname = 'Nickname' -general.date_of_birth = 'Date of Birth' -general.gender = 'Gender' -general.marital = 'Marital Status' -general.email = 'Email' -general.website = 'Website' -general.about = 'About Me' - -[position] -position.legend = 'Geographic Position' -position.locality = 'Locality' -position.country = 'Country' diff --git a/app/widgets/ContactInfo/ContactInfo.php b/app/widgets/ContactInfo/ContactInfo.php deleted file mode 100755 index 408b19da8..000000000 --- a/app/widgets/ContactInfo/ContactInfo.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * Copyright (C)2013 MOVIM project - * - * See COPYING for licensing information. - */ - -class ContactInfo extends WidgetCommon -{ - function load() - { - $this->addcss('contactinfo.css'); - $this->registerEvent('tune', 'onTune'); - } - - function onTune($from) - { - $html = $this->prepareContactInfo($from); - RPC::call('movim_fill', 'contactinfo', $html); - } - - function prepareContactInfo($from = false) - { - $cd = new \Modl\ContactDAO(); - if($from != $this->user->getLogin()) - $c = $cd->getRosterItem($from); - else - $c = $cd->get($from); - - $html = ''; - - if(isset($c)) { - // Mood - if($c->mood) { - $moodarray = getMood(); - - $html .= '

'.$this->__('mood.title').'

'; - $mood = ''; - foreach(unserialize($c->mood) as $m) - $mood .= $moodarray[$m].','; - $html .= $this->__('mood.im').substr($mood, 0, -1).'
'; - } - - // Tune - if($c->tuneartist || $c->tunetitle) { - $album = $artist = $title = $img = ''; - - $html .= '

'.$this->__('listen.title').'

'; - if($c->tuneartist) - $artist = $c->tuneartist. ' - '; - if($c->tunetitle) - $title = $c->tunetitle; - if($c->tunesource) - $album = $this->__('listen.on').' '.$c->tunesource; - - if($c->tunesource) { - $l = str_replace( - ' ', - '%20', - 'http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=80c1aa3abfa9e3d06f404a2e781e38f9&artist='. - $c->tuneartist. - '&album='. - $c->tunesource. - '&format=json' - ); - - $json = json_decode(requestURL($l, 2)); - - $img = $json->album->image[2]->{'#text'}; - $url = $json->album->url; - if(isset($img) && $img != '') { - $img = ' - - - '; - } - } - - $html .= $artist.$title.' '.$album.$img; - } - - // Last seen - if($c->delay != null - && $c->delay - && $c->delay != '0000-00-00 00:00:00') { - $html .= '

'.$this->__('last.title').'

'; - $html .= prepareDate(strtotime($c->delay)).'
'; - } - - // Client informations - if( $c->node != null - && $c->ver != null - && $c->node - && $c->ver) { - $node = $c->node.'#'.$c->ver; - - $cad = new \Modl\CapsDAO(); - $caps = $cad->get($node); - - $clienttype = getClientTypes(); - - if(isset($caps) && $caps->name != '' && $caps->type != '' ) { - $cinfos = ''; - if(isset($clienttype[$caps->type])) - $type = ' ('.$clienttype[$caps->type].')'; - else - $type = ''; - - $cinfos .= $caps->name.$type.'
'; - - $html .='

'.$this->__('client.title').'

' . $cinfos; - } - } - - $html .= '
'; - - // Accounts - if($c->twitter && $c->twitter != '') { - $html .= ' - - @'.$c->twitter.' - '; - } - - if($c->skype && $c->skype != '') { - $html .= ' - - '.$c->skype.' - '; - } - - if($c->yahoo && $c->yahoo != '') { - $html .= ' - - '.$c->yahoo.' - '; - } - - $html .= '
'; - } - - return $html; - } -} diff --git a/app/widgets/ContactInfo/contactinfo.css b/app/widgets/ContactInfo/contactinfo.css deleted file mode 100755 index bbebba2f9..000000000 --- a/app/widgets/ContactInfo/contactinfo.css +++ /dev/null @@ -1,12 +0,0 @@ -#contactinfo a { - display: inline-block; - margin-top: 1em; -} - -#contactinfo a:first-child { - margin-top: 2em; -} - -#contactinfo img { - width: 100%; -} diff --git a/app/widgets/ContactInfo/contactinfo.tpl b/app/widgets/ContactInfo/contactinfo.tpl deleted file mode 100755 index e57e3f787..000000000 --- a/app/widgets/ContactInfo/contactinfo.tpl +++ /dev/null @@ -1,3 +0,0 @@ -
- {$c->prepareContactInfo($_GET['f'])} -
diff --git a/app/widgets/ContactInfo/locales.ini b/app/widgets/ContactInfo/locales.ini deleted file mode 100755 index 0f94f3f11..000000000 --- a/app/widgets/ContactInfo/locales.ini +++ /dev/null @@ -1,13 +0,0 @@ -[mood] -mood.title = 'Mood' -mood.im = "I'm " - -[listen] -listen.title = 'Listening' -listen.on = 'on' - -[last] -last.title = 'Last seen' - -[client] -client.title = 'Client Informations' diff --git a/app/widgets/ContactManage/ContactManage.php b/app/widgets/ContactManage/ContactManage.php deleted file mode 100755 index 0ad64d0af..000000000 --- a/app/widgets/ContactManage/ContactManage.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * @version 1.0 - * @date 24 March 2013 - * - * Copyright (C)2013 MOVIM project - * - * See COPYING for licensing information. - */ - -use Moxl\Xec\Action\Roster\UpdateItem; - -class ContactManage extends WidgetCommon -{ - function load() - { - $this->registerEvent('roster_updateitem_handle', 'onRoster'); - } - - function display() - { - $this->view->assign('ok', ($_GET['f'] != $this->user->getLogin())); - $this->view->assign('contact', $this->prepareContactManage($_GET['f'])); - } - - public function onRoster($packet) - { - $contact = $packet->content[0]; - - $html = $this->prepareContactManage($contact->jid); - Notification::append(null, $this->__('contact.updated')); - RPC::call('movim_fill', 'contactmanage', $html); - } - - public function ajaxContactManage($form) - { - $rd = new UpdateItem; - $rd->setTo(echapJid($form['jid'])) - ->setFrom($this->user->getLogin()) - ->setName(htmlspecialchars($form['alias'])) - ->setGroup(htmlspecialchars($form['group'])) - ->request(); - } - - private function prepareContactManage($jid) - { - $rd = new \Modl\RosterLinkDAO(); - $groups = $rd->getGroups(); - $rl = $rd->get($jid); - - $html = ''; - - if(isset($rl)) { - $form = $this->tpl(); - $form->assign('submit', - $this->call( - 'ajaxContactManage', - "movim_parse_form('manage')")); - $form->assign('rl', $rl); - $form->assign('groups', $groups); - $html = $form->draw('_contact_manage_form', true); - } - - return $html; - } -} diff --git a/app/widgets/ContactManage/_contact_manage_form.tpl b/app/widgets/ContactManage/_contact_manage_form.tpl deleted file mode 100755 index e24f4b018..000000000 --- a/app/widgets/ContactManage/_contact_manage_form.tpl +++ /dev/null @@ -1,35 +0,0 @@ -

{$c->__('title')}

-
- -
- -
-
- - -
- - - {$c->__('button.save')} - -
diff --git a/app/widgets/ContactManage/contactmanage.tpl b/app/widgets/ContactManage/contactmanage.tpl deleted file mode 100755 index 3da68af37..000000000 --- a/app/widgets/ContactManage/contactmanage.tpl +++ /dev/null @@ -1,5 +0,0 @@ -
- {if="$ok"} - {$contact} - {/if} -
diff --git a/app/widgets/ContactManage/locales.ini b/app/widgets/ContactManage/locales.ini deleted file mode 100755 index 00c62d784..000000000 --- a/app/widgets/ContactManage/locales.ini +++ /dev/null @@ -1,4 +0,0 @@ -title = 'Manage' -alias = 'Alias' -group = 'Group' -contact.updated = 'Contact updated' diff --git a/app/widgets/ContactPubsubSubscription/ContactPubsubSubscription.php b/app/widgets/ContactPubsubSubscription/ContactPubsubSubscription.php deleted file mode 100755 index 60b6e09ae..000000000 --- a/app/widgets/ContactPubsubSubscription/ContactPubsubSubscription.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * @version 1.0 - * @date 24 March 2013 - * - * Copyright (C)2010 MOVIM project - * - * See COPYING for licensing information. - */ - -use Moxl\Xec\Action\PubsubSubscription\ListGetFriends; - -class ContactPubsubSubscription extends WidgetBase -{ - function load() - { - $this->registerEvent('groupsubscribedlist', 'onGroupSubscribedList'); - $this->registerEvent('groupsubscribedlisterror', 'onGroupSubscribedListError'); - $this->addjs('contactpubsubsubscription.js'); - } - - function display() - { - $this->view->assign('refresh', $this->call('ajaxGetGroupSubscribedList', "'".$_GET['f']."'")); - } - - function prepareList($list) - { - if(is_array(array_slice($list, 0, 1))){ - $html = ''; - return $html; - } else { - Notification::append(null, $this->__('not_found')); - } - } - - function onGroupSubscribedList($list) - { - $html = $this->prepareList($list); - RPC::call('movim_fill', 'publicgroups', $html); - } - - function onGroupSubscribedListError($error) - { - //Notification::appendNotification($error, 'error'); - RPC::call('hidePubsubSubscription'); - } - - function ajaxGetGroupSubscribedList($to) - { - $r = new ListGetFriends; - $r->setTo($to)->request(); - } -} - -?> diff --git a/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.js b/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.js deleted file mode 100755 index c552069be..000000000 --- a/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.js +++ /dev/null @@ -1,5 +0,0 @@ -function hidePubsubSubscription() { - wall = document.querySelector("#groupsubscribedlistfromfriend"); - wall.parentNode.removeChild(wall); - createTabs(); -} diff --git a/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.tpl b/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.tpl deleted file mode 100755 index aecf61f51..000000000 --- a/app/widgets/ContactPubsubSubscription/contactpubsubsubscription.tpl +++ /dev/null @@ -1,10 +0,0 @@ -
-
-

{$c->__('title')}

- -
-
diff --git a/app/widgets/ContactPubsubSubscription/locales.ini b/app/widgets/ContactPubsubSubscription/locales.ini deleted file mode 100755 index 11a005771..000000000 --- a/app/widgets/ContactPubsubSubscription/locales.ini +++ /dev/null @@ -1,2 +0,0 @@ -title = 'Public groups' -not_found = 'No public groups found' diff --git a/app/widgets/ContactSummary/ContactSummary.php b/app/widgets/ContactSummary/ContactSummary.php deleted file mode 100755 index 360f16bca..000000000 --- a/app/widgets/ContactSummary/ContactSummary.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * Copyright (C)2014 MOVIM project - * - * See COPYING for licensing information. - */ - -use Moxl\Xec\Action\Vcard\Get; - -class ContactSummary extends WidgetCommon -{ - function load() - { - $this->addcss('contactsummary.css'); - $this->registerEvent('vcard_get_handle', 'onVcard'); - } - - function display() - { - $cd = new \Modl\ContactDAO(); - $contact = $cd->getRosterItem($_GET['f']); - - if(!isset($contact)) { - $contact = $cd->get($_GET['f']); - } - - if(isset($contact)) { - $this->view->assign('contact', $contact); - } else { - $contact = new \Modl\Contact(); - $contact->jid = $_GET['f']; - $this->view->assign('contact', $contact); - } - - $this->view->assign('refresh', $this->call('ajaxRefreshVcard', "'".$_GET['f']."'")); - } - - function onVcard($packet) - { - $contact = $packet->content; - - // We try to get more informations on the contact - $cd = new \Modl\ContactDAO(); - $contact_roster = $cd->getRosterItem($contact->jid); - - if(!isset($contact_roster)) { - $contact_roster = $contact; - } - - $html = $this->prepareContactSummary($contact_roster); - RPC::call('movim_fill', 'contactsummary', $html); - } - - function ajaxRefreshVcard($jid) - { - $r = new Get; - $r->setTo(echapJid($jid))->request(); - } - - function prepareContactSummary($contact) - { - $csc = $this->tpl(); - $csc->assign('contact', $contact); - return $csc->draw('_contactsummary_content', true); - } -} diff --git a/app/widgets/ContactSummary/_contactsummary_content.tpl b/app/widgets/ContactSummary/_contactsummary_content.tpl deleted file mode 100644 index e71c1a80c..000000000 --- a/app/widgets/ContactSummary/_contactsummary_content.tpl +++ /dev/null @@ -1,20 +0,0 @@ -
- - -

{$contact->getTrueName()}

- - {if="$contact->status"} -
- {$contact->status|prepareString} -
- {/if} -
diff --git a/app/widgets/ContactSummary/contactsummary.css b/app/widgets/ContactSummary/contactsummary.css deleted file mode 100755 index a09781763..000000000 --- a/app/widgets/ContactSummary/contactsummary.css +++ /dev/null @@ -1,37 +0,0 @@ -#contactsummary_widget { - line-height: 1.5em; - padding-bottom: 1rem; -} - -#contactsummary_widget h1 { - text-align: center; - color: #333; - margin-bottom: 0.5em; - line-height: 1.5em; -} - -#contactsummary_widget a.avatar { - width: 92%; - padding-bottom: 92%; - box-shadow: 0 0.1em 0.2em rgba(0, 0, 0, 0.25), 0 0.1em 0.5em rgba(0, 0, 0, 0.20); - display: block; - margin: 4%; - background-size: 100%; - border-radius: 0.5em; -} - -#contactsummary_widget a.url { - width: 100%; - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - box-sizing: border-box; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; -} - -#contactsummary_widget .status { - text-align: center; -} diff --git a/app/widgets/ContactSummary/contactsummary.tpl b/app/widgets/ContactSummary/contactsummary.tpl deleted file mode 100755 index 2e438fd18..000000000 --- a/app/widgets/ContactSummary/contactsummary.tpl +++ /dev/null @@ -1,11 +0,0 @@ -
- {$c->prepareContactSummary($contact)} - - -
diff --git a/composer.json b/composer.json index fa7d07075..f37793604 100755 --- a/composer.json +++ b/composer.json @@ -15,6 +15,7 @@ "movim/moxl": "dev-ws", "embed/embed": "dev-master", + "heyupdate/emoji": "0.2.*@dev", "cboden/ratchet": "0.3.*", "react/child-process": "0.5.*@dev", diff --git a/themes/material/css/list.css b/themes/material/css/list.css index f2b4d860e..66bb56de7 100644 --- a/themes/material/css/list.css +++ b/themes/material/css/list.css @@ -156,13 +156,14 @@ ul li div.bubble { line-height: 2.75rem; position: relative; box-sizing: border-box; - display: inline-block; + display: block; border-color: transparent; font-size: 1.75rem; background-color: #E5E5E5; border-color: #E5E5E5; max-width: 100%; min-width: 50%; + float: left; /*word-break: break-all;*/ } @@ -248,4 +249,3 @@ ul.menu:hover { color: black; box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.26), 0px 2px 10px 0px rgba(0, 0, 0, 0.16); } - diff --git a/themes/material/img/smileys/aloneyeah.png b/themes/material/img/smileys/aloneyeah.png deleted file mode 100755 index 80683d092cfed7169f9e4d42998b6fbdae9695c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3615 zcmWkxc|25I7`|gIMD~P`QFewf_7Wnpm3{0>$W|EH=To08>)5jIsTdPFx!3J$3&RN(!tnfy99 zL41rJsR0#zTx;M9mA%d*b>Q;vmETgD3`VYcYnl5104>ws0U4YMC4oU|U+pIv)C6*N zT0VipxR6V5`8;j)2hUuld(A@(Ql0WzZ>cB+3)-HbZx-{~GuxKOWh6@t-gXssjwfnH zwBA9(HcncWbW1WeCg8sfGT?=%gQ>@9*l><@E!2Et^f$*SR4Mtq_CM;gn{(MSwPDTu z`^^lIK10Yl-I)#XdVMmmGd2h3*xP2$RdJb10)tM2VMjB)9UJu+Y-1H z)3D8ZH0S5%u3Y2e;}k?!clXWf0REEoml;qCgTW@NoM^X@irO)d(x@vMZ=p+FN&FN< zW#DyC&?O%r<7@;>X2Tq)f&v3$c{RvKr>Fbo=j{y{*7J{dX7mAxizHjqzAU)}*{mnz z!iR^4VbiQZ;RnMdi=HnY?5Jrg2`UbA5&fEzZk6;zANil{Ui7H+EDz);IFZ* zwY389xr3XDX^>%7zm0tiHZU*%U8@g1t*WW1p|kIU$98H}RaPe6N!Gs2&tHPU#6it% zY_OcOJ1{q_b<1N$J5y73Q>-;cdYC{EadL7ZM~wC5DEhUa7gq<0%#DoH0MdFH)|UaD znfVwP2Xrs9Y&-7=2qZbGY9syq_y7Bsws9jSAt7BrC(V1J#p&8$XIj$n>1rpkq(d zckJk9-!-O|mX;2;+E*86hd=xKN2dt-su$la>pa(JMMOm%A3h|X;wX>>fjU`8P?dtg zk^lvO?tDkmeS3S`IV?=oO6*fn(Ho$+xfwA(KVMu`Wu%4w^tAMCu`d$&*v;+p9R}E$ z>%tD9&P&JAGV7kKEWW{KMGMXL?q3xZ6$(jG9g6#CFEs^!H+Ee{W| z+_CGryzgovoQwYG@UT0cTTz`-gle`>Fb1%-x4-?u&FxA)j@dvgH8UeOS4BcdC^~Fk zGVB-@Qz$4VCibzctUZzMVaoEdb4gJVIT(3tWyMXpxJU&fDXFPK480Qo zo*5ep@r03JOiWBEU0qro?y@4ISQ}G1SCqXLbxN5j_O_@fUD2Ziy^mOIKc(${isGhH z(9vdN=dGYvXn`P&mT*j=cYDM&Jjhc zuC`knEYa1|({yq9_-boH=IH3C5G2Hxad$+m8>^JGv>^gf-upz(>|{_!LI@=5C6#Sb zjMMes&uM6AT)vpC`YQNwdlA0Ifm97%|5Q3QIazLbem5^z3RfS`C9j4quc&ZFB4xF! z^7B#5cXVe9HQwD|VfpUWdaBtLx;gg6cR&(iV8}vdYh;A}2`U4i26^3(tZDr8DYMP% zIZE!K;WASWR#pLMMq(mP-erR_A9x^mad816-&bBP zs;Qx|HZ3M1@=icNKw(y*^~64Lpdq~N)e;RP+fT$%RkaN{%-NNz9HfQbX*s?n=Q$}D z7Z;a(&y`6VzucQ8A9CgkvbXDKix99ouOT0FBq|~-tZvA{ZD4E5+eX^c;jSEaU%oh= z!RCdXZ`JM4)HgK|IM~@cK~BDZfMRB54wI?B%O}*)(V?rapAMdg3Y#`-RqFfkx0Hnm zUp$rB&5aR^DRiG|G|o^Cl0_(WO~V&t!J)YKYut2J_X)&!T9ehOCl0JY!^uMfQlOiNGSIQE#RiLQ3;-Maxta7;J( zV-d}-lK|Oz@edzsYg3`1ZwOh8d&*`}E4g&Uul&T385EYG$ zsQJh8tGk`E^BtS83%_Vk0r6wXCAWauH!!cW8PnBSL-$cZSvn4k(neAdcgAz z$zOtKwsc4Ggu0Z=E@JAY=fN8JVahzU-#I=j${=X1&=V`HnqJT1AY^8;0C97?I_Jrg zCqt9TNhQZKVKxYJgOHNkgG5JD)AVN2UeC{-9tV(TJb|kPidFt{5s}w8HJhfkW22+z zzP+L52UYQpC)Cx|wb9Q~l+7@R?#v{CLps89Eb-Sb1M@HT|0Ot7%Ac6^ukBz}mhVMFVgT{V#Ny{!i$>{Cnh5h*+_67ohMEm0- zBgs}9{WeS@zcdd#=JUUa+#m4ob|IgdnnEWh7x7#k5xkr>MlgF_{0TP>#esUz(LlKP zQ2W63>({+I_3SB7X&a;1x|;$IjP?tp+=c|f@}xB(x6oIa@6g$fb#_Kte6uhy`7t;+ z2(fyI;j9TfbQ3qPQcn}Jlts;f)`xaPAh?FVif>O;$Ykgi0f?r6{SQ<17!3^#3f{cX zGoi3Qr_UoIBYQ?LmI0)bm#3utesc>8VM9YhP}Q7WTm*j)4&Gp8?TBW+y9ZWekU-FB zn(B*LlrbIIEj6h6{jk`g;ygHjVEQ_hj`gM__IN1)W%6Yb4>F+u3 zRn2<4cB<3O>VA08k$bLcSg661;~$(}k}4|JHj9co&FvlU*nQTAK1n&@S$=%~E-5dc z0X-$QGxVJ7E;M-0sgc=&Iw;0Q`%q17(=By@#zcQxIZ4@Si!A!foLs=3V}?>d6=($w zN5hUw_|#|DOttWtGA~X*w^|FV`1C2M_QmKr#|%i!(}71k-Q)~Pyiljf`j?=<-dgz( zJUE%Dic*naK#Az(DxC&DejH;mlLQ5A>O;0_n6;3o=-Z9;UT0}{*({ZeZpUye7TcNw zc43fwb#-;YhK7dsGB4PygLgHSer8CU)p_R3udJj?`>hX&*xA`tyuWAC4rDi3%Ct!F z^E=>1jzI@Z5qj#lx7ht^a|~ukFt(S(z3lGoO?B!?gMqRJ+SuaR z;l|+fwD`Ag-^$C%n9&EjyK9tyjg5^LJ2I|njEZ;1I+JiI<+J=V6tj}QR#aU47HrcR zOA@%`(LL!B&n+x&mg?vAkx0R}6p^uDPx9Q(j&BrW*-1&u<_!{7S6h3oL?>Mf{bHn? z4>dZa_3aAstwKK+<$Wm1*;r(r>K>$6LtQ->VPUb(&B>`~+cZHSq-JK`Y&~7h`m1@w z)uM#k3JNztIg$}&qYV!azj5nU1%Lw$fsupbDgbtEcyPRC0^5!KAXVlA7T9$_iTTc%EYa{dCqCO!bzLYLtB!#^ODD}CyfMfFa z6tf<~{nJKq?!}R}vj03HmuAALu%5^dD^w#U&T`S{YJWQ<8H#SE8(H}qP1c(=5-dz}IPONQ|H(a?#a=SwY=CDUe`WyiXJi%-gb8MPE#d(zQIkP) zjj?z`L$ky=icfbuY+;^q(J?>AW62Z=61@;(g5Z7OR}zo VT+sze#NWR+KwCpky+X}4{C|Vl@xA~6 diff --git a/themes/material/img/smileys/ange.gif b/themes/material/img/smileys/ange.gif deleted file mode 100755 index 63699e29cb881d50de01beea55e1fddbe8e25187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmZ?wbhEHb6lD-)*u=o_9|V#a7#Pm|PiACf1Tr8%@jthpYe=xOV}PrXo&hsRLh&aH zCqDxVgAPaqNV@}bkjJh&=aP5?Rk!wE@zg(;5W&eHF!7oAI$wc?bvq)NDrTk3^FOEa z_dwLK&x<$2oOoimG9}aM&{X}5$1w}`+*=ajRJwV>qc#a%|AzDpVzDJor+ZjH*03^w ztYKzgW#9)w2WD%JRhRbWoKRz*>k_ejWki%}RDea&Ox86G2ezeT_+`AT5wOUAni419 zyZT}luleMu0WYmBo2TABZ&sxtgm5+s(Am5U%s}(FJVfrSJ#|uI!BS3SX-53gO!%d7 U=w<~684kPuv4k5tGcZ^K0AECREC2ui diff --git a/themes/material/img/smileys/angry.png b/themes/material/img/smileys/angry.png deleted file mode 100755 index 96ff52a954ac2b93b575f83545d984d734b3c1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)BD@@^nh`ircnU)9bd~YTfhTw^NQG8_q9R@q0{Mn z1V)m|09;A>(NN+XIG^?JzCJJrz!2#D3wzTfmB8@76nGE9rpx;1=giDD8ZpN;gbEnd z+5x5`kVV5Ib|0ewlOv)y;! uALr!5OnH(dS@WcUOFRSylFBLOSM~xHP_}3-mBdH@00005~$eF4>47dzM9 zGc)EZI$+V1+^{Hh`Zle{$0l+uNmsaOy7u_Lx7m!%HjCaaP?nu&aedv!-h=mC67qW zrX>=SoXwo`eKX(8camfzfEv&Q9)UMM4?r` zvU}ie6!<+4znnnF9bsp00Advb}eb`2MHIYgeK4pAyn%1`U3DGX&}08gszO0D{2C*n~&fQ=CqJce3aSaIbMsw>Z+V9{=@)y<@& z(JF!uX7e)N%)B>~5Gnu~Kn~mkFCKS5o~CJ3&7YuNuP*>6z&r2?oBL0dej_5G69bjx`#|5$BWA6h` zz=y|E$(Jb}=m4WMO``xDy1u1S(vQ(-G**D2q$~h;lFq%;Z7K1#G{F}h=mPx!41msW z+N+S10fT=jFp=;V0GEY?92kDL`!d|PD`2fK5$F_a993mV+H5wPi>+2`6=(wwX13?u zb6}Jt$$Bx)i66&K2qCoF?KvOu8F-X*ZDw0uc-JpBpLFw6?s<`eS*Prs$3XAf|3T7` z%NYV)NtwIdb?(g%Z+@m(Ns_GlqrR_r0Q4ng6U`-j0_TvuiMX2V`~Uy|07*qoM6N<$ Ef}Cu!WdHyG diff --git a/themes/material/img/smileys/cry.gif b/themes/material/img/smileys/cry.gif deleted file mode 100755 index 355c714a4c3d1fe40c8b7f0003aae309d9d1edfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 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 diff --git a/themes/material/img/smileys/evil.png b/themes/material/img/smileys/evil.png deleted file mode 100755 index a9d69b65993bf6e140bf1860496c3a62e90c8316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 493 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 Dbe!kH diff --git a/themes/material/img/smileys/fou.gif b/themes/material/img/smileys/fou.gif deleted file mode 100755 index f24cc3bebe2df48f9eed01a93422ca5a9adf4235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 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 P2S`;(OYx)p^YH%x@2^88 diff --git a/themes/material/img/smileys/grin.png b/themes/material/img/smileys/grin.png deleted file mode 100755 index c3e8c56c23fe581b23435046fc541dc4218293bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmV;w0YLtVP)^RG^m0EI^Wh=l>U=AF_7}uKxVvOr%b_mQR{iu;hI`t24fdMdhLfQZr znAt8cH?!jqLI`HI<82=RAAxJ&+RXNsl503n0JD@*7Jwty_e#l1gAwBLE(rbD9JT3BV1oS&=QZ`{2(_;Ktv- zR}zN6)c5=u_|QfmX;0EcHAJAO);I%-7~>n@x0$_f5;*oJrS#g1&hk9pt}dLoId*%! z-WG7~aw^?_C0$7BNP6dv9WEy7R=#wS!!|2>6R21%||I@K9^0+6&ofT`AApD^-(LEigt0E&wLa^6P?H? z3zaie>=daXtTbQcl8-FfrJ^g>opU?)tWNh2xX<}L=Y4*^=Xaj-ob#UdO(nbSLnv)f z0stVKi3AVnX(r8`FgXAqcY5Yg0LTIIeu~q|3J{4z-QC^o?d>%+H7O}6+1c3z1qBQS zgTvv_>GYPCmc_-zk&%(+=H}AU(wLYSi9|vq5~rr7va+%&Dk|FA+N6^wCMJA*e9&mL znVDHoP>`XaAr6P*@pxfjVPrBH27^JNP%A5|nVFf;&`>Uy%VaWjbaaqNWK>jCLP7$K zMl&!lsN`@|RaIFmR!K>Tbmspe;0U@DV9i&{!j)~m;xa@orBn(4X<5AiNW&M%7``dt zaGnaY9Y7eeI$Zg)ES0UXXRY8!I)LD0ML6QW_bJf9GNpc5JAfn3NckZY44c3Ms43Z= z#g?~N1`mK10H8qLZ=Lq z9ZrxAlSerd_E6{pYONu$;16dwBr}wT^3c78(&t~-Q5Jo|b zoW@X0UCMauct9jhe4ON3KlDQqdJ^52NM?XHM#~@l<7poroz`Oq4(s2WZbOvE?yWBm z8ta)C^oZq$bqil)M+SS+GoB6LGL<}q7k$Pl3b?=yoJpfGUadfj%+fhWefQE_EBPcG zRW<#R!27cPUbv_z#*ENX@Upsk-eAgpTfznCe^U=#+!<3Yf znT5Jmdh(ZTeiTcL?~^&=>oZ<@H>OiZ!*g?>nBPvQDpm=P<-MM&bi_Y7oL>eN*bKHW zv5L`m1F}?VZRbO7EY=z97LqqUa99xY?c%kxL~ct51*FaSg7hYru`Q{)iz)ho-0nmR z5$`E=@(-4006Up-pfK)1fbi3B|GxKEsYUc`Xem2dk$bbv3Nsp-z!b3c>>rQVof332 zYd3lS>``@^+usmIc1h4g5Rhb)k%M&arGSu>`p8}_f;4% zcUyGL1io1zy3E8p;&b5uJK4QSxS`&Io*vvBv9plUV0WauVdS$~u0jDavBy(ylzwxe z-`P<6YM^qY@UsTywOuKu*lCTHEc=k_bXUdabd&_kwGRhYCY%wU{DTXkcU znKJ&lWJaHV#vs<7{C1Y~#7L~l9E`Y3yUs#H*S)Z_Q!BB@=H^Me1?hwRMzoSw0cQzQtkBL*r`r#U2wfATg|(A@QD_@V zv|zS#=A6S~%Q4@IS zZ6CM?Ux2e7Z`wF82I`!15rFruZ`+f%z-RZalEdd#*r%?RlroQq2jFm?y#OmS>m*5L*17u=aJta#xtC^-X4c8w@2)J2 z>8*gb34&(ok@~XN=snZ0Pj*t%OB6wAo&e9 yNUp;pB!9yLlJW3&a?Xp0*hIu8=e%fwTk-|Wk_3a}3ag?30000+b83nL4I4oC$^I|H+&$Eu5aCzv?CY+jhP`_nx}VV)-j)BKs&+<)ncD^TspBQ${S?H-HAhE;p@{eBC9 z?L$)`C?Tbyr@*vHVyDGx?ew*0CqvAMU_voRKtoI9Uta@f$6kwgjh9IQOkktX6k##S F8UR~{{3fTWMl+#fk5#;x1VcBu(M-;tC5}o zGe}hNCky8Z237_gkUU5`19L#ct~>u!4@fpI(Cew)cuBgQHDSlZfXrD!$}6;QA1c(D zIBmiEJ$>g}78GdY=rXm$3r^2b=)9ozSW;HXKJ=03?5S4W4<3Bmv7~Q#$Vbc1%_9XY5f@fD9Z+}{nW$-ZD1BD)!gU)Ka~iBJ{mk>M*!hpW z+=YW20ygs$Km9OZnjf%;-z(K@wST6d^_D+#j_V&!joEfAB}J7H?2QzN4J<$#1b{Yp zM(mPO)H!AD(pt3BV3&NfNJK?oEwL$`YK17Wc2n s(TYBEGmtCQYW_^8k5OkWSb{^QZGUMb1U8+Ew(kGOx@p6P4Gav{06NX5fB*mh diff --git a/themes/material/img/smileys/locked.png b/themes/material/img/smileys/locked.png deleted file mode 100755 index 808ef3a0279d861ee5de94ac3d28d91ba85fc935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr`$)`#16)G7xYLUeaPJ zFlqH?>&UJ-kESKe=wLPSn6;tJ`i6@15+h%wK!L&wr{cCoIiVqGS1h|_{u_<|^R1EWOzJ3)!AQ%aW@G9PZ5(4eB^ yd-B(wfB)Kcx@-tN=kQP1k^hd_3wy3QeSg-xjOoeNJ?nukWAJqKb6Mw<&;$TwI837e diff --git a/themes/material/img/smileys/loop.png b/themes/material/img/smileys/loop.png deleted file mode 100755 index 474bcaa6e33de42e5b530c59e26950d6f2ca15d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar`&K2@-J!PMlbA@5qrQ zjX7tJ9Xs~Fx3~BIVID^@=VKM7!pR(tXJ51(VDJ+cSe=l-qj0pFX90z^2c@z;`11cN9nEGoZN)p00i_>zopr02cNxk^lez diff --git a/themes/material/img/smileys/neutral.png b/themes/material/img/smileys/neutral.png deleted file mode 100755 index 6b7bb3f8605704b37499184a3b3b7db75f518686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)x==nKsb0AsQ$7H*Y#` z=FPkYK_h?&D1dk1!`})h(lia5-`COa_s@VSume7UdmxjPo7tmdJ2RVvVR(8_9ERa3 z@B);;D30S^vq2okJu@2vrKINr5=nQSxau6y!_0<2X=alOxb(3{PWA@8HVgN0AOp5( znuY;zifV~KR-JL%lmUG2zecVAwn>rDnDz)Sz2=?j++bD|_b>n7959 zl5Snj2AE08ecLm~zT9{xog*emGVr3MpLh){CFQl|z4!r^?3S)%+eX&_0000zDWI@qE1AR62#^!6gDNz!%{A zsMTtfN+q+hX?Jw)btB3D<=w;dmou0z&Sy;)6i$hoUrFxtm=h+g9s7gAW>YgpvxHBD zIm*iFm7!s|FXJ(p{=`3UD*DXlnb%J%FTd-1x-y|$TUs6|t6iRd|8eo7YD2BsRDa!6 zuYcWK-&C!s)f;N{y6T&!UQw-Ys5dvht!i^!wYIwU<;&_vm1vxdie0+{rmS@TU+nl zyVugvB9TbMVsTSb)9u^08yg#M+_=%u&`@7rf9=|}y1KgB+S<#PFIQJrS5;M2R8*9f zmX?&16crT}6cps==jZ0;ibNuzP?(jKm6@4&?%cVww6v6zl;q^(#KgpegoOC`_}JLk zn3$O8=;#wCPVo8ssHmvO$jGBdk8-)(!-o%thlhuTh6V)%9Xxn2FffqKX0uo$f&Xa*5ABkvO)>Y5nRwwQSQ zvN+5#;9Njm%^D1e^rAg0FTz5^B+FU7ZLUZAu2g9(ZDF}K{W|edCgLHz&guQ34%TSs zul73rXdGvjp1hBJ1{^x*i@0FwEi$w>si)*udn7)PLNVE4Y}7tcDZ)6kd;wQQu8oev z1cr&Y6k|T-m?D;{y&rmH%WIwjn*v#+V1)Tu9Z0+Mx)A#H`ZI?_NxO=Jfv|BhmF4)$ z64lbNcn{UVv2Tt;4~9vYHiTyHTsu)73t?NjSlVOaIw7TCK(dUzj@@C}L)d%xk8t}7 zn%-L0=~5mY4^NEL#`0msTCNS|;9T61wmlSVb)ip=OT~jizg+x`^WGZ&0e-hb%&B(j zw&+!Qk43=>7iJ%c^JHW1qCF6%m(4TbjuoOnwn@#Z3)5OStMa zPtJ~VUGNaPZo0U^f|J#0#N@765YFrAv}K>>IW03zhR8r{Ae|piMKPl%J0%2xv^W2# zKn^yG(o_h{1eZPue+pjMnu8&6ox4mi7kLi%567`1E6(ypI#7+t&cfi@wW3o%3~|}- zzo4(Chs+;gv^p_Gv12R>?<_ysDS-7Q4F zOoLH^m3VIy%U5FA5h`A0bIL}UgXji3=AaZGE$u=Yo+bBWrQ%#X=(*`&FL+EI!w8eL zvZu?wY{>{_L)d<`aagEW=*DtVxitG+%i|aDmx^$@r$Kp3a?|K(GTr*OQAF>Kf9p?C z@DGT3LuP-9n}T;#oHz79Fb$>9Q}7Yg-wzD%+HGXm?MU6?^hG_ff9i z$;!RP;O6W(Z4O+_zZ3-qbmk%ETjG;)$RR|dn>NRML9sHcA4e<0!|-tF`5c<25)$7n zMUU>#p@bA>=96X&#BE@>T5?73ijO-IHPCJzq%Q>K!Bb5)$q~mWY6PxI5m&7( z@=C87rp5bW=L29&n1#L|b`N&W$;h!D>~HDeV+g(i5J*bx{hUmQiBkq#7YDYQ+lvYS zxyA<$^shV+D%p~*hvfj8#0&sU%hb08vLN1o&W|){P?SrlV?9nUp;ZIx z!>5EMffGR_vQ}cc26`CK^z_a&xTVzCu1T&s%<8v@pA_B-zX-Red+hX@RAX9b4zZE9 zYab9tgHiQunnWcT8q$WGS6=Z$Ls_>MWb?m-0@)n^WI z71iz6D-jS4BMe)DvhBm-@W0EI*FlA3UEYHsEnJ{mL+x z$y9bzmBEY8g8RI-&0Bi?WapgKB6n1og1LHkO{u%E?EAbE@n_CVnz?j+!X)7a-UDLO zW<)Aku71U}pj{|DDBXV#0LaWhqra*D-jy`njxgN@xNA DA<9qD diff --git a/themes/material/img/smileys/petrus75.gif b/themes/material/img/smileys/petrus75.gif deleted file mode 100755 index c10e7e9c040412e681617f37f1d763cd691aa901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmX9-zpKw-6n?~Tx2qJ1;V?)sDMgltfylsYId>qVD~m->BFZ9}OeZNuf5N%3_#cc0 zgGDLHt>by~PT$Vwoafg$-z!%ypF6*`iB0^*|3^T;Ab=o3h=FS)C~%NK5-H@YMiCM; zD4>WEYS2IvE%aavMvO2Mh6Do&Oavkrp@<3dkU<3}5|NBlx~L3s-zk<)Kp77@|JAWy))$%*`*sX6{ui^DyFDS^un)-m~Rd?LPpbzkIi$+aZ!!_hn0b#&sg zu4UdnZOMu))S66hbc1@{t^RfF&%QmtQJjX~`cGiv2F`DMv-6ACd*I-1zuek+vhT>X z2j}+p=NB7?9)0|NG3_gf8W2l{pt0oTlc?yxOwOLv%}kO-krR6 R;_~z3+n0VkJhMey_y^Sje^>wj diff --git a/themes/material/img/smileys/pfff.gif b/themes/material/img/smileys/pfff.gif deleted file mode 100755 index 63a1abac9133787e2278adba13c43e242a46bac7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1171 zcmZ?wbhEHba?Dw*0tV#R>b06OL6UU20Cb z)t+*%JMGzU+NF`5w`R%Rrj_?wRzK)m_o#crquz~=L3WRV(GVEW5K#Qj z?dKX2?CcoeYNTht%m{Rh;!hS+?7VE7#m;P4n9at+HeV{FW8oWCZeb;x zh=PU#UJRm-f+jE=JlMp-%CaUzLeVLfElOA{Wr0E?N&+X?L671|4;A*62zzmX5{K>+~ z%D}>)15yFf&cJNwvFhU92_}v&n-^y7-ZbO(@rZk39*U8Til>)lbFPkmHFx{Tg-bS< zZ5DR>Cg`TZw^)f0WC|zP6cz?%26muv49uJwf|vH{X^AB=A!M0=vfK<@Kv{8(U1tOz zZRL2n$HIK~>)-R4`UFkq1Wf?D2VxRLEe}wwoW?G}->V!I(@V^<+ZN^|RJ1C%vO50~ z%z3q`VD>RibmKufEOkxdAPere;IcqY zLhH_6JueN`wHEip*Zh)a?we*l$J;?8eYL=cSGas3wD8{>Ps!!0%%XXue?MSti!+!L P=upt@wdb+73WGHOCBcZo diff --git a/themes/material/img/smileys/redface.gif b/themes/material/img/smileys/redface.gif deleted file mode 100755 index 6e08e7bfe3d9e103365ebc06a641fd4489efa5b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmZ?wbhEHbY!5XS>n#YqJpp_8$Yd_R{VTV|cJiTEyEZH%a(Z=n_!#YugF>LU0G4n@0ItIMTo zY!ShOAB6k!z5Cwx5(G5^T0jZh1JC~MfHFyvu%17*X0tgD90G5^3vdE-Bo$_M=Ds&G zI|##Y?ptvfhI7CbFama>C|asFh@xo8%yxm1q|0w0l8!vEIdw!gGur}2W_D0H)_m+8 z2fGDs>V;qZKnEBmNfHLYp7UGu;5BePVYy>}tJPWt29k;ZxRZ4H+vpPjyFf1h`atKe z0Fnxz|1SVPC;%HS>yy7LGh46aoL3Y|U{Glfw1Icv!56&e-|s*>2tJnxbSfE#F3k$? zDCsE6vPRV{%d&=<9RrV^Qv$;{j#sO34*fW`(llMj^L(bxInVQ%G))&IZTrQR#|GwT6sNlzOhk}f@Pvb98qnRS7+nGJH{(91sa9^3-g zHN7c#AO%)Ql7soG@W*rxKm2_0{e(D?BFBE;1$1c*_w#uG)4UB95gQN?$vj9etGVk`txldob rooa#taU8e&(ZokQ2PTrT!gC2fINht5ED-BjE!WS4S#3#^L ziJKThGi%u^TM-f?z2?4|`{vHv7eXt59#8|fz#l(1K%He-($1epx7*zYE`UeiFYpcM zORCK5hhvXscAg~3)>3hjBwN5QU;`>>BvpE?mTcJ}}L)ED6A=>)Z9qE8uFyaOZfh*Lw?0Bvk>pk@Wq4t*;;) z0HXkmf&NPgBvrupRS1?OZe7)W9Uh*a7x{do%k|6vbwf zTolD7@D;cR_L?CA{br5RMh5T^cmnQ#Ge390lbL<+oEn&>X}aIEbK&MV3LykDJCHO4 z9)Jf)Lo+*Y?eE>O^<1A@`O-;F)>+wKo&lFD|AVAYE@uJ^Bvn4`fn)#NcyHFOCr#6R kFB;M1&07*qoM6N<$f;lC@QUCw| diff --git a/themes/material/img/smileys/tongue.png b/themes/material/img/smileys/tongue.png deleted file mode 100755 index deb29824794f931237f9990b2aa18914efc98cc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 382 zcmV-^0fGLBP)b+rmRULcpI|s$y z`ws8~x2bX3=v3*HSXGE09zy2Rv}cBWn(>aBS&yO98~^|S07*qoM6N<$f;p0;od5s; diff --git a/themes/material/img/smileys/trolldad.png b/themes/material/img/smileys/trolldad.png deleted file mode 100755 index 329c9afbf9cdc6a991f670f26f0263e994e1082d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3490 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 QdjJ3c07*qoM6N<$f-!e?H~;_u diff --git a/themes/material/img/smileys/trollface.png b/themes/material/img/smileys/trollface.png deleted file mode 100755 index 89ef7b9bc39c89235dd6de35914c5def23c31df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4454 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 diff --git a/themes/material/img/smileys/trollol.png b/themes/material/img/smileys/trollol.png deleted file mode 100755 index a7f855e56ef0fa710906da348e109c75d83bf808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1988 zcmd5+X;71A5dK00!zB`-au^K7DsmY>jsP))%LEmpqJkI*STO{V*nkF+@Bt-YK}flR z0c(`1u@wzB1;i-Ta4453L?8sIh+Kk5Km~2+OdW9aNB?zaciw$=p4sP_*_rnY(QB)^ zik=Dp0O|z1+iv-5DlaP-6aXNJq-S;j00oHKz1=?o0E5B6}+o11(4_O1H*dZDmZEbeS=ZSL>y zo1LAN3sESPqi(Uf&!bLLx9s5;2rcVov>j4082_JM? z3>Wvx0HC}c4*<^cy92=RKRL9Ru%wq$0M}h~n$S@+;HBEr{}%Lj`iBAWgix2m|ZK5QLNApGfG2fO>W7IYO6X{S3VP)I!{e1H@1q{ zRuY^wnwMvLPbn2Uhugg_l7V-z4N1podisB0X}ADt(oiMZZ0vMK%^9ypk~~59S?RJ< zI>=iMQ+?@p2_kpox;!f5wOO832R@Un4KRm`Dpa_ck|iQ-?zp8yFm zFSdrFmHOl1yKM-K3Pasgb7us7z#0LWjh|G1TIl_)Yl7;z)PCZs*KQ3HqPRjEHLnxI zep25-|1DQzvC%ow8P)l5QgB9IQ?3tK8dAHdpsB)<W!!blVK|_1w^gT96#1+m^iB(CZW=Hfxe||^{ zJ+2!s44Sxb8ltEZ;>v@QnR<`4?N@mtaY!qpkT*o7clCul#S{G=QO!y&RJe&S6uaQP_qlHY`CfJ zl%HAk4eoPgyb`JTb7Oh($#^PJZnn;yl9@8*rp0f?zA_*!{Wki(-}+TDj}#d@ zAJ+HckEAWVCvOH^rL9)l`>3I%!mfGnv0D-0c%zD@IJ+`tM1$zoBn@%c9;QE<>U=B~RmY8K*o%uMAltn%+zg z?WwIhV*~Bsba0%QshE@c!JfWhI0?O_XSkdGKB8{*a(_a;4njZh&De)uo4+g4#?CRS z*|isNEtQ_nJntB0+(@0-5oYk}ZYXcc{Jgdn#-prA?U7mHYp8c*UFvJ!f(?8PYg7mu zMmbnzLRiO#`$DF5^h~U;j5u!gIO6EnMP&tz-Wg!0?HD_ClIs#FS{-#}gk;wa2E4a_ zWz5giI~~KkC><|Wx9$*D^aQmPUC1mG34}RBm$;@v-+x``u-PeBio~D g-3ONc8~%{`3%jheWryu-tpET307*qoM6N<$f^7<;R{#J2 diff --git a/themes/material/img/smileys/wink.png b/themes/material/img/smileys/wink.png deleted file mode 100755 index 25ed69344e53a080349b6cb0e2911ea5d2c474f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)1NMPy;1BQ) zC?!>9_Q7-4X114Q*~ZG{EXy{4Prw`)#uz(of*51R%yxjeq|+4;Ne6!LY;B7kX0{E? z&1|npY?`f5SU7; z0&p(reN))$^&T(3ms&rT^kxZg1dIbP0m|F7w?k3|O#T}Hc+>`1k#GxZ7kK4B9~%iZ zFpV*G`u+ZsH5P%9n5C398-{&1 z$94$ej-;2sSKtEpX=cY}_S9uOcgNO?7M=OTL3Y+z*_r3S$&LSmq+ORY1xAu8pZ3Ue uS8lw!YbTvj+Vo3fU-1MOOR5%{m*OAH?XL_O%n1Jg00004}^zJb5Mj~4|bI(~p6!AfJ4%Aun(`~;;1 zZZHoa?Y{&eje?1`x9^qJOhuwZ=ffs zG_y;`p3Uqe#@Jd)jxn}?f4~elDvDyeS)eG2Z8JLtW|FR!NF<&4#rL%>dYIWhFf+50 z8rbu;kDTlp_}@%i#DN|#%{j*a{B(U=emMk&E6knaola*5m`ExEa4YH0Tdl7k>;t0! zjDg;J2_%)k_(KTZln`TVrIfy!*};N@zqN!4m^5dfbN*sx2a+zl%O^9t4B^#8pjVG^ zTFdBmyPts@U#ffHT++9CN?yGJrYWV}8aVak*mr%0Ip-Wg*jS