2. Installation

Das Modul selbst wird wie jedes andere auch über "Module verwalten" installiert und aktiviert. Dort können dann auch die Einstellungen vorgenommen werden.

Darüber hinaus müssen einige der original ConPresso-Dateien bearbeitet werden, da das Modul direkt in die Originalfunktionen eingreift. Für unveränderte Originalinstallationen bzw. Neuinstallationen liegen dem Modul sog. pre-modded files bei, die nur in den ConPresso-Ordner kopiert werden müssen und die Originale ersetzen.

Bei bereits bearbeiteten Installationen sollten folgende Änderungen besser von Hand durchgeführt werden:

=== OPEN / ÖFFNEN ===

_admin/articles.php

=== FIND / FINDE ===

$views = array('list');

=== BEFORE, ADD / DAVOR, EINFÜGEN ===

// Mod_editor
if (isset($mod_editor_article_file) && ($_REQUEST['action'] == 'articles_modify' || $_REQUEST['action'] == 'articles_save'))
foreach($mod_editor_article_file AS $article_file)
if (@file_exists($article_file)) include_once($article_file);
// Mod_editor

Sollte mod_newsletter im Einsatz sein, dann bitte auch folgende, zusätzliche Änderung vornehmen:

=== OPEN / ÖFFNEN ===

NEWSLETTER-VERZEICHNIS/includes/article_actions.inc.php

=== FIND / FINDE ===

$actions = array();

=== BEFORE, ADD / DAVOR, EINFÜGEN ===

// Mod_editor
if (isset($mod_editor_article_file) && ($_REQUEST['action'] == 'articles_modify' || $_REQUEST['action'] == 'articles_save'))
foreach($mod_editor_article_file AS $article_file)
if (@file_exists($article_file)) include_once($article_file);
// Mod_editor

=== OPEN / ÖFFNE ===

_include/article_form.php

=== FIND / FINDE === (fast am Ende)

<?php
print('<script type="text/javascript">function innerToHidden() {');
foreach ($html_texts as $v) {
printf('window.document.article_form.feld_%1$s.value = document.getElementById('iframe_%1$s').contentWindow.document.body.innerHTML;', $v);
}
print('return true; }</script>');
?>

=== REPLACE WITH / ERSETZEN MIT===

<?php
// Mod_editor
if (isset($mod_editor_form_file) && @file_exists($mod_editor_form_file))
include_once($mod_editor_form_file);
// Mod_editor
?>

=== OPEN / ÖFFNE ===

_include/form_fields.inc.php

=== FIND / FINDE ===

$md5key = md5($key); // create an easy to use key for the iframe

=== FIND / FINDE ===
(dies folgt der zuerst gefundenen Zeile, die nicht ersetzt werden soll)

$html_texts[] = $md5key; // this allows to add a javascript which puts all iframes into the hidden field later

printf('<iframe id="iframe_%1$s" name="%1$s" frameborder="0" height="200" class="iframe inputwidth"></iframe>',
  $md5key
);

printf('<input type="hidden" name="content[%s][html]" id="feld_%s" value="">', htmlspecialchars($key),
  $md5key
);

print(help('articles-createarticle.html#articles-createarticle-articlecontent-texts-html'));

$text_value = $content[$key]['html']; // to avoid problems with the document.writeln below
$text_value = preg_replace ('/(52|5|2)/', ' ', $text_value);
$text_value = preg_replace ("/'/", "'", $text_value);
$text_value = str_replace('</', '</', $text_value);
?>
<script type="text/javascript">
  iframe = document.getElementById('iframe_<?php echo $md5key; ?>').contentWindow;
  iframe.document.clear();
  iframe.document.open();
  iframe.document.writeln('<?php echo $text_value; ?>');
  iframe.document.close();
</script>

<?php
printf('<br /><A HREF="#text_%1$s" onClick="editorwindow = window.open(''.BASE_REL.'_editor/editor.php?saveto=iframe_%1$s&%2s', 'editor_popup', 'dependent=yes, width=750, height=580, resizable=yes, status=yes');">'
  .'<img src="'.SKIN_URL.'edit.gif" width="20" height="18" align="absmiddle" alt="%3$s" >%3$s'
  .'</A>',
  $md5key,
  SID,
  ___('-edit')
);

=== REPLACE WITH / ERSETZEN MIT===

// Mod_editor
if (isset($mod_editor_form_field_file) && @file_exists($mod_editor_form_field_file))
include($mod_editor_form_field_file);
// Mod_editor

=== OPEN / ÖFFNEN ===

_include/header.php

=== FIND / FINDE ===

</head>

=== BEFORE, ADD / DAVOR, EINFÜGEN ===

<?php
// Mod_editor
if (isset($mod_editor_header_file) && @file_exists($mod_editor_header_file))
include_once($mod_editor_header_file);
// Mod_editor
?>

=== OPEN / ÖFFNEN ===

_editor/imageinserter.php

=== FIND / FINDE ===

window.opener.doExecCommand('insertimage', "../_data/"+imginfo[0]);

=== REPLACE WITH / ERSETZEN MIT ===

<?php
if (file_exists($mod_editor_imageinserter_file)) include_once($mod_editor_imageinserter_file);
else echo " window.opener.doExecCommand('insertimage', '../_data/'+imginfo[0]); ";
?>

Wie geht es weiter?

Es gibt nicht nur das Modulverzeichnis an sich sondern auch Verzeichnisse für die einzelnen Editoren, die als direkte Unterverzeichnisse des ConPresso-Verezeichnisses eingefügt werden.

Dies ist notwendig, damit (wie beim Original-Editor) die URL-Angaben in Artikeln die richtige Verzeichnisebene erhalten.

  1. Alle Ordner des bereitgestellten Archivs werden in das Conpresso-Verzeichnisses unter Beibehaltung der Verzeichnisstruktur kopiert.
  2. Nach Einloggen ins Backend kann das Modul über "Module"-"Module verwalten" installiert werden.
    Hierzu werden die untenstehenden Aktionen zur Verfügung gestellt.

Installation
Durch Klick auf wird das Modul installiert und die notwendigen Tabellen erstellt sowie alle Einstellungen vorgenommen.

Aktivierung
Durch Klick auf wird das Modul aktiviert und ab sofort die zugehörige Navigation angezeigt, mit der alle weiteren modulspezifischen Aktionen durchgeführt werden.

Deaktivierung
Durch Klick auf wird das Modul deaktiviert und die Navigation wieder entfernt. Es wird dabei nichts gelöscht oder geändert, auch das Frontend bleibt erreichbar!

Deinstallation
Durch Klick auf wird das Modul nach einer Sicherheitsabfrage deinstalliert und damit die getätigten Einstellungen gelöscht!
Um das Modul vollständig zu entfernen, müssen Sie jetzt nu?r noch das Modul-Verzeichnis löschen.

Modulspezifische Funktionen

Einstellungen
Durch Klick auf wird das Menü für die Moduleinstellungen aufgerufen.