1

Topic: Lägga till nya smilies

Vad är det för fel på det här då?

http://hem.passagen.se/kojv/smile.txt

När jag lägger in denna radda i min parser.php så går det inte att visa inläggen i forumet. Samma fel uppstod förut, men då kom jag fram till att jag hade missat ett kommatecken; det har jag inte gjort nu, såvitt jag kan se?

Re: Lägga till nya smilies

Läs vad som står på raden under den koden i parser.php. Om du lägger till smilies som innehåller någon av tecknena &"'<> så måste du ta bort // från raden där under.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

3

Re: Lägga till nya smilies

Får man fråga varför i hela friden inte den raden är aktiv från början?

*ändrar*

Det hjälpte tyvärr inte.  sad

4

Re: Lägga till nya smilies

Nädu... det går helt enkelt inte att få smileys innehållande > eller / att fungera. >-smileys visas i textformat och om jag lägger in / eller \ i parser.php så fungerar inte forumet alls.

Re: Lägga till nya smilies

Jag provade precis här och det funkar. Smilyn jag testade med var </>. Konstigt att det inte funkar hos dig. Kan du klistra in hela din "function do_smilies($message)" från parser.php?

Edit: Orsaken till att den raden är utkommenterad är att 90% av alla användare inte kommer lägga till egna smilies och den raden kod behövs bara köras om man lägger till egna smilies som innehåller just dessa tecken. Dumt att köra kod i onödan.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

6

Re: Lägga till nya smilies

function do_smilies($message)
{
    // Here you can add additional smilies if you like
    $text = array(':)', '=)', ':(', '=(', ':D', '=D', ';)', ':x', ':rolleyes:', ':roll:', ':-)', ':-(', ':-D', ';-)', ':mad:', ':-x', ':-o', ':o', ':l', ':-l', ';l', ';-l', ':O', ':-O', ':sceptic:', ':-|', ':|');
    $img = array('smile.png', 'smile.png', 'sad.png', 'sad.png', 'big_smile.png', 'big_smile.png', 'wink.png', 'mad.png', 'roll.png', 'roll.png', 'smile.png', 'sad.png', 'big_smile.png', 'wink.png', 'reallymad.png', 'mad.png', 'shocked.png', 'shocked.png', 'sharpsmile.png', 'sharpsmile.png', 'sharpsmileoneye.png', 'sharpsmileoneye.png', 'shocked.png', 'shocked.png', 'sceptic.png', 'noexpression.png', 'noexpression.png');

    // Uncomment the next row if you add smilies that contain any of the characters &"'<>
    $text = array_map('htmlspecialchars', $text);

    $message = ' '.$message.' ';

    $num_smilies = count($text);
    for ($i = 0; $i < $num_smilies; $i++)
        $message = preg_replace("#(?<=.\W|\W.|^\W)".preg_quote($text[$i], '#')."(?=.\W|\W.|\W$)#m", '$1<img src="img/smilies/'.$img[$i].'" alt="'.$text[$i].'">$2', $message);

    return substr($message, 1, -1);
}



Den här fungerar. Men inte om jag lägger till <>/\ i någon av smiliesarna. Här är en till variant som inte fungerar, fastän jag fick det att funka med MSN-smilies tidigare.



function do_smilies($message)
{
    // Here you can add additional smilies if you like
    $text = array(':)', '=)', ':(', '=(', ':D', '=D', ';)', ':x', ':rolleyes:' ':cat:', ':confused:', ':cool:', ':crying:', ':cry:', ':dog:', ':embarrassed:', ':glimpse:', ':happy:', ':glad:', ':smile:', ':heart:', ':heart-broken:', ':laughing:', ':laugh:', ':skratt:', ':light-bulb:', ':lips:', ':kiss:', ':kyss:', ':mad:', ':moon:', ':rose:', ':rosew:', ':sad:', ':ledsen:', ':saint:', ':helgon:', ':shocked:', ':shock:', ':star:', ':surprised:', ':tounge:', ':-P', ':-p', ':p', ':P');
    $img = array('smile.png', 'smile.png', 'sad.png', 'sad.png', 'big_smile.png', 'big_smile.png', 'wink.png', 'mad.png', 'roll.png', 'cat.png', 'confused.png', 'cool.png', 'crying.png', 'crying.png', 'dog.png', 'embarrassed.png', 'glimpse.png', 'happy.png', 'happy.png', 'happy.png', 'heart.png', 'heart-broken.png', 'laughing.png', 'laughing.png', 'laughing.png', 'light-bulb.png', 'lips.png', 'lips.png', 'lips.png', 'mad.png', 'moon.png', 'rose.png', 'rose-withered.png', 'sad.png', 'sad.png', 'saint.png', 'saint.png', 'shocked.png', 'shocked.png', 'star.png', 'surprised.png', 'tounge.png', 'tounge.png', 'tounge.png', 'tounge.png', 'tounge.png');

    // Uncomment the next row if you add smilies that contain any of the characters &"'<>
    $text = array_map('htmlspecialchars', $text);

    $message = ' '.$message.' ';

    $num_smilies = count($text);
    for ($i = 0; $i < $num_smilies; $i++)
        $message = preg_replace("#(?<=.\W|\W.|^\W)".preg_quote($text[$i], '#')."(?=.\W|\W.|\W$)#m", '$1<img src="img/smilies/'.$img[$i].'" alt="'.$text[$i].'">$2', $message);

    return substr($message, 1, -1);
}

