Paranews mit Smilies ?

nordi

Erfahrenes Mitglied
Hi Leute,

ich benutze das Newsscript Paranews 2.0.
Das Script funktioniert einwandfrei, ich würde aber gerne neben den News vielleicht ein kleines Thumbnail oder ein Smilie haben!
Weiß einer von euch, wie das geht??
Das Layout vom Script wird duch eine template-datei definiert, das script selber als eine php datei ( mehrere phpdatein )
Ich hab euch hier mal den Code gepostet, vielleicht könnt ihr ja damit was anfangen :

PHP:
<?php
#########################################################
#                     ParaNews v2.0                     #
#             Copyright (c) by Chris Rolle              #
#         chris@monxoom.de | www.monxoom.de         #
#########################################################
#    This script can be used freely as long as this     #
#     copyright-notice remains here. Furthermore a      #
#   copyright-notice must be displayed on the website   #
#              where this script is used.               #
#                                                       #
#    See readme.htm for further copyright information   #
#     IF YOU USE THIS SCRIPT, YOU ACCEPT THESE TERMS    #
#########################################################

/* Stop, wenn patch.php vorhanden */
if (file_exists("patch.php")) {
     echo "<body bgcolor=\"#EFEFEF\"><br><br><center><b style=\"Font-Size : 12px; Font-Family: Verdana;\">Bitte lösche zuerst die patch.php!</b></center>";
     exit();
  }
/* -------------------------------- */

/* Dateien einfügen */
include 'inc/config.inc.php';
include "inc/template.inc.php";
include "inc/functions.inc.php";
/* ---------------- */

/* Ein paar Template-Anweisungen */
$tpl = new Template();
$tpl->set_file("seite", "template.htm");
$tpl->set_block("seite", "LOOP", "LOOPSECTION");
/* ----------------------------- */

/* Datenbank-Datei öffnen und in die $zeile laden */
$datafile = "inc/pn_data.dat";
if (!file_exists($datafile)) fclose(fopen($datafile,"w+"));
$zeile = file($datafile);
$zeilen = sizeof($zeile);
/* ------------------------------------------ */

/* Ausgabe aller Newseinträge */
$seiten = ceil($zeilen / $newsperpage);
$zeile = array_reverse($zeile);

if (!$page) $page = 1; 
$y = $page * $newsperpage; 
$x = $y - $newsperpage;
if ($y > $zeilen) $y = $zeilen;
if ($zeilen > 0) {
for ($i= $x; $i < $y ; $i++)
  {
  $eintrag = explode("§",$zeile[$i]);

    $tag 	  = date("d",$eintrag[4]);
		$monat 	= date("m",$eintrag[4]);
		$jahr 	= date("Y",$eintrag[4]);
		$stunde	= date("G",$eintrag[4]);
		$min	  = date("i",$eintrag[4]);
  $datum  = "$tag.$monat.$jahr $stunde:$min";

  $eintrag[3] = Filter_myBoardCodeTags($eintrag[3], $myBoardCodeTags);
  if($make_short=="yes"){ 
		$backurl = "index.php?page=$page"; 
  	$eintrag[3] = make_short($linebreak,$eintrag[3],$eintrag[0],$backurl,$more);
  }
  if($smilies=="yes"){$eintrag[3] = smilies($smiliespath,$eintrag[3]); }
  $newsnr = $zeilen - $i.".&nbsp;";
  
  $tpl->set_var(array(
      "newsnr"    => "$newsnr",
      "autor"     => "$eintrag[1]",
      "title"     => "$eintrag[2]",
      "news"      => "$eintrag[3]",
      "datum"     => "$datum"
    ));
  $tpl->parse("LOOPSECTION", "LOOP", true);
  }}
/* -------------------------- */

$cp = "<br><br><div align=center><small><!-- Do not remove this copyright notice -->Powered by <a href=http://www.monxoom.de target=_blank>ParaNews</a> 2.0</small></div>";

/* Berechnung + Anzeige der Navigationlinks */  
if ($zeilen > $newsperpage) {
  $nextid = $page - 1;  
  $lastid = $page + 1;
  
  if ($nextid != 0) {$last = "<a href=\"$PHP_SELF?page=$nextid\">$lasttext</a>";}
  else {$last = $lasttext;}

  $top = "<a href=#top>nach oben</a>";
  
  if ($lastid <= $seiten) {$next =  "<a href=\"$PHP_SELF?page=$lastid\">$nexttext</a>";} 
  else {$next = $nexttext;}

  $next = $next.$cp;
	}
else $next = $cp;

$tpl->set_var(array("last" => "$last"));
$tpl->set_var(array("top" => "$top"));
$tpl->set_var(array("next" => "$next"));
/* ---------------------------------------- */

/* Seite Parsen und ausgeben */
$tpl->parse("out", "seite");
$tpl->p("out");
/* ------------------------- */
?>

Und jetzt die Template Datei

PHP:
<html>
<head>
<title>ParaNews 2.0</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
<style type="text/css">
<!--
a:link {
font-family: Verdana, Arial, Helvetica, sans-serif; 
color : #00699C;
text-decoration: none;
font-weight: bold;
}

a:active {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #006699; 
text-decoration: none;
font-weight: bold;
}

a:visited {
font-family: Verdana, Arial, Helvetica, sans-serif; 
text-decoration: none; 
color: #74A0CD;
font-weight: bold;
}

a:hover {
font-family: Verdana, Arial, Helvetica, sans-serif; 
color: #FF8000; 
text-decoration: underline;
; font-weight: bold}

body {
font-family: Verdana, Arial, Helvetica, sans-serif; 
font-size: 12px;
color: #00699C; 
background-color: #EFEFEF;
font-weight: bold;
}

.rahmen {
border: 1px solid #74A0CD;
}

td {
font-family: Arial, Helvetica, sans-serif; 
font-size: 12px; 
background-color: #CADBEC;
color: #000000;
}

input { 
font-family: Verdana, Helvetica; 
font-size:12;
color: #000000;
border:1px #000000 solid; 
background-color:#FFFFFF; 
}

textarea { 
font-family: Verdana, Helvetica; 
font-size:12;
color: #000000;
border:1px #000000 solid; 
background-color:#FFFFFF; 
}

select {
font-family: Verdana, Helvetica; 
font-size:12
color: #000000;
border:1px #000000 solid; 
background-color:#FFFFFF; 
}
-->
</style>
</head>
<body bgcolor=#FFFFFF text=#000000 leftMargin=0 topMargin=0 marginwidth=0 marginheight=0>
<font class="tablerand"></font> 
<p><br>
</p>
<div align=center><a href=admin target="_parent">Neue Nachricht</a></div>
<br>
<!-- BEGIN LOOP -->
<table width="90%" cellspacing="1" cellpadding="0" align="center" class="rahmen">
  <tr> 
    <td height="20" width="75%"> 
      <div align="left"><b>%%newsnr%% %%title%%</b><small> - by %%autor%%</small></div>
    </td>
    <td height="20" width="25%"> 
      <div align="right">
        <small>%%datum%% </small>
      </div>
    </td>
  </tr>
  <tr> 
    <td height="20" colspan="2">%%news%%</td>
  </tr>
</table>
<br>
<!-- END LOOP -->
<div align="center">%%backlink%%</div>
<br>
<p align=center>%%last%% %%top%% %%next%%</p>
<br>
</body>
</html>
 

Anhänge

-

Das ist kein PHP Problem, sondern reines HTML. Weswegen arbeitet man denn mit Templates? Weil man schnell das Layout verändern kann, ohne sich um den PHP Code zu kümmern. Du guckst dir also deinen HTML Code an, und fügst einfach <img src="smilie.gif"> an die Stelle, wo du dein Bild haben willst, ein.
 
Wie Caminus schon sagte ist das reines HTML, wenn du ein Bild hinzufügen möchtest kannst du das direkt in das Template einbinden also an dieser stelle:

<table width="90%" cellspacing="1" cellpadding="0" align="center" class="rahmen">
<tr>
<td height="20" width="75%">
<div align="left"><b>%%newsnr%% %%title%%</b><small> - by %%autor%%</small></div>
</td>
<td height="20" width="25%">
<div align="right">
<small>%%datum%% </small>
</div>
</td>
</tr>
<tr>
<td height="20" colspan="2"><img src="smilie.gif" align="left">%%news%%</td>
</tr>
</table>
 
verschiedene...

Ja, ok! Das habe ich soeben ausprobiert und das klappt auch! Aber wie kann ich das machen, wenn ich mir einen Smilie von mehreren aussuchen will *habansprüche* *g*
Muss man das auch mit HTML machen oder muss man das jetzt mit PHP machen??

greetz aus köln

jeff
 
In diesem Fall müßtest du die in die Eingabemaske für die News ein SelektionsFeld einbauen und diesen Eintrag zusätzlich in der Datenbank speichern, und natürlich auch in das Template entsprechend einbinden. Nachträglich ist das immer etwas umständlicher. Ich denke dafür wirst du auf jeden Fall PHP benötigen.
 
Nun ich denke ich hab dich richtig verstanden.

Wenn du Smiliecodes in deinem Newseintrag benutzt, so wie z.B. : -) (musste einen Abstand machen sonst wandelt das Script hier das schon um), und dann soll z.B. :) kommen. Dann musst du das so machen:

PHP:
$NewsEintrag2 = eregi_replace (":-)", "<img src=pfad/grins.gif>", $NewsEintrag); //Variablen musst du halt anpassen.

Dann wird, wenn du : -) schreibst das automatisch in ein Smilie wie z.B. :) umgewandelt.
 
mh...versteh, dass irgendwie nicht so ganz !
Wie und wo müsste ich den o.g. einbinden??
Könntet ihr den fertigen Code mal posten??

greetz from Köln

DEUTSCHLAND!!!! IM FINALEEE!!! OHOHOH
 
Smilies in Paranews ändern?

Hi,
Ich habe ein kleines Problem.
Ich habe Paranews Version 3.4 und möchte, wenn ich News' schreibe, andere Smilies benutzen.
Ich habe mir auch welche gdownloadet und in den Ordner "smilies" gepackt.
Ich habe auch die Adresse in der pn-write.php Datei zu den smilies geändert.
So wenn ich dann eine neue Nachricht schreibe, werden die smilies angezeigt aber sobald ich die Nachricht speicher und sie mir ansehe werden sie als X dargestellt oder der Code steht dann an der Stelle des Smilies.
Kann mir vielleicht einer sagen, wo das Problem liegt?
Das wäre super nett.
Im Anhang ist ein Bild von dem Code der pn-write.php Datei.
Bye Kagome89
 

Anhänge

Zurück