alter Quickfinder für 4.6.15<

Gesperrt
kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

alter Quickfinder für 4.6.15<

Beitrag von kenzo »

Ist es eigentlich sehr kompliziert das alte Quickfindermodul auf die 4.6.15 zu aktualisieren?

Hab den alten Code noch, der mit der 4.4.4 super funktionierte.
Weiß aber nicht so recht, welche Variablen und Funktionen jetzt nicht mehr zu verwenden sind.

Wer kann helfen?

War ja sooo schlecht nicht, das Modul. ;-)

THX

Kenzo

Code: Alles auswählen

<? 
$cfgTab_cat_lang = $cfg['tab']['cat_lang']; 
$cfgTab_content = $cfg["tab"]["content"]; 
$cfgTab_art_lang = $cfg["tab"]["art_lang"]; 
$cfgTab_cat_art = $cfg["tab"]["cat_art"]; 

if(strstr($HTTP_USER_AGENT,"MSIE")!=false||substr($HTTP_USER_AGENT,strpos($HTTP_USER_AGENT,"Mozilla/")+8,1)>=5 ){  


echo "<script type=\"text/javascript\"> 

        function addToQuickFinder() { 
          document.forms[\"quickfinder\"].submit(); 
        } 

        function go(url) { 
          window.location.href = url; 
        } 

       function deleteToQuickFinder(de){ 

       document.forms[\"quickfinder\"].del.value=de; 
       document.forms[\"quickfinder\"].submit(); 

       } 

      </script>"; 

$query = "SELECT * FROM $cfgTab_content AS CONT, $cfgTab_art_lang AS LANG WHERE LANG.idart = '$idart' AND LANG.idlang = '1' AND CONT.idartlang = LANG.idartlang AND CONT.idtype = '1' AND CONT.typeid = '1' ORDER BY CONT.idtype"; 

$db->query($query); 

  $db->next_record(); 
  $value = $db->f("value"); 

  if($value!=""){ 
  $title = $db->f("title"); 
  } 
else{ 
  $title=$value; 
  } 


echo "<form name=\"quickfinder\" method=\"post\" action=\"quickfinder_save.php\">"; 
echo "<input type=\"hidden\" name=\"lang\" value=\"$lang\">"; 
echo "<input type=\"hidden\" name=\"client\" value=\"$client\">"; 
echo "<input type=\"hidden\" name=\"idcat\" value=\"$idcat\">"; 
echo "<input type=\"hidden\" name=\"idart\" value=\"$idart\">"; 
echo "<input type=\"hidden\" name=\"m\" value=\"$m\">"; 
echo "<input type=\"hidden\" name=\"s\" value=\"$s\">"; 
echo "<input type=\"hidden\" name=\"t\" value=\"$t\">"; 
echo "<input type=\"hidden\" name=\"title\" value=\"$title\">"; 
echo "<input type=\"hidden\" name=\"del\" value=\"del\">"; 
echo "</form>"; 
$sess->hidden_session(); 




echo " 
  <table width=\"150px\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"> 
    <tr height=\"1\"> 
      <td colspan=\"3\" ><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
    </tr> 
    <tr height=\"15\" id=\"qControl\"> 
       <td width=\"130\" align=\"center\" class=\"punkte\" style=\"padding-right:5px; background-image: url(upload/bilder/naviheadbg.jpg);cursor : hand\">Quickfinder </td> 
       <td width=\"1\"  style=\"background-image: url(upload/bilder/naviheadbg.jpg)\"><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
       <td width=\"19\"  align=\"center\" style=\"background-image: url(upload/bilder/naviheadbg.jpg)\"></td> 
    </tr> 
    <tr height=\"1\"> 
      <td colspan=\"3\" bgcolor=\"#ffffff\"><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
    </tr> 
    <tr> 
       <td><img src=\"images/spacer.gif\" width=\"1\" height=\"10\"></td> 
    </tr> 
  </table> 
"; 

echo " 
    <div id=\"qBody\" style=\"visibility:hidden\";>  
      <table width=\"150\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">"; 

      echo " 
        <tr style=\"background-color:#ffffff\"> 
          <td colspan=\"2\"><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
        </tr>"; 

$db2 = new DB_Contenido; 

// select all articles in category widthout start article 
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.title FROM $cfgTab_cat_art AS CATART, $cfgTab_art_lang AS ARTLANG ". 
         "WHERE CATART.idcat = '22' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ". 
         "ARTLANG.online = '1' AND CATART.is_start = '0' ORDER BY CATART.idart"; 

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

// get id's of sub articles 
while ($db->next_record()) { 
// $articleid = $db->f("idartlang"); 
  $linkid = $db->f("idart"); 
  $head = $db->f("title"); 
  $l = "lang="; 
   $link = $sess->url("front_content.php?client=$client&$l$lang&idcat=22&idart=$linkid&m=$m&s=$s"); 

    $len = strlen($head); 

    // cut head if too long 
    if ($len > 20) { 
      $head = substr($head,0,20); 
      $head = $head. " ..."; 
    } // end if 


    echo " 
        <tr style=\"background-color:#FFFFFF\" onMouseOver=\"g.over(this)\" onMouseOut=\"g.out(this)\"> 
          <td class=\"text10bn\" style=\"padding:2px\" colspan=\"2\">   <a class=\"white\" href=\"javascript:go('".$link."')\">".$head."</a></td> 
        </tr> 
                <tr style=\"background-color:#ffffff\"> 
          <td colspan=\"2\"><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
        </tr>"; 

  } // end while 


if (is_array($quicklinks)) { 

  foreach ($quicklinks as $key => $value) { 


       $values = explode("|",$value); 

       if (strlen($values[0]) > 18) { 
          $values[0] = substr($values[0],0,18); 
          $values[0] = rtrim($values[0]); 
          $values[0] .= "..."; 
       } // end if 

       echo " 
        <tr style=\"background-color:#ffffff\" onMouseOver=\"g.over(this)\" onMouseOut=\"g.out(this)\"> 
              <td style=\"padding:2px\" class=\"text10bn\"><a class=\"white\" href=\"javascript:go('".$values[1]."')\">".$values[0]."</a></td> 
              <td align=\"right\"><a class=\"white\" href=\"javascript:deleteToQuickFinder('".$key."')\" title=\"Eintrag aus dem Quickfinder löschen\">[x] </a></td> 
        </tr> 
         <tr style=\"background-color:#ffffff\"> 
          <td colspan=\"2\"><img src=\"images/spacer.gif\" width=\"1\" height=\"1\"></td> 
        </tr>"; 

  } // end foreach 

} // end if 



echo "  <tr style=\"background-color:#FCF2D5\" onMouseOver=\"g.over(this)\" onMouseOut=\"g.out(this)\"> 
          <td style=\"padding:2px\" class=\"punkte\" colspan=\"2\"><a class=\"punkte\" href=\"javascript:addToQuickFinder()\" title=\"Aktuelle Seite dem Quickfinder hinzufügen\">Add to Quickfinder</a></td> 
        </tr>"; 

echo "</table></div>"; 
} 


?>
und das war die quickfinder_save.php

Code: Alles auswählen

<? 

  /*********************************************** 
  * QUICKFINDER SAVE 
  * 
  * Schreibt die Bookmarks in das Cookie 
  * 
  * Author      :     Jan Lengowski 
  * Copyright   :     four for business AG 
  * Created     :     19-08-2002 
  * Modified    :     19-08-2002 
  ************************************************/ 


  if($del=="del"){ 

  // count quicklinks 
  $cnt="0"; 



  for($key=0;$key<21;$key++){ 
       if(!isset($quicklinks[$key])){ 
       $cnt=$key; 
       break; 
       } // end if 

  } // end for 


  // set cookie 
  setcookie("quicklinks[$cnt]","$title|front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&m=$m&s=$s&t=$t",time()*2); 
  }else{ 
  setcookie("quicklinks[$del]","",time() - 3600); 
  } 
  // redirect 
  header("Location: front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&m=$m&s=$s&t=$t&sid=$sid"); 

?> 
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

also seitens der funktionen hat sich nichts geändert...
das modul verwendet ja nur die db klasse...

anmerkungen:
style=\"visibility:hidden\";
wird die anzeige unterbinden...

und was idcat=22 hardcodiert da drinnen zu suchen hat erschließt sich mir nicht wirklich...

<?
sollte man vielleicht auf
<?php
ändern...

vielleicht liegt das nicht funktionieren ja daran das die
quickfinder_save.php
register_globals On
erwartet...

somit
Wer kann helfen?
hoffe ich etwas geholfen zu haben...
*** make your own tools (wishlist :: thx)
kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Fehleranzeige im Modul

Beitrag von kenzo »

Hi Emergence,

die feste cat22 habe ich erst einmal raus genommen.
Die hatte ich mal auf einer alten Seite fest definiert um beim Quickfinder gleich ein paar Unterkategorien fest anzuzeigen.

Modul funktioniert soweit auch,
habe aber noch diese Meldung im beim Speichern des Moduls:

Code: Alles auswählen

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.


Noch ne Idee was da gemeint ist?

Ich muss sowieso noch ein wenig am Style arbeiten, ist noch viel altes Zeug drin und JavaScript bringt auch noch einen Fehler in der unteren Browserzeile.

Das

Code: Alles auswählen

visibility:hidden
stand noch drin, weil sich erst beim mouseover der Quickfinder öffnen sollte.

Ist aber Quatsch, denn dann bemerkt es ja vieleicht keiner, dass es die Möglichkeit gibt, sich bestimmte Seiten auf einer Art Merkzettel zu schreiben.

Ich muss da wohl noch ein wenig herumprobieren

THX

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

Re: Fehleranzeige im Modul

Beitrag von emergence »

kenzo hat geschrieben:Noch ne Idee was da gemeint ist?

Code: Alles auswählen

$cfgTab_cat_lang = $cfg['tab']['cat_lang']; 
$cfgTab_content = $cfg["tab"]["content"]; 
$cfgTab_art_lang = $cfg["tab"]["art_lang"]; 
$cfgTab_cat_art = $cfg["tab"]["cat_art"];
$cfgTab_* werden von contenido als alte variablen erkannt, die neue(seit jahren) schreibweise siehe oben

tauscht du alle alten bezeichnungen durch die neue schreibweise wird die fehlermeldung verschwinden... (auf die quotes aufpassen, reines ersetzten wird nicht gehen)
*** make your own tools (wishlist :: thx)
kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

das hat geklappt

Beitrag von kenzo »

Hi Emergence,

das hat geklappt, muss noch ein bißchen am Style feilen und werde wohl ein Template einbinden.
Wenn ich es fertig habe stelle ich es ein

;-)

THX

Kenzo
Gesperrt