Re: Lägga till nya smilies

Ok, den första ovan fungerar fint för mig. Även om jag klämmer in ett /, \, < eller > någonstans i någon smiley.

Den andra fungerar inte, men det är pga att du glömt ett kommatecken efter ':rolleyes:'. Fixar man detta funkar den också bra.

Eftersom det funkar här, men inte hos dig, så måste det vara någon skillnad i konfiguration på våra två forum. Kan du vara snäll och skapa ett php-skript med följande innehåll:

<?php phpinfo() ?>

Och klistra in länken till skriptet här i tråden.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

8

Re: Lägga till nya smilies

Tack för det. Har letat och letat efter sådan fel i MSN-versionen men inte hittat några. Nu fungerar alla sådana smilies i harmoni tillsammans med mina andra nya.

Men jag kan fortfarande inte använda /\<> i smilies. Hur försiktigt jag än försöker lägga till dem, en i taget, orsakar de som förut totalt fel i parser.

Hoppas du får ut något vettigt av följande.

http://kojv.freeweb.bz/info.php

Re: Lägga till nya smilies

KOJV wrote:

Tack för det. Har letat och letat efter sådan fel i MSN-versionen men inte hittat några. Nu fungerar alla sådana smilies i harmoni tillsammans med mina andra nya.

Men jag kan fortfarande inte använda /\<> i smilies. Hur försiktigt jag än försöker lägga till dem, en i taget, orsakar de som förut totalt fel i parser.

Hoppas du får ut något vettigt av följande.

http://kojv.freeweb.bz/info.php

Nej, jag fattar fan inte vad felet kan vara. Kan jag få se på ditt forum kanske? Jag förstår inte riktigt vad som går fel nämligen. Du kan kontakta mig över ICQ 6290764 eller per e-mail punbb@telia.com.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

10

Re: Lägga till nya smilies

Mitt forum finns på http://kojv.freeweb.bz/pun

Nu har jag en grand total av 36 smilies, och fler lär det bli med tiden. Jag skulle vilja ändra länken Smilies till vänster om quick post, till ett annat dokument än det vanliga hjälpdokumentet; ett dokument där jag sammanfattar alla mina customiserade smilies. Hur ändrar jag länken? Ska väl in å pilla nånstans i nån php-fil, men vart?

Re: Lägga till nya smilies

KOJV wrote:
Mitt forum finns på http://kojv.freeweb.bz/pun

Ok. Det jag var mest intresserad av var iofs att få veta exakt vad som går fel när du smällen in ett <, >, / eller \ i en smiley.

KOJV wrote:
Nu har jag en grand total av 36 smilies, och fler lär det bli med tiden. Jag skulle vilja ändra länken Smilies till vänster om quick post, till ett annat dokument än det vanliga hjälpdokumentet; ett dokument där jag sammanfattar alla mina customiserade smilies. Hur ändrar jag länken? Ska väl in å pilla nånstans i nån php-fil, men vart?

Sök efter help.php i skripten. Du får ändra på ett par ställen. Ska inte vara några problem.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

12

Re: Lägga till nya smilies

Vad som händer när jag lägger in <>/\ är att parser ballar ur totalt. När man laddar upp denna parser och försöker visa ett inlägg i forumet så ser man bara delforumets underkatalog (PunBB Development Forums / Troubleshooting) och Posta svar-länken. Inget mer syns och kaskadmallen syns inte till alls.

Re: Lägga till nya smilies

Jag skulle gärna vilja se källan (HTML-sourcen) för denna sida när det ballar ut sådär.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

14

Re: Lägga till nya smilies

Nu lyckades jag faktiskt lägga till :-/ och hmm utan att det blev fel. Men :> och :-> blir inte till figurer och lägger jag till :\ eller :-\ så kraschar parser och blir såhär:  (ja, här kommer koden du efterfrågade)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://kojv.freeweb.bz/pun/viewtopic.php?id=142 -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 5.50.4923.2500" name=GENERATOR></HEAD>
<BODY>
<TABLE class=pun_plain cellSpacing=1 cellPadding=4>
  <TBODY>
  <TR>
    <TD style="WIDTH: 53%"><B><A
      href="http://kojv.freeweb.bz/pun/index.php">KOJV.NET - In Real Life</A> /
      <A href="http://kojv.freeweb.bz/pun/viewforum.php?id=13">Viktiga
      meddelanden</A> / Nya smilies</B></TD>
    <TD class=pun_right style="WIDTH: 28%"> </TD>
    <TD class=pun_right style="WIDTH: 19%; WHITE-SPACE: nowrap"><B><A
      href="http://kojv.freeweb.bz/pun/post.php?tid=142">Skriv
  svar</A></B></TD></TR></TBODY></TABLE>
<TABLE class=pun_main cellSpacing=1 cellPadding=4>
  <TBODY>
  <TR class=pun_head>
    <TD class=pun_head style="WIDTH: 185px; WHITE-SPACE: nowrap">Skapare</TD>
    <TD style="WHITE-SPACE: nowrap">
      <TABLE class=pun_plain cellSpacing=0 cellPadding=0>
        <TBODY>
        <TR>
          <TD class=pun_head style="WIDTH: 20%">Inlägg</TD>
          <TD>Sidor: <SPAN
        style="TEXT-DECORATION: underline">1</SPAN></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>

Re: Lägga till nya smilies

Otroligt konstigt att outputen blir sådär. Jag fattar verkligen inte alls hur det kan bli så.

Jag kom dock på varför det buggar ut när du använder backslash. Du måste escape:a backslash. Det gör du genom att sätta ett backslash framför ditt backslash :P Exempel:

$text = array(':\\', ':~\\');

Backslashar ska alltså alltid förekomma två och två. Jag ska lägga till denna information i FAQ:en samt i själva koden. Tack för den :)

Varför det inte funkar med < och > förstår jag dock fortfarande inte :)

"Programming is like sex: one mistake and you have to support it for the rest of your life."

16

Re: Lägga till nya smilies

Med dubbel backslash funkar det fint.  smile

Du får klia dig i naveln och fundera på det där med <>  wink

Re: Lägga till nya smilies

KOJV wrote:

Med dubbel backslash funkar det fint.  :)

Du får klia dig i naveln och fundera på det där med <>  ;)

Japp, försöka komma på vad det är du gör fel :P

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Lägga till nya smilies

Lite spin-off på samma fråga..
Går det inte att lägga till .gif-smiley´s istället för .png?
Försökte med det, men då kraschade hela forumet så fort man gick in på en tråd som använde smiley´s..

//Jocke

Re: Lägga till nya smilies

Hmm, jo, det går utmärkt. Jag provade precis i detta forum. Jag la till en test.gif som motsvarandes av :test: (tog bort den igen dock). Vad menar du förresten med att forumet kraschade?

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Lägga till nya smilies

Det går att gå in på forumets huvudsida, samt forumen´s sub-sidor, men när man går in i en tråd med smiley så ballar det ur totalt, bifogar bild:

http://pixas.mine.nu/~www/uplfolders/upload3/fel.jpg

Det blir alltså hel-skumt när man lägger med att en gif-bild ska vara inkluderad, oavsett om den smiley´n används eller inte.

//Jocke

Re: Lägga till nya smilies

Kan du likt KOJV klistra in din do_smilies från parser.php?

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Lägga till nya smilies

Hittade felet! Använde dreamweaver (eller använde, var inställd som öppnare av .php-filer), men tydligen så ändrade det koden tillräckligt mycket för att det skulle bli fel, men har testat i wordpad nu och nu funkar det perfa att lägga till .gif-smiley´s smile

Tack för hjälpen iaf! smile

//Jocke

Re: Lägga till nya smilies

Np :)

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Lägga till nya smilies

En till fråga angående smiley´s big_smile

Går det inte att ändra vilken storlek dom är? Har lagt till animerade smiley´s, problemet är att dom förminskas så det ser helskumt ut..

Kolla http://www.nrkpgnagare.com/forum/viewto … id=178#178 om det blir samma problem.
(Forumet ska läggas till i Show Off senare, men det är inte "släppt" ännu, håller fortfarande på och testar och modifierar så.. smile )

//Jocke

Re: Lägga till nya smilies

Det du får göra är att du får ta bort storleksangivelsen i img-taggen för dina smilies. Se följande tråd för vidare instruktioner: http://punbb.org/viewtopic.php?id=2326

"Programming is like sex: one mistake and you have to support it for the rest of your life."