aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--app/controllers/admin/smileys.php320
-rw-r--r--app/controllers/smileys.php131
-rw-r--r--app/views/admin/smileys/edit.php63
-rw-r--r--app/views/admin/smileys/index.php92
-rw-r--r--app/views/admin/smileys/statistics.php21
-rw-r--r--app/views/admin/smileys/upload.php46
-rw-r--r--app/views/course/forum/index/_post.php3
-rw-r--r--app/views/course/forum/index/_smiley_favorites.php27
-rw-r--r--app/views/smileys/index.php117
-rw-r--r--app/views/smileys/picker.php77
-rw-r--r--config/config.inc.php.dist11
-rw-r--r--config/config_develop.inc.php11
-rw-r--r--db/migrations/5.4.1_remove_smileys.php54
-rw-r--r--lib/classes/ForumEntry.php18
-rw-r--r--lib/classes/Markup.class.php2
-rw-r--r--lib/classes/Smiley.php573
-rw-r--r--lib/classes/SmileyFavorites.php177
-rw-r--r--lib/classes/SmileyFormat.php57
-rw-r--r--lib/classes/UserManagement.class.php2
-rw-r--r--lib/models/User.class.php3
-rw-r--r--lib/models/UserInfo.class.php1
-rw-r--r--lib/modules/Blubber.class.php4
-rw-r--r--lib/navigation/AdminNavigation.php4
-rw-r--r--lib/visual.inc.php28
-rw-r--r--public/eval_summary_export.php2
-rw-r--r--public/pictures/smile/Drink.gifbin132 -> 0 bytes
-rw-r--r--public/pictures/smile/PIMP.gifbin438 -> 0 bytes
-rw-r--r--public/pictures/smile/aeh.gifbin120 -> 0 bytes
-rw-r--r--public/pictures/smile/aetsch.gifbin339 -> 0 bytes
-rw-r--r--public/pictures/smile/all.gifbin2592 -> 0 bytes
-rw-r--r--public/pictures/smile/angry.gifbin122 -> 0 bytes
-rw-r--r--public/pictures/smile/apple.gifbin227 -> 0 bytes
-rw-r--r--public/pictures/smile/argue.gifbin1238 -> 0 bytes
-rw-r--r--public/pictures/smile/arrow.gifbin169 -> 0 bytes
-rw-r--r--public/pictures/smile/asmile.gifbin172 -> 0 bytes
-rw-r--r--public/pictures/smile/ass.gifbin1260 -> 0 bytes
-rw-r--r--public/pictures/smile/asthanos.gifbin2161 -> 0 bytes
-rw-r--r--public/pictures/smile/aysmile.gifbin91 -> 0 bytes
-rw-r--r--public/pictures/smile/azzangel.gifbin381 -> 0 bytes
-rw-r--r--public/pictures/smile/bang.gifbin2734 -> 0 bytes
-rw-r--r--public/pictures/smile/banned.gifbin5757 -> 0 bytes
-rw-r--r--public/pictures/smile/bath.gifbin4372 -> 0 bytes
-rw-r--r--public/pictures/smile/beerdrink.gifbin1438 -> 0 bytes
-rw-r--r--public/pictures/smile/behead.gifbin2916 -> 0 bytes
-rw-r--r--public/pictures/smile/bgbounce.gifbin1408 -> 0 bytes
-rw-r--r--public/pictures/smile/biggrin.gifbin322 -> 0 bytes
-rw-r--r--public/pictures/smile/biglaugh.gifbin1175 -> 0 bytes
-rw-r--r--public/pictures/smile/birth.gifbin1549 -> 0 bytes
-rw-r--r--public/pictures/smile/blank.gifbin43 -> 0 bytes
-rw-r--r--public/pictures/smile/blue.gifbin88 -> 0 bytes
-rw-r--r--public/pictures/smile/bluegrab.gifbin5816 -> 0 bytes
-rw-r--r--public/pictures/smile/bm2.gifbin310 -> 0 bytes
-rw-r--r--public/pictures/smile/bobybuild.gifbin2764 -> 0 bytes
-rw-r--r--public/pictures/smile/borg.gifbin668 -> 0 bytes
-rw-r--r--public/pictures/smile/bounce.gifbin1475 -> 0 bytes
-rw-r--r--public/pictures/smile/burn.gifbin1795 -> 0 bytes
-rw-r--r--public/pictures/smile/burnout.gifbin7449 -> 0 bytes
-rw-r--r--public/pictures/smile/capuccino.gifbin725 -> 0 bytes
-rw-r--r--public/pictures/smile/cartman.gifbin149 -> 0 bytes
-rw-r--r--public/pictures/smile/cat.gifbin1514 -> 0 bytes
-rw-r--r--public/pictures/smile/chainsaw.gifbin447 -> 0 bytes
-rw-r--r--public/pictures/smile/chatter.gifbin427 -> 0 bytes
-rw-r--r--public/pictures/smile/clown.gifbin610 -> 0 bytes
-rw-r--r--public/pictures/smile/compress.gifbin3130 -> 0 bytes
-rw-r--r--public/pictures/smile/condom.gifbin294 -> 0 bytes
-rw-r--r--public/pictures/smile/confused.gifbin104 -> 0 bytes
-rw-r--r--public/pictures/smile/confused2.gifbin170 -> 0 bytes
-rw-r--r--public/pictures/smile/cook.gifbin1830 -> 0 bytes
-rw-r--r--public/pictures/smile/cool.gifbin139 -> 0 bytes
-rw-r--r--public/pictures/smile/cool2.gifbin172 -> 0 bytes
-rw-r--r--public/pictures/smile/cop.gifbin684 -> 0 bytes
-rw-r--r--public/pictures/smile/cow.gifbin723 -> 0 bytes
-rw-r--r--public/pictures/smile/crap.gifbin94 -> 0 bytes
-rw-r--r--public/pictures/smile/crash.gifbin339 -> 0 bytes
-rw-r--r--public/pictures/smile/crazy.gifbin187 -> 0 bytes
-rw-r--r--public/pictures/smile/crazy2.gifbin1018 -> 0 bytes
-rw-r--r--public/pictures/smile/crocodile.gifbin2300 -> 0 bytes
-rw-r--r--public/pictures/smile/cross.gifbin342 -> 0 bytes
-rw-r--r--public/pictures/smile/crucified.gifbin285 -> 0 bytes
-rw-r--r--public/pictures/smile/cry.gifbin225 -> 0 bytes
-rw-r--r--public/pictures/smile/cry2.gifbin411 -> 0 bytes
-rw-r--r--public/pictures/smile/cry3.gifbin244 -> 0 bytes
-rw-r--r--public/pictures/smile/crying.gifbin225 -> 0 bytes
-rw-r--r--public/pictures/smile/crying2.gifbin178 -> 0 bytes
-rw-r--r--public/pictures/smile/ctf.gifbin9549 -> 0 bytes
-rw-r--r--public/pictures/smile/dance.gifbin7912 -> 0 bytes
-rw-r--r--public/pictures/smile/daniel.gifbin560 -> 0 bytes
-rw-r--r--public/pictures/smile/dead.gifbin371 -> 0 bytes
-rw-r--r--public/pictures/smile/derexot.gifbin519 -> 0 bytes
-rw-r--r--public/pictures/smile/devil.gifbin97 -> 0 bytes
-rw-r--r--public/pictures/smile/devil2.gifbin374 -> 0 bytes
-rw-r--r--public/pictures/smile/diablotin.gifbin169 -> 0 bytes
-rw-r--r--public/pictures/smile/director.gifbin1413 -> 0 bytes
-rw-r--r--public/pictures/smile/disgust.gifbin95 -> 0 bytes
-rw-r--r--public/pictures/smile/dope.gifbin263 -> 0 bytes
-rw-r--r--public/pictures/smile/doublepuke.gifbin3824 -> 0 bytes
-rw-r--r--public/pictures/smile/drink2.gifbin1608 -> 0 bytes
-rw-r--r--public/pictures/smile/drink3.gifbin4971 -> 0 bytes
-rw-r--r--public/pictures/smile/duel.gifbin4429 -> 0 bytes
-rw-r--r--public/pictures/smile/eatsmiley.gifbin1581 -> 0 bytes
-rw-r--r--public/pictures/smile/eek.gifbin539 -> 0 bytes
-rw-r--r--public/pictures/smile/eek2.gifbin726 -> 0 bytes
-rw-r--r--public/pictures/smile/eek3.gifbin360 -> 0 bytes
-rw-r--r--public/pictures/smile/eek4.gifbin665 -> 0 bytes
-rw-r--r--public/pictures/smile/eek5.gifbin1614 -> 0 bytes
-rw-r--r--public/pictures/smile/eek8.gifbin793 -> 0 bytes
-rw-r--r--public/pictures/smile/embarass.gifbin607 -> 0 bytes
-rw-r--r--public/pictures/smile/engel.gifbin1279 -> 0 bytes
-rw-r--r--public/pictures/smile/ent.gifbin88 -> 0 bytes
-rw-r--r--public/pictures/smile/erm.gifbin104 -> 0 bytes
-rw-r--r--public/pictures/smile/error.gifbin204 -> 0 bytes
-rw-r--r--public/pictures/smile/errr.gifbin9077 -> 0 bytes
-rw-r--r--public/pictures/smile/evilidea.gifbin338 -> 0 bytes
-rw-r--r--public/pictures/smile/evillol.gifbin276 -> 0 bytes
-rw-r--r--public/pictures/smile/eviltongue.gifbin297 -> 0 bytes
-rw-r--r--public/pictures/smile/exclaim.gifbin236 -> 0 bytes
-rw-r--r--public/pictures/smile/explode.gifbin2568 -> 0 bytes
-rw-r--r--public/pictures/smile/fairy.gifbin192 -> 0 bytes
-rw-r--r--public/pictures/smile/fart.gifbin1145 -> 0 bytes
-rw-r--r--public/pictures/smile/feierabend.gifbin1011 -> 0 bytes
-rw-r--r--public/pictures/smile/fight.gifbin956 -> 0 bytes
-rw-r--r--public/pictures/smile/fire.gifbin4032 -> 0 bytes
-rw-r--r--public/pictures/smile/firedevil.gifbin13064 -> 0 bytes
-rw-r--r--public/pictures/smile/flamethrower.gifbin12105 -> 0 bytes
-rw-r--r--public/pictures/smile/foo.gifbin251 -> 0 bytes
-rw-r--r--public/pictures/smile/fouet.gifbin1843 -> 0 bytes
-rw-r--r--public/pictures/smile/francais.gifbin397 -> 0 bytes
-rw-r--r--public/pictures/smile/frog_kiss.gifbin7564 -> 0 bytes
-rw-r--r--public/pictures/smile/frown.gifbin137 -> 0 bytes
-rw-r--r--public/pictures/smile/frown2.gifbin6691 -> 0 bytes
-rw-r--r--public/pictures/smile/grazy.gifbin433 -> 0 bytes
-rw-r--r--public/pictures/smile/grenade.gifbin4282 -> 0 bytes
-rw-r--r--public/pictures/smile/gulp.gifbin10645 -> 0 bytes
-rw-r--r--public/pictures/smile/hammer2.gifbin759 -> 0 bytes
-rw-r--r--public/pictures/smile/hanged.gifbin335 -> 0 bytes
-rw-r--r--public/pictures/smile/headhammer.gifbin759 -> 0 bytes
-rw-r--r--public/pictures/smile/hi.gifbin399 -> 0 bytes
-rw-r--r--public/pictures/smile/hmmm.gifbin653 -> 0 bytes
-rw-r--r--public/pictures/smile/holyfly.gifbin569 -> 0 bytes
-rw-r--r--public/pictures/smile/icon_help.gifbin506 -> 0 bytes
-rw-r--r--public/pictures/smile/icon_kiss.gifbin1795 -> 0 bytes
-rw-r--r--public/pictures/smile/idea.gifbin174 -> 0 bytes
-rw-r--r--public/pictures/smile/jap.gifbin661 -> 0 bytes
-rw-r--r--public/pictures/smile/jesus.gifbin122 -> 0 bytes
-rw-r--r--public/pictures/smile/joint.gifbin235 -> 0 bytes
-rw-r--r--public/pictures/smile/jointbounce.gifbin1204 -> 0 bytes
-rw-r--r--public/pictures/smile/kaffee.gifbin4567 -> 0 bytes
-rw-r--r--public/pictures/smile/kaioken.gifbin1176 -> 0 bytes
-rw-r--r--public/pictures/smile/karate.gifbin217 -> 0 bytes
-rw-r--r--public/pictures/smile/keks.gifbin345 -> 0 bytes
-rw-r--r--public/pictures/smile/ketten.gifbin4584 -> 0 bytes
-rw-r--r--public/pictures/smile/kicher.gifbin1648 -> 0 bytes
-rw-r--r--public/pictures/smile/kiss.gifbin3671 -> 0 bytes
-rw-r--r--public/pictures/smile/klo.gifbin1834 -> 0 bytes
-rw-r--r--public/pictures/smile/kloguck.gifbin441 -> 0 bytes
-rw-r--r--public/pictures/smile/knife.gifbin236 -> 0 bytes
-rw-r--r--public/pictures/smile/kratz.gifbin300 -> 0 bytes
-rw-r--r--public/pictures/smile/ladysman.gifbin1221 -> 0 bytes
-rw-r--r--public/pictures/smile/laser.gifbin1251 -> 0 bytes
-rw-r--r--public/pictures/smile/laughoutloud.gifbin3666 -> 0 bytes
-rw-r--r--public/pictures/smile/lecture.gifbin224 -> 0 bytes
-rw-r--r--public/pictures/smile/lol.gifbin140 -> 0 bytes
-rw-r--r--public/pictures/smile/lol2.gifbin330 -> 0 bytes
-rw-r--r--public/pictures/smile/love.gifbin260 -> 0 bytes
-rw-r--r--public/pictures/smile/lsabre.gifbin654 -> 0 bytes
-rw-r--r--public/pictures/smile/lsvader.gifbin16231 -> 0 bytes
-rw-r--r--public/pictures/smile/lurk.gifbin10713 -> 0 bytes
-rw-r--r--public/pictures/smile/mad.gifbin422 -> 0 bytes
-rw-r--r--public/pictures/smile/male.gifbin123 -> 0 bytes
-rw-r--r--public/pictures/smile/megawink.gifbin150 -> 0 bytes
-rw-r--r--public/pictures/smile/mg.gifbin991 -> 0 bytes
-rw-r--r--public/pictures/smile/nixweiss.gifbin274 -> 0 bytes
-rw-r--r--public/pictures/smile/no.gifbin1648 -> 0 bytes
-rw-r--r--public/pictures/smile/nono.gifbin227 -> 0 bytes
-rw-r--r--public/pictures/smile/nuke.gifbin90 -> 0 bytes
-rw-r--r--public/pictures/smile/nuts.gifbin521 -> 0 bytes
-rw-r--r--public/pictures/smile/oeh.gifbin528 -> 0 bytes
-rw-r--r--public/pictures/smile/ohoh.gifbin565 -> 0 bytes
-rw-r--r--public/pictures/smile/oink.gifbin104 -> 0 bytes
-rw-r--r--public/pictures/smile/opa.gifbin2460 -> 0 bytes
-rw-r--r--public/pictures/smile/outtahere.gifbin10137 -> 0 bytes
-rw-r--r--public/pictures/smile/pain10.gifbin476 -> 0 bytes
-rw-r--r--public/pictures/smile/papst.gifbin3724 -> 0 bytes
-rw-r--r--public/pictures/smile/party.gifbin922 -> 0 bytes
-rw-r--r--public/pictures/smile/pcangry.gifbin2742 -> 0 bytes
-rw-r--r--public/pictures/smile/phaser.gifbin1071 -> 0 bytes
-rw-r--r--public/pictures/smile/piggy.gifbin172 -> 0 bytes
-rw-r--r--public/pictures/smile/pills.gifbin3058 -> 0 bytes
-rw-r--r--public/pictures/smile/plasma.gifbin1917 -> 0 bytes
-rw-r--r--public/pictures/smile/platt.gifbin252 -> 0 bytes
-rw-r--r--public/pictures/smile/pray.gifbin2782 -> 0 bytes
-rw-r--r--public/pictures/smile/puke2.gifbin2837 -> 0 bytes
-rw-r--r--public/pictures/smile/puke3.gifbin3274 -> 0 bytes
-rw-r--r--public/pictures/smile/pukey.gifbin387 -> 0 bytes
-rw-r--r--public/pictures/smile/pyth.gifbin4930 -> 0 bytes
-rw-r--r--public/pictures/smile/question.gifbin247 -> 0 bytes
-rw-r--r--public/pictures/smile/razz.gifbin175 -> 0 bytes
-rw-r--r--public/pictures/smile/read.gifbin160 -> 0 bytes
-rw-r--r--public/pictures/smile/reallymad.gifbin122 -> 0 bytes
-rw-r--r--public/pictures/smile/redface.gifbin137 -> 0 bytes
-rw-r--r--public/pictures/smile/redface2.gifbin641 -> 0 bytes
-rw-r--r--public/pictures/smile/remybussi.gifbin1517 -> 0 bytes
-rw-r--r--public/pictures/smile/rockdahouse.gifbin1018 -> 0 bytes
-rw-r--r--public/pictures/smile/rockets.gifbin3644 -> 0 bytes
-rw-r--r--public/pictures/smile/roflmao.gifbin3464 -> 0 bytes
-rw-r--r--public/pictures/smile/roll.gifbin304 -> 0 bytes
-rw-r--r--public/pictures/smile/roll2.gifbin804 -> 0 bytes
-rw-r--r--public/pictures/smile/rolleyes.gifbin471 -> 0 bytes
-rw-r--r--public/pictures/smile/rolling.gifbin497 -> 0 bytes
-rw-r--r--public/pictures/smile/rotfl.gifbin362 -> 0 bytes
-rw-r--r--public/pictures/smile/rotten.gifbin126 -> 0 bytes
-rw-r--r--public/pictures/smile/sandkasten.gifbin6230 -> 0 bytes
-rw-r--r--public/pictures/smile/sarcblink.gifbin304 -> 0 bytes
-rw-r--r--public/pictures/smile/saywhat.gifbin1943 -> 0 bytes
-rw-r--r--public/pictures/smile/scene.gifbin3985 -> 0 bytes
-rw-r--r--public/pictures/smile/scream.gifbin315 -> 0 bytes
-rw-r--r--public/pictures/smile/scream2.gifbin315 -> 0 bytes
-rw-r--r--public/pictures/smile/sg.gifbin106 -> 0 bytes
-rw-r--r--public/pictures/smile/shakko.gifbin3819 -> 0 bytes
-rw-r--r--public/pictures/smile/shine.gifbin1199 -> 0 bytes
-rw-r--r--public/pictures/smile/shock.gifbin935 -> 0 bytes
-rw-r--r--public/pictures/smile/shocked.gifbin196 -> 0 bytes
-rw-r--r--public/pictures/smile/shy.gifbin104 -> 0 bytes
-rw-r--r--public/pictures/smile/sick.gifbin240 -> 0 bytes
-rw-r--r--public/pictures/smile/slayer.gifbin293 -> 0 bytes
-rw-r--r--public/pictures/smile/sleeping.gifbin1383 -> 0 bytes
-rw-r--r--public/pictures/smile/sleepy.gifbin229 -> 0 bytes
-rw-r--r--public/pictures/smile/smash.gifbin535 -> 0 bytes
-rw-r--r--public/pictures/smile/smile.gifbin172 -> 0 bytes
-rw-r--r--public/pictures/smile/smileysex.gifbin2816 -> 0 bytes
-rw-r--r--public/pictures/smile/smoke.gifbin316 -> 0 bytes
-rw-r--r--public/pictures/smile/smokin.gifbin316 -> 0 bytes
-rw-r--r--public/pictures/smile/spam.gifbin334 -> 0 bytes
-rw-r--r--public/pictures/smile/sperm.gifbin823 -> 0 bytes
-rw-r--r--public/pictures/smile/spookie.gifbin1240 -> 0 bytes
-rw-r--r--public/pictures/smile/stinke.gifbin375 -> 0 bytes
-rw-r--r--public/pictures/smile/strange.gifbin2456 -> 0 bytes
-rw-r--r--public/pictures/smile/studip.gifbin1807 -> 0 bytes
-rw-r--r--public/pictures/smile/sun.gifbin212 -> 0 bytes
-rw-r--r--public/pictures/smile/sunglasses.gifbin212 -> 0 bytes
-rw-r--r--public/pictures/smile/surprised.gifbin174 -> 0 bytes
-rw-r--r--public/pictures/smile/taetschel.gifbin3419 -> 0 bytes
-rw-r--r--public/pictures/smile/tap.gifbin10936 -> 0 bytes
-rw-r--r--public/pictures/smile/tasty.gifbin545 -> 0 bytes
-rw-r--r--public/pictures/smile/tdo9.gifbin805 -> 0 bytes
-rw-r--r--public/pictures/smile/teethbrush.gifbin263 -> 0 bytes
-rw-r--r--public/pictures/smile/thefinger.gifbin249 -> 0 bytes
-rw-r--r--public/pictures/smile/threemonkey.gifbin419 -> 0 bytes
-rw-r--r--public/pictures/smile/thumb.gifbin136 -> 0 bytes
-rw-r--r--public/pictures/smile/ticking.gifbin557 -> 0 bytes
-rw-r--r--public/pictures/smile/tomato.gifbin1056 -> 0 bytes
-rw-r--r--public/pictures/smile/tongue.gifbin140 -> 0 bytes
-rw-r--r--public/pictures/smile/tongue2.gifbin95 -> 0 bytes
-rw-r--r--public/pictures/smile/tongue3.gifbin1041 -> 0 bytes
-rw-r--r--public/pictures/smile/tongue4.gifbin95 -> 0 bytes
-rw-r--r--public/pictures/smile/tonguerase.gifbin1011 -> 0 bytes
-rw-r--r--public/pictures/smile/trippel.gifbin400 -> 0 bytes
-rw-r--r--public/pictures/smile/tux.gifbin223 -> 0 bytes
-rw-r--r--public/pictures/smile/twak.gifbin1032 -> 0 bytes
-rw-r--r--public/pictures/smile/uarg.gifbin2529 -> 0 bytes
-rw-r--r--public/pictures/smile/ugly.gifbin525 -> 0 bytes
-rw-r--r--public/pictures/smile/uhoh.gifbin211 -> 0 bytes
-rw-r--r--public/pictures/smile/uhoh2.gifbin208 -> 0 bytes
-rw-r--r--public/pictures/smile/uhoh3.gifbin319 -> 0 bytes
-rw-r--r--public/pictures/smile/undwech.gifbin3290 -> 0 bytes
-rw-r--r--public/pictures/smile/upps.gifbin170 -> 0 bytes
-rw-r--r--public/pictures/smile/uzi.gifbin369 -> 0 bytes
-rw-r--r--public/pictures/smile/vtff.gifbin923 -> 0 bytes
-rw-r--r--public/pictures/smile/w00t.gifbin1370 -> 0 bytes
-rw-r--r--public/pictures/smile/wand.gifbin2600 -> 0 bytes
-rw-r--r--public/pictures/smile/wavey.gifbin2513 -> 0 bytes
-rw-r--r--public/pictures/smile/wavey2.gifbin1644 -> 0 bytes
-rw-r--r--public/pictures/smile/whisper.gifbin361 -> 0 bytes
-rw-r--r--public/pictures/smile/win.gifbin269 -> 0 bytes
-rw-r--r--public/pictures/smile/wink.gifbin135 -> 0 bytes
-rw-r--r--public/pictures/smile/wink2.gifbin781 -> 0 bytes
-rw-r--r--public/pictures/smile/wink3.gifbin168 -> 0 bytes
-rw-r--r--public/pictures/smile/winky.gifbin781 -> 0 bytes
-rw-r--r--public/pictures/smile/wobble.gifbin338 -> 0 bytes
-rw-r--r--public/pictures/smile/wub.gifbin1338 -> 0 bytes
-rw-r--r--public/pictures/smile/wut.gifbin886 -> 0 bytes
-rw-r--r--public/pictures/smile/xmas.gifbin175 -> 0 bytes
-rw-r--r--public/pictures/smile/yawn.gifbin577 -> 0 bytes
-rw-r--r--public/pictures/smile/yes.gifbin633 -> 0 bytes
-rw-r--r--public/pictures/smile/yoda.gifbin2117 -> 0 bytes
-rw-r--r--public/pictures/smile/zausel.gifbin1596 -> 0 bytes
-rw-r--r--public/pictures/smile/znaika.gifbin628 -> 0 bytes
-rw-r--r--public/pictures/smile/zwinker.gifbin214 -> 0 bytes
-rw-r--r--resources/assets/javascripts/bootstrap/smiley.js19
-rw-r--r--resources/assets/javascripts/bootstrap/smiley_picker.js7
-rw-r--r--resources/assets/javascripts/entry-base.js2
-rw-r--r--resources/assets/javascripts/init.js2
-rw-r--r--resources/assets/javascripts/lib/forum.js4
-rw-r--r--resources/assets/javascripts/lib/smiley_picker.js128
-rw-r--r--resources/assets/javascripts/lib/toolbar_buttonset.js10
-rw-r--r--resources/assets/stylesheets/scss/forum.scss5
-rw-r--r--resources/assets/stylesheets/scss/smileys.scss193
-rw-r--r--resources/assets/stylesheets/studip.scss1
-rw-r--r--tests/unit/lib/VisualTest.php7
300 files changed, 77 insertions, 2149 deletions
diff --git a/.gitignore b/.gitignore
index 869656c..12747d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,10 +31,6 @@ public/pictures/banner/*.jpg
public/pictures/banner/*.png
public/pictures/course/[0-9a-f]*.png
public/pictures/institute/[0-9a-f]*.png
-public/pictures/smile/*.gif
-public/pictures/smile/*.jpeg
-public/pictures/smile/*.jpg
-public/pictures/smile/*.png
public/pictures/user/[0-9a-f]*.png
public/plugins_packages/*
diff --git a/app/controllers/admin/smileys.php b/app/controllers/admin/smileys.php
deleted file mode 100644
index 7b4a774..0000000
--- a/app/controllers/admin/smileys.php
+++ /dev/null
@@ -1,320 +0,0 @@
-<?php
-/**
- * smileys.php - controller class for the smileys administration
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @author Tobias Thelen <tthelen@uos.de>
- * @author Jens Schmelzer <jens.schmelzer@fh-jena.de>
- * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
- * @category Stud.IP
- * @package smiley
- * @since 2.3
- */
-class Admin_SmileysController extends AuthenticatedController
-{
- /**
- * Common tasks for all actions.
- */
- public function before_filter(&$action, &$args)
- {
- parent::before_filter($action, $args);
-
- // user must have root permission
- $GLOBALS['perm']->check('root');
-
- // set navigation
- Navigation::activateItem('/admin/config/smileys');
-
- //pagelayout
- PageLayout::setTitle(_('Verwaltung der Smileys'));
- }
-
- /**
- * Administrtion view for smileys
- */
- public function index_action()
- {
- $this->view = Request::option('view', Smiley::getFirstUsedCharacter() ?: 'a');
- $this->smileys = Smiley::getGrouped($this->view);
- $this->favorites_enabled = SmileyFavorites::isEnabled();
-
- $this->setSidebar($this->view);
- }
-
- /**
- * Displays edit form and performs according actions upon submit
- *
- * @param int $id Id of the smiley to edit
- * @param String $view View to return to after editing
- */
- public function edit_action($id, $view)
- {
- PageLayout::setTitle(_('Smiley bearbeiten'));
-
- $smiley = Smiley::getById($id);
-
- if (Request::submitted('edit')) {
- $success = true;
-
- $name = Request::get('name', $smiley->name);
- if ($smiley->name != $name) { // rename smiley
- if (Smiley::getByName($name)->id) {
- $error = sprintf(_('Es existiert bereits eine Datei mit dem Namen "%s".'), $name . '.gif');
- PageLayout::postError($error);
- $success = false;
- } elseif (!$smiley->rename($name)) {
- $error = sprintf(_('Die Datei "%s" konnte nicht umbenannt werden.'), $smiley->name . '.gif');
- PageLayout::postError($error);
- $success = false;
- } else {
- PageLayout::postSuccess(_('Smiley erfolgreich umbenannt.'));
- }
- }
-
- $short = Request::get('short', $smiley->short);
- if ($smiley->short != $short) { // rename short
- if (Smiley::getByShort($short)->id) {
- $error = sprintf(_('Es gibt bereits einen Smileys mit dem Kürzel "%s".'), $short);
- PageLayout::postError($error);
- $success = false;
- } else {
- $smiley->short = $short;
- $smiley->store();
- PageLayout::postSuccess(_('Kürzel erfolgreich geändert.'));
- }
- }
-
- if ($success) {
- $this->redirect('admin/smileys?view=' . $smiley->name[0] . '#smiley' . $smiley->id);
- } else {
- $this->redirect($this->url_for('admin/smileys/edit', $id, $view));
- }
- }
-
- $this->smiley = $smiley;
- $this->view = $view;
- }
-
- /**
- * Deletes a smiley
- *
- * @param int $id Id of the smiley to delete
- * @param String $view View to return to after deletion
- * @todo needs some of confirmation
- */
- public function delete_action($id, $view)
- {
- if ($id == 'bulk') {
- $ids = Request::intArray('smiley_id');
- Smiley::remove($ids);
- $message = sprintf(_('%d Smiley(s) erfolgreich gelöscht.'), count($ids));
- } else {
- $smiley = Smiley::getById($id);
- $name = $smiley->name;
- $smiley->delete();
-
- $message = sprintf(_('Smiley "%s" erfolgreich gelöscht.'), $name);
- }
- PageLayout::postSuccess($message);
-
- $this->redirect('admin/smileys?view=' . $view);
- }
-
- /**
- * Counts all smiley occurences systemwide and updates the smileys' counters
- *
- * @param String $view View to return to
- */
- public function count_action($view)
- {
- $updated = Smiley::updateUsage();
-
- $message = sprintf(_('%d Zählerstände aktualisiert'), $updated);
- $msg = $updated > 0
- ? MessageBox::success($message)
- : MessageBox::info($message);
- PageLayout::postMessage($msg);
-
- $this->redirect('admin/smileys?view=' . $view);
- }
-
- /**
- * Refreshes the smiley table by aligning it with the file system
- *
- * @param String $view View to return to
- */
- public function refresh_action($view)
- {
- $result = Smiley::refresh();
-
- $message = sprintf(_('%u Operationen wurden durchgeführt.'), array_sum($result));
- $details = [
- sprintf(_('%d Smileys aktualisiert'), $result['update']),
- sprintf(_('%d Smileys eingefügt'), $result['insert']),
- sprintf(_('%d Smileys gelöscht'), $result['delete'])
- ];
- if (isset($result['favorites'])) {
- $details[] = sprintf(_('%d Favoriten geändert'), $result['favorites']);
- }
- $msg = array_sum($result) > 0
- ? MessageBox::success($message, $details, true)
- : MessageBox::info($message, $details, true);
- PageLayout::postMessage($msg);
-
- $this->redirect('admin/smileys?view=' . $view);
- }
-
- /**
- * Displays upload form and processes the upload command
- *
- * @param String $view View to return to if canceled
- */
- public function upload_action($view)
- {
- PageLayout::setTitle(_('Neues Smiley hochladen'));
-
- if (!Request::submitted('upload')) {
- $this->view = $view;
- return;
- }
-
- // File submitted?
- $upload = $_FILES['smiley_file'];
- if (empty($upload) || empty($upload['name'])) {
- $error = _('Sie haben keine Datei zum Hochladen ausgewählt!');
- PageLayout::postError($error);
- return;
- }
-
- // Error upon upload?
- if ($upload['error']) {
- $error = _('Es gab einen Fehler beim Upload. Bitte versuchen Sie es erneut.');
- PageLayout::postError($error);
- return;
- }
-
- // Correct mime-type?
- $no_image = !empty($upload['type']) && mb_substr($upload['type'], 0, 5) != 'image';
- if (!$no_image) {
- $image_info = getimagesize($upload['tmp_name']); // Used later on!
- $no_gif = $image_info[2] != IMAGETYPE_GIF;
- }
- if ($no_image) {
- $error = _('Die Datei ist keine Bilddatei');
- PageLayout::postError($error);
- return;
- }
-
- // Extract smiley information
- $smiley_file = $upload['name'];
- $smiley_name = mb_substr($smiley_file, 0, mb_strrpos($smiley_file, '.'));
-
- // Replace smiley?
- $smiley = Smiley::getByName($smiley_name);
- $replace = Request::int('replace');
- if ($smiley->id && !$replace) {
- $error = sprintf(_('Es ist bereits eine Bildatei mit dem Namen "%s" vorhanden.'), $smiley_file);
- PageLayout::postError($error);
- return;
- }
-
- // Copy file into file system
- $destination = Smiley::getFilename($smiley_file);
- if (!move_uploaded_file($upload['tmp_name'], $destination)) {
- $error = _('Es ist ein Fehler beim Kopieren der Datei aufgetreten. Das Bild wurde nicht hochgeladen!');
- PageLayout::postError($error);
- return;
- }
-
- // set permissions for uploaded file
- chmod($destination, 0666 & ~umask());
-
- // Import smiley into database
- Smiley::refresh($destination);
-
- // Output appropriate wurde message
- $message = $replace
- ? sprintf(_('Die Bilddatei "%s" wurde erfolgreich ersetzt.'), $smiley_file)
- : sprintf(_('Die Bilddatei "%s" wurde erfolgreich hochgeladen.'), $smiley_file);
- PageLayout::postSuccess($message);
-
- // Return to index and display the view the uploaded smiley is in
- $this->redirect('admin/smileys?view=' . $smiley_file[0]);
- }
-
- /**
- * Extends this controller with neccessary infobox
- *
- * @param String $view Currently viewed group
- */
- private function setSidebar($view)
- {
- $sidebar = Sidebar::Get();
-
- // Render items
- $factory = new Flexi_TemplateFactory($this->dispatcher->trails_root . '/views/admin/smileys/');
-
- $actions = new ActionsWidget();
- $actions->addLink(
- _('Neues Smiley hochladen'),
- $this->url_for('admin/smileys/upload', $view),
- Icon::create('add')
- )->asDialog('size=auto');
- $actions->addLink(
- _('Smileys zählen'),
- $this->url_for('admin/smileys/count', $view),
- Icon::create('code')
- );
- $actions->addLink(
- _('Tabelle aktualisieren'),
- $this->url_for('admin/smileys/refresh', $view),
- Icon::create('refresh')
- );
- $actions->addLink(
- _('Smiley-Übersicht öffnen'),
- URLHelper::getLink('dispatch.php/smileys'),
- Icon::create('smiley')
- )->asDialog();
- $sidebar->addWidget($actions);
-
- $widget = new SelectWidget(
- _('Filter'),
- $this->url_for('admin/smileys/index'),
- 'view'
- );
- $group = new SelectGroupElement(_('Nach Buchstaben'));
- foreach (Smiley::getUsedCharacters() as $character => $count) {
- $option = new SelectElement($character, sprintf("%s (% 2u)", mb_strtoupper($character), $count));
- $option->setActive($view == $character);
- $group->addElement($option);
- }
- $widget->addElement($group);
-
- $groups = [
- 'all' => _('Alle'),
- 'top20' => _('Top 20'),
- 'used' => _('Benutzte'),
- 'none' => _('Nicht benutzte'),
- 'short' => _('Nur mit Kürzel')
- ];
- $group = new SelectGroupElement(_('Gruppiert'));
- foreach ($groups as $key => $label) {
- $option = new SelectElement($key, $label);
- $option->setActive($view == $key);
- $group->addElement($option);
- }
- $widget->addElement($group);
- $sidebar->addWidget($widget);
-
- $widget = new SidebarWidget();
- $statistics = $factory->render('statistics', Smiley::getStatistics());
- $widget->setTitle(_('Statistiken'));
- $widget->addElement(new WidgetElement($statistics));
- $sidebar->addWidget($widget);
- }
-}
diff --git a/app/controllers/smileys.php b/app/controllers/smileys.php
deleted file mode 100644
index 600645d..0000000
--- a/app/controllers/smileys.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-/**
- * smileys.php - controller class for the smileys
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @author Tobias Thelen <tthelen@uos.de>
- * @author Jens Schmelzer <jens.schmelzer@fh-jena.de>
- * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
- * @category Stud.IP
- * @package smiley
- * @since 2.3
- */
-class SmileysController extends AuthenticatedController
-{
- const GRID_WIDTH = 5;
- const GRID_HEIGHT = 2;
-
- /**
- * Common tasks for all actions.
- */
- public function before_filter(&$action, &$args)
- {
- parent::before_filter($action, $args);
-
- PageLayout::setTitle(_('Smiley-Übersicht'));
-
- $this->favorites_activated = SmileyFavorites::isEnabled()
- && $GLOBALS['user']->id != 'nobody';
-
- if ($this->favorites_activated) {
- $this->favorites = new SmileyFavorites($GLOBALS['user']->id);
- $this->default = count($this->favorites->get()) > 0
- ? 'favorites'
- : Smiley::getFirstUsedCharacter();
- } else {
- $this->default = Smiley::getFirstUsedCharacter();
- }
- }
-
- /**
- * Displays (a subset of) the smileys in the system
- *
- * @param mixed $view Subset to display, defaults to favorites if enabled
- */
- public function index_action($view = null)
- {
- $this->view = $view ?: $this->default;
-
- $this->characters = Smiley::getUsedCharacters();
- $this->statistics = Smiley::getStatistics();
-
- // Redirect to index if favorites is selected but user is not logged in
- if (!$this->favorites_activated and $this->view == 'favorites') {
- $this->redirect('smileys');
- }
-
- $title = _('Smiley-Übersicht') . ' - ' . sprintf(_('%s Smileys vorhanden'), $this->statistics['count_all']);
- PageLayout::setTitle($title);
-
- $this->smileys = $this->view == 'favorites'
- ? Smiley::getByIds($this->favorites->get())
- : Smiley::getGrouped($this->view);
- }
-
- /**
- * Toggles whether a certain smiley is favored for the current user
- *
- * @param int $id Id of the smiley to favor/disfavor
- * @param String $view View to return to
- */
- public function favor_action($id, $view)
- {
- try {
- $state = $this->favorites->toggle($id);
-
- $message = $state
- ? _('Der Smiley wurde zu Ihren Favoriten hinzugefügt.')
- : _('Der Smiley gehört nicht mehr zu Ihren Favoriten.');
- $msg_box = MessageBox::success($message);
- } catch (OutOfBoundsException $e) {
- $state = $this->favorites->contain($id);
- $message = _('Maximale Favoritenzahl erreicht. Vielleicht sollten Sie mal ausmisten? :)');
- $msg_box = MessageBox::error($message);
- }
-
- if (Request::isXhr()) {
- $this->response->add_header('Content-Type', 'application/json');
- $this->render_text(json_encode([
- 'state' => $state,
- 'message' => $msg_box,
- ]));
- } else {
- PageLayout::postMessage($msg_box);
- $this->redirect('smileys/index/' . $view . '#smiley' . $id);
- }
- }
-
- /**
- * Back end for the smiley picker javascript module.
- * Renders a list of smileys very similar to the index action but
- * unfortunately still to different to be combined.
- *
- * @param mixed $view Subset to display, defaults to favorites if enabled
- * @param int $page Section of subset to display
- */
- public function picker_action($view = null, $page = 0)
- {
- $per_page = self::GRID_WIDTH * self::GRID_HEIGHT;
-
- $this->view = $view ?: ($this->default === 'favorites' ? 'favorites' : 'all');
- $smileys = $this->view == 'favorites'
- ? Smiley::getByIds($this->favorites->get())
- : Smiley::getGrouped($this->view);
-
- $this->page = $page;
- $this->pages = floor(count($smileys) / $per_page);
-
- array_walk($smileys, function ($smiley) {
- $smiley->link = $smiley->getURL();
- $smiley->html = $smiley->getImageTag();
- });
- $this->smileys = array_slice($smileys, $page * $per_page, $per_page);
-
- $this->characters = Smiley::getUsedCharacters();
- }
-}
diff --git a/app/views/admin/smileys/edit.php b/app/views/admin/smileys/edit.php
deleted file mode 100644
index ebe9883..0000000
--- a/app/views/admin/smileys/edit.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/**
- * @var Admin_SmileysController $controller
- * @var Smiley $smiley
- * @var string $view
- */
-use Studip\Button, Studip\LinkButton;
-?>
-
-<form action="<?= $controller->url_for('admin/smileys/edit', $smiley->id, $view) ?>"
- method="post" enctype="multipart/form-data">
- <?= CSRFProtection::tokenTag() ?>
-
- <table class="default">
- <thead class="hide-in-dialog">
- <tr>
- <th colspan="2"><b><?= _('Smiley bearbeiten') ?></b></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><?= _('Smiley:')?></td>
- <td align="center"><?= $smiley->getImageTag() ?></td>
- </tr>
- <tr>
- <td>
- <label for="name"><?= _('Name')?></label>
- </td>
- <td>
- <input type="text" name="name" id="name" required pattern="[A-Za-z0-9-_]+"
- value="<?= Request::option('name', $smiley->name) ?>">
- <br>
- <small><?= _('Erlaubte Zeichen:') ?> a-z 0-9 &ndash; _</small>
- </td>
- </tr>
- <tr>
- <td>
- <label for="short"><?= _('Kürzel')?></label>
- </td>
- <td>
- <input type="text" name="short" id="short"
- value="<?= Request::option('short', $smiley->short) ?>">
- </td>
- </tr>
- <tr>
- <td><?= _('Erstellt') ?></td>
- <td><?= date('d.m.Y H:i:s', $smiley->mkdate) ?></td>
- </tr>
- <tr>
- <td><?= _('Geändert') ?></td>
- <td><?= date('d.m.Y H:i:s', $smiley->chdate) ?></td>
- </tr>
- </tbody>
- <tfoot data-dialog-button>
- <tr>
- <td colspan="2">
- <?= Button::createAccept(_('Speichern'), 'edit') ?>
- <?= LinkButton::createCancel(_('Abbrechen'), $controller->url_for('admin/smileys?view=' . $view))?>
- </td>
- </tr>
- </tfoot>
- </table>
-</form>
diff --git a/app/views/admin/smileys/index.php b/app/views/admin/smileys/index.php
deleted file mode 100644
index 44a51f7..0000000
--- a/app/views/admin/smileys/index.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/**
- * @var Admin_SmileysController $controller
- * @var bool $favorites_enabled
- * @var string $view
- * @var Smiley[] $smileys
- */
-?>
-<form action="<?= $controller->action_link('admin/smileys/delete/bulk', $view) ?>" method="post">
- <?= CSRFProtection::tokenTag() ?>
-
- <table class="default">
- <colgroup>
- <col style="width: 20px">
- <col>
- <col>
- <col style="width: 50px">
- <col>
- <col style="width: 50px">
- <? if ($favorites_enabled): ?>
- <col style="width: 50px">
- <? endif; ?>
- <col style="width: 50px">
- </colgroup>
- <thead>
- <tr>
- <th>&nbsp;</th>
- <th><?= _('Smiley') ?></th>
- <th><?= _('Smileyname') ?></th>
- <th>&Sigma;</th>
- <th><?= _('Kürzel') ?></th>
- <th>&Sigma;</th>
- <? if ($favorites_enabled): ?>
- <th><?= _('Favoriten') ?></th>
- <? endif; ?>
- <th>&nbsp;</th>
- </tr>
- </thead>
- <? if (empty($smileys)): ?>
- <tbody>
- <tr>
- <td class="blank" colspan="<?= $favorites_enabled ? 8 : 7 ?>">
- <?= _('Keine Smileys vorhanden.') ?>
- </td>
- </tr>
- </tbody>
- <? else: ?>
- <tbody>
- <? foreach ($smileys as $smiley): ?>
- <tr id="smiley<?= $smiley->id ?>">
- <td><input type="checkbox" name="smiley_id[]" value="<?= $smiley->id ?>"></td>
- <td><?= $smiley->getImageTag() ?></td>
- <td><?= htmlReady($smiley->name) ?></td>
- <td><?= $smiley->count ?></td>
- <? if ($smiley->short): ?>
- <td class="separator"><?= htmlReady($smiley->short) ?></td>
- <td><?= $smiley->short_count ?></td>
- <? else: ?>
- <td class="separator" colspan="2">-</td>
- <? endif; ?>
- <? if ($favorites_enabled): ?>
- <td class="separator"><?= $smiley->fav_count ?></td>
- <? endif; ?>
- <td align="right">
- <a href="<?= $controller->url_for('admin/smileys/edit', $smiley->id, $view) ?>"
- title="<?= htmlReady(sprintf(_('Smiley "%s" bearbeiten'), $smiley->name)) ?>"
- data-dialog="size=auto">
- <?= Icon::create('edit') ?>
- </a>
- <a href="<?= $controller->url_for('admin/smileys/delete', $smiley->id, $view) ?>"
- title="<?= htmlReady(sprintf(_('Smiley "%s" löschen'), $smiley->name)) ?>">
- <?= Icon::create('trash') ?>
- </a>
- </td>
- </tr>
- <? endforeach; ?>
- </tbody>
- <tfoot>
- <tr>
- <td>
- <input class="middle" type="checkbox" data-proxyfor=":checkbox[name^=smiley_id]"
- data-activates="button[name=bulk-delete]"
- name="check_all" title="<?= _('Alle Benutzer auswählen') ?>">
- </td>
- <td colspan="<?= $favorites_enabled ? 7 : 6 ?>">
- <?= Studip\Button::createCancel(_('Markierte löschen'), 'bulk-delete') ?>
- </td>
- </tr>
- </tfoot>
- <? endif; ?>
- </table>
-</form>
diff --git a/app/views/admin/smileys/statistics.php b/app/views/admin/smileys/statistics.php
deleted file mode 100644
index bdef017..0000000
--- a/app/views/admin/smileys/statistics.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * @var int $count_all
- * @var int $count_used
- * @var int $sum
- * @var int $last_change
- */
-?>
-<dl class="smiley-statistics">
- <dt><?= _('Vorhanden') ?></dt>
- <dd><?= $count_all ?></dd>
-
- <dt><?= _('Davon benutzt') ?></dt>
- <dd><?= $count_used ?></dd>
-
- <dt><?= _('Smiley-Vorkommen') ?></dt>
- <dd><?= $sum ?></dd>
-
- <dt><?= _('Letzte Änderung') ?></dt>
- <dd><?= (!is_null($last_change) ? date('d.m.Y H:i:s', $last_change) : '')?></dd>
-</dl>
diff --git a/app/views/admin/smileys/upload.php b/app/views/admin/smileys/upload.php
deleted file mode 100644
index c0d6c6b..0000000
--- a/app/views/admin/smileys/upload.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/**
- * @var Admin_SmileysController $controller
- * @var string $view
- */
-
-use Studip\Button, Studip\LinkButton;
-?>
-<form action="<?= $controller->url_for('admin/smileys/upload', $view) ?>"
- method="post" enctype="multipart/form-data">
- <?= CSRFProtection::tokenTag() ?>
-
- <table class="default">
- <thead class="hide-in-dialog">
- <tr>
- <th colspan="2"><b><?= _('Neues Smiley hochladen') ?></b></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <label for="replace"><?= _('existierende Datei überschreiben') ?></label>
- </td>
- <td>
- <input type="checkbox" id="replace" name="replace" value="1">
- </td>
- </tr>
- <tr>
- <td>
- <label for="file"><?= _('Bilddatei auswählen') ?></label>
- </td>
- <td>
- <input type="file" id="file" name="smiley_file" required>
- </td>
- </tr>
- </tbody>
- <tfoot data-dialog-button>
- <tr>
- <td colspan="2" align="center">
- <?= Button::createAccept(_('Hochladen'), 'upload') ?>
- <?= LinkButton::createCancel(_('Abbrechen'), $controller->url_for('admin/smileys?view=' . $view))?>
- </td>
- </tr>
- </tfoot>
- </table>
-</form>
diff --git a/app/views/course/forum/index/_post.php b/app/views/course/forum/index/_post.php
index 538b98d..d21b4ef 100644
--- a/app/views/course/forum/index/_post.php
+++ b/app/views/course/forum/index/_post.php
@@ -161,9 +161,6 @@
<span data-edit-topic="<?= $post['topic_id'] ?>" <?= $edit_posting == $post['topic_id'] ? '' : 'style="display: none;"' ?>>
<dl class="postprofile">
<dt>
- <? if (!Config::get()->WYSIWYG): ?>
- <?= $this->render_partial('course/forum/index/_smiley_favorites', ['textarea_id' => $post['topic_id']]) ?>
- <? endif; ?>
</dt>
</dl>
</span>
diff --git a/app/views/course/forum/index/_smiley_favorites.php b/app/views/course/forum/index/_smiley_favorites.php
deleted file mode 100644
index fbe48b4..0000000
--- a/app/views/course/forum/index/_smiley_favorites.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?
-$sm = new SmileyFavorites($GLOBALS['user']->id);
-?>
-<div class="smiley_favorites">
- <a href="<?= URLHelper::getLink('dispatch.php/smileys') ?>" data-dialog>
- <?= _('Smileys') ?>
- </a> |
- <a href="<?= format_help_url("Basis.VerschiedenesFormat") ?>" target="new"><?= _("Formatierungshilfen") ?></a>
- <br>
- <? $smileys = Smiley::getByIds($sm->get()) ?>
- <? if (!empty($smileys)) : ?>
- <? foreach ($smileys as $smiley) : ?>
- <img class="js" src="<?= $smiley->getUrl() ?>" data-smiley=" :<?= $smiley->name ?>: "
- style="cursor: pointer;" onClick="STUDIP.Forum.insertSmiley('<?= $textarea_id ?>', this)">
- <? endforeach ?>
- <? elseif ($GLOBALS['user']->id != 'nobody') : ?>
- <span style="font-size: 1.2em" class="js">
- <br>
- <?= _('Sie haben noch keine Smiley-Favoriten.') ?><br>
- <br>
- <a href="<?= URLHelper::getLink('dispatch.php/smileys') ?>" data-dialog>
- <?= _('Fügen Sie welche hinzu!') ?>
- </a>
- </span>
- <? endif ?>
- <br>
-</div>
diff --git a/app/views/smileys/index.php b/app/views/smileys/index.php
deleted file mode 100644
index 5860b95..0000000
--- a/app/views/smileys/index.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-use Studip\Button;
-
-// divide smiley array in equal chunks, spillover from left to right
-$count = count($smileys);
-$columns = min(3, ceil($count / 5));
-
-$max = $columns ? floor($count / $columns) : 0;
-$spillover = $columns ? $count % $columns : 0;
-
-$data = [];
-for ($i = 0; $i < $columns; $i++) {
- $num = $max + (int)($spillover > 0);
-
- $data[] = array_splice($smileys, 0, $num);
-
- $spillover -= 1;
-}
-$data = array_filter($data);
-?>
-
-<ul class="smiley-tabs" role="navigation">
-<? if ($favorites_activated): ?>
- <li class="favorites <? if ($view === 'favorites') echo 'current'; ?>">
- <a href="<?= $controller->url_for('smileys/index/favorites') ?>" data-dialog>
- <?= _('Favoriten') ?>
- </a>
- </li>
-<? endif; ?>
-<? if (Smiley::getShort()): ?>
- <li <? if ($view === 'short') echo 'class="current"'; ?>>
- <a href="<?= $controller->url_for('smileys/index/short') ?>" data-dialog>
- <?= _('Kürzel') ?>
- </a>
- </li>
-<? endif; ?>
- <li <? if ($view === 'all') echo 'class="current"'; ?>>
- <a href="<?= $controller->url_for('smileys/index/all') ?>" data-dialog>
- <?= _('Alle') ?>
- </a>
- </li>
-<? foreach (array_keys($characters) as $char): ?>
- <li <? if ($view === $char) echo 'class="current"'; ?>>
- <a href="<?= $controller->url_for('smileys/index', $char) ?>" data-dialog>
- <?= mb_strtoupper($char) ?>
- </a>
- </li>
-<? endforeach; ?>
-</ul>
-
-<div class="clear"></div>
-
-<? if (!$count): ?>
- <?= MessageBox::info($view === 'favorites'
- ? _('Keine Favoriten vorhanden.')
- : _('Keine Smileys vorhanden.')) ?>
-<? else: ?>
- <table class="smiley-container">
- <tr>
- <? foreach ($data as $smileys): ?>
- <td valign="top" align="center">
-
- <table class="smiley-column default">
- <colgroup>
- <col>
- <col width="25%">
- <col width="25%">
- <? if ($favorites_activated): ?>
- <col width="32px">
- <? endif; ?>
- </colgroup>
- <thead>
- <tr>
- <th><?= _('Bild') ?></th>
- <th><?= _('Code') ?></th>
- <th><?= _('Kürzel') ?></th>
- <? if ($favorites_activated): ?>
- <th class="actions">
- <abbr title="<?= _('Favorit') ?>">
- <?= Icon::create('star', 'info')->asImg() ?>
- </abbr>
- </th>
- <? endif; ?>
- </tr>
- </thead>
- <tbody>
- <? foreach ($smileys as $smiley): ?>
- <tr id="smiley<?= $smiley->id ?>">
- <td class="smiley-icon">
- <a name="smiley<?= $smiley->id ?>"></a>
- <?= $smiley->getImageTag() ?>
- </td>
- <td><?= sprintf(':%s:', $smiley->name) ?></td>
- <td><?= htmlReady($smiley->short) ?></td>
- <? if ($favorites_activated): ?>
- <td class="actions">
- <a href="<?= $controller->url_for('smileys/favor', $smiley->id, $view) ?>"
- class="smiley-toggle <?= $favorites->contain($smiley->id) ? 'favorite' : '' ?>">
- <? if ($favorites->contain($smiley->id)): ?>
- <?= _('Als Favorit entfernen') ?>
- <? else: ?>
- <?= _('Als Favorit markieren') ?>
- <? endif; ?>
- </a>
- </td>
- <? endif; ?>
- </tr>
- <? endforeach; ?>
- </tbody>
- </table>
-
- </td>
- <? endforeach; ?>
- </tr>
- </table>
-<? endif; ?>
-
diff --git a/app/views/smileys/picker.php b/app/views/smileys/picker.php
deleted file mode 100644
index 8093fb5..0000000
--- a/app/views/smileys/picker.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<div class="smiley-picker">
- <table class="navigation top">
- <tr>
- <? if ($favorites_activated && count($favorites->get()) > 0): ?>
- <td>
- <a href="<?= $controller->url_for('smileys/picker/favorites') ?>">
- <?= Icon::create('star', $view === 'favorites' ? 'attention' : 'clickable', ['title' => _('Favoriten')]) ?>
- </a>
- </td>
- <? endif; ?>
- <td style="text-align: right;">
- <a href="<?= $controller->url_for('smileys/picker/all') ?>">
- <?= Icon::create('smiley', $view === 'all' ? 'attention' : 'clickable', ['title' => _('alle')]) ?>
- </a>
- </td>
- <? for ($i = 0; $i < 26; $i++):
- $char = chr(ord('a') + $i);
- ?>
- <td <? if ($view === $char) echo 'class="active"'; ?>>
- <? if (isset($characters[$char])): ?>
- <a href="<?= $controller->url_for('smileys/picker/'. $char) ?>">
- <?= mb_strtoupper($char) ?>
- </a>
- <? else: ?>
- <?= $char ?>
- <? endif; ?>
- </td>
- <? endfor; ?>
- </tr>
- </table>
-
- <div class="smileys">
-<? foreach (array_pad($smileys, $controller::GRID_WIDTH * $controller::GRID_HEIGHT, null) as $smiley): ?>
- <? if ($smiley === null): ?>
- <span class="empty"></span>
- <? else: ?>
- <a class="smiley" href="#" data-code="<?= $smiley->short ?: (':' . $smiley->name . ':') ?>">
- <?= $smiley->html ?>
- </a>
- <? endif; ?>
-<? endforeach; ?>
- </div>
-
- <table class="navigation bottom">
- <tr>
- <td>
- <? if ($page > 0): ?>
- <a href="<?= $controller->url_for('smileys/picker/' . $view . '/0') ?>">
- <?= Icon::create('arr_eol-left', 'clickable')->asImg() ?>
- </a>
- <a href="<?= $controller->url_for('smileys/picker/' . $view . '/' . ($page - 1)) ?>">
- <?= Icon::create('arr_1left', 'clickable')->asImg() ?>
- </a>
- <? else: ?>
- <?= Icon::create('arr_eol-left', 'inactive')->asImg() ?>
- <?= Icon::create('arr_1left', 'inactive')->asImg() ?>
- <? endif; ?>
- </td>
- <td style="text-align: center;">
- <?= sprintf('Seite %u von %u', $page + 1, $pages + 1) ?>
- </td>
- <td style="text-align: right;">
- <? if ($page < $pages): ?>
- <a href="<?= $controller->url_for('smileys/picker/' . $view . '/' . ($page + 1)) ?>">
- <?= Icon::create('arr_1right', 'clickable')->asImg() ?>
- </a>
- <a href="<?= $controller->url_for('smileys/picker/' . $view . '/' . $pages) ?>">
- <?= Icon::create('arr_eol-right', 'clickable')->asImg() ?>
- </a>
- <? else: ?>
- <?= Icon::create('arr_1right', 'inactive')->asImg() ?>
- <?= Icon::create('arr_eol-right', 'inactive')->asImg() ?>
- <? endif; ?>
- </td>
- </tr>
- </table>
-</div> \ No newline at end of file
diff --git a/config/config.inc.php.dist b/config/config.inc.php.dist
index 099d03b..f0d5b27 100644
--- a/config/config.inc.php.dist
+++ b/config/config.inc.php.dist
@@ -44,7 +44,6 @@ global
$NAME_FORMAT_DESC,
$PERS_TERMIN_KAT,
$SCM_PRESET,
- $SMILE_SHORT,
$SYMBOL_SHORT,
$TERMIN_TYP,
$TITLE_FRONT_TEMPLATE,
@@ -252,16 +251,6 @@ $SCM_PRESET[3] = array("name"=>_("Links"));
$SCM_PRESET[4] = array("name"=>_("Verschiedenes"));
//you can add more presets here
-//Shortcuts for smileys
-$SMILE_SHORT = array( //diese Kuerzel fuegen das angegebene Smiley ein (Dateiname + ".gif")
- ":)"=>"smile" ,
- ":-)"=>"asmile" ,
- ":#:"=>"zwinker" ,
- ":("=>"frown" ,
- ":o"=>"redface" ,
- ":D"=>"biggrin",
- ";-)"=>"wink");
-
//Shortcuts for symbols
$SYMBOL_SHORT = array(
"=)" => "&rArr;" ,
diff --git a/config/config_develop.inc.php b/config/config_develop.inc.php
index f2ea173..26787a2 100644
--- a/config/config_develop.inc.php
+++ b/config/config_develop.inc.php
@@ -47,7 +47,6 @@ global
$PERS_TERMIN_KAT,
$SCM_PRESET,
$SEM_STATUS_GROUPS,
- $SMILE_SHORT,
$SYMBOL_SHORT,
$TERMIN_TYP,
$TIME_PRESETS,
@@ -309,16 +308,6 @@ $LIT_LIST_FORMAT_TEMPLATE = "**{dc_creator}** |({dc_contributor})||\n"
. "{note}||\n"
. "[{lit_plugin_display_name}]{external_link}|\n";
-//Shortcuts for smileys
-$SMILE_SHORT = [ //diese Kuerzel fuegen das angegebene Smiley ein (Dateiname + ".gif")
- ":)"=>"smile" ,
- ":-)"=>"asmile" ,
- ":#:"=>"zwinker" ,
- ":("=>"frown" ,
- ":o"=>"redface" ,
- ":D"=>"biggrin",
- ";-)"=>"wink"];
-
//Shortcuts for symbols
$SYMBOL_SHORT = [
"=)" => "&rArr;" ,
diff --git a/db/migrations/5.4.1_remove_smileys.php b/db/migrations/5.4.1_remove_smileys.php
new file mode 100644
index 0000000..232325f
--- /dev/null
+++ b/db/migrations/5.4.1_remove_smileys.php
@@ -0,0 +1,54 @@
+<?php
+final class RemoveSmileys extends Migration
+{
+ protected function up()
+ {
+ $query = "ALTER TABLE `user_info`
+ DROP COLUMN `smiley_favorite`";
+ DBManager::get()->exec($query);
+
+ $query = "DROP TABLE `smiley`";
+ DBManager::get()->exec($query);
+
+ $query = "DELETE `config`, `config_values`
+ FROM `config`
+ LEFT JOIN `config_values` USING (`field`)
+ WHERE `field` = 'SMILEYADMIN_ENABLE'";
+ DBManager::get()->exec($query);
+ }
+
+ protected function down()
+ {
+ $query = "INSERT INTO `config` (
+ `field`, `value`, `type`, `range`, `section`,
+ `mkdate`, `chdate`,
+ `description`
+ ) VALUES (
+ 'SMILEYADMIN_ENABLE', '1', 'boolean', 'global', 'modules',
+ UNIX_TIMESTAMP(), UNIX_TIMESTAMP(),
+ 'Schaltet ein oder aus, ob die Administration der Smileys verfügbar ist.'
+ )";
+ DBManager::get()->exec($query);
+
+ $query = "CREATE TABLE `smiley` (
+ `smiley_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
+ `smiley_name` VARCHAR(50) DEFAULT NULL,
+ `smiley_width` INT(11) NOT NULL DEFAULT 0,
+ `smiley_height` INT(11) NOT NULL DEFAULT 0,
+ `short_name` VARCHAR(50) DEFAULT NULL,
+ `smiley_counter` INT(11) UNSIGNED NOT NULL DEFAULT 0,
+ `short_counter` INT(11) UNSIGNED NOT NULL DEFAULT 0,
+ `fav_counter` INT(11) UNSIGNED NOT NULL DEFAULT 0,
+ `mkdate` INT(11) UNSIGNED DEFAULT NULL,
+ `chdate` INT(11) UNSIGNED DEFAULT NULL,
+ PRIMARY KEY (`smiley_id`),
+ UNIQUE KEY `name` (`smiley_name`),
+ KEY `short` (`short_name`)
+ )";
+ DBManager::get()->exec($query);
+
+ $query = "ALTER TABLE `user_info`
+ ADD COLUMN `smiley_favorite` VARCHAR(255) DEFAULT NULL AFTER `email_forward`";
+ DBManager::get()->exec($query);
+ }
+}
diff --git a/lib/classes/ForumEntry.php b/lib/classes/ForumEntry.php
index 968d408..cc0e959 100644
--- a/lib/classes/ForumEntry.php
+++ b/lib/classes/ForumEntry.php
@@ -165,26 +165,14 @@ class ForumEntry implements PrivacyObject
/**
- * calls Stud.IP's kill_format and additionally removes any found smiley-tag
+ * calls Stud.IP's kill_format
*
* @param string $text the text to parse
- * @return string the text without format-tags and without smileys
+ * @return string the text without format-tags
*/
public static function killFormat($text)
{
- $text = kill_format($text);
-
- // find stuff which is enclosed between to colons
- preg_match('/' . SmileyFormat::REGEXP . '/U', $text, $matches);
-
- // remove the match if it is a smiley
- foreach ($matches as $match) {
- if (Smiley::getByName($match) || Smiley::getByShort($match)) {
- $text = str_replace($match, '', $text);
- }
- }
-
- return $text;
+ return kill_format($text);
}
/**
diff --git a/lib/classes/Markup.class.php b/lib/classes/Markup.class.php
index 0f5a5c8..31438a6 100644
--- a/lib/classes/Markup.class.php
+++ b/lib/classes/Markup.class.php
@@ -184,7 +184,7 @@ class Markup
*/
private static function markupText($markup, $text)
{
- return symbol(smile($markup->format($text), false));
+ return symbol($markup->format($text));
}
/**
diff --git a/lib/classes/Smiley.php b/lib/classes/Smiley.php
deleted file mode 100644
index 4bf5d83..0000000
--- a/lib/classes/Smiley.php
+++ /dev/null
@@ -1,573 +0,0 @@
-<?php
-/**
- * smiley.php - model class for a smiley
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @category Stud.IP
- * @package admin
- * @since 2.3
- *
- * @uses DBManager
- * @uses SmileyFavorites
- * @uses SmileyFormat
- */
-class Smiley
-{
- const FETCH_ALL = 0;
- const FETCH_ID = 1;
-
- private static $shortnames = null;
-
- public $id = null;
- public $name = '';
- public $width = 0;
- public $height = 0;
- public $short = '';
- public $count = 0;
- public $short_count = 0;
- public $fav_count = 0;
- public $mkdate = null;
- public $chdate = null;
-
- /**
- * Returns the absolute filename of a smiley.
- *
- * @param mixed $name Smiley name, defaults to current smiley's name
- * @return String Absolute filename
- */
- public static function getFilename($name)
- {
- return sprintf('%s/smile/%s', realpath($GLOBALS['DYNAMIC_CONTENT_PATH']), $name);
- }
-
- /**
- * Returns the smiley object with the given id. If no such object is
- * available, an empty object is returned.
- *
- * @param int $id Id of the smiley to load
- * @return Smiley Smiley object
- */
- public static function getById($id)
- {
- $result = self::getByIds($id);
- return reset($result) ?: new self;
- }
-
- /**
- * Returns a collection smiley objects with the given ids.
- *
- * @param mixed $ids Ids of the smileys to load, also accepts an atomic id
- * @return Array Array of Smiley objects
- */
- public static function getByIds($ids)
- {
- if (empty($ids)) {
- return [];
- }
- $query = "SELECT smiley_id AS id, smiley_name AS name, smiley_width AS width, smiley_height AS height, "
- . " short_name AS short, smiley_counter AS `count`, short_counter AS short_count, "
- . " fav_counter AS fav_count, mkdate, chdate "
- . " FROM smiley WHERE smiley_id IN (?)";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([$ids]);
- return $statement->fetchAll(PDO::FETCH_CLASS, 'Smiley');
- }
-
- /**
- * Returns the smiley object with the given name. If no such object is
- * available, an empty object is returned
- *
- * @param String $name Name of the smiley to load
- * @return Smiley Smiley object
- */
- public static function getByName($name)
- {
- $query = "SELECT smiley_id AS id, smiley_name AS name, smiley_width AS width, smiley_height AS height, "
- . " short_name AS short, smiley_counter AS `count`, short_counter AS short_count, "
- . " fav_counter AS fav_count, mkdate, chdate "
- . " FROM smiley WHERE smiley_name = ?";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([$name]);
- return $statement->fetchObject('Smiley') ?: new self();
- }
-
- /**
- * Returns the smiley object with the given short notation. If no such
- * object is available, an empty object is returned
- *
- * @param String $short Short notation of the smiley to load
- * @return Smiley Smiley object
- */
- public static function getByShort($short)
- {
- $smileys = self::getShort();
- $name = $smileys[$short];
-
- return isset($name) ? self::getByName($name) : new self();
- }
-
- /**
- * Removes a smiley or a collection of smileys from the database.
- *
- * @param mixed $id Id(s) to delete, accepts either an atomic id or an
- * array of ids
- */
- public static function Remove($id)
- {
- if ($id) {
- foreach (self::getByIds($id) as $smiley) {
- unlink(self::getFilename($smiley->name));
- }
- DBManager::get()
- ->prepare("DELETE FROM smiley WHERE smiley_id IN (?)")
- ->execute([$id]);
- }
- }
-
- /**
- * Generates the neccessary sql query to load the given group's items.
- *
- * @param String $group Group to load
- * @return String SQL query to load the given group's items
- */
- private static function groupQuery($group)
- {
- $query = "SELECT smiley_id AS id, smiley_name AS name, smiley_width AS width, smiley_height AS height, "
- . " short_name AS short, smiley_counter AS `count`, short_counter AS short_count, "
- . " fav_counter AS fav_count, mkdate, chdate FROM smiley ";
- switch ($group) {
- case 'all':
- $query .= "ORDER BY smiley_name";
- break;
- case 'top20':
- $query .= "WHERE smiley_counter > 0 OR short_counter > 0 "
- . "ORDER BY smiley_counter + short_counter DESC, smiley_name ASC "
- . "LIMIT 20";
- break;
- case 'used':
- $query .= "WHERE smiley_counter > 0 OR short_counter > 0 "
- . "ORDER BY smiley_counter + short_counter DESC, smiley_name ASC";
- break;
- case 'none':
- $query .= "WHERE smiley_counter=0 AND short_counter=0 ORDER BY smiley_name";
- break;
- case 'short':
- $query .= "WHERE short_name != '' ORDER BY smiley_name";
- break;
- default:
- $query .= sprintf("WHERE smiley_name LIKE CONCAT(%s, '%%') ORDER BY smiley_name",
- DBManager::get()->quote($group));
- break;
- }
- return $query;
- }
-
- /**
- * Loads a given group from the database.
- *
- * @param String $group Group to load, defaults to 'all'
- * @param int $mode Fetch mode
- * - FETCH_ALL to return actual Smiley objects
- * - FETCH_ID to return the group's items' ids
- * @return Array Either the objects or the ids of the group's items
- */
- static function getGrouped($group = 'all', $mode = self::FETCH_ALL)
- {
- $result = DBManager::get()
- ->query(self::groupQuery($group))
- ->fetchAll(PDO::FETCH_CLASS, 'Smiley');
-
- if ($mode & self::FETCH_ID) {
- $result = array_map(function ($item) { return $item->id; }, $result);
- }
- return $result;
- }
-
- /**
- * Returns an ordered unique list of the first characters of all smileys.
- *
- * @return Array Ordered list of all first characters
- */
- static function getFirstUsedCharacter()
- {
- return DBManager::get()
- ->query("SELECT LEFT(smiley_name, 1) FROM smiley ORDER BY smiley_name")
- ->fetchColumn();
- }
-
- /**
- * Returns an associative list of the first characters of all smileys
- * and their according quantity.
- *
- * @return Array Associative list with character as key and quantity as
- * value
- */
- static function getUsedCharacters()
- {
- $query = "SELECT LEFT(smiley_name, 1), COUNT(smiley_name) "
- . "FROM smiley GROUP BY LEFT(smiley_name, 1)";
- return DBManager::get()
- ->query($query)
- ->fetchGrouped(PDO::FETCH_COLUMN);
- }
-
- /**
- * Returns a list of all available short notations.
- *
- * @return Array Associative list with short notation as key and smiley
- * name as value
- */
- public static function getShort()
- {
- if (class_exists('DBManager') && empty($GLOBALS['SMILEY_NO_DB'])) {
- if (self::$shortnames === null) {
- $query = "SELECT short_name, smiley_name FROM smiley WHERE short_name != ''";
- self::$shortnames = DBManager::get()->query($query)->fetchGrouped(PDO::FETCH_COLUMN);
- }
- return self::$shortnames;
- } else { // Unit test
- $short = (array) $GLOBALS['SMILE_SHORT'];
- }
-
- return $short;
- }
-
- /**
- * Returns some statistics about the smiley database.
- *
- * @return Array 4 numbers: available, used, occurences and last change
- */
- public static function getStatistics()
- {
- $query = "SELECT COUNT(*) AS count_all, "
- . " SUM(smiley_counter + short_counter > 0) AS count_used, "
- . " SUM(smiley_counter + short_counter) AS `sum`, "
- . " MAX(chdate) AS last_change "
- . "FROM smiley";
- return DBManager::get()
- ->query($query)
- ->fetch(PDO::FETCH_ASSOC);
- }
-
- /**
- * Searches the database for occurences of smileys and returns a list
- * of how often each smiley was used.
- * If smiley favorites are activated, the list will include the number
- * how often a smiley was favored.
- *
- * @return Array Associative array with smiley name as key and according
- * usage numbers as value
- */
- public static function getUsage()
- {
- // Tabellen, die nach Smileys durchsucht werden sollen
- // Format: array( array (Tabelle, Feld), array (Tabelle, Feld), ... )
- $table_data = [
- ['datafields_entries', 'content'],
- ['kategorien', 'content'],
- ['message', 'message'],
- ['news', 'body'],
- ['scm', 'content'],
- ['user_info', 'hobby'],
- ['user_info', 'lebenslauf'],
- ['user_info', 'publi'],
- ['user_info', 'schwerp'],
- ['wiki', 'body'],
- ['forum_entries', 'content']
- ];
-
- // add tables from ForumModules to count for
- foreach (PluginEngine::getPlugins('ForumModule') as $plugin) {
- $table = $plugin->getEntryTableInfo();
- $table_data[] = [$table['table'], $table['content']];
- }
-
- // search in all tables
- $usage = [];
- foreach ($table_data as $table) {
- // only fetch entries which have some content, otherwise the while-loop will fail
- $query = "SELECT ? AS txt FROM ? WHERE LENGTH(?) > 0"; // $table1, $table0
- if ($table[0] == 'wiki') { // only the actual wiki page ...
- $sqltxt = "SELECT MAX(CONCAT(LPAD(version, 5, '0'),' ', ?)) AS txt FROM ? GROUP BY range_id, keyword";
- }
-
- $statement = DBManager::get()->prepare($query);
- $statement->bindParam(1, $table[1], StudipPDO::PARAM_COLUMN);
- $statement->bindParam(2, $table[0], StudipPDO::PARAM_COLUMN);
- $statement->bindParam(3, $table[1], StudipPDO::PARAM_COLUMN);
- $statement->execute([]);
-
- // and all entrys
- while ($txt = $statement->fetchColumn()) {
- // extract all smileys
- if (preg_match_all('/' . SmileyFormat::REGEXP . '/u', $txt, $matches)) {
- for ($k = 0; $k < count($matches[2]); $k++) {
- $name = $matches[2][$k];
- if (!isset($usage[$name])) {
- $usage[$name] = ['count' => 0, 'short_count' => 0, 'favorites' => 0];
- }
- $usage[$name]['count'] += 1;
- }
- }
- // and now the short-notation
- foreach (self::getShort() as $code => $name) {
- $regexp = '/(\>|^|\s)' . preg_quote($code) . '(?=$|\<|\s)/u';
- if ($count = preg_match_all($regexp, $txt, $matches)) {
- if (!isset($usage[$name])) {
- $usage[$name] = ['count' => 0, 'short_count' => 0, 'favorites' => 0];
- }
- $usage[$name]['short_count'] += $count;
- }
- }
- }
- }
-
- // favorites
- if (SmileyFavorites::isEnabled()) {
- $favorite_usage = SmileyFavorites::getUsage();
- foreach ($favorite_usage as $name => $count) {
- if (!isset($usage[$name])) {
- $usage[$name] = ['count' => 0, 'short_count' => 0, 'favorites' => 0];
- }
- $usage[$name]['favorites'] = $count;
- }
- }
-
- return $usage;
- }
-
- /**
- * Refreshes the database with current usage numbers.
- *
- * @return int Number of changed objects
- */
- public static function updateUsage()
- {
- $usage = self::getUsage();
- $smileys = self::getGrouped('all');
- $changed = 0;
-
- foreach ($smileys as $smiley) {
- $updated = $usage[$smiley->name];
- if (!isset($updated)
- && $smiley->count + $smiley->short_count + $smiley->fav_count > 0)
- {
- $smiley->count = 0;
- $smiley->short_count = 0;
- $smiley->fav_count = 0;
- } else if ($smiley->count + $smiley->short_count + $smiley->fav_count
- != $updated['count'] + $updated['short_count'] + $updated['favorites']) {
- $smiley->count = $updated['count'];
- $smiley->short_count = $updated['short_count'];
- $smiley->fav_count = $updated['favorites'];
- } else {
- continue;
- }
- $smiley->store();
- $changed++;
- }
-
- return $changed;
- }
-
- /**
- * Synchronizes the smileys' file system or an atomic file with the
- * database.
- * The smiley directory is scanned for new, changed or missing files.
- * Any difference will change the database's record.
- *
- * This method is also used for uploading new smileys. Provide an
- * absolute filename of a smiley and it will either be imported into
- * the database or the database will be adjusted to the current file's
- * dimensions.
- *
- * @param mixed $smiley_file If no filename is provided, the whole file
- * system is refreshed
- * @return Array Numbers: inserted, updated, removed (, favorites adjusted)
- */
- public static function refresh($smiley_file = null)
- {
- $counts = [
- 'insert' => 0,
- 'update' => 0
- ];
-
- if ($smiley_file === null) {
- $files = glob(self::getFilename('*'));
- } else {
- $files = [$smiley_file];
- }
-
- foreach ($files as $file) {
- $image_info = getimagesize($file);
- if ($image_info[2] !== IMAGETYPE_GIF) {
- continue;
- }
-
- $name = mb_substr(basename($file), 0, mb_strrpos(basename($file), "."));
- //$name = basename($file, '.gif');
- $smiley = Smiley::getByName($name);
-
- $update = false;
- if (!$smiley->id) {
- $smiley->name = $name;
- $smiley->short = array_search($name, $GLOBALS['SMILE_SHORT']) ?: '';
- $smiley->width = $image_info[0];
- $smiley->height = $image_info[1];
-
- $update = true;
- $counts['insert'] += 1;
- } else if ($smiley->width + $smiley->height != $image_info[0] + $image_info[1]) {
- $smiley->width = $image_info[0];
- $smiley->height = $image_info[1];
-
- $update = true;
- $counts['update'] += 1;
- }
-
- //$smiley->width || $smiley->width = 20;
- //$smiley->height || $smiley->height = 20;
-
- if ($update) {
- $smiley->store();
- }
-
- $ids[] = $smiley->id;
- }
-
- $db_ids = self::getGrouped('all', self::FETCH_ID);
- $missing = array_diff($db_ids, $ids);
- self::Remove($missing);
- $counts['delete'] = count($missing);
-
- if (SmileyFavorites::isEnabled()) {
- $counts['favorites'] = SmileyFavorites::gc();
- }
-
- return $counts;
- }
-
- /**
- * Returns the url of a smiley.
- *
- * @param mixed $name Smiley name, defaults to current smiley's name
- * @return String URL
- */
- public function getURL($name = null)
- {
- return sprintf('%s/smile/%s.gif', $GLOBALS['DYNAMIC_CONTENT_URL'], urlencode($name ?: $this->name));
- }
-
- /**
- * Returns the HTML image tag of the smiley
- *
- * @param mixed $tooltip Tooltip to display for this smiley, defaults to
- * smiley's name
- * @return String HTML image tag
- * @see Smiley::img
- */
- public function getImageTag($tooltip = null)
- {
- return $this->img($this->name, $tooltip, $this->width, $this->height);
- }
-
- /**
- * Returns the HTML image tag of any smiley.
- *
- * @param String $name Name of the smiley
- * @param mixed $tooltip Tooltip to display for this smiley, defaults to
- * smiley's name
- * @param mixed $width Width of the smiley
- * @param mixed $height Height of the smiley
- * @return String HTML image tag
- */
- public function img($name, $tooltip = null, $width = null, $height = null)
- {
- return sprintf(
- '<img src="%s" alt="%s" title="%s" width="%s" height="%s">',
- $this->getURL(),
- htmlReady($name),
- htmlReady($tooltip ?: $name),
- $width,
- $height
- );
- }
-
- /**
- * Stores the current smiley to database.
- */
- public function store()
- {
- $query = "INSERT INTO smiley (
- smiley_id, smiley_name, smiley_width, smiley_height, short_name,
- smiley_counter, short_counter, fav_counter, mkdate, chdate
- ) VALUES (
- ?, ?, ?, ?, ?, ?, ?, ?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
- )
- ON DUPLICATE KEY
- UPDATE smiley_name = VALUES(smiley_name),
- smiley_width = VALUES(smiley_width),
- smiley_height = VALUES(smiley_height),
- short_name = VALUES(short_name),
- smiley_counter = VALUES(smiley_counter),
- short_counter = VALUES(short_counter),
- fav_counter = VALUES(fav_counter),
- chdate = VALUES(chdate)";
- DBManager::get()
- ->prepare($query)
- ->execute([
- $this->id, $this->name, $this->width, $this->height, $this->short,
- $this->count, $this->short_count, $this->fav_count
- ]);
- if (!$this->id) {
- $this->id = DBManager::get()->lastInsertId();
- }
- }
-
- /**
- * Renames the smiley to the given new name.
- *
- * @param String $new_name New name of the smiley
- * @return bool true if smiley was renamed successfully, false otherwise
- */
- public function rename($new_name)
- {
- $old_file = self::getFilename($this->name);
- $new_file = self::getFilename($new_name);
-
- if (!rename($old_file, $new_file)) {
- return false;
- }
-
- $this->name = $new_name;
- $this->store();
-
- return true;
- }
-
- /**
- * Deletes the smiley.
- */
- public function delete()
- {
- if ($this->id) {
- self::Remove($this->id);
-
- $this->id = null;
- $this->name = '';
- $this->width = 0;
- $this->height = 0;
- $this->short = '';
- $this->count = 0;
- $this->short_count = 0;
- $this->fav_count = 0;
- $this->mkdate = null;
- $this->chdate = null;
- }
- }
-}
diff --git a/lib/classes/SmileyFavorites.php b/lib/classes/SmileyFavorites.php
deleted file mode 100644
index 7caf390..0000000
--- a/lib/classes/SmileyFavorites.php
+++ /dev/null
@@ -1,177 +0,0 @@
-<?php
-/**
- * SmileyFavorites
- *
- * This model provides access to the favored smileys of an user.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @category Stud.IP
- * @package smiley
- * @since 2.3
- *
- * @uses DBManager
- * @uses Smiley
- */
-class SmileyFavorites
-{
- /**
- * Returns whether the ability to favor smiley is enabled.
- *
- * @return bool
- */
- public static function isEnabled()
- {
- $state = null;
- if ($state === null) {
- $state = DBManager::get()
- ->query("SHOW COLUMNS FROM user_info LIKE 'smiley_favorite%'")
- ->fetchColumn();
- }
- return $state;
- }
-
- /**
- * Returns a list of how often a smiley has been favored.
- *
- * @return Array Associative array with smiley name as key and according
- * favored numbers as value
- */
- public static function getUsage()
- {
- $usage = [];
-
- $query = "SELECT user_id, smiley_favorite FROM user_info WHERE smiley_favorite != ''";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([]);
- $temp = $statement->fetchGrouped(PDO::FETCH_COLUMN);
-
- foreach ($temp as $user_id => $favorite_string) {
- $favorites = explode(',', $favorite_string);
- $smileys = Smiley::getByIds($favorites);
- foreach ($smileys as $smiley) {
- if (!isset($usage[$smiley->name])) {
- $usage[$smiley->name] = 0;
- }
- $usage[$smiley->name] += 1;
-
- }
- }
-
- return $usage;
- }
-
- /**
- * Garbage collector. Removes all smiley ids from the users' favorites
- * that are no longer in the database.
- *
- * @return int Number of changed records
- */
- public static function gc()
- {
- $smileys = Smiley::getGrouped('all', Smiley::FETCH_ID);
-
- $query = "SELECT user_id, smiley_favorite FROM user_info WHERE smiley_favorite != ''";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([]);
- $temp = $statement->fetchGrouped(PDO::FETCH_COLUMN);
-
- $changed = 0;
- foreach ($temp as $user_id => $favorite_string) {
- $old_favorites = explode(',', $favorite_string);
- $new_favorites = array_intersect($smileys, $old_favorites);
- if (count($old_favorites) > count($new_favorites)) {
- $favorites = new self($user_id);
- $favorites->set($new_favorites);
- $changed += 1;
- }
- }
-
- return $changed;
- }
-
- private $user_id;
- private $favorites = [];
-
- /**
- * Initializes an user's favorites
- *
- * @param String $user_id Id of the user
- */
- public function __construct($user_id)
- {
- $this->user_id = $user_id;
-
- $query = "SELECT smiley_favorite FROM user_info WHERE user_id = ?";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([$this->user_id]);
- $favorite_string = $statement->fetchColumn() ?: '';
- $this->favorites = explode(',', $favorite_string);
- $this->favorites = array_filter($this->favorites);
- }
-
- /**
- * Returns the user's favored smileys' ids.
- *
- * @return Array Ids of the smileys the user has vaored
- */
- public function get()
- {
- return $this->favorites;
- }
-
- /**
- * Updates the user's favored smileys.
- *
- * @param Array $favorites Ids of the user's favored smileys
- */
- public function set($favorites = [])
- {
- $favorite_string = implode(',', $favorites);
- if (mb_strlen($favorite_string) > 255) {
- throw new OutOfBoundsException;
- }
-
- DBManager::get()
- ->prepare("UPDATE user_info SET smiley_favorite = ? WHERE user_id = ?")
- ->execute([$favorite_string, $this->user_id]);
-
- $this->favorites = $favorites;
- }
-
- /**
- * Returns whether the smiley with the given id is favored by the user.
- *
- * @param int $smiley_id Id of the smiley
- * @return bool True if the smiley is favored by the user, false otherwise
- */
- public function contain($smiley_id)
- {
- return in_array($smiley_id, $this->favorites);
- }
-
- /**
- * Toggles whether a smiley is favored by the user. You can either provide
- * an acutal state or omit the state to toggle the current state.
- *
- * @param int $smiley_id Id of the smiley to favor/disfavor
- * @param mixed $favorite Either a boolean state or null to toggle current state
- * @return bool True if the smiley is favored by the user, false otherwise
- */
- public function toggle($smiley_id, $favorite = null)
- {
- if ($favorite === null) {
- $favorite = !$this->contain($smiley_id);
- }
- $favorites = $this->favorites;
-
- if ($favorite) {
- $favorites[] = $smiley_id;
- } else {
- $favorites = array_diff($favorites, [$smiley_id]);
- }
- $this->set($favorites);
-
- return $this->contain($smiley_id);
- }
-
- }
diff --git a/lib/classes/SmileyFormat.php b/lib/classes/SmileyFormat.php
deleted file mode 100644
index 21c1360..0000000
--- a/lib/classes/SmileyFormat.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/**
- * SmileyFormat.php
- *
- * Provides a formatting object for smileys.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @category Stud.IP
- * @package smiley
- * @since 2.3
- * @uses Smiley
- */
-class SmileyFormat extends TextFormat
-{
- const REGEXP = '(\>|^|\s):([_a-zA-Z][_a-z0-9A-Z-]*):(?=$|\<|\s)';
-
- public function __construct()
- {
- $rules = [];
-
- // Smiley rule
- $rules['smileys'] = [
- 'start' => self::REGEXP,
- 'callback' => 'SmileyFormat::smiley'
- ];
-
- // Smiley short notation rule
- $needles = array_keys(Smiley::getShort());
- $needles = array_map('preg_quote', $needles);
- $rules['smileys_short'] = [
- 'start' => '(>|^|\s)(' . implode('|', $needles) . ')(?=$|<|\s)',
- 'callback' => 'SmileyFormat::short'
- ];
-
- parent::__construct($rules);
- }
-
- /**
- * Smiley notation defined by name (:name:)
- */
- public static function smiley($markup, $matches)
- {
- return $matches[1] . Smiley::getByName($matches[2])->getImageTag();
- }
-
- /**
- * Smiley short notation as defined in database
- */
- public static function short($markup, $matches)
- {
- $smileys = Smiley::getShort();
- $name = $smileys[$matches[2]] ?? '';
- return $name
- ? $matches[1] . Smiley::getByName($name)->getImageTag()
- : $matches[0];
- }
-}
diff --git a/lib/classes/UserManagement.class.php b/lib/classes/UserManagement.class.php
index 516c904..064952b 100644
--- a/lib/classes/UserManagement.class.php
+++ b/lib/classes/UserManagement.class.php
@@ -1203,7 +1203,7 @@ class UserManagement
"UPDATE forum_entries SET author = '' WHERE user_id = ?",
"UPDATE auth_user_md5 SET visible = 'never' WHERE user_id = ?",
- "REPLACE INTO `user_info` (`user_id`, `hobby`, `lebenslauf`, `publi`, `schwerp`, `Home`, `privatnr`, `privatcell`, `privadr`, `score`, `geschlecht`, `mkdate`, `chdate`, `title_front`, `title_rear`, `preferred_language`, `smsforward_copy`, `smsforward_rec`, `email_forward`, `smiley_favorite`, `motto`, `lock_rule`) VALUES(?, '', '', '', '', '', '', '', '', 0, 0, 0, 0, '', '', NULL, 1, '', 0, '', '', '');"
+ "REPLACE INTO `user_info` (`user_id`, `hobby`, `lebenslauf`, `publi`, `schwerp`, `Home`, `privatnr`, `privatcell`, `privadr`, `score`, `geschlecht`, `mkdate`, `chdate`, `title_front`, `title_rear`, `preferred_language`, `smsforward_copy`, `smsforward_rec`, `email_forward`, `motto`, `lock_rule`) VALUES(?, '', '', '', '', '', '', '', '', 0, 0, 0, 0, '', '', NULL, 1, '', 0, '', '');"
];
foreach ($queries as $query) {
DBManager::get()->execute($query, [$user_id]);
diff --git a/lib/models/User.class.php b/lib/models/User.class.php
index 0653f5c..98abd45 100644
--- a/lib/models/User.class.php
+++ b/lib/models/User.class.php
@@ -55,7 +55,6 @@
* @property string smsforward_rec computed column read/write
* @property string guestbook computed column read/write
* @property string email_forward computed column read/write
- * @property string smiley_favorite computed column read/write
* @property string motto computed column read/write
* @property string lock_rule computed column read/write
* @property SimpleORMapCollection course_memberships has_many CourseMember
@@ -1426,7 +1425,7 @@ class User extends AuthUserMd5 implements Range, PrivacyObject
$storage->addTabularData(_('Kerndaten'), 'auth_user_md5', $field_data);
}
- $limit = 'user_id hobby lebenslauf publi schwerp home privatnr privatcell privadr score geschlecht mkdate chdate title_front title_rear preferred_language smsforward_copy smsforward_rec email_forward smiley_favorite motto lock_rule';
+ $limit = 'user_id hobby lebenslauf publi schwerp home privatnr privatcell privadr score geschlecht mkdate chdate title_front title_rear preferred_language smsforward_copy smsforward_rec email_forward motto lock_rule';
$field_data = [];
foreach ($sorm as $row) {
$field_data[] = $row->toRawArray($limit);
diff --git a/lib/models/UserInfo.class.php b/lib/models/UserInfo.class.php
index 3bf1813..403e70b 100644
--- a/lib/models/UserInfo.class.php
+++ b/lib/models/UserInfo.class.php
@@ -34,7 +34,6 @@
* @property string smsforward_rec database column
* @property string guestbook database column
* @property string email_forward database column
- * @property string smiley_favorite database column
* @property string motto database column
* @property string lock_rule database column
*/
diff --git a/lib/modules/Blubber.class.php b/lib/modules/Blubber.class.php
index d2012b6..7b1dffe 100644
--- a/lib/modules/Blubber.class.php
+++ b/lib/modules/Blubber.class.php
@@ -118,8 +118,8 @@ class Blubber extends CorePlugin implements StudipModule
{
return [
'summary' => _('Schneller und einfacher Austausch von Informationen in Gesprächsform'),
- 'description' => _('Blubber ist eine Kommunikationsform mit Ähnlichkeiten zu einem Forum, in dem aber in Echtzeit miteinander kommuniziert werden kann und das durch den etwas informelleren Charakter eher einem Chat anmutet. Anders als im Forum ist es nicht notwendig, die Seiten neu zu laden, um die neuesten Einträge (z. B. Antworten auf eigene Postings) sehen zu können: Die Seite aktualisiert sich selbst bei neuen Einträgen. Dateien (z.B. Fotos, Audiodateien, Links) können per Drag and Drop in das Feld gezogen und somit verlinkt werden. Auch Textformatierungen und das Verwenden von Smileys sind möglich.'),
- 'descriptionlong' => _('Kommunikationsform mit Ähnlichkeiten zu einem Forum. Im Gegensatz zum Forum kann mit Blubber jedoch in Echtzeit miteinander kommuniziert werden. Das Tool ähnelt durch den etwas informelleren Charakter einem Messenger. Anders als im Forum ist es nicht notwendig, die Seiten neu zu laden, um die neuesten Einträge (z. B. Antworten auf eigene Postings) sehen zu können. Dateien (z. B. Fotos, Audiodateien, Links) können per drag and drop in das Feld gezogen und somit verlinkt werden. Auch Textformatierungen und das Verwenden von Smileys sind möglich.'),
+ 'description' => _('Blubber ist eine Kommunikationsform mit Ähnlichkeiten zu einem Forum, in dem aber in Echtzeit miteinander kommuniziert werden kann und das durch den etwas informelleren Charakter eher einem Chat anmutet. Anders als im Forum ist es nicht notwendig, die Seiten neu zu laden, um die neuesten Einträge (z. B. Antworten auf eigene Postings) sehen zu können: Die Seite aktualisiert sich selbst bei neuen Einträgen. Dateien (z.B. Fotos, Audiodateien, Links) können per Drag and Drop in das Feld gezogen und somit verlinkt werden. Auch Textformatierungen sind möglich.'),
+ 'descriptionlong' => _('Kommunikationsform mit Ähnlichkeiten zu einem Forum. Im Gegensatz zum Forum kann mit Blubber jedoch in Echtzeit miteinander kommuniziert werden. Das Tool ähnelt durch den etwas informelleren Charakter einem Messenger. Anders als im Forum ist es nicht notwendig, die Seiten neu zu laden, um die neuesten Einträge (z. B. Antworten auf eigene Postings) sehen zu können. Dateien (z. B. Fotos, Audiodateien, Links) können per drag and drop in das Feld gezogen und somit verlinkt werden. Auch Textformatierungen sind möglich.'),
'category' => _('Kommunikation und Zusammenarbeit'),
'keywords' => _('Einfach Text schreiben und mit <Enter> abschicken; Direktes Kontaktieren anderer Stud.IP-NutzerInnen (@Vorname Nachname); Setzen von und Suche nach Stichworten über Hashtags (#Stichwort); Einbinden von Dateien per drag and drop'),
'icon' => Icon::create('blubber', Icon::ROLE_INFO),
diff --git a/lib/navigation/AdminNavigation.php b/lib/navigation/AdminNavigation.php
index de3481b..1b28e24 100644
--- a/lib/navigation/AdminNavigation.php
+++ b/lib/navigation/AdminNavigation.php
@@ -178,10 +178,6 @@ class AdminNavigation extends Navigation
new Navigation(_('Anlegeassistent'), 'dispatch.php/admin/coursewizardsteps'));
$navigation->addSubNavigation('studygroup', new Navigation(_('Studiengruppen'), 'dispatch.php/course/studygroup/globalmodules'));
- if (Config::get()->SMILEYADMIN_ENABLE) {
- $navigation->addSubNavigation('smileys', new Navigation(_('Smileys'), 'dispatch.php/admin/smileys'));
- }
-
if (Config::get()->TOURS_ENABLE) {
$navigation->addSubNavigation('tour', new Navigation(_('Touren'), 'dispatch.php/tour/admin_overview'));
}
diff --git a/lib/visual.inc.php b/lib/visual.inc.php
index a4bb96e..8503a5c 100644
--- a/lib/visual.inc.php
+++ b/lib/visual.inc.php
@@ -252,7 +252,6 @@ function kill_format ($text) {
//"'\[.+?\](((http\://|https\://|ftp\://)?([^/\s]+)(.[^/\s]+){2,})|([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+)))'i",
"'\[(.+?)\](((http\://|https\://|ftp\://)?([^/\s]+)(\.[^/\s]+){2,}(/[^\s]*)?)|([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+)))'i",
// "'\[quote=.+?quote\]'is", // quoting
- "'(\s):[^\s]+?:(\s)'s" // smileys
];
$replace = [
@@ -358,25 +357,26 @@ function idna_link($link, $mail = false) {
* @access public
* @param string $text The text to convert
* @return string Converted text
+ * @deprecated and useless since Stud.IP 5.4
*/
function smile($text = '') {
- $markup = new SmileyFormat();
- return $markup->format($text);
+ trigger_error('Smileys are no longer supported.', E_USER_DEPRECATED);
+ return $text;
}
/**
-* create symbols from the shorts
-*
-* This functions converts the short, locatet in the config.inc
-* into the assigned pictures. It uses a different directory
-* as the smile-function, becauso symbols should not be shown in
-* the smiley and so, no link is given onto the picture. A tooltip which
-* shows the symbol code is given, too.
-*
-* @access public
-* @param string the text to convert
-* @return string convertet text
+ * create symbols from the shorts
+ *
+ * This functions converts the short, locatet in the config.inc
+ * into the assigned pictures. A tooltip which shows the symbol
+ * code is given, too.
+ *
+ * @access public
+ *
+ * @param string the text to convert
+ *
+ * @return string convertet text
*/
function symbol ($text = '')
{
diff --git a/public/eval_summary_export.php b/public/eval_summary_export.php
index f90ddd2..608da25 100644
--- a/public/eval_summary_export.php
+++ b/public/eval_summary_export.php
@@ -176,7 +176,7 @@ function freetype_answers ($parent_id, $anz_nutzer) {
while ($answer = $statement->fetchColumn()) {
$counter++;
fputs($fo_file," <fo:table-row>\n");
- fputs($fo_file," <fo:table-cell ><fo:block linefeed-treatment=\"preserve\" font-size=\"8pt\">".$counter.". ".preg_replace($pattern,$replace,smile(xml_escape($answer)))."</fo:block></fo:table-cell>\n");
+ fputs($fo_file," <fo:table-cell ><fo:block linefeed-treatment=\"preserve\" font-size=\"8pt\">".$counter.". ".preg_replace($pattern,$replace,xml_escape($answer))."</fo:block></fo:table-cell>\n");
fputs($fo_file," </fo:table-row>\n");
}
fputs($fo_file," <fo:table-row>\n");
diff --git a/public/pictures/smile/Drink.gif b/public/pictures/smile/Drink.gif
deleted file mode 100644
index dbfa2e2..0000000
--- a/public/pictures/smile/Drink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/PIMP.gif b/public/pictures/smile/PIMP.gif
deleted file mode 100644
index f424ccf..0000000
--- a/public/pictures/smile/PIMP.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/aeh.gif b/public/pictures/smile/aeh.gif
deleted file mode 100644
index cb2bfdb..0000000
--- a/public/pictures/smile/aeh.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/aetsch.gif b/public/pictures/smile/aetsch.gif
deleted file mode 100644
index f193a59..0000000
--- a/public/pictures/smile/aetsch.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/all.gif b/public/pictures/smile/all.gif
deleted file mode 100644
index e370a78..0000000
--- a/public/pictures/smile/all.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/angry.gif b/public/pictures/smile/angry.gif
deleted file mode 100644
index 5bc6a7c..0000000
--- a/public/pictures/smile/angry.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/apple.gif b/public/pictures/smile/apple.gif
deleted file mode 100644
index 937119e..0000000
--- a/public/pictures/smile/apple.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/argue.gif b/public/pictures/smile/argue.gif
deleted file mode 100644
index 8240e35..0000000
--- a/public/pictures/smile/argue.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/arrow.gif b/public/pictures/smile/arrow.gif
deleted file mode 100644
index 9f7976c..0000000
--- a/public/pictures/smile/arrow.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/asmile.gif b/public/pictures/smile/asmile.gif
deleted file mode 100644
index 83b4eaa..0000000
--- a/public/pictures/smile/asmile.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ass.gif b/public/pictures/smile/ass.gif
deleted file mode 100644
index 64b6272..0000000
--- a/public/pictures/smile/ass.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/asthanos.gif b/public/pictures/smile/asthanos.gif
deleted file mode 100644
index 65fcf40..0000000
--- a/public/pictures/smile/asthanos.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/aysmile.gif b/public/pictures/smile/aysmile.gif
deleted file mode 100644
index 3be0694..0000000
--- a/public/pictures/smile/aysmile.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/azzangel.gif b/public/pictures/smile/azzangel.gif
deleted file mode 100644
index 302172f..0000000
--- a/public/pictures/smile/azzangel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bang.gif b/public/pictures/smile/bang.gif
deleted file mode 100644
index 24cd8fb..0000000
--- a/public/pictures/smile/bang.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/banned.gif b/public/pictures/smile/banned.gif
deleted file mode 100644
index 0362818..0000000
--- a/public/pictures/smile/banned.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bath.gif b/public/pictures/smile/bath.gif
deleted file mode 100644
index be9a52e..0000000
--- a/public/pictures/smile/bath.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/beerdrink.gif b/public/pictures/smile/beerdrink.gif
deleted file mode 100644
index 95c06fb..0000000
--- a/public/pictures/smile/beerdrink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/behead.gif b/public/pictures/smile/behead.gif
deleted file mode 100644
index eec14ac..0000000
--- a/public/pictures/smile/behead.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bgbounce.gif b/public/pictures/smile/bgbounce.gif
deleted file mode 100644
index b0d24b8..0000000
--- a/public/pictures/smile/bgbounce.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/biggrin.gif b/public/pictures/smile/biggrin.gif
deleted file mode 100644
index 5a30d9a..0000000
--- a/public/pictures/smile/biggrin.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/biglaugh.gif b/public/pictures/smile/biglaugh.gif
deleted file mode 100644
index 72fd61a..0000000
--- a/public/pictures/smile/biglaugh.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/birth.gif b/public/pictures/smile/birth.gif
deleted file mode 100644
index 7a1fd81..0000000
--- a/public/pictures/smile/birth.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/blank.gif b/public/pictures/smile/blank.gif
deleted file mode 100644
index f9d6df7..0000000
--- a/public/pictures/smile/blank.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/blue.gif b/public/pictures/smile/blue.gif
deleted file mode 100644
index 40078cf..0000000
--- a/public/pictures/smile/blue.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bluegrab.gif b/public/pictures/smile/bluegrab.gif
deleted file mode 100644
index 11bb307..0000000
--- a/public/pictures/smile/bluegrab.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bm2.gif b/public/pictures/smile/bm2.gif
deleted file mode 100644
index 6831878..0000000
--- a/public/pictures/smile/bm2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bobybuild.gif b/public/pictures/smile/bobybuild.gif
deleted file mode 100644
index 3e659f0..0000000
--- a/public/pictures/smile/bobybuild.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/borg.gif b/public/pictures/smile/borg.gif
deleted file mode 100644
index 01fe0ff..0000000
--- a/public/pictures/smile/borg.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/bounce.gif b/public/pictures/smile/bounce.gif
deleted file mode 100644
index b60ebb1..0000000
--- a/public/pictures/smile/bounce.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/burn.gif b/public/pictures/smile/burn.gif
deleted file mode 100644
index ea20f85..0000000
--- a/public/pictures/smile/burn.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/burnout.gif b/public/pictures/smile/burnout.gif
deleted file mode 100644
index 182cf85..0000000
--- a/public/pictures/smile/burnout.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/capuccino.gif b/public/pictures/smile/capuccino.gif
deleted file mode 100644
index 1e0f654..0000000
--- a/public/pictures/smile/capuccino.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cartman.gif b/public/pictures/smile/cartman.gif
deleted file mode 100644
index e2f07fb..0000000
--- a/public/pictures/smile/cartman.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cat.gif b/public/pictures/smile/cat.gif
deleted file mode 100644
index 8e2a755..0000000
--- a/public/pictures/smile/cat.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/chainsaw.gif b/public/pictures/smile/chainsaw.gif
deleted file mode 100644
index 370e1c5..0000000
--- a/public/pictures/smile/chainsaw.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/chatter.gif b/public/pictures/smile/chatter.gif
deleted file mode 100644
index 65d5cb4..0000000
--- a/public/pictures/smile/chatter.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/clown.gif b/public/pictures/smile/clown.gif
deleted file mode 100644
index 06672ab..0000000
--- a/public/pictures/smile/clown.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/compress.gif b/public/pictures/smile/compress.gif
deleted file mode 100644
index ceb3e03..0000000
--- a/public/pictures/smile/compress.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/condom.gif b/public/pictures/smile/condom.gif
deleted file mode 100644
index f26da02..0000000
--- a/public/pictures/smile/condom.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/confused.gif b/public/pictures/smile/confused.gif
deleted file mode 100644
index dc335c5..0000000
--- a/public/pictures/smile/confused.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/confused2.gif b/public/pictures/smile/confused2.gif
deleted file mode 100644
index c8b5f6a..0000000
--- a/public/pictures/smile/confused2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cook.gif b/public/pictures/smile/cook.gif
deleted file mode 100644
index adab66e..0000000
--- a/public/pictures/smile/cook.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cool.gif b/public/pictures/smile/cool.gif
deleted file mode 100644
index 4b28376..0000000
--- a/public/pictures/smile/cool.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cool2.gif b/public/pictures/smile/cool2.gif
deleted file mode 100644
index cead030..0000000
--- a/public/pictures/smile/cool2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cop.gif b/public/pictures/smile/cop.gif
deleted file mode 100644
index 8b447cc..0000000
--- a/public/pictures/smile/cop.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cow.gif b/public/pictures/smile/cow.gif
deleted file mode 100644
index abbe64e..0000000
--- a/public/pictures/smile/cow.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crap.gif b/public/pictures/smile/crap.gif
deleted file mode 100644
index 3384271..0000000
--- a/public/pictures/smile/crap.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crash.gif b/public/pictures/smile/crash.gif
deleted file mode 100644
index 793a0d2..0000000
--- a/public/pictures/smile/crash.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crazy.gif b/public/pictures/smile/crazy.gif
deleted file mode 100644
index 044c590..0000000
--- a/public/pictures/smile/crazy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crazy2.gif b/public/pictures/smile/crazy2.gif
deleted file mode 100644
index d12521e..0000000
--- a/public/pictures/smile/crazy2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crocodile.gif b/public/pictures/smile/crocodile.gif
deleted file mode 100644
index 853551c..0000000
--- a/public/pictures/smile/crocodile.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cross.gif b/public/pictures/smile/cross.gif
deleted file mode 100644
index c89f7ab..0000000
--- a/public/pictures/smile/cross.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crucified.gif b/public/pictures/smile/crucified.gif
deleted file mode 100644
index 00b5068..0000000
--- a/public/pictures/smile/crucified.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cry.gif b/public/pictures/smile/cry.gif
deleted file mode 100644
index f55335d..0000000
--- a/public/pictures/smile/cry.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cry2.gif b/public/pictures/smile/cry2.gif
deleted file mode 100644
index b4f95db..0000000
--- a/public/pictures/smile/cry2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/cry3.gif b/public/pictures/smile/cry3.gif
deleted file mode 100644
index 91e9b1f..0000000
--- a/public/pictures/smile/cry3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crying.gif b/public/pictures/smile/crying.gif
deleted file mode 100644
index f55335d..0000000
--- a/public/pictures/smile/crying.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/crying2.gif b/public/pictures/smile/crying2.gif
deleted file mode 100644
index d737942..0000000
--- a/public/pictures/smile/crying2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ctf.gif b/public/pictures/smile/ctf.gif
deleted file mode 100644
index d1261ed..0000000
--- a/public/pictures/smile/ctf.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/dance.gif b/public/pictures/smile/dance.gif
deleted file mode 100644
index 0db1248..0000000
--- a/public/pictures/smile/dance.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/daniel.gif b/public/pictures/smile/daniel.gif
deleted file mode 100644
index 07324af..0000000
--- a/public/pictures/smile/daniel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/dead.gif b/public/pictures/smile/dead.gif
deleted file mode 100644
index 5f25a5d..0000000
--- a/public/pictures/smile/dead.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/derexot.gif b/public/pictures/smile/derexot.gif
deleted file mode 100644
index 8d190dd..0000000
--- a/public/pictures/smile/derexot.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/devil.gif b/public/pictures/smile/devil.gif
deleted file mode 100644
index 139106d..0000000
--- a/public/pictures/smile/devil.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/devil2.gif b/public/pictures/smile/devil2.gif
deleted file mode 100644
index 8302d8b..0000000
--- a/public/pictures/smile/devil2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/diablotin.gif b/public/pictures/smile/diablotin.gif
deleted file mode 100644
index 14400cf..0000000
--- a/public/pictures/smile/diablotin.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/director.gif b/public/pictures/smile/director.gif
deleted file mode 100644
index a9bbc1c..0000000
--- a/public/pictures/smile/director.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/disgust.gif b/public/pictures/smile/disgust.gif
deleted file mode 100644
index e1b9740..0000000
--- a/public/pictures/smile/disgust.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/dope.gif b/public/pictures/smile/dope.gif
deleted file mode 100644
index d4da8d3..0000000
--- a/public/pictures/smile/dope.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/doublepuke.gif b/public/pictures/smile/doublepuke.gif
deleted file mode 100644
index 93d7ed0..0000000
--- a/public/pictures/smile/doublepuke.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/drink2.gif b/public/pictures/smile/drink2.gif
deleted file mode 100644
index 501883b..0000000
--- a/public/pictures/smile/drink2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/drink3.gif b/public/pictures/smile/drink3.gif
deleted file mode 100644
index 0e05315..0000000
--- a/public/pictures/smile/drink3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/duel.gif b/public/pictures/smile/duel.gif
deleted file mode 100644
index 77fdd3b..0000000
--- a/public/pictures/smile/duel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eatsmiley.gif b/public/pictures/smile/eatsmiley.gif
deleted file mode 100644
index 97d86c0..0000000
--- a/public/pictures/smile/eatsmiley.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek.gif b/public/pictures/smile/eek.gif
deleted file mode 100644
index 8528cf1..0000000
--- a/public/pictures/smile/eek.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek2.gif b/public/pictures/smile/eek2.gif
deleted file mode 100644
index a0d6d9a..0000000
--- a/public/pictures/smile/eek2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek3.gif b/public/pictures/smile/eek3.gif
deleted file mode 100644
index 961fd47..0000000
--- a/public/pictures/smile/eek3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek4.gif b/public/pictures/smile/eek4.gif
deleted file mode 100644
index 8e6941f..0000000
--- a/public/pictures/smile/eek4.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek5.gif b/public/pictures/smile/eek5.gif
deleted file mode 100644
index c550c91..0000000
--- a/public/pictures/smile/eek5.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eek8.gif b/public/pictures/smile/eek8.gif
deleted file mode 100644
index 1d61a29..0000000
--- a/public/pictures/smile/eek8.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/embarass.gif b/public/pictures/smile/embarass.gif
deleted file mode 100644
index b57f6de..0000000
--- a/public/pictures/smile/embarass.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/engel.gif b/public/pictures/smile/engel.gif
deleted file mode 100644
index 98d840e..0000000
--- a/public/pictures/smile/engel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ent.gif b/public/pictures/smile/ent.gif
deleted file mode 100644
index 40078cf..0000000
--- a/public/pictures/smile/ent.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/erm.gif b/public/pictures/smile/erm.gif
deleted file mode 100644
index f5ea71d..0000000
--- a/public/pictures/smile/erm.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/error.gif b/public/pictures/smile/error.gif
deleted file mode 100644
index 1a5cd3f..0000000
--- a/public/pictures/smile/error.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/errr.gif b/public/pictures/smile/errr.gif
deleted file mode 100644
index 84fda2a..0000000
--- a/public/pictures/smile/errr.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/evilidea.gif b/public/pictures/smile/evilidea.gif
deleted file mode 100644
index efda7b1..0000000
--- a/public/pictures/smile/evilidea.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/evillol.gif b/public/pictures/smile/evillol.gif
deleted file mode 100644
index dfa5e01..0000000
--- a/public/pictures/smile/evillol.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/eviltongue.gif b/public/pictures/smile/eviltongue.gif
deleted file mode 100644
index 22747fd..0000000
--- a/public/pictures/smile/eviltongue.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/exclaim.gif b/public/pictures/smile/exclaim.gif
deleted file mode 100644
index 6e50e2e..0000000
--- a/public/pictures/smile/exclaim.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/explode.gif b/public/pictures/smile/explode.gif
deleted file mode 100644
index 62561fd..0000000
--- a/public/pictures/smile/explode.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/fairy.gif b/public/pictures/smile/fairy.gif
deleted file mode 100644
index 9ea8519..0000000
--- a/public/pictures/smile/fairy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/fart.gif b/public/pictures/smile/fart.gif
deleted file mode 100644
index 99f1a6a..0000000
--- a/public/pictures/smile/fart.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/feierabend.gif b/public/pictures/smile/feierabend.gif
deleted file mode 100644
index 49656d3..0000000
--- a/public/pictures/smile/feierabend.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/fight.gif b/public/pictures/smile/fight.gif
deleted file mode 100644
index 36caecc..0000000
--- a/public/pictures/smile/fight.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/fire.gif b/public/pictures/smile/fire.gif
deleted file mode 100644
index 8eec821..0000000
--- a/public/pictures/smile/fire.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/firedevil.gif b/public/pictures/smile/firedevil.gif
deleted file mode 100644
index 02bc814..0000000
--- a/public/pictures/smile/firedevil.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/flamethrower.gif b/public/pictures/smile/flamethrower.gif
deleted file mode 100644
index 577c744..0000000
--- a/public/pictures/smile/flamethrower.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/foo.gif b/public/pictures/smile/foo.gif
deleted file mode 100644
index d1212e7..0000000
--- a/public/pictures/smile/foo.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/fouet.gif b/public/pictures/smile/fouet.gif
deleted file mode 100644
index 7d78496..0000000
--- a/public/pictures/smile/fouet.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/francais.gif b/public/pictures/smile/francais.gif
deleted file mode 100644
index 2aa944b..0000000
--- a/public/pictures/smile/francais.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/frog_kiss.gif b/public/pictures/smile/frog_kiss.gif
deleted file mode 100644
index 1abc9f3..0000000
--- a/public/pictures/smile/frog_kiss.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/frown.gif b/public/pictures/smile/frown.gif
deleted file mode 100644
index f62de0b..0000000
--- a/public/pictures/smile/frown.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/frown2.gif b/public/pictures/smile/frown2.gif
deleted file mode 100644
index 5a01878..0000000
--- a/public/pictures/smile/frown2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/grazy.gif b/public/pictures/smile/grazy.gif
deleted file mode 100644
index f31fc6f..0000000
--- a/public/pictures/smile/grazy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/grenade.gif b/public/pictures/smile/grenade.gif
deleted file mode 100644
index e03f73b..0000000
--- a/public/pictures/smile/grenade.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/gulp.gif b/public/pictures/smile/gulp.gif
deleted file mode 100644
index e1b90ce..0000000
--- a/public/pictures/smile/gulp.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/hammer2.gif b/public/pictures/smile/hammer2.gif
deleted file mode 100644
index 662237f..0000000
--- a/public/pictures/smile/hammer2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/hanged.gif b/public/pictures/smile/hanged.gif
deleted file mode 100644
index a11efb3..0000000
--- a/public/pictures/smile/hanged.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/headhammer.gif b/public/pictures/smile/headhammer.gif
deleted file mode 100644
index 662237f..0000000
--- a/public/pictures/smile/headhammer.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/hi.gif b/public/pictures/smile/hi.gif
deleted file mode 100644
index b430054..0000000
--- a/public/pictures/smile/hi.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/hmmm.gif b/public/pictures/smile/hmmm.gif
deleted file mode 100644
index 74c7d92..0000000
--- a/public/pictures/smile/hmmm.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/holyfly.gif b/public/pictures/smile/holyfly.gif
deleted file mode 100644
index bb3af24..0000000
--- a/public/pictures/smile/holyfly.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/icon_help.gif b/public/pictures/smile/icon_help.gif
deleted file mode 100644
index 25903ed..0000000
--- a/public/pictures/smile/icon_help.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/icon_kiss.gif b/public/pictures/smile/icon_kiss.gif
deleted file mode 100644
index 3c00ec4..0000000
--- a/public/pictures/smile/icon_kiss.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/idea.gif b/public/pictures/smile/idea.gif
deleted file mode 100644
index 3ce7976..0000000
--- a/public/pictures/smile/idea.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/jap.gif b/public/pictures/smile/jap.gif
deleted file mode 100644
index fdbbe38..0000000
--- a/public/pictures/smile/jap.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/jesus.gif b/public/pictures/smile/jesus.gif
deleted file mode 100644
index 485d9f8..0000000
--- a/public/pictures/smile/jesus.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/joint.gif b/public/pictures/smile/joint.gif
deleted file mode 100644
index daadd28..0000000
--- a/public/pictures/smile/joint.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/jointbounce.gif b/public/pictures/smile/jointbounce.gif
deleted file mode 100644
index 5ca07d9..0000000
--- a/public/pictures/smile/jointbounce.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kaffee.gif b/public/pictures/smile/kaffee.gif
deleted file mode 100644
index 05d656e..0000000
--- a/public/pictures/smile/kaffee.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kaioken.gif b/public/pictures/smile/kaioken.gif
deleted file mode 100644
index 68acaae..0000000
--- a/public/pictures/smile/kaioken.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/karate.gif b/public/pictures/smile/karate.gif
deleted file mode 100644
index 88cc79f..0000000
--- a/public/pictures/smile/karate.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/keks.gif b/public/pictures/smile/keks.gif
deleted file mode 100644
index 69d0fe9..0000000
--- a/public/pictures/smile/keks.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ketten.gif b/public/pictures/smile/ketten.gif
deleted file mode 100644
index f23766b..0000000
--- a/public/pictures/smile/ketten.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kicher.gif b/public/pictures/smile/kicher.gif
deleted file mode 100644
index 7692636..0000000
--- a/public/pictures/smile/kicher.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kiss.gif b/public/pictures/smile/kiss.gif
deleted file mode 100644
index 057cb31..0000000
--- a/public/pictures/smile/kiss.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/klo.gif b/public/pictures/smile/klo.gif
deleted file mode 100644
index dd03475..0000000
--- a/public/pictures/smile/klo.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kloguck.gif b/public/pictures/smile/kloguck.gif
deleted file mode 100644
index c371a13..0000000
--- a/public/pictures/smile/kloguck.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/knife.gif b/public/pictures/smile/knife.gif
deleted file mode 100644
index f15ec64..0000000
--- a/public/pictures/smile/knife.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/kratz.gif b/public/pictures/smile/kratz.gif
deleted file mode 100644
index dec1a45..0000000
--- a/public/pictures/smile/kratz.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ladysman.gif b/public/pictures/smile/ladysman.gif
deleted file mode 100644
index 0369f06..0000000
--- a/public/pictures/smile/ladysman.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/laser.gif b/public/pictures/smile/laser.gif
deleted file mode 100644
index 7fe492f..0000000
--- a/public/pictures/smile/laser.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/laughoutloud.gif b/public/pictures/smile/laughoutloud.gif
deleted file mode 100644
index 8085799..0000000
--- a/public/pictures/smile/laughoutloud.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lecture.gif b/public/pictures/smile/lecture.gif
deleted file mode 100644
index efc209a..0000000
--- a/public/pictures/smile/lecture.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lol.gif b/public/pictures/smile/lol.gif
deleted file mode 100644
index 0dd615b..0000000
--- a/public/pictures/smile/lol.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lol2.gif b/public/pictures/smile/lol2.gif
deleted file mode 100644
index 2a04726..0000000
--- a/public/pictures/smile/lol2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/love.gif b/public/pictures/smile/love.gif
deleted file mode 100644
index 9fe36da..0000000
--- a/public/pictures/smile/love.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lsabre.gif b/public/pictures/smile/lsabre.gif
deleted file mode 100644
index da1b950..0000000
--- a/public/pictures/smile/lsabre.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lsvader.gif b/public/pictures/smile/lsvader.gif
deleted file mode 100644
index 11c13ef..0000000
--- a/public/pictures/smile/lsvader.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/lurk.gif b/public/pictures/smile/lurk.gif
deleted file mode 100644
index ef89ca6..0000000
--- a/public/pictures/smile/lurk.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/mad.gif b/public/pictures/smile/mad.gif
deleted file mode 100644
index 63ce5f0..0000000
--- a/public/pictures/smile/mad.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/male.gif b/public/pictures/smile/male.gif
deleted file mode 100644
index 02c5071..0000000
--- a/public/pictures/smile/male.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/megawink.gif b/public/pictures/smile/megawink.gif
deleted file mode 100644
index a86e6db..0000000
--- a/public/pictures/smile/megawink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/mg.gif b/public/pictures/smile/mg.gif
deleted file mode 100644
index 1efd040..0000000
--- a/public/pictures/smile/mg.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/nixweiss.gif b/public/pictures/smile/nixweiss.gif
deleted file mode 100644
index c8b6daf..0000000
--- a/public/pictures/smile/nixweiss.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/no.gif b/public/pictures/smile/no.gif
deleted file mode 100644
index 8726d94..0000000
--- a/public/pictures/smile/no.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/nono.gif b/public/pictures/smile/nono.gif
deleted file mode 100644
index 7507d2f..0000000
--- a/public/pictures/smile/nono.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/nuke.gif b/public/pictures/smile/nuke.gif
deleted file mode 100644
index 10d4ec4..0000000
--- a/public/pictures/smile/nuke.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/nuts.gif b/public/pictures/smile/nuts.gif
deleted file mode 100644
index 69df669..0000000
--- a/public/pictures/smile/nuts.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/oeh.gif b/public/pictures/smile/oeh.gif
deleted file mode 100644
index f1f78a5..0000000
--- a/public/pictures/smile/oeh.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ohoh.gif b/public/pictures/smile/ohoh.gif
deleted file mode 100644
index a84c71f..0000000
--- a/public/pictures/smile/ohoh.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/oink.gif b/public/pictures/smile/oink.gif
deleted file mode 100644
index d9b48e8..0000000
--- a/public/pictures/smile/oink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/opa.gif b/public/pictures/smile/opa.gif
deleted file mode 100644
index 1a816c0..0000000
--- a/public/pictures/smile/opa.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/outtahere.gif b/public/pictures/smile/outtahere.gif
deleted file mode 100644
index d78fb09..0000000
--- a/public/pictures/smile/outtahere.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pain10.gif b/public/pictures/smile/pain10.gif
deleted file mode 100644
index 43be69b..0000000
--- a/public/pictures/smile/pain10.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/papst.gif b/public/pictures/smile/papst.gif
deleted file mode 100644
index 390c75d..0000000
--- a/public/pictures/smile/papst.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/party.gif b/public/pictures/smile/party.gif
deleted file mode 100644
index 313a0c2..0000000
--- a/public/pictures/smile/party.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pcangry.gif b/public/pictures/smile/pcangry.gif
deleted file mode 100644
index ad49c31..0000000
--- a/public/pictures/smile/pcangry.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/phaser.gif b/public/pictures/smile/phaser.gif
deleted file mode 100644
index d3fab08..0000000
--- a/public/pictures/smile/phaser.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/piggy.gif b/public/pictures/smile/piggy.gif
deleted file mode 100644
index 77e1b1c..0000000
--- a/public/pictures/smile/piggy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pills.gif b/public/pictures/smile/pills.gif
deleted file mode 100644
index fccd5ee..0000000
--- a/public/pictures/smile/pills.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/plasma.gif b/public/pictures/smile/plasma.gif
deleted file mode 100644
index 8ca838d..0000000
--- a/public/pictures/smile/plasma.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/platt.gif b/public/pictures/smile/platt.gif
deleted file mode 100644
index da92daa..0000000
--- a/public/pictures/smile/platt.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pray.gif b/public/pictures/smile/pray.gif
deleted file mode 100644
index 4a42e36..0000000
--- a/public/pictures/smile/pray.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/puke2.gif b/public/pictures/smile/puke2.gif
deleted file mode 100644
index fa5a575..0000000
--- a/public/pictures/smile/puke2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/puke3.gif b/public/pictures/smile/puke3.gif
deleted file mode 100644
index 17d5465..0000000
--- a/public/pictures/smile/puke3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pukey.gif b/public/pictures/smile/pukey.gif
deleted file mode 100644
index a99f89b..0000000
--- a/public/pictures/smile/pukey.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/pyth.gif b/public/pictures/smile/pyth.gif
deleted file mode 100644
index 3a29caa..0000000
--- a/public/pictures/smile/pyth.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/question.gif b/public/pictures/smile/question.gif
deleted file mode 100644
index 5a595ba..0000000
--- a/public/pictures/smile/question.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/razz.gif b/public/pictures/smile/razz.gif
deleted file mode 100644
index 5bbfd95..0000000
--- a/public/pictures/smile/razz.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/read.gif b/public/pictures/smile/read.gif
deleted file mode 100644
index c19b49e..0000000
--- a/public/pictures/smile/read.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/reallymad.gif b/public/pictures/smile/reallymad.gif
deleted file mode 100644
index 5bc6a7c..0000000
--- a/public/pictures/smile/reallymad.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/redface.gif b/public/pictures/smile/redface.gif
deleted file mode 100644
index 3d73868..0000000
--- a/public/pictures/smile/redface.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/redface2.gif b/public/pictures/smile/redface2.gif
deleted file mode 100644
index f399a65..0000000
--- a/public/pictures/smile/redface2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/remybussi.gif b/public/pictures/smile/remybussi.gif
deleted file mode 100644
index 699acb3..0000000
--- a/public/pictures/smile/remybussi.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rockdahouse.gif b/public/pictures/smile/rockdahouse.gif
deleted file mode 100644
index 8a43ff1..0000000
--- a/public/pictures/smile/rockdahouse.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rockets.gif b/public/pictures/smile/rockets.gif
deleted file mode 100644
index 3095bd1..0000000
--- a/public/pictures/smile/rockets.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/roflmao.gif b/public/pictures/smile/roflmao.gif
deleted file mode 100644
index 758e9e9..0000000
--- a/public/pictures/smile/roflmao.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/roll.gif b/public/pictures/smile/roll.gif
deleted file mode 100644
index 2de3899..0000000
--- a/public/pictures/smile/roll.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/roll2.gif b/public/pictures/smile/roll2.gif
deleted file mode 100644
index 3b73bac..0000000
--- a/public/pictures/smile/roll2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rolleyes.gif b/public/pictures/smile/rolleyes.gif
deleted file mode 100644
index 1abab1e..0000000
--- a/public/pictures/smile/rolleyes.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rolling.gif b/public/pictures/smile/rolling.gif
deleted file mode 100644
index 16f6546..0000000
--- a/public/pictures/smile/rolling.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rotfl.gif b/public/pictures/smile/rotfl.gif
deleted file mode 100644
index c0d3d29..0000000
--- a/public/pictures/smile/rotfl.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/rotten.gif b/public/pictures/smile/rotten.gif
deleted file mode 100644
index a23b225..0000000
--- a/public/pictures/smile/rotten.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sandkasten.gif b/public/pictures/smile/sandkasten.gif
deleted file mode 100644
index a33a1c6..0000000
--- a/public/pictures/smile/sandkasten.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sarcblink.gif b/public/pictures/smile/sarcblink.gif
deleted file mode 100644
index 2de3899..0000000
--- a/public/pictures/smile/sarcblink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/saywhat.gif b/public/pictures/smile/saywhat.gif
deleted file mode 100644
index b0201cc..0000000
--- a/public/pictures/smile/saywhat.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/scene.gif b/public/pictures/smile/scene.gif
deleted file mode 100644
index efd0e45..0000000
--- a/public/pictures/smile/scene.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/scream.gif b/public/pictures/smile/scream.gif
deleted file mode 100644
index 7cee890..0000000
--- a/public/pictures/smile/scream.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/scream2.gif b/public/pictures/smile/scream2.gif
deleted file mode 100644
index 7cee890..0000000
--- a/public/pictures/smile/scream2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sg.gif b/public/pictures/smile/sg.gif
deleted file mode 100644
index 9289a7c..0000000
--- a/public/pictures/smile/sg.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/shakko.gif b/public/pictures/smile/shakko.gif
deleted file mode 100644
index 53b73d4..0000000
--- a/public/pictures/smile/shakko.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/shine.gif b/public/pictures/smile/shine.gif
deleted file mode 100644
index 0c019b8..0000000
--- a/public/pictures/smile/shine.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/shock.gif b/public/pictures/smile/shock.gif
deleted file mode 100644
index 6971b7c..0000000
--- a/public/pictures/smile/shock.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/shocked.gif b/public/pictures/smile/shocked.gif
deleted file mode 100644
index 8f9940b..0000000
--- a/public/pictures/smile/shocked.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/shy.gif b/public/pictures/smile/shy.gif
deleted file mode 100644
index 71d174b..0000000
--- a/public/pictures/smile/shy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sick.gif b/public/pictures/smile/sick.gif
deleted file mode 100644
index 828abaf..0000000
--- a/public/pictures/smile/sick.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/slayer.gif b/public/pictures/smile/slayer.gif
deleted file mode 100644
index a0b0cf5..0000000
--- a/public/pictures/smile/slayer.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sleeping.gif b/public/pictures/smile/sleeping.gif
deleted file mode 100644
index eb8342c..0000000
--- a/public/pictures/smile/sleeping.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sleepy.gif b/public/pictures/smile/sleepy.gif
deleted file mode 100644
index 2dd6895..0000000
--- a/public/pictures/smile/sleepy.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/smash.gif b/public/pictures/smile/smash.gif
deleted file mode 100644
index 018f2cd..0000000
--- a/public/pictures/smile/smash.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/smile.gif b/public/pictures/smile/smile.gif
deleted file mode 100644
index 83b4eaa..0000000
--- a/public/pictures/smile/smile.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/smileysex.gif b/public/pictures/smile/smileysex.gif
deleted file mode 100644
index 843358c..0000000
--- a/public/pictures/smile/smileysex.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/smoke.gif b/public/pictures/smile/smoke.gif
deleted file mode 100644
index 16fbd31..0000000
--- a/public/pictures/smile/smoke.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/smokin.gif b/public/pictures/smile/smokin.gif
deleted file mode 100644
index 16fbd31..0000000
--- a/public/pictures/smile/smokin.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/spam.gif b/public/pictures/smile/spam.gif
deleted file mode 100644
index ab9178b..0000000
--- a/public/pictures/smile/spam.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sperm.gif b/public/pictures/smile/sperm.gif
deleted file mode 100644
index 23abbaa..0000000
--- a/public/pictures/smile/sperm.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/spookie.gif b/public/pictures/smile/spookie.gif
deleted file mode 100644
index cb83ea9..0000000
--- a/public/pictures/smile/spookie.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/stinke.gif b/public/pictures/smile/stinke.gif
deleted file mode 100644
index b2fe783..0000000
--- a/public/pictures/smile/stinke.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/strange.gif b/public/pictures/smile/strange.gif
deleted file mode 100644
index b47035c..0000000
--- a/public/pictures/smile/strange.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/studip.gif b/public/pictures/smile/studip.gif
deleted file mode 100644
index 903506a..0000000
--- a/public/pictures/smile/studip.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sun.gif b/public/pictures/smile/sun.gif
deleted file mode 100644
index 6fdc034..0000000
--- a/public/pictures/smile/sun.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/sunglasses.gif b/public/pictures/smile/sunglasses.gif
deleted file mode 100644
index 6fdc034..0000000
--- a/public/pictures/smile/sunglasses.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/surprised.gif b/public/pictures/smile/surprised.gif
deleted file mode 100644
index cb21424..0000000
--- a/public/pictures/smile/surprised.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/taetschel.gif b/public/pictures/smile/taetschel.gif
deleted file mode 100644
index dd09e3c..0000000
--- a/public/pictures/smile/taetschel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tap.gif b/public/pictures/smile/tap.gif
deleted file mode 100644
index 0c07b37..0000000
--- a/public/pictures/smile/tap.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tasty.gif b/public/pictures/smile/tasty.gif
deleted file mode 100644
index 2c743e8..0000000
--- a/public/pictures/smile/tasty.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tdo9.gif b/public/pictures/smile/tdo9.gif
deleted file mode 100644
index a87c24e..0000000
--- a/public/pictures/smile/tdo9.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/teethbrush.gif b/public/pictures/smile/teethbrush.gif
deleted file mode 100644
index 916dfab..0000000
--- a/public/pictures/smile/teethbrush.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/thefinger.gif b/public/pictures/smile/thefinger.gif
deleted file mode 100644
index 060b0e0..0000000
--- a/public/pictures/smile/thefinger.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/threemonkey.gif b/public/pictures/smile/threemonkey.gif
deleted file mode 100644
index 0d1e0de..0000000
--- a/public/pictures/smile/threemonkey.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/thumb.gif b/public/pictures/smile/thumb.gif
deleted file mode 100644
index a60a287..0000000
--- a/public/pictures/smile/thumb.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ticking.gif b/public/pictures/smile/ticking.gif
deleted file mode 100644
index 0b2138c..0000000
--- a/public/pictures/smile/ticking.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tomato.gif b/public/pictures/smile/tomato.gif
deleted file mode 100644
index f028557..0000000
--- a/public/pictures/smile/tomato.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tongue.gif b/public/pictures/smile/tongue.gif
deleted file mode 100644
index e1eeb15..0000000
--- a/public/pictures/smile/tongue.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tongue2.gif b/public/pictures/smile/tongue2.gif
deleted file mode 100644
index 95c07d8..0000000
--- a/public/pictures/smile/tongue2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tongue3.gif b/public/pictures/smile/tongue3.gif
deleted file mode 100644
index a6594b3..0000000
--- a/public/pictures/smile/tongue3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tongue4.gif b/public/pictures/smile/tongue4.gif
deleted file mode 100644
index 95c07d8..0000000
--- a/public/pictures/smile/tongue4.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tonguerase.gif b/public/pictures/smile/tonguerase.gif
deleted file mode 100644
index 1c0ac25..0000000
--- a/public/pictures/smile/tonguerase.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/trippel.gif b/public/pictures/smile/trippel.gif
deleted file mode 100644
index 425006a..0000000
--- a/public/pictures/smile/trippel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/tux.gif b/public/pictures/smile/tux.gif
deleted file mode 100644
index 1254037..0000000
--- a/public/pictures/smile/tux.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/twak.gif b/public/pictures/smile/twak.gif
deleted file mode 100644
index 73c5785..0000000
--- a/public/pictures/smile/twak.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/uarg.gif b/public/pictures/smile/uarg.gif
deleted file mode 100644
index 0806e27..0000000
--- a/public/pictures/smile/uarg.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/ugly.gif b/public/pictures/smile/ugly.gif
deleted file mode 100644
index 35b10b0..0000000
--- a/public/pictures/smile/ugly.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/uhoh.gif b/public/pictures/smile/uhoh.gif
deleted file mode 100644
index 3cc8088..0000000
--- a/public/pictures/smile/uhoh.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/uhoh2.gif b/public/pictures/smile/uhoh2.gif
deleted file mode 100644
index d4aa23b..0000000
--- a/public/pictures/smile/uhoh2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/uhoh3.gif b/public/pictures/smile/uhoh3.gif
deleted file mode 100644
index 0991941..0000000
--- a/public/pictures/smile/uhoh3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/undwech.gif b/public/pictures/smile/undwech.gif
deleted file mode 100644
index 2aeac98..0000000
--- a/public/pictures/smile/undwech.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/upps.gif b/public/pictures/smile/upps.gif
deleted file mode 100644
index 5d39781..0000000
--- a/public/pictures/smile/upps.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/uzi.gif b/public/pictures/smile/uzi.gif
deleted file mode 100644
index 25cfc5e..0000000
--- a/public/pictures/smile/uzi.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/vtff.gif b/public/pictures/smile/vtff.gif
deleted file mode 100644
index 588f2d7..0000000
--- a/public/pictures/smile/vtff.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/w00t.gif b/public/pictures/smile/w00t.gif
deleted file mode 100644
index 281d6ce..0000000
--- a/public/pictures/smile/w00t.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wand.gif b/public/pictures/smile/wand.gif
deleted file mode 100644
index 539f853..0000000
--- a/public/pictures/smile/wand.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wavey.gif b/public/pictures/smile/wavey.gif
deleted file mode 100644
index f3e7935..0000000
--- a/public/pictures/smile/wavey.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wavey2.gif b/public/pictures/smile/wavey2.gif
deleted file mode 100644
index f3b584e..0000000
--- a/public/pictures/smile/wavey2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/whisper.gif b/public/pictures/smile/whisper.gif
deleted file mode 100644
index 2526dee..0000000
--- a/public/pictures/smile/whisper.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/win.gif b/public/pictures/smile/win.gif
deleted file mode 100644
index 6c12fdd..0000000
--- a/public/pictures/smile/win.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wink.gif b/public/pictures/smile/wink.gif
deleted file mode 100644
index 093356f..0000000
--- a/public/pictures/smile/wink.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wink2.gif b/public/pictures/smile/wink2.gif
deleted file mode 100644
index 1146096..0000000
--- a/public/pictures/smile/wink2.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wink3.gif b/public/pictures/smile/wink3.gif
deleted file mode 100644
index ab04b93..0000000
--- a/public/pictures/smile/wink3.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/winky.gif b/public/pictures/smile/winky.gif
deleted file mode 100644
index 1146096..0000000
--- a/public/pictures/smile/winky.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wobble.gif b/public/pictures/smile/wobble.gif
deleted file mode 100644
index a1489bd..0000000
--- a/public/pictures/smile/wobble.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wub.gif b/public/pictures/smile/wub.gif
deleted file mode 100644
index 9d12426..0000000
--- a/public/pictures/smile/wub.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/wut.gif b/public/pictures/smile/wut.gif
deleted file mode 100644
index fbbe035..0000000
--- a/public/pictures/smile/wut.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/xmas.gif b/public/pictures/smile/xmas.gif
deleted file mode 100644
index ebc58c5..0000000
--- a/public/pictures/smile/xmas.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/yawn.gif b/public/pictures/smile/yawn.gif
deleted file mode 100644
index 209faac..0000000
--- a/public/pictures/smile/yawn.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/yes.gif b/public/pictures/smile/yes.gif
deleted file mode 100644
index 79705a0..0000000
--- a/public/pictures/smile/yes.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/yoda.gif b/public/pictures/smile/yoda.gif
deleted file mode 100644
index 9ab311c..0000000
--- a/public/pictures/smile/yoda.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/zausel.gif b/public/pictures/smile/zausel.gif
deleted file mode 100644
index cdee285..0000000
--- a/public/pictures/smile/zausel.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/znaika.gif b/public/pictures/smile/znaika.gif
deleted file mode 100644
index a0f73b3..0000000
--- a/public/pictures/smile/znaika.gif
+++ /dev/null
Binary files differ
diff --git a/public/pictures/smile/zwinker.gif b/public/pictures/smile/zwinker.gif
deleted file mode 100644
index fa0af3a..0000000
--- a/public/pictures/smile/zwinker.gif
+++ /dev/null
Binary files differ
diff --git a/resources/assets/javascripts/bootstrap/smiley.js b/resources/assets/javascripts/bootstrap/smiley.js
deleted file mode 100644
index d584b1c..0000000
--- a/resources/assets/javascripts/bootstrap/smiley.js
+++ /dev/null
@@ -1,19 +0,0 @@
-$(document).on('click', '.smiley-toggle', function(event) {
- var element = $(this);
-
- element.prop('disabled', true).addClass('ajax');
-
- $.getJSON(element.attr('href')).then(function(json) {
- var container = $(element)
- .closest('.ui-dialog-content,#content')
- .first();
- $('.messagebox', container).remove();
- container.prepend(json.message);
-
- element
- .toggleClass('favorite', json.state)
- .removeClass('ajax')
- .prop('disabled', false);
- });
- event.preventDefault();
-});
diff --git a/resources/assets/javascripts/bootstrap/smiley_picker.js b/resources/assets/javascripts/bootstrap/smiley_picker.js
deleted file mode 100644
index 0c5ea35..0000000
--- a/resources/assets/javascripts/bootstrap/smiley_picker.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// Navigation: Load any url in this very same dialog
-$(document).on('click', '.smiley-picker .navigation a', STUDIP.SmileyPicker.handleNavigationClick);
-
-// Smiley:
-// Execute select handler with selected smiley's code
-// (typically adds the code to a certain textarea)
-$(document).on('click', '.smiley-picker .smiley', STUDIP.SmileyPicker.handleSmileyClick);
diff --git a/resources/assets/javascripts/entry-base.js b/resources/assets/javascripts/entry-base.js
index 9464a9c..f6f5595 100644
--- a/resources/assets/javascripts/entry-base.js
+++ b/resources/assets/javascripts/entry-base.js
@@ -29,7 +29,6 @@ import "./bootstrap/header_magic.js"
import "./bootstrap/header_navigation.js"
import "./bootstrap/personal_notifications.js"
import "./bootstrap/sidebar.js"
-import "./bootstrap/smiley_picker.js"
import "./bootstrap/dialog.js"
import "./bootstrap/jsupdater.js"
import "./bootstrap/files.js"
@@ -53,7 +52,6 @@ import "./bootstrap/qr_code.js"
import "./bootstrap/startpage.js"
import "./bootstrap/wiki.js"
import "./bootstrap/course_wizard.js"
-import "./bootstrap/smiley.js"
import "./bootstrap/big_image_handler.js"
import "./bootstrap/opengraph.js"
import "./bootstrap/actionmenu.js"
diff --git a/resources/assets/javascripts/init.js b/resources/assets/javascripts/init.js
index 68ed726..e01f84e 100644
--- a/resources/assets/javascripts/init.js
+++ b/resources/assets/javascripts/init.js
@@ -69,7 +69,6 @@ import Scroll from './lib/scroll.js';
import Search from './lib/search.js';
import Sidebar from './lib/sidebar.js';
import SkipLinks from './lib/skip_links.js';
-import SmileyPicker from './lib/smiley_picker.js';
import startpage from './lib/startpage.js';
import Statusgroups from './lib/statusgroups.js';
import study_area_selection from './lib/study_area_selection.js';
@@ -155,7 +154,6 @@ window.STUDIP = _.assign(window.STUDIP || {}, {
Search,
Sidebar,
SkipLinks,
- SmileyPicker,
startpage,
Statusgroups,
study_area_selection,
diff --git a/resources/assets/javascripts/lib/forum.js b/resources/assets/javascripts/lib/forum.js
index 1ff2bf5..fbada1f 100644
--- a/resources/assets/javascripts/lib/forum.js
+++ b/resources/assets/javascripts/lib/forum.js
@@ -63,10 +63,6 @@ const Forum = {
STUDIP.Forum.attachEventHandlers();
},
- insertSmiley: function(textarea_id, element) {
- jQuery('textarea[data-textarea=' + textarea_id + ']').insertAtCaret(jQuery(element).data('smiley'));
- },
-
approveDelete: function () {
if (STUDIP.Forum.current_area_id) {
// hide the area in the dom
diff --git a/resources/assets/javascripts/lib/smiley_picker.js b/resources/assets/javascripts/lib/smiley_picker.js
deleted file mode 100644
index 21d8bc2..0000000
--- a/resources/assets/javascripts/lib/smiley_picker.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * smiley-picker.js - Smiley Picker
- *
- * Creates a SmileyPicker object in the global STUDIP namespace with
- * the methods show, hide and toggle.
- * show and toggle accept two arguments "triggerElement, onSelect":
- * - triggerElement is the element that triggered the event
- * - onSelect is a function to be executed once a smiley is selected
- *
- * The picker requires a php based backend under the route
- * "smileys/picker" which renders the html for the picker.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
- * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
- * @category Stud.IP
- */
-import { $gettext } from './gettext.js';
-import Dialog from './dialog.js';
-
-var initialized = false,
- picker_element = $('<div/>'),
- select_handler = function() {};
-
-// Loads a url
-function loadURL(url, callback) {
- $.get(url, function(response) {
- response = $(response);
-
- // Add a preload icon for each smiley to avoid a potential flash
- // of the alternative text
- $('.smileys img', response).each(function() {
- var that = this,
- src = this.src,
- image = new Image();
- this.src = STUDIP.ASSETS_URL + 'images/loading-indicator.gif';
-
- image.onload = image.onerror = function() {
- that.src = src;
- };
- image.src = src;
- });
-
- picker_element.html(response);
-
- if ($.isFunction(callback)) {
- callback();
- }
- });
-}
-
-// Create smiley picker object and bind it to global STUDIP namespace
-const SmileyPicker = {
- // Show smiley picker, triggered by a specific element and handle
- // a selected smiley by the passed function
- show: function(triggerElement, onSelect) {
- select_handler = onSelect;
-
- if (!initialized) {
- // Setup picker dialog
- picker_element.dialog({
- autoOpen: false,
- width: 420, // needs to be hardcoded, unfortunately.
- dialogClass: 'smiley-picker-dialog',
- resizable: false,
- title: $gettext('Smileys'),
- show: 'fade',
- hide: 'fade',
- buttons: [
- {
- text: $gettext('Zur Gesamtübersicht'),
- click: function() {
- var url = STUDIP.URLHelper.getURL('dispatch.php/smileys');
- picker_element.dialog('close');
- Dialog.fromURL(url);
- }
- },
- {
- text: $gettext('Schliessen'),
- click: function() {
- picker_element.dialog('close');
- }
- }
- ]
- });
-
- // Initial load with spinner next to trigger element
- $(triggerElement).showAjaxNotification();
- loadURL(STUDIP.URLHelper.getURL('dispatch.php/smileys/picker'), function() {
- $(triggerElement).hideAjaxNotification();
- picker_element.dialog('open');
- });
-
- initialized = true;
- } else {
- picker_element.dialog('open');
- }
- },
- // Hide smiley picker
- hide: function() {
- picker_element.dialog('close');
- },
- // Toggle smiley picker display (pass the same arguments as for show)
- toggle: function(triggerElement, onSelect) {
- if (initialized && picker_element.dialog('isOpen')) {
- SmileyPicker.hide();
- } else {
- SmileyPicker.show(triggerElement, onSelect);
- }
- },
-
- handleNavigationClick: function(event) {
- loadURL(this.href);
- return false;
- },
-
- handleSmileyClick: function(event) {
- select_handler($(this).data().code);
- picker_element.dialog('close');
- return false;
- }
-};
-
-export default SmileyPicker;
diff --git a/resources/assets/javascripts/lib/toolbar_buttonset.js b/resources/assets/javascripts/lib/toolbar_buttonset.js
index 5bb211f..cd92f54 100644
--- a/resources/assets/javascripts/lib/toolbar_buttonset.js
+++ b/resources/assets/javascripts/lib/toolbar_buttonset.js
@@ -1,5 +1,3 @@
-import SmileyPicker from './smiley_picker.js';
-
// Creates a wrapper function that wraps the passed string using the
// passed prefix and suffix. If the suffix is omitted, it will be replaced
// by the prefix.
@@ -54,14 +52,6 @@ const buttonSet = {
}
},
right: {
- smilies: {
- label: ':)',
- evaluate: function(string, textarea, button) {
- SmileyPicker.toggle(button, function(code) {
- textarea.replaceSelection(code + ' ');
- });
- }
- },
help: {
label: '?',
evaluate: function() {
diff --git a/resources/assets/stylesheets/scss/forum.scss b/resources/assets/stylesheets/scss/forum.scss
index f46383c..0638330 100644
--- a/resources/assets/stylesheets/scss/forum.scss
+++ b/resources/assets/stylesheets/scss/forum.scss
@@ -329,11 +329,6 @@ html.no-js #forum {
}
}
- .smiley_favorites {
- text-align: center;
- padding-right: 5px;
- }
-
a.tooltip2 {
color: black;
cursor: help;
diff --git a/resources/assets/stylesheets/scss/smileys.scss b/resources/assets/stylesheets/scss/smileys.scss
deleted file mode 100644
index e6bc47c..0000000
--- a/resources/assets/stylesheets/scss/smileys.scss
+++ /dev/null
@@ -1,193 +0,0 @@
-.smiley-tabs {
- display: flex;
- justify-content: space-between;
- margin: 0 0 0.5em;
- line-height: 1.8em;
- width: 100%;
-
- &, li {
- list-style: none;
- padding: 0;
- }
-
- li {
- flex-grow: 1;
- display: inline-block;
- float: none;
- margin: 0;
- white-space: nowrap;
-
- &.favorites a {
- @include icon(before, smiley, info_alt);
- }
-
- &.favorites.current a {
- @include icon(before, smiley, info);
- }
- &.current {
- padding-top: 0;
- a, span.quiet {
- color: $base-color;
- }
- }
- }
-
- a {
- display: block;
- padding-left: 0;
- padding-right: 0;
- text-align: center;
- color: $black
- }
-}
-
-.smiley-container {
- border-collapse: collapse;
- width: 100%;
-
- > tbody > tr > td {
- padding: 0 1em 0 0;
-
- &:last-child {
- padding-right: 0;
- }
- }
-}
-
-.smiley-container, .smiley-column {
- table-layout: fixed;
-}
-
-.smiley-column {
- margin-right: 1em;
-
- &:last-child {
- margin-right: 0;
- }
-}
-
-.smiley-icon {
- img {
- height: auto;
- max-width: 100%;
- width: auto;
- }
-}
-
-.smiley-toggle {
- @include square(16px);
- @include hide-text();
- @include background-icon(checkbox-unchecked, clickable);
- background-position: center;
- background-repeat: no-repeat;
- display: inline-block;
- vertical-align: middle;
-
- &.favorite {
- @include background-icon(checkbox-checked, clickable);
- }
-
- &.ajax {
- background-image: url("#{$image-path}/loading-indicator.svg");
- }
-}
-
-.smiley-statistics {
- margin: 0;
- padding: 0;
-
- dt {
- clear: left;
- float: left;
- padding-right: 0.5em;
-
- &::after {
- content: ':';
- }
- }
-
- dd {
- font-weight: 700;
- margin: 0;
- text-align: right;
- }
-}
-
-.smiley-picker {
- width: 420px;
-
- .smileys {
- text-align: center;
- width: 100%;
- padding: 5px 0;
- }
-
- .smiley, .empty {
- display: inline-block;
- height: 80px;
- vertical-align: middle;
- width: 80px;
- }
-
- .smiley {
- box-sizing: border-box;
- cursor: pointer;
- max-height: 80px;
- max-width: 80px;
- text-align: center;
-
- // see http://css-tricks.com/centering-in-the-unknown/
- &:before {
- content: '';
- display: inline-block;
- height: 100%;
- vertical-align: middle;
- margin-right: -0.25em;
- }
-
- img {
- vertical-align: middle;
- max-height: 76px;
- max-width: 72px;
- margin-right: 0.25em;
- }
-
- &:hover {
- background-color: fade($active-color, 10%);
- border-radius: 20px;
- box-shadow: 0 -1px 4px fade($active-color, 10%), 0 2px 5px #888;
- }
- }
-
- .navigation {
- border-collapse: collapse;
- width: 100%;
-
- img {
- vertical-align: text-top;
- }
-
- td {
- padding: 2px;
- }
-
- &.top td {
- border-bottom: 1px solid $brand-color-dark;
- }
-
- &.bottom td {
- border-top: 1px solid $brand-color-dark;
- }
-
- .active a {
- color: $active-color;
- font-weight: bold;
- }
- }
-}
-
-.smiley-picker-dialog {
- .ui-dialog-content {
- padding: 0;
- }
-}
diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss
index fb38beb..5a462db 100644
--- a/resources/assets/stylesheets/studip.scss
+++ b/resources/assets/stylesheets/studip.scss
@@ -87,7 +87,6 @@
@import "scss/skiplinks";
@import "scss/start";
@import "scss/scroll-to-top";
-@import "scss/smileys";
@import "scss/statusgroups";
@import "scss/study-area-selection";
@import "scss/studygroup";
diff --git a/tests/unit/lib/VisualTest.php b/tests/unit/lib/VisualTest.php
index d5c0ba9..dfa2945 100644
--- a/tests/unit/lib/VisualTest.php
+++ b/tests/unit/lib/VisualTest.php
@@ -13,7 +13,6 @@ require_once 'lib/models/SimpleORMap.class.php';
require_once 'lib/models/OpenGraphURL.class.php';
require_once 'lib/visual.inc.php';
require_once 'lib/classes/Config.class.php';
-require_once 'lib/classes/SmileyFormat.php';
class VisualFunctionsTest extends \Codeception\Test\Unit
{
@@ -26,15 +25,9 @@ class VisualFunctionsTest extends \Codeception\Test\Unit
Config::set(new Config($config));
- $GLOBALS['SMILEY_NO_DB'] = true;
$GLOBALS['SYMBOL_SHORT'] = [];
}
- public function tearDown(): void
- {
- $GLOBALS['SMILEY_NO_DB'] = false;
- }
-
public function testFormatReady()
{
$expected = '<strong>some code</strong>';