webtist::tools.pm
Modulbeschreibung webtist::tools.pm
Version 1.20
Das Modul enthaelt viele Nuetzliche Routinen
Marc Hanschur Space4Data / WEBTIST [NOSPAMmarc@hanschur.de]
Aenderungsliste im PerlModul
die Nachfolgend aufgefuehrten Module werden benoetigt
webtist
DBI
Aufruf
use webtist::tools;
$webtist::tools = new webtist::tools();
Konstruktor
Passwoerter generieren
Aufruf
&passwort($laenge)
Parameter
$laenge => die lange des Passworts als zahl
Rueckgabe
das Passwort als Scalar
Checkt eine EMailadresse auf gueltigkeit
Aufruf
&chkemail($mailadr)
Parameter
$mailadr => die Emailadresse
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Checkt eine Telefonnummer auf gueltigkeit
Aufruf
&chkphone($number)
Parameter
$number => die zu Pruefende Zahl
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Checkt ob ein Text nur Gueltige zeichen enthaelt richtig ist
Aufruf
&chktext($text)
Parameter
$text => der zu Pruefende Text
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Checkt ob der Wert nur Zahlen enthaelt
Aufruf
&chknumber($number)
Parameter
$number => die zu Pruefende Zahl
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Checkt ob der Wert Datum enthaelt YYYY-MM-DD
Aufruf
&chksqldate($date)
Parameter
$date => das zu Pruefende Datum
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Checkt die Laenge eines Strings
Aufruf
&chklength($minlength,$maxlength,$string)
Parameter
$minlength => die minimale Laenge
$maxlength => die maximale Lange
$string => der zue Pruefende String
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
Timefelder ein und Ausgabe
wichtig ist die TIMEVIEW Angabe sowie
TIMEVIEW-SPRACHE Angabe in der WEB Config
siehe auch beispiel in bei der Rueckgabe
Wichtig Dabei ist damit die Timeview Angabe
immer durch ein Leerzeichen Getrennt ist
und die Reinenfolge Datum Zeit sollte
eingehalten werden z.B. Datum Zeit ansonsten
funktioniert die Routine nicht!
Aufruf
&wdttm($stdtmpl,$format,$wert,$art)
Parameter
$stdtmpl => Standarttemplate
oder in WEBCONFIG
WDTTM => Verzeichnis und Template wo man dieses findet
Template Aufbau wie folgt
<input type="text" name="%%feldname%%" value="%%wert%%" maxlength="%%maxlength%%" size="%%size%%">
$format => Format vorgabe siehe Beschreibung (wie TIMEVIEW)
TIMEVIEW;YYYY.MM.DD HH24:MI:SS;;
TIMEVIEW-DEU;DD.MM.YYYY HH24:MI:SS;;
TIMEVIEW-ENG;MM/DD/YYYY HH:MI:SSAM;;
$wert => ein Zeitwert
$art => was fuer ein Feld bzw. welche Ausgabe nur bei Standart aus Webconfig
dat = Datum
tim = Zeit
dati = Datum Zeit
Rueckgabe
Array[0] mit 1 fuer fehler und 0 fuer OK
Array[1] mit dem Zeitwert
Array[2] Format z.B.
Array[3] Formularfeld
Array[4] wurde das feld ge�dert oder steht der anfangswert drin 1 fuer anfangswert 0 fuer �derung
Formatiert eine Kurze Zeitangabe in eine Lange
Aufruf
&formatwdttm($qtime,$oformat,$iformat,$art)
Parameter
$qtime => der zu wandelnde String
$ofomat => Ausgabe Format
$iformat => Eingabe Format
wenn $iformat oder $oformat nicht definiert wurde werden die Werte aus der Webconfig gezogen
fuer $iformat bei aktiver Sprache SHORTTIMEVIEW-XXX sowie $oformat TIMEVIEW-XXX
bei nicht aktiver Sprache $iformat SHORTTIMEVIEW $oformat TIMEVIEW
ansonsten wird die Serverconfiguration genommen
Rueckgabe
Die Umgeformte Zeit ohne Pruefung
macht aus einem DBQuery eine HTML Tabelle
Aufruf
&query2htmltable($db,$dbsid,$dbusr,$dbpass...........)
Parameter
$db => Datenbank (
$dbsid => Datenbank Sid (nur bei Oracle)
$dbusr => Datenbank user
$dbpass => Datenbank passwort
$tabbellentemplate => Das Template in folgenmder form
<!--BEGIN:TABLE-->
<table>
%%content%%
</table>
<!--END:TABLE-->
<!--BEGIN:TABLEHEAD-->
<thead>
%%content%%
</thead>
<!--END:TABLEHEAD-->
<!--BEGIN:TABLEBODY-->
<tbody>
%%content%%
</tbody>
<!--END:TABLEBODY-->
<!--BEGIN:TABLETR-->
</tr>%%content%%</tr>
<!--END:TABLETR-->
<!--BEGIN:TABLETH-->
<th>%%content%%</th>
<!--END:TABLETH-->
<!--BEGIN:TABLETD-->
<td %%options%%>%%content%%</td>
<!--END:TABLETD-->
<!--BEGIN:LINK01-->
<a href="%%pathfile%%?%%querystrg%%" target="_self">%%TXT%%</a>
<!--END:LINK01-->
$header => die Tabellen beschriftung mit ; getrennt
$sqlquery => das SQL Select Statement
$footer => fuer die Navigationszeile der Text wichtig 3 Cellen durch ; getrennt
$pagesize => wieviel datens�ze sollen ausgegeben werden
$qpage => welche Seite soll angezeit werden
$querystrg => der Querystring
$hiddencells => welche felder sollen selectiert werden aber im HTML nicht ausgegen werden
@links => welche links sollen ausgegeben werden
in folgender form 0:1:2#sdgnr:jahr:depot#Querystring#Angezeigter Name;
Rueckgabe
ein HTML Template wenn keine Datens�ze gefunden werden ist in diesem Template der Qualifire %%error%% enthalten
Wandelt einen String (Werte durch beliebiges Zeichen getrennt) in ein Array um.
Aufruf
&string2array($string,$trennzeichen)
Parameter
$string => der zu wandelnde String
$trennzeichen => Das Trennzeichen, an dem der String getrennt wird
Rueckgabe
Array mit den gesplitteten Werten
Wandelt ein Array in ein Hash um.
Aufruf
&array2hash(@array)
Parameter
@array => das zu wandelnde Array
Rueckgabe
Hash mit Key und Inhalten gleich
Wandelt ein String trennzeichengetrennt in ein Hash um.
Aufruf
&string2hash($string,$trennzeichen)
Parameter
$string => der zu wandelnde String
$trennzeichen => Das Trennzeichen, an dem der String getrennt wird
Rueckgabe
Hash mit Key und Inhalten gleich
Wandelt einen String (werte durch : getrennt) in eine SQL Query um ( feldname=wert or Feldname=wert)
Aufruf
&string2sql($feldname,$string,$linkage,$art)
Parameter
$feldname => der Name des DB Feldes
$string => der zu wandelnde String
$linkage => Verknuepfung AND oder OR
$art => was fuer eine Feldart ist es (CHAR = 0 oder nix und Number = 1)
Rueckgabe
Skalar mit 1 fuer fehler und 0 fuer OK
SQL Quotes entfernen
Aufruf
&delSQLquotes($strg)
Parameter
$strg => der String aus dem die Quotes zu entfernen Sind
Rueckgabe
ein Skalar
CLeaR from WhiteSpace
loescht alle trailing und leading spaces
Aufruf
&clrws($in)
Parameter
$in => String
Rueckgabe
Skalar mit geaendertem Inhalt
Datenbank insert
Aufruf
&dbinsert($db,$dbsid,$dbusr,$dbpass,$tabelle,$felder,$werte)
Parameter
$db => Datenbank
$dbsid => Datenbank Sid (nur bei Oracle)
$dbusr => Datenbank user
$dbpass => Datenbank passwort
$tabelle => in welche tabelle soll protokoliert werden
$felder => welche felder werden geschrieben feld,feld,feld
$werte => welche inhalte werden geschrieben 'inhalt',0,'inhalt'
Rueckgabe
ein Array im 0ten Wert ist 0 oder 1 fuer erfolgreich /fehler enthalten im wert 1 das SQL Query
Datenban update
Aufruf
&dbupdate($db,$dbsid,$dbusr,$dbpass,$tabelle,$felder,$werte)
Parameter
$db => Datenbank
$dbsid => Datenbank Sid (nur bei Oracle)
$dbusr => Datenbank user
$dbpass => Datenbank passwort
$tabelle => in welche tabelle soll protokoliert werden
$feldwert => welche felder werden mit welchem wert upgedatet feld=wert
$morequery => fuer eine where Klausel
Rueckgabe
ein Array im 0ten Wert ist 0 oder 1 fuer erfolgreich /fehler enthalten im wert 1 das SQL Query
Datenbank delete
Aufruf
&dbupdate($db,$dbsid,$dbusr,$dbpass,$tabelle,$felder,$werte)
Parameter
$db => Datenbank
$dbsid => Datenbank Sid (nur bei Oracle)
$dbusr => Datenbank user
$dbpass => Datenbank passwort
$tabelle => in welche tabelle soll protokoliert werden
$morequery => fuer eine where Klausel
Rueckgabe
ein Array im 0ten Wert ist 0 oder 1 fuer erfolgreich /fehler enthalten im wert 1 das SQL Query
DB Handle Test
Aufruf
&doSql($stmt)
Parameter
$stmt => SQL Statement
Rueckgabe
keine
DB Handle oeffenen
Aufruf
&openSql($dbh,$stmt)
Parameter
$dbh => Datenbankhandle
$stmt => SQL Statement
Rueckgabe
$sth Standarthandle
DB Handle schielsen
Aufruf
&openSql($sth)
Parameter
$sth => Standarthandle
Rueckgabe
keine
SQL Select in Hash formatieren
Aufruf
&sql2hash($dbh,$sql)
Parameter
$dbh => Datenbankhandel
$sql => SQL SELECT mit 2 R�ckgabewerten 1. key 2. value
Rueckgabe
hash mit key=>valuezuordnung
ich kann im Moment keine Warnungen erkennen
Transparent wird durch eine Remotedelegationkerbe vollendet, die unter bestimmten Umstaeden brechen
konnte. Wenn dieses Ihnen geschieht, informieren Sie mich bitte.
Informieren Sie mich, wenn Sie einiges finden.
Thanks to Susanne Herz for inspiration, laughs and all 'round good times;
and Linus Torvalds for all the great software.
Dieser Code ist freie Software; Sie koenen ihn neuverteilen und/oder ihn unter den gleichen
Bezeichnungen wie Perl selbst aedern.
Dieses ist freie Software. Wenn es bricht, besitzen Sie beide Teile.
Hey! The above document had some coding errors, which are explained below:
Non-ASCII character seen before =encoding in '�eingebaut'. Assuming UTF-8