Altes Modul auf neuesten stand bringen

Gesperrt
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Altes Modul auf neuesten stand bringen

Beitrag von rgofi »

Hallo leute,

ich habe meine contenido version heute auf den neuesten stand gebracht und bin dabei auf probleme mit meinem alten sitemap modul gestossen.

Es liefert mir folgende fehlermeldungen:
[14-Mar-2008 10:10:56] /cont/cms/front_content.php?idcat=299 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idcat=276' at line 1
SELECT level FROM WHERE idcat=276
[14-Mar-2008 10:10:56] /cont/cms/front_content.php?idcat=299 next_record called with no query pending in Module ID 33.
[14-Mar-2008 10:10:57] /cont/cms/front_content.php?client=1&idcat=0&idart=0&lang=1&error=1 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idcat=1' at line 1
SELECT level FROM WHERE idcat=1
[14-Mar-2008 10:10:57] /cont/cms/front_content.php?client=1&idcat=0&idart=0&lang=1&error=1 next_record called with no query pending in Module ID 33.
[14-Mar-2008 10:11:03] /cont/cms/front_content.php?idcat=180&lang=1&client=1 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idcat=180' at line 1
SELECT level FROM WHERE idcat=180
[14-Mar-2008 10:11:03] /cont/cms/front_content.php?idcat=180&lang=1&client=1 next_record called with no query pending in Module ID 33.
Der Code des moduls lautet wie folgt: INPUT

Code: Alles auswählen


$cfgTab_cat_tree = $cfg['tab']['cat_tree'];
$cfgTab_cat = $cfg['tab']['cat'];
$cfgTab_cat_lang = $cfg['tab']['cat_lang'];

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Kategorie w?hlen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">
                <option value='0'>---Alle---</option>";

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.name FROM $cfgTab_cat_tree AS A, ".
                     "$cfgTab_cat AS B, $cfgTab_cat_lang AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";

            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i > $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "  ";

              } // end for

              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>
          </td>
        </tr>
        <tr>
          <td>Anzahl Ebene:</td>
          <td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
        </tr>
      </table>";
und OUTPUT

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="format.css" >
<table border="0" cellspacing="0" cellpadding="0"><tr bgcolor="#ffffff"></tr><tr bgcolor="#ffffff">
<td style="width: 158px; height: 100%;" valign="top"><span class="textcontent">


<?php
  /***********************************************
  * CONTENIDO MODUL - OUTPUT
  *
  *  Modulname   :     Sitemap v1.2
  * Author(s)      :    Nik Wyss
  * Copyright   :     None
  * Created     :     14-01-2003
  * Modified    :     14-01-2003
  * Modified    :     20-01-2004 by Peter Beauvain
  *                   - Adapt to Contenido V4.4
  *                   - Output only shows visible items
  ************************************************/

  $amountLevel = "CMS_VALUE[1]";
  $newcat = "CMS_VALUE[0]";
  $color = array("lev1", "lev1","lev2","lev3","lev4","lev5","lev6","lev7","lev8","lev9","lev10");

  function sitemap($newcat=0)
  {
    global $lang, $client, $amountLevel, $color, $startLevel, $cfg;
    $db  = new DB_Contenido;
    $sql  = "SELECT * FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
              $cfg["tab"]["cat"]." AS B, ".
              $cfg["tab"]["cat_lang"]." AS C ".
              "WHERE A.idcat=B.idcat AND B.idcat=C.idcat AND ".
              "C.idlang='$lang' AND B.idclient='$client' AND ".
              "B.parentid =$newcat AND level <= $amountLevel AND C.visible=1 ".
              "ORDER by A.idtree";
    $db->query($sql);
    $result = "<table bgcolor=\"#FFFFFF\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" id=\"menu\" class=\"menurahmen\" >";
    while ($db->next_record())
    {
      $lvl = $db->f("level");
      if ($lvl==1)
      {
        $result.="";
      }
      $colorID=$lvl-$startLevel;
      if ($colorID > count($color)-1)
      {
        $colorID=count($color)-1;
      }


      $result   .=  "<tr><td width='170px' ".
                    "valign=top><a href='front_content.php?idcat=".$db->f("idcat").
                    "&lang=$lang&client=$client' class='lmLink'>".
                    $db->f("name")."</a>".sitemap($db->f("idcat")).
                    "</td></tr>";
    }
    $result.= "</table>";
    return($result);
  }

  $sql = "SELECT level FROM $cfgTab_cat_tree WHERE idcat=$newcat";
  $db->query($sql);
  $db->next_record();
  $startLevel = $db->f("level");
  $amountLevel +=  $startLevel;
  if ($newcat==0){$amountLevel--;}
  echo sitemap($newcat);
?>
</span></td></tr></table>
Kann mir mit diesem problem wohl jemand helfen?

Danke im vorraus.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Code: Alles auswählen

 $sql = "SELECT level FROM $cfgTab_cat_tree WHERE idcat=$newcat";
ersetzen durch

Code: Alles auswählen

 $sql = "SELECT level FROM ".$cfg['tab']['cat_tree']." WHERE idcat=$newcat";
sollte das problem beheben...
*** make your own tools (wishlist :: thx)
rgofi
Beiträge: 30
Registriert: Mi 28. Mär 2007, 17:07
Kontaktdaten:

Beitrag von rgofi »

hmmm danke erstmal für die hilfe, aber ich bekomme nach dem editieren des moduls immernoch die Warnung:
Dieses Modul verwendet Variablen und/oder Funktionen, die in dieser Contenido-Version nicht mehr vorhanden sind. Bitte stellen Sie sicher, daß sie aktuelle Module verwenden.
und ich kann mich immernoch nicht korrekt einloggen. Das hab ich vergessen beim ersten mal zu schreiben.

Dieses Problem tritt nur auf wenn ich versuche mich in einen geschützten bereich einzuloggen...

Wenn ich versuche mich einzuloggen werde ich nicht auf die seiten im geschützten bereich weitergeleitet, sondern komme wieder auf die seite die mir hinweise zum einloggen zeigt. Allerdings bekomme ich trotzdem angezeigt das ich unter dem benutzernamen XXX eingeloggt bin...

is der code einfach veraltet?
Gesperrt