Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge

 
Erweiterte Suche

6953 Beiträge in 1147 Themen- von 592 Mitglieder - Neuestes Mitglied: 0etzi

05-09-2008, 15:43:36
faqboard.info - SupportforumScriptfragenNewswriter News Management ScriptNewswriter BugsSonderzeichen Fehler im Newswriter !
Seiten: [1]   Nach unten
Drucken
Autor Thema: Sonderzeichen Fehler im Newswriter !  (Gelesen 1232 mal)
elacqua
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« am: 09-04-2005, 19:47:01 »

ich habe in der demo mal ein wort mit gänsefüschen geschmückt ... und diese kann das newswriter system nicht umwandeln ! third watch war das...

das ganze wird dann so angezeigt >   „Third Watch”  ist übrigens auch mit anderen zeichen so..also ein riesen problem bei mir ..genauso wenn ich einen absatz machen möche ! dann springt er mir z.b. immer zwei zeilen weiter...

ist das problem bekannt oder was kann ich dagegen tun  smiley
Gespeichert
Gingko
Newbie
*
Offline Offline

Beiträge: 13


Profil anzeigen
« Antwort #1 am: 10-04-2005, 11:18:22 »

Hi elacqua,
ich habe auch Probleme mit Visual Editor. Schau dir doch mal folgendes Thema an, ob es bei dir auch zutrifft.

http://www.faqboard.info/viewtopic.php?t=709

Das was bei dir erscheint, ( „Third Watch&rdquo ) ist die HTML-Schreibweise für Gänsefüsschen.

Ich umgehe meine Probleme mit dem Visual Editor, indem ich meinen Text erst in einem Windows-Editor ( den findest du unter Start-Programme-Zubehör ) schreibe, bzw. ihn dorthin kopiere und ihn anschließend per Drag and Drop in den Visual Editor kopiere. Ist zwar umständlich, aber es funktioniert.
Gespeichert
basti
Master of Disaster
Administrator
Hero Member
*****
Offline Offline

Beiträge: 2880



Profil anzeigen WWW
« Antwort #2 am: 10-04-2005, 12:05:09 »

Hi,

bei mir gehen die normalen Gänsefüsschen ohne Probleme, welche verwendest denn du ? (ich meine die über der 2).

Weis gar nicht, wie man die Anfangsfüsschen bekommt (die unten sind).
Gespeichert

basti
Master of Disaster
Administrator
Hero Member
*****
Offline Offline

Beiträge: 2880



Profil anzeigen WWW
« Antwort #3 am: 10-04-2005, 12:52:42 »

Hi,

kleiner Workaround, mit dem es gehen sollte:

Die editfunc.inc.php öffnen und folgende Zeile suchen:

Zitat

function prepare_text($string)
{
  global $NWCONF_INTERFACE, $NW_INFO, $NW_RUNTIME;

  $string = stripslashes($string);
  if ($NWCONF_INTERFACE['auto_br']) {
    $string = preg_replace("#<br( /)?>#i", "\n", $string);
  }
  else {
    $saved_tags[0] = "<br />";
    $string =  preg_replace("#<br( /)?>#i", '####0####', $string);
  }

  if ($NW_RUNTIME['allow_html']) {
    $i = 1;
    while (preg_match('#<[^?%!][^>]*>#', $string, $tag)) {
      $saved_tags[$i] = str_replace("\r\n", "", $tag[0]);
      $saved_tags[$i] = str_replace("\n", "", $saved_tags[$i]);
      $string = str_replace($tag[0],'####'.$i.'####', $string);
      $i++;
    }
  }
  else {
    $string = str_replace('<', '&lt;', $string);
    $string = str_replace('>', '&gt;', $string);
  }

  if ($NW_INFO['phpversion'] >= '4.0.0') {
    $trans = get_html_translation_table(HTML_ENTITIES);
    $string = strtr($string, array_flip($trans));
      $string = strtr($string, $trans);
  }
  else {
    $string = str_replace('"', '&quot;', $string);
  }

  if ($NWCONF_INTERFACE['auto_br']) {
    $string = str_replace("\r\n","<br />",$string);
    $string = str_replace("\n","<br />",$string);
  }
  else {
    $string = str_replace("\r\n"," ",$string);
    $string = str_replace("\n"," ",$string);
  }
  if (is_array($saved_tags)) {
    while (list($i,$tag) = each($saved_tags)) {
      $string = str_replace('####'.$i.'####',$tag,$string);
    }
  }
  return $string;
}


Und durch folgende ersetzen:

Zitat
function prepare_text($string)
{
  global $NWCONF_INTERFACE, $NW_INFO, $NW_RUNTIME;

#  $string = htmlentities($string,ENT_NOQUOTES);
  return $string;
}


Damit klappt es nun in der Demo ohne Probleme. Zusätzlich kann man in der Demo nun gleich auf die Vorschau springen.

Wäre aber nett, wenn Ihr mir Feedback geben könntet, ob es so funktioniert.
Gespeichert

basti
Master of Disaster
Administrator
Hero Member
*****
Offline Offline

Beiträge: 2880



Profil anzeigen WWW
« Antwort #4 am: 10-04-2005, 13:20:26 »

Hi,

halt Kommando zurück, das klappt zwar für die Sonderzeichen, aber die normalen Gänsefüsschen werden nun auskommentiert.
Muss mir das mal genauer ansehen.
Gespeichert

elacqua
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antwort #5 am: 10-04-2005, 14:54:35 »

also eigentlich verwende ich die  „test“  teile..wie ich sehe werden die hier gleich umgewandelt !

was mir noch aufgefallen ist: wenn ich den visual editor rausnehme und das ganze mit dem normalen form eingabefeld mache,wird alles korrekt angezeigt  smiley

wäre aber trotzdem nich schlecht wenn es mit dem visual editor auch gehen würde..vielleicht nimmst du in der next edition den spaw oder fckeditor !
Gespeichert
basti
Master of Disaster
Administrator
Hero Member
*****
Offline Offline

Beiträge: 2880



Profil anzeigen WWW
« Antwort #6 am: 10-04-2005, 17:55:47 »

Hi,

den fckeditor nehme ich bestimmt nicht, der hat schon mal in einer Beta Version nur Zicken gemacht.
Und den anderen kenne ich nicht.
Ich werde was dagegen unternehmen, da kannst du sicher sein Wink
Gespeichert

schachbremen
Newbie
*
Offline Offline

Beiträge: 1


Profil anzeigen WWW
« Antwort #7 am: 03-11-2005, 12:23:26 »

Hallo,
ich hatte leider auch dieses Problem; mich hat es so genervt, dass schnell eine Lösung her musste; im Forum habe ich nichts gefunden; so habe ich selber gesucht ... und gefunden:
der Fehler liegt in der doppelten Konvertierung der Sonderzeichen; wenn man den visual editor installiert hat, wird sowohl im "TinyMCE" als auch in Newswriter konvertiert;

Fehlerbehebung: in der Datei editfunc.inc.php muss die Konvertierungsroutine get_html_translation_table rausgenommen werden und zwar der komplette "if" block bzw. die Abfrage entsprechend geändert werden, ob TinyMCE installiert ist oder nicht; Vorsicht: dies muss an zwei Stellen geändert werden;

kann sein dass ich auf die schnelle etwas übersehen habe, aber bei mir funktioniert es jetzt prächtig ...

Übrigens: ich benutze version 1.41 und php 4
Gespeichert

cappo
Newbie
*
Offline Offline

Beiträge: 2


Profil anzeigen
« Antwort #8 am: 04-03-2007, 18:58:35 »

Für den NW14.1: Den Quellcode in /include/editfunc.inc.php ab Zeile 1243 durch nachfolgendem ersetzen:

Code:
//Newsletter versenden (05.08.2002 Raphael Zimmer <raphaelzimmer@web.de>)
function send_newsletter()
{
  global $NW_FORMDATA, $NW_RUNTIME, $NW_TRANSLATION, $NWCONF_SYSTEM, $NWCONF_USERS, $NWCONF_NEWSLETTER;
  global $HTTP_SERVER_VARS;
  $mail_tpl = file($NWCONF_SYSTEM['server_path'].$NWCONF_SYSTEM['template_dir'].'admin/newsletter.tpl');
  $archiv_url = $NWCONF_SYSTEM['index_file'].'?nwaction=shownews&nwmode=archiv&newsmonth='.strftime('%Y%m', $NW_RUNTIME['act_timestamp']).'#'.$NW_RUNTIME['act_timestamp'];
  if ($HTTP_SERVER_VARS['SERVER_URL'])
    $link = rmv_slash($HTTP_SERVER_VARS['SERVER_URL']).str_replace($HTTP_SERVER_VARS['SERVER_URL'],'/',$NWCONF_SYSTEM['domain_path']).$archiv_url;
  elseif ($HTTP_SERVER_VARS['SERVER_NAME'])
    $link = 'http://'.rmv_slash($HTTP_SERVER_VARS['SERVER_NAME']).str_replace('http://'.$HTTP_SERVER_VARS['SERVER_NAME'],'',$NWCONF_SYSTEM['domain_path']).$archiv_url;
  $key = 0;
  while ($mail_tpl[$key]) {
    $message .= $mail_tpl[$key++];
  }
 /* Eckes Fix für Text-Mail */
   $msgtext .= preg_replace("#<br[^>]*>#i", "\n", $NW_FORMDATA['news_text']);
   $msgtext .= preg_replace("#<br[^>]*>#i", "\n", $NW_FORMDATA['news_text1']);
   $msgtext .= preg_replace("#<br[^>]*>#i", "\n", $NW_FORMDATA['news_text2']);
   $msgtext .= preg_replace("#<br[^>]*>#i", "\n", $NW_FORMDATA['news_text3']);
   $msgtext .= preg_replace("#<br[^>]*>#i", "\n", $NW_FORMDATA['news_text4']);
   $msgtext = strip_tags($msgtext);
  if ($NWCONF_NEWSLETTER['phpversion'] >= '4.0.0') {
    $trans = get_html_translation_table(HTML_ENTITIES);
    $msgtext = strtr($msgtext, array_flip($trans));
  }
/* Ende Eckes Fix */
  $message = str_replace('[--AUTHOR--]',$NW_FORMDATA['news_name'],$message);
  $message = str_replace('[--DATE--]',$NW_FORMDATA['news_date'],$message);
  $message = str_replace('[--TITLE--]',$NW_FORMDATA['news_title'],$message);
/* Eckes Fix für Text-Mail */
  $message = str_replace('[--TEXT--]',$msgtext,$message);
/* Ende Eckes Fix */

  $message = str_replace('[--SHORTTEXT1--]',$NW_FORMDATA['news_text1'],$message);
  $message = str_replace('[--SHORTTEXT2--]',$NW_FORMDATA['news_text2'],$message);
  $message = str_replace('[--LONGTEXT2--]',$NW_FORMDATA['news_text3'],$message);
  $message = str_replace('[--LONGTEXT3--]',$NW_FORMDATA['news_text4'],$message);
  $message = str_replace('[--TOPIC--]',$NW_FORMDATA['news_topic'],$message);
  $message = str_replace('[--SUBTOPIC--]',$NW_FORMDATA['news_subtopic'],$message);
  $message = str_replace('[--LINK--]',$link,$message);
  $message = regexer("$message");

  $file = fopen($NWCONF_SYSTEM['server_path'].$NWCONF_SYSTEM['data_dir'].'/emails.txt',"r");
          for ($i=0;$i<1000;$i++)
          {
                if (!feof($file))
                {
                    $zeile = fgets($file,100);
                    $zeile2 = chop($zeile);
                    $zeile3 = strtolower($zeile2);
                    $email2 = strtolower($email);
                    if ($email2 != $zeile3)
                    {
                         $speichern[$i] = $zeile2;
                         $z+=1;
                    }
                }
                if (feof($file))
                {
                    break;
                }
           }
           fclose($file);
           $i=0;
           for ($i=0;$i<$z;$i++)
           {
             @mail($speichern[$i],$NWCONF_NEWSLETTER['subject'], $message, 'From: '.$NWCONF_NEWSLETTER['send_from']);
           }
           echo $NW_TRANSLATION['email_sent'];
}
?>
Gespeichert
Seiten: [1]   Nach oben
Drucken
Gehe zu: