Druckbare Version des Themas
Hier klicken um das Thema im Original Format zu betrachten.
CMS - Der Dirigent > DeDi-Talk > Dedi unter neuer PHP Version
Geschrieben von: webahoi am 28. Jan 2013 - 14:43
Ab April schaltet 1und1 auf eine neue PHP Version um. Die alten Versionen 4er und ich glaube 5.2 werden dann abgeschaltet. Bei einem Kumpel hatten sie das auch letzte Woche gemacht. Seitdem ist seine Dedi Seite offline. Jetzt konnte er 1und1 überreden, dass sie bis April die alte PHP Version noch drauflassen.

Nun meine Frage: gibt es eine Lösung für dieses Problem ohne Neuinstallation oder Wechsel zu einem anderen CMS?

Geschrieben von: Eppi am 28. Jan 2013 - 15:36
hallo,

schau mal http://forum.der-dirigent.de/index.php?act=ST&f=7&t=7625&st=0. Diese Version sollte laufen, falls nicht einfach melden.

gruß, paul

Geschrieben von: webahoi am 29. Jan 2013 - 08:55
Ja, aber will es ja nicht neu installieren. Dann sind doch alle Inhalte verschwunden. Gibt es da keine möglichkeit mit update oder so? Also was sicher funktioniert. Oder htaccess

Geschrieben von: Eppi am 29. Jan 2013 - 20:14
nichts neuinstallieren. einfach updaten. in diesem fall reicht es sogar die dateien zu überspielen.

gruß, paul

Geschrieben von: axelf am 23. Feb 2013 - 18:08
Ich stehe vor dem gleichen 1&1 PHP Problem... Habe das System in unserem Verein übernommen und es lief bisher ja ohne Probleme, nur es kennt sich keiner mehr in der Tiefe mit dem Dedi aus,,,

Es reicht einfach die 3 Ordner per ftp hochzukopieren und bestehende Dateien zu überschreiben?
Setup ist dann nicht mehr notwendig?
Projekt01 gibt es bei uns nicht. Wurde wohl bei uns als "web" benannt.

Wir haben glaube ich noch die 1.0 Version des Dedi... Wo kann ich das sicher erkennen?

Vielen Dank für die Hilfe.

Geschrieben von: webahoi am 25. Feb 2013 - 10:20
Welche Dateien müssen denn ersetzt werden?
@axelf: Hast Du das schon aktuallisiert?

Geschrieben von: axelf am 25. Feb 2013 - 14:52
Ich hab noch nicht aktualisiert...

Mein Beitrag von oben sollte ne Frage sein, ob es reicht die 3 Ordner hochzukopieren.

Gruß AxelF

Geschrieben von: Eppi am 25. Feb 2013 - 15:01
die versionsnummer sollte im browsertitel nach dem login im backend erscheinen. wenn es sich um die version 1.0.4 handelt, dann reicht es aus die dateien zu ersetzen. lediglich backend/inc/config.php und projekt01/cms/inc/config.php sollten nicht ersetzt werden. falls die version älter ist muß zusätzlich das setup ausgeführt werden. dort gibt es dann den extra punkt "update".

gruß, paul

Geschrieben von: axelf am 24. Mar 2013 - 10:55
... Jetzt sehe ich gerade, dass mit dem PHP 5.4 auch nur noch MySQL 5 Datenbanken unterstützt werden.
Prima. Noch ne Baustelle, die gleichzeitig gelöst werden muss.

Geschrieben von: Eppi am 24. Mar 2013 - 13:58
na hast du schon das update ausgeführt?

gruß, paul

Geschrieben von: axelf am 24. Mar 2013 - 15:53
Hab gerade versucht upzudaten auf 1.0.5
Webseite startet nicht. "Seite wird geladen" leitet nicht richtig weiter...

Backend startet, aber Seiten sind leer.

Liegt wohl an der index.php (mit der alten läufts wieder...)

Hilfe bitte!!

Gruß Axel

Geschrieben von: Eppi am 24. Mar 2013 - 20:33
bitte zugangsdaten per pm.

gruß, paul

Geschrieben von: Eppi am 25. Mar 2013 - 00:48
du hast post.

gruß, paul

Geschrieben von: Mikelweb am 26. Mar 2013 - 10:24
Hallo!

Ich habe ein ähnliches Problem:
- Update auf 1.05 durchgeführt und auf PHP 5 umgestellt.

Ich habe 2 Projekte im System
- Eines wird gar nicht angezeigt (leere Seite)
- Das andere wird nur Teilweise angezeigt (einige Bilder und einige Inhalte fehlen

Beim Update konnte ich die config.php nicht herunterladen, hab dann die alte aus der Sicherung genommen.

Kann mir da jemand weiter helfen?

Danke!

Hat sich erledigt! Anscheinend gab es Probleme beim SQL-Import (allerdings ohne Fehlermeldung). Ich habe den Import nochmal ohne Datei durchgeführt und jetzt klappt alles wieder.

Geschrieben von: Eppi am 26. Mar 2013 - 11:38
hast du dedi neu installiet, oder ein update ausgeführt?

gruß, paul

Geschrieben von: nikon am 27. Mar 2013 - 18:25
hi leute,
hab auch noch probleme beim update auf dedi 105.
mein projekt hat iso-8859-1 zeichencodierung und nach dem update funktionieren umlaute in seiten-, ordnernamen usw nicht sad.gif

wie sieht's bei euch aus?
habt ihr utf8 projekte? oder hat jemand einen fix für das umlaut problem gefunden?

grüße
nikon

Geschrieben von: Eppi am 27. Mar 2013 - 20:24
Hallo,

ich versuche bis nächste Woche ein Update zusammenzuschrauben, welches die Datenbankumstellung mit berücksichtigt.

gruß, paul

Geschrieben von: salow am 28. Mar 2013 - 14:40
auch ich habe leider ein problem.
habe heute auf 1.0.5 upgedatet bzw. die dateien 1.0.4 überschrieben und erhalte nun folgende fehlermeldung:
Fatal error: Call to undefined function import_request_variables() in /homepages/41/d320217903/htdocs/index.php on line 19

die meldung kommt wenn ich auf php 5.4 umstelle

hat jemand dazu einen tipp?

edit: sekunde, ich glaube ich habe da einen fehler gemacht...

HAT SICH ERLEDIGT! =)
die größten fehler sitzen ja bekanntlich vor dem rechner....
hatte die index.php nicht mit der neuen überschrieben. schön blöd... rolleyes.gif

danke + lg
sandra

Geschrieben von: Eppi am 02. Apr 2013 - 22:06
Hallo,

ihr wartet sicherlich schon alle sehnsüchtig auf das Update. Da die Website mitfahrzentrale letzte Woche ihre Konditionen geändert hat und jetzt kostenpflichtig ist habe ich mit Freunden kurzerhand beschlossen bis zum Sonntag eine eigene Mitfahrbörse zu entwickeln. Heute ging die Vorschauseite auf http://www.bessermitfahren.de online. Ich bitte Euch daher noch um ein paar Tage Geduld, bis ich mich dem DeDi Problem widmen kann.

danke & gruß, paul

Geschrieben von: axelf am 03. Apr 2013 - 08:48
Hallo Paul, danke für die Rückmeldung,
wir harren der Dinge :-)
Wie schon per PN geschrieben hab ich auch die Umlautprobleme und der wysiwyg2 ist leer...

Bei meinen PRovider 1+1 kann ich wohl z.Zt. noch auf PHP5.2 zurückschalten, damit läufts ja noch.


Gruß Axel

Geschrieben von: salow am 08. Apr 2013 - 10:10
hallo paul,
noch ist ja ein wenig zeit, aber wir warten tatsächlich schon gespannt.
bei einem kunden von mir fliegen auch im frontend alle menüpunkte raus,
die umlaute enthalten.

lg
sandra

Geschrieben von: nikon am 11. Apr 2013 - 15:51
hi leute,
hab's jetzt hinbekommen biggrin.gif
achtung. geht nur wenn euer projekt iso-8859-1 zeichencodierung hat!

also erstmal update von dedi104 auf dedi105 installieren
http://forum.der-dirigent.de/index.php?act=ST&f=7&t=7625&st=0
http://help.der-dirigent.de/index.php?title=Handbuch:Installation

dann habe ich bei einigen dateien aus backend/inc alle vorkommen von
htmlspecialchars(xxx) durch htmlspecialchars(xxx, ENT_QUOTES, 'ISO-8859-1');
ersetzt

hier alle betreffenden dateien als zip
http://root.system180.com/tmp/dedi105fixpack.zip
einfach in backend/inc kopieren und die alten ersetzen

bei mir musste ich dann noch die frontendausgabe vom listen-navigation 0.9.6 modul im backend anpassen
das menü hatte auch keine umlaute angezeigt
wieder htmlspecialchars(xxx) durch htmlspecialchars(xxx, ENT_QUOTES, 'ISO-8859-1');
hier der code für die frontendausgabe


mehr CODE
<DEDIPHP>

// Vorbereitung auf DeDi v1.1 (?)
global $evil_global_variable_for_easy_tabindex_implementation, $mod;

$mod['desc'] = array();

// idcat des Start-Ordners besorgen
<DEDIPHP:CACHE>
if ($dedi_mod['value'][1] == 'root')
{
$dedi_mod['value'][1] = '0';
}
elseif ($dedi_mod['value'][1] == 'this')
{
$dedi_mod['value'][1] = $idcat;
}

if (!$dedi_mod['value'][14])
{
// Update von einer Version kleiner als 0.9-dev => Diese Variablen wurden noch nicht durch die Modulkonfiguration gesetzt
$dedi_mod['value'][14] = 'sortindex';
$dedi_mod['value'][15] = 'SORT_ASC';
}


// Anzahl darzustellender Ebenen auf 0 setzen, falls unsinnige Werte angegeben wurden
if (!is_numeric($dedi_mod['value'][5]) || ($dedi_mod['value'][5] < 0))
{
$dedi_mod['value'][5] = 0;
}

// Startnummer fuer tabindex auf 1 setzen, falls unsinnige Werte angegeben wurden
if (!is_numeric($dedi_mod['value'][13]) || ($dedi_mod['value'][13] < 1))
{
$dedi_mod['value'][13] = 1;
}
</DEDIPHP:CACHE>


/*
* Hilfs-Funktionen
*/

function print_folder_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth)
{
<DEDIPHP:CACHE>
if ($dedi_mod['value'][16] == 'true')
{
</DEDIPHP:CACHE>
 $output = print_folder_helper_folders_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth);
 $output .= print_folder_helper_pages_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth);
<DEDIPHP:CACHE>
}
else
{
</DEDIPHP:CACHE>
 $output = print_folder_helper_pages_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth);
 $output .= print_folder_helper_folders_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth);
<DEDIPHP:CACHE>
}
</DEDIPHP:CACHE>

if (strlen($output) > 0)
{
 $tpl = str_replace('{id}', $folder['idcat'], "MOD_VALUE[26]");
 $output = str_replace('{layer}', $output, $tpl);
}

return $output;
}


function print_folder_helper_pages_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth)
{
global $evil_global_variable_for_easy_tabindex_implementation, $con_side, $mod, $cfg_dedi;

// Seiten ausgeben
if (isset($folder['pages']))
{
 foreach ($folder['pages'] as $idcatside)
 {
  $template = ($idcatside == <DEDIPHP:CACHE>echo $idcatside;</DEDIPHP:CACHE>) ? "MOD_VALUE[23]" : "MOD_VALUE[22]";
  $item = str_replace('{name}', htmlspecialchars($con_side[$idcatside]['name']), $template);
  $item = str_replace('{created}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_side[$idcatside]['created']) , $item);
  $item = str_replace('{lastmodified}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_side[$idcatside]['lastmodified']) , $item);
  $item = str_replace('{desc}', htmlspecialchars($mod['desc'][$idcatside]), $item);
  $item = str_replace('{link}', $con_side[$idcatside]['link'], $item);
  $item = str_replace('{id}', $idcatside, $item);
  $item = str_replace('{depth}', $depth, $item);
  if (strstr($item, '{tabindex}') !== false)
  {
   $item = str_replace('{tabindex}', $evil_global_variable_for_easy_tabindex_implementation++, $item);
  }

  <DEDIPHP:CACHE>
  if (strstr($dedi_mod['value'][22], '{first}') || strstr($dedi_mod['value'][23], '{first}'))
  {
  </DEDIPHP:CACHE>
   if ($folder['first'])
   {
    $folder['first'] = false;
    $item = preg_replace("/{first}(.*?)({else}(.*?))?{/first}/", "", $item);
   }
   else
   {
    $item = preg_replace("/{first}(.*?)({else}(.*?))?{/first}/", "", $item);
   }
  <DEDIPHP:CACHE>
  }

  if (strstr($dedi_mod['value'][22], '{last}') || strstr($dedi_mod['value'][23], '{last}'))
  {
  </DEDIPHP:CACHE>
   if (($folder['last_thing'] == 'page') && ($folder['last'] == $idcatside))
   {
    $item = preg_replace("/{last}(.*?)({else}(.*?))?{/last}/", "", $item);
   }
   else
   {
    $item = preg_replace("/{last}(.*?)({else}(.*?))?{/last}/", "", $item);
   }
  <DEDIPHP:CACHE>
  }
  </DEDIPHP:CACHE>

  $temp .= $item;
 }
}

return $temp;
}


function print_folder_helper_folders_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($folder, $depth)
{
global $evil_global_variable_for_easy_tabindex_implementation, $con_tree, $mod, $cfg_dedi, $con_side;

// Ordner ausgeben
if (is_array($folder['children']))
{
 // Alle Unterordner dieses Ordners durchgehen
 foreach ($folder['children'] as $subfolder)
 {
  // Ist dieser Ordner ein Blatt des dargestellten Navigationsbaumes?
  $empty = !is_array($subfolder['children']) && !is_array($subfolder['pages']);

  $idcat = $subfolder['idcat'];

  <DEDIPHP:CACHE>
  // Falls "Ordner nur als aktiv markieren, wenn Startseite angezeigt wird" gewaehlt wurde
  // und die aktuelle (die angezeigte) Seite keine Startseite ist, ...
  if (($dedi_mod['value'][9] == 'true') && ($con_side[$idcatside]['is_start'] != '1'))
  {
  </DEDIPHP:CACHE>
   // ... die Vorlage (Template) "Ordner" nehmen, ...
   $template = "MOD_VALUE[24]";
  <DEDIPHP:CACHE>
  }
  else
  {
  </DEDIPHP:CACHE>
   // ... andernfalls die Vorlage "Aktiver Ordner" benutzen, wenn der Unterordner
   // der aktuelle ("angezeigte") Ordner ist und sonst die Vorlage "Ordner" verwenden.
   $template = ($idcat == <DEDIPHP:CACHE>echo $idcat;</DEDIPHP:CACHE>) ? "MOD_VALUE[25]" : "MOD_VALUE[24]";
   <DEDIPHP:CACHE>
   if ($dedi_mod['value'][11] == 'true')
   {
   </DEDIPHP:CACHE>
    if (in_array($idcat, $mod['active']))
    {
     $template = "MOD_VALUE[25]";
    }
   <DEDIPHP:CACHE>
   }
  }
  </DEDIPHP:CACHE>

  $item = str_replace('{name}', htmlspecialchars($con_tree[$idcat]['name']), $template);
  $item = str_replace('{created}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[$idcat]['created']) , $item);
  $item = str_replace('{lastmodified}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[$idcat]['lastmodified']) , $item);
  $item = str_replace('{desc}', htmlspecialchars($con_tree[$idcat]['description']), $item);
  <DEDIPHP:CACHE>
  // Links zu Startseiten, statt Ordnerlinks benutzen?
  if (($dedi_mod['value'][17] == 'true'))
  {
  </DEDIPHP:CACHE>
   $idcatside = $mod['idcat'][$idcat];
   $item = str_replace('{link}', $con_side[$idcatside]['link'], $item);
  <DEDIPHP:CACHE>
  }
  else
  {
  </DEDIPHP:CACHE>
   $item = str_replace('{link}', $con_tree[$idcat]['link'], $item);
  <DEDIPHP:CACHE>
  }
  </DEDIPHP:CACHE>

  $item = str_replace('{id}', $idcat, $item);
  $item = str_replace('{depth}', $depth, $item);
  if (strstr($item, '{tabindex}') !== false)
  {
   $item = str_replace('{tabindex}', $evil_global_variable_for_easy_tabindex_implementation++, $item);
  }

  <DEDIPHP:CACHE>
  if (strstr($dedi_mod['value'][24], '{first}') || strstr($dedi_mod['value'][25], '{first}'))
  {
  </DEDIPHP:CACHE>
   if ($folder['first'])
   {
    $folder['first'] = false;
    $item = preg_replace("/{first}(.*?)({else}(.*?))?{/first}/", "", $item);
   }
   else
   {
    $item = preg_replace("/{first}(.*?)({else}(.*?))?{/first}/", "", $item);
   }
  <DEDIPHP:CACHE>
  }

  if (strstr($dedi_mod['value'][24], '{last}') || strstr($dedi_mod['value'][25], '{last}'))
  {
  </DEDIPHP:CACHE>
   if (($folder['last_thing'] == 'folder') && ($folder['last'] == $idcat))
   {
    $item = preg_replace("/{last}(.*?)({else}(.*?))?{/last}/", "", $item);
   }
   else
   {
    $item = preg_replace("/{last}(.*?)({else}(.*?))?{/last}/", "", $item);
   }
  <DEDIPHP:CACHE>
  }

  if (strstr($dedi_mod['value'][24], '{empty}') || strstr($dedi_mod['value'][25], '{empty}'))
  {
  </DEDIPHP:CACHE>
   $item = preg_replace("/{empty}(.*?)({else}(.*?))?{/empty}/", ($empty) ? "" : "", $item);
  <DEDIPHP:CACHE>
  }
  </DEDIPHP:CACHE>

  $subfolder_data = print_folder_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($subfolder, $depth+1);
     
  $temp .= str_replace("{folder}", $subfolder_data, $item);
 }
}

return $temp;
}


function build_navi_tree_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($start, $depth, $first = false)
{
global $catlist, $con_tree, $con_side, $dedi_side, $db, $mod, $dedi_db, $lang;

$entry['idcat'] = $start;

if ($first)
{
 $entry['first'] = true;
}

<DEDIPHP:CACHE>
if ($dedi_mod['value'][3] != 'true')
{
 echo 'else if (!in_array($start, $mod['path'])) return $entry;';
}

if ($dedi_mod['value'][5] > 0)
{
 echo 'if ($depth >= ' . (int)$dedi_mod['value'][5] . ') return $entry;';
}
</DEDIPHP:CACHE>


// $hide == true <=> Ausgeschlossene Seiten und Ordner verbergen
$hide = <DEDIPHP:CACHE>echo ($dedi_mod['value'][6] == 'true') ? 'true' : '(!isset($dedi_side['view']))';</DEDIPHP:CACHE>;

<DEDIPHP:CACHE>
if ($dedi_mod['value'][2] != 'folders')
{
</DEDIPHP:CACHE>
 // Alle zu diesem Ordner gehoerigen Seiten zusammensuchen
 foreach ($con_side as $idcatside=>$page)
 {
  // Seite ins Array aufnehmen, wenn ...
  if ( ($page['idcat'] == $start) &&
                (
      <DEDIPHP:CACHE>
      // ... es keine Startseite ist (nur wenn keine Startseiten angezeigt werden sollen) und ...
      if ($dedi_mod['value'][4] != 'true')
      {
           echo '($con_side[$idcatside]['is_start'] == '0') &&';
      }
      </DEDIPHP:CACHE>
      (
        // ... wir im Backend sind, oder ...
        isset($dedi_side['view']) ||
        // ... diese online ist ...
        ($con_side[$idcatside]['online'] != 0)
      )
    ) &&
    // ... und diese Seite nicht ausgeschlossen wurde (oder wir im Backend sind und ausgeschlossene Seiten dort angezeigt werden sollen)
    (!$hide || !strstr(',<DEDIPHP:CACHE>echo str_replace(' ', '', $dedi_mod['value'][8]);</DEDIPHP:CACHE>,', ",$idcatside,"))
     )
  {
   $entry['pages'][] = $idcatside;
   
   <DEDIPHP:CACHE>
   // "Notizen"-Felder der Seiten lesen, falls diese verwendet werden
   if (strstr($dedi_mod['value'][22], '{desc}') || strstr($dedi_mod['value'][23], '{desc}'))
   {
   </DEDIPHP:CACHE>

    $db->query("SELECT summary FROM `" . $dedi_db['side_lang'] . "` WHERE idlang='" . $lang . "' AND idside='" . $idcatside . "'" );
    if ($db->next_record())
    {
     $mod['desc'][$idcatside] = $db->f('summary');
    }

   <DEDIPHP:CACHE>
   }
   </DEDIPHP:CACHE>
  }
 }

 // Seiten sortieren
 if (is_array($entry['pages']))
 {
  foreach ($entry['pages'] as $idcatside)
  {
   $sortarray[] = $con_side[$idcatside]['<DEDIPHP:CACHE>echo $dedi_mod['value'][14];</DEDIPHP:CACHE>'];
  }
  array_multisort($sortarray, <DEDIPHP:CACHE>echo (($dedi_mod['value'][14] == 'name') ? "SORT_STRING" : "SORT_NUMERIC") . ", " . $dedi_mod['value'][15];</DEDIPHP:CACHE>, $entry['pages']);
 }

<DEDIPHP:CACHE>
}
</DEDIPHP:CACHE>


<DEDIPHP:CACHE>
if ($dedi_mod['value'][2] != 'pages')
{
</DEDIPHP:CACHE>
 
 // Lokale Kopie von $catlist, weil der "foreach zeiger" fuer
 // das globale Array durch die Rekursion verloren gehen wuerde
 $catlist2 = $catlist;

 // Fuer jeden Unterordner dieses Ordners diese Funktion aufrufen (Seiten und Unterordner zusammensuchen)
 foreach ($catlist2 as $idcat)
 {
  // Unterordner ins Array aufnehmen, wenn ...
  if ( ($con_tree[$idcat]['parent'] == $start) &&
       (
         // ... wir im Backend sind, oder ...
         isset($dedi_side['view']) ||
         // ... dieser sichtbar/online ist ...
         ($con_tree[$idcat]['visible'] != 0)
       ) &&
       // ... und dieser Ordner nicht ausgeschlossen wurde (oder wir im Backend sind und ausgeschlossene Ordner dort angezeigt werden sollen)
       (!$hide || !strstr(',<DEDIPHP:CACHE>echo str_replace(' ', '', $dedi_mod['value'][7]);</DEDIPHP:CACHE>,', ",$idcat,"))
     )
  {
   $entry['children'][$idcat] = build_navi_tree_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>($idcat, $depth+1);
  }
 }


 // Ordner sortieren
 if (is_array($entry['children']))
 {
  unset($sortarray);
  <DEDIPHP:CACHE>
  if ($dedi_mod['value'][14] == 'sortindex')
  {
  </DEDIPHP:CACHE>
   $catlist2 = array();
   foreach ($catlist as $key=>$value)
   {
    if (is_array($entry['children'][$value]))
    {
     $catlist2[$value] = $key;
    }
   }

   foreach ($entry['children'] as $idcat => $v)
   {
    $sortarray[] = $catlist2[$idcat];
   }
   
   array_multisort($sortarray, SORT_NUMERIC, <DEDIPHP:CACHE>echo $dedi_mod['value'][15];</DEDIPHP:CACHE>, $entry['children']);
  <DEDIPHP:CACHE>
  }
  else
  {
  </DEDIPHP:CACHE>
   foreach ($entry['children'] as $idcat => $v)
   {
    $sortarray[] = $con_tree[$idcat]['<DEDIPHP:CACHE>echo $dedi_mod['value'][14];</DEDIPHP:CACHE>'];
   }
   array_multisort($sortarray, <DEDIPHP:CACHE>echo (($dedi_mod['value'][14] == 'name') ? "SORT_STRING" : "SORT_NUMERIC") . ", " . $dedi_mod['value'][15];</DEDIPHP:CACHE>, $entry['children']);
  <DEDIPHP:CACHE>
  }
  </DEDIPHP:CACHE>
 }

<DEDIPHP:CACHE>
}
</DEDIPHP:CACHE>

if ($first)
{
 <DEDIPHP:CACHE>
 if (strstr($dedi_mod['value'][22], '{last}') || strstr($dedi_mod['value'][23], '{last}') ||
     strstr($dedi_mod['value'][24], '{last}') || strstr($dedi_mod['value'][25], '{last}'))
 {
  if ($dedi_mod['value'][16] == true)
  {
  </DEDIPHP:CACHE>
   $current = &$entry;
   $parent = &$entry;
   $last = false;
   do
   {
    if (is_array($current['pages']))
    {
     $temp = $current['pages'];
     $current['last'] = array_pop($temp);
     $current['last_thing'] = 'page';
     $last = true;
    }
    else if (is_array($current['children']))
    {
     $index = array_pop(array_keys($current['children']));
     $parent = &$current;
     $current = &$current['children'][$index];
    }
    else
    {
     $parent['last_thing'] = 'folder';
     $parent['last'] = $current['idcat'];
     $last = true;
    }
   }
   while (!$last);
  <DEDIPHP:CACHE>
  } else {
  </DEDIPHP:CACHE>
   $current =& $entry;
   $parent =& $entry;
   $last = false;
   do
   {
    if (is_array($current['children']))
    {
     $index = array_pop(array_keys($current['children']));
     $parent =& $current;
     $current =& $current['children'][$index];
    }
    else if (is_array($current['pages']))
    {
     $temp = $current['pages'];
     $current['last'] = array_pop($temp);
     $current['last_thing'] = 'page';
     $last = true;
    }
    else
    {
     $parent['last_thing'] = 'folder';
     $parent['last'] = $current['idcat'];
     $last = true;
    }
   }
   while (!$last);
 <DEDIPHP:CACHE>
  }
 }
 </DEDIPHP:CACHE>
}

return $entry;
}


/*
* "Hauptprogramm"
*/

<DEDIPHP:CACHE>
// Die idcatsides (Startseiten) zu den idcats (Ordnern) suchen, falls auch Ordner angezeigt werden sollen
if (($dedi_mod['value'][17] == 'true') && ($dedi_mod['value'][2] != 'pages'))
{
</DEDIPHP:CACHE>
foreach ($con_side as $mod['page'])
{
 if ($mod['page']['is_start'])
 {
  $mod['idcat'][$mod['page']['idcat']] = $mod['page']['idside'];
 }
}
<DEDIPHP:CACHE>
}

// Falls nicht alle Unterordner angezeigt werden sollen oder der Pfad als aktiv verfolgt werden soll...
if (($dedi_mod['value'][2] != 'pages') && (($dedi_mod['value'][3] != 'true') || ($dedi_mod['value'][11] == 'true')))
{
</DEDIPHP:CACHE>
// Pfad vom aktuellen Ordner zum Start-Ordner "berechnen"
$mod['current_idcat'] = <DEDIPHP:CACHE>echo $idcat;</DEDIPHP:CACHE>;
$mod['path'] = array();
<DEDIPHP:CACHE>
if ($dedi_mod['value'][11] == 'true')
{
</DEDIPHP:CACHE>
 $mod['flag'] = true;
<DEDIPHP:CACHE>
}
</DEDIPHP:CACHE>

while ($mod['current_idcat'] != <DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>)
{
 $mod['path'][] = $mod['current_idcat'];
 $mod['current_idcat'] = $con_tree[$mod['current_idcat']]['parent'];

 <DEDIPHP:CACHE>
 // Falls der Start-Ordner nicht "root" ist, ...
 if ($dedi_mod['value'][1] != '0')
 {
 </DEDIPHP:CACHE>

  if ($mod['current_idcat'] == 0)
  {
   // ... aber wir dort angekommen sind und den Startordner noch nicht gefunden haben,
   // liegt die aktuelle Seite nicht im "Pfad"
   <DEDIPHP:CACHE>
   if ($dedi_mod['value'][11] == 'true')
   {
   </DEDIPHP:CACHE>
    $mod['active'] = $mod['path'];
    $mod['flag'] = false;
   <DEDIPHP:CACHE>
   }
   </DEDIPHP:CACHE>
   $mod['path'] = array();
   break;
  }

 <DEDIPHP:CACHE>
 }
 </DEDIPHP:CACHE>
}

<DEDIPHP:CACHE>
if ($dedi_mod['value'][11] == 'true') {
</DEDIPHP:CACHE>

 if ($mod['flag'])
 {
  $mod['active'] = $mod['path'];
 }

<DEDIPHP:CACHE>
}
}
</DEDIPHP:CACHE>

// Mit tabindex + 1 anfangen, wenn der Startordner ungleich Root ist, da in "Einleitung der Navigation" der tabindex benutzt werden koennte
$evil_global_variable_for_easy_tabindex_implementation = <DEDIPHP:CACHE>echo ($dedi_mod['value'][13] + (($dedi_mod['value'][1] != 0) ? 1 : 0));</DEDIPHP:CACHE>;

// Die Liste gemaess den gewaehlten Einstellungen aufbauen
$mod['output'] = print_folder_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>(build_navi_tree_<DEDIPHP:CACHE>echo $dedi_mod['container']['id'];</DEDIPHP:CACHE>(<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>, 0, true), 1);

<DEDIPHP:CACHE>

if ($dedi_mod['value'][12] != 'true')
{
echo 'if ($mod['output'] != "") {';
}

</DEDIPHP:CACHE>

$mod['intro'] = "MOD_VALUE[20]";
$mod['outro'] = "MOD_VALUE[21]";

// Templatevariablen in Einleitung/Ende der Navigation ersetzen, falls der Startordner ungleich "root" ist und der Ordner sichtbar ist.
if (<DEDIPHP:CACHE>echo ($dedi_mod['value'][1] != 0) ? 'true' : 'false';</DEDIPHP:CACHE> &&
   ((isset($dedi_side['view']) && <DEDIPHP:CACHE>echo ($dedi_mod['value'][6] != 'true') ? 'true' : 'false';</DEDIPHP:CACHE>) ||
   ($con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['visible'] != 0)) )
{
$mod['intro'] = str_replace('{name}', htmlspecialchars($con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['name']), $mod['intro']);
$mod['intro'] = str_replace('{desc}', htmlspecialchars($con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['description']), $mod['intro']);
$mod['intro'] = str_replace('{created}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['created']) , $mod['intro']);
$mod['intro'] = str_replace('{lastmodified}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['lastmodified']) , $mod['intro']);
$mod['intro'] = str_replace('{link}', $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['link'], $mod['intro']);
$mod['intro'] = str_replace('{id}', '<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>', $mod['intro']);
$mod['intro'] = str_replace('{tabindex}', '<DEDIPHP:CACHE>echo $dedi_mod['value'][13];</DEDIPHP:CACHE>', $mod['intro']);

$mod['outro'] = str_replace('{name}', htmlspecialchars($con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['name']), $mod['outro']);
$mod['outro'] = str_replace('{desc}', htmlspecialchars($con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['description']), $mod['outro']);
$mod['outro'] = str_replace('{created}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['created']) , $mod['outro']);
$mod['outro'] = str_replace('{lastmodified}', date($cfg_dedi['FormatDate'] . " " . $cfg_dedi['FormatTime'], $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['lastmodified']) , $mod['outro']);
$mod['outro'] = str_replace('{link}', $con_tree[<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>]['link'], $mod['outro']);
$mod['outro'] = str_replace('{id}', '<DEDIPHP:CACHE>echo $dedi_mod['value'][1];</DEDIPHP:CACHE>', $mod['outro']);
$mod['outro'] = str_replace('{tabindex}', $evil_global_variable_for_easy_tabindex_implementation, $mod['outro']);
}

// Navigation ausgeben
echo $mod['intro'] . $mod['output'] . $mod['outro'];

<DEDIPHP:CACHE>
if ($dedi_mod['value'][12] != 'true')
{
echo '}';
}
</DEDIPHP:CACHE>

unset ($mod, $evil_global_variable_for_easy_tabindex_implementation);

</DEDIPHP>



cheers nikon

Geschrieben von: salow am 12. Apr 2013 - 13:19
mensch super! biggrin.gif

ich werde das in der nächsten woche einsetzen.

vielen dank!

lg
sandra

Geschrieben von: john am 13. Apr 2013 - 12:21
Hallo, klasse, vielen Dank.
Leider hab ich im Frontend noch das Problem mit den Umlauten im Menü, ich benutze die Navigation 1.1.1, da gibt es leider kein htmlspecialchars(xxx) - hast Du da vielleicht auch eine Idee?
Viele Grüße, John

P.S. hab es selber gefunden, in diesem Fall ist es htmlentities, die gleiche Änderung wie bei htmlspecialchars....

Geschrieben von: salow am 18. Apr 2013 - 17:20
QUOTE (nikon @ 11. Apr 2013 - 15:51)

bei mir musste ich dann noch die frontendausgabe vom listen-navigation 0.9.6 modul im backend anpassen
das menü hatte auch keine umlaute angezeigt
wieder htmlspecialchars(xxx) durch htmlspecialchars(xxx, ENT_QUOTES, 'ISO-8859-1');
hier der code für die frontendausgabe


hey,

bei mir klappt es zumindes mit dem backend bestens. die frontendausgabe haut allerdings noch nicht hin. wenn ich die änderungen so einsetze, dann wird die seite gar nicht mehr geladen.

aus:
$item = str_replace('{name}', htmlspecialchars($con_side[$idcatside]['name']), $template);

mache ich:
$item = str_replace('{name}', htmlspecialchars($con_side[$idcatside]['name']), $template, ENT_QUOTES, 'ISO-8859-1');

und schwupp ist alles weg. hat jemand dazu noch einen tipp?

danke + lg
sandra

Geschrieben von: salow am 18. Apr 2013 - 17:21
waaaaaaaaaaaaaaaaaaaaaaaaaaaah,
ich sehe meinen fehler gerade.... wie peinlich! rolleyes.gif


bei mir läuft jetzt alles rund! =)

vielen lieben dank nochmal für die dateien! biggrin.gif

Geschrieben von: kwmobil am 06. Jul 2013 - 21:31
HI Leute,

das gleiche Problem habe ich auch. Habe vor 3 Tagen meinen Tarif bei 1und1 Umgestellt und seither ist meine Seite nicht mehr aufzurufen.

Bisher hat mir ein äusserst netter Kollege von Euch Thomas Schwendinger meine HP betreut doch mach Er wohl in der Zwischenzeit nicht mehr viel mit Dedi und ist wohl derzeit sehr sehr eingespannt.

Da ich selbst keinerlei Ahnung davon habe und auch finanziell nicht in der Lage bin, jemanden offiziell dafür zu engagieren, möchte ich hier in der Runde Fragen, ob jemand bereit wäre, mir die Umstellung durchzuführen.

Wie ich weis, ist die DB schon umgestellt, es müßte wohl noch die PHP auf die neue Version von 1und1 eingerichtet werden.


cu kwmobil

Geschrieben von: kwmobil am 08. Jul 2013 - 08:23
Hi Leute,

besten Dank für Euer Interesse. Doch mein Thomas hat doch die Zeit gefunden, mein Problem zu lösen. Dafür nochmals vielen Dank.
Wie und was Er allerdings gemacht hat, kann ich Euch nicht sagen, dazu fehlen mir die Kenntnisse in der Materie zu DeDi.

cu kwmobil

Geschrieben von: speedysupranet am 10. Oct 2013 - 19:58
Hallo miteinander

Gibt es von Eppi da schon eine gefixte Version 1.0.5? Ich habe auch Probleme mit Umlauten in der Navigation / Titeln sowie einen leeren WYSIWYG Editor.

Gruss
Werner

Geschrieben von: speedysupranet am 11. Oct 2013 - 21:23
Hallo miteinander

Vielen Dank für die tolle Arbeit am Code. Das zeigt doch, dass Dedi immer noch lebt. Ich konnte mit dem Fixpack und dem Hinweis in der Navigation alle Probleme nach einem Upgrade bei einem Hoster beheben.

laugh.gif

Wie wäre es eigentlich, wenn sich um Dedi wieder eine aktive Programmiercommunity paaren würde, damit zukünftige Fehler gemeinsam behoben werden. Dies würde sicher auch Eppi im Support entlasten.

Eigentlich müssten alle diese Fixes für PHP5.4 als Version 1.0.6 weitergeführt werden.

Gruss
Werner

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)