pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: gabin am 25 Januar 2010, 10:59:58

Titel: Zeichenketten-Konverter an das pragmaMx 0.1.11 angepasst
Beitrag von: gabin am 25 Januar 2010, 10:59:58
Für diejenigen die gelegentlich Ihr Passwort vergessen, habe ich einen Script von © 2003-2005
Patrick Canterino (http://www.patshaping.de/stringconv.php?) als Modul an das pragmaMx 0.1.11-System angepasst.

siehe muster (http://www.ltbr.de/modules.php?name=md5) auf meiner Seite.




Anforderungen:

- CMS-Version:     pragmaMx 0.1.11


Titel: Re: Zeichenketten-Konverter an das pragmaMx 0.1.11 angepasst
Beitrag von: gabin am 26 Januar 2010, 16:17:54
Hallo allesamt,

hiermit bitte ich die pragmamx-Admis des Forums um eine Korrektur  der oben angegebenen index.php - Datei.

Hier die korrigierte index.php-Datei



<?php

#
# Zeichenketten-Konverter
#
# Konvertiert eine Zeichenkette mit einem beliebigen Verfahren
#
# Autor: Patrick Canterino <patrick@patshaping.de>
# Letzte Aenderung: 21.6.2005
#

defined('mxMainFileLoaded') or die('access denied'); 

$module_name basename(dirname(__FILE__)); 
mxgetlangfile($module_name); 
$index1;

include(
"header.php");
$string formdata('string'); $mode   formdata('mode'); $salt   formdata('salt');

$modes = array('crypt'         => 'Mit UNIX Crypt verschl&uuml;sseln (Salt: [SALT])',
               
'md5'           => 'MD5-Pr&uuml;fsumme ermitteln',
               
'sha1'          => 'SHA1-Hash ermitteln',
               
'crc32'         => 'CRC32-Pr&uuml;fsumme ermitteln',
               
'encbase64'     => 'Mit Base64 codieren',
               
'tooct'         => 'In oktale Entsprechung (Perl, PHP...) umwandeln',
               
'tohex'         => 'In hexadezimale Entsprechung (Perl, PHP...) umwandeln',
               
'tonumentity'   => 'In numerische HTML-Entities umwandeln',
               
'tohexentity'   => 'In hexadezimale HTML-Entities umwandeln',
               
'decbase64'     => 'Base64 decodieren',
               
'fromoct'       => 'Oktale Entsprechung (Perl, PHP...) in ASCII-Zeichen umwandeln',
               
'fromhex'       => 'Hexadezimale Entsprechung (Perl, PHP...) in ASCII-Zeichen umwandeln',
               
'fromnumentity' => 'Numerische HTML-Entities in ASCII-Zeichen umwandeln',
               
'fromhexentity' => 'Hexadezimale HTML-Entities in ASCII-Zeichen umwandeln'); 

if(
$string && $mode)
{ echo 
"<table cellpadding=\"3px\" cellspacing:\"3px\" border=\"0px\">";
  echo 
"<tr>"
  echo 
'<td>siehe unten das Ergebnis<a href="#ergebnis"><img src="modules/Web_Links/images/down.gif" width="16" height="16" border="0" alt="" /></a></td></tr></table>';
}

echo 
"<h1>Zeichenketten-Konverter</h1>"

echo 
"<form action=\"modules.php?name=".$module_name."&amp;index.php\" method=\"post\">";


echo 
"<table cellpadding=\"0px\" cellspacing:\"0px\" border=\"0px\">";
echo 
"<tr><td><h2>Eingabe</h2></td>";
echo 
"<td style=\"padding-left:20px;\"><input type=\"text\" name=\"string\" /><br><b class=\"tiny\">Zeichenkette eingeben</b></td></tr></table>";
echo 
"<br><br><p><b>Was soll mit der Zeichenkette gemacht werden?</b></p>";

echo 
"<p>";


$x 0;

while(list(
$modeid,$description) = each($modes))
{
 
$x++;
 if(
$modeid == 'crypt'$description str_replace('[SALT]','<input type="text" name="salt" />',$description);
 echo 
'<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>';
 echo 
'<td><input type="radio" name="mode" value="'.$modeid.'" /></td><td>'.$description.'</td>';
 echo 
'</tr></table>';
 if(
$x count($modes)) echo "<br />\n";
}

echo 
"</p>";

echo 
"<p align=\"center\"><input type=\"submit\" value=\"Konvertieren\" /></p>";
echo 
"</form>";


if(
$string && $mode)
{
 echo 
"\n";
 
 echo 
"<a name=\"ergebnis\" id=\"ergebnis\"></a><br><h2>Ergebnis</h2>\n\n"

 if(
$modes[$mode])
 {
  
$output '';

  if(
$mode == 'crypt')
  {
   
$output crypt($string,$salt);
   if(!
$salt$salt substr($output,0,2)." -\240von PHP festgelegt";
   
$modes['crypt'] = str_replace('[SALT]',htmlentities($salt),$modes['crypt']);
  }
  elseif(
$mode == 'md5')
  {
   
$output md5($string);
  }
  elseif(
$mode == 'sha1')
  {
   
$output sha1($string);
  }
  elseif(
$mode == 'crc32')
  {
   
$output sprintf('%u',crc32($string));
  }
  elseif(
$mode == 'encbase64')
  {
   
$output base64_encode($string);
  }
  elseif(
$mode == 'tooct')
  {
   for(
$x=0;$x<strlen($string);$x++) $output .= sprintf('\\%03o',ord($string{$x}));
  }
  elseif(
$mode == 'tohex')
  {
   for(
$x=0;$x<strlen($string);$x++) $output .= sprintf('\\x%02X',ord($string{$x}));
  }
  elseif(
$mode == 'tonumentity')
  {
   for(
$x=0;$x<strlen($string);$x++) $output .= '&#38;#'.ord($string{$x}).';';
  }
  elseif(
$mode == 'tohexentity')
  {
   for(
$x=0;$x<strlen($string);$x++) $output .= sprintf('&#38;#x%X;',ord($string{$x}));
  }
  elseif(
$mode == 'decbase64')
  {
   
$output base64_decode($string);
  }
  elseif(
$mode == 'fromoct')
  {
   
$chars  explode('\\',substr($string,1));
   
$chars  array_map('octdec',$chars);
   
$chars  array_map('chr',$chars);
   
$output join('',$chars);
  }
  elseif(
$mode == 'fromhex')
  {
   
$chars  explode('\\x',substr($string,2));
   
$chars  array_map('hexdec',$chars);
   
$chars  array_map('chr',$chars);
   
$output join('',$chars);
  }
  elseif(
$mode == 'fromnumentity')
  {
   
$chars  explode(';&#38;#',substr($string,2,-1));
   
$chars  array_map('chr',$chars);
   
$output join('',$chars);
  }
  elseif(
$mode == 'fromhexentity')
  {
   
$chars  explode(';&#38;#x',substr($string,3,-1));
   
$chars  array_map('hexdec',$chars);
   
$chars  array_map('chr',$chars);
   
$output join('',$chars);
  }

  echo 
"<table cellpadding=\"3px\" cellspacing:\"3px\" border=\"0px\">";
  echo 
"\n<tr>\n";
  echo 
"<td align=\"left\" valign=\"middle\"><b>Eingegebene Zeichenkette:</b></td>\n";
  echo 
"<td valign=\"middle\">".htmlentities($string)."</td>\n</tr>";
  echo 
"\n<tr>\n";
  echo 
"<td align=\"left\" valign=\"middle\"><b>Modus:</b></td>\n";
  echo 
"<td align=\"left\" valign=\"middle\">".$modes[$mode]."</td>\n</tr>\n";
  echo 
"<tr>\n";
  echo 
"<td align=\"left\" valign=\"bottom\"><b>Ergebnis:</b></td>\n <td align=\"left\" valign=\"middle\">";
  echo 
htmlentities($output);
  echo 
"</td>\n</tr>\n</table>\n\n";
 }
 else echo 
"<p><i>Unbekannter Konvertierungsmodus!</i></p>\n\n";
}
else echo 
"\n";



echo 
"<p style=\"padding-top:20px\">Zeichenketten-Konverter</p>";

echo 
"<hr noshade=\"noshade\" />";
echo 
'<p align="right">
 <a href="#top"><img src="modules/Web_Links/images/up.gif" width="16" height="16" border="0" alt="" /></a>Nach oben</p>'
;
#echo '<p><img src="modules/Web_Links/images/down.gif" width="16" height="16" border="0" alt="" />&nbsp;
# <a href="#bottom">Nach unten</a></p>';
echo "<p class=\"copyright\">&copy;&nbsp;<a name=\"bottom\" id=\"bottom\">2003-2005</a> <a href=\"http://www.patshaping.de/\" target=\"_blank\">Patrick Canterino</a></p>";

echo 
"<p>Für sämtliche Scripts, gilt die <a href=\"http://de.wikipedia.org/wiki/Artistic_License\" target=\"_blank\">Artistic License</a>, eine OpenSource-Lizenz.</p>";


/**

# formdata()

# Formulardaten bei deaktiviertem register_globals auslesen

# Parameter:   Name des Formularfeldes

# Rueckgabe:   Inhalt des Formularfeldes (String oder Array)

# Bemerkungen: - Wenn der HTTP-Zugriff nicht POST oder GET ist,
                 wird nichts zurueckgegeben.
               - Codierende Backslashes werden automatisch entfernt 
**/

function formdata($param)
{
 switch(
$_SERVER['REQUEST_METHOD'])
 {
  case 
'GET':
   if(isset(
$_GET[$param]))
   {
    
$value $_GET[$param];
    break;
   }
   else return 
null;

  case 
'POST':
   if(isset(
$_POST[$param]))
   {
    
$value $_POST[$param];
    break;
   }
   else return 
null;

  default:
   return 
null;
 }

 if(
get_magic_quotes_gpc())
 {
  if(
is_array($value)) return array_map('stripslashes',$value);
  else return 
stripslashes($value);
 }
 else return 
$value;
}

#
### Ende ###
include("footer.php");


?>





Folgende Korrekturen wurden vorgenommen:

* Korrektur Nr. 1

sechof wurde durch sprintf ersetzt,

damit nicht folgenden Fehler passiert:

=> Fatal error: Call to undefined function sechof() in .../modules/ZKK/index.php on line 124

* Korrektur Nr. 2

Zeile 44 wurde durch folgende ersetzt:




echo "<form action=\"modules.php?name=".$module_name."&amp;index.php\" method=\"post\">";






Danke und bitte euch um Verständnis für meinen Fehler


Gruß

gabin