pragmaMx Support Forum

Archive => veraltete bzw. unsupportete Systeme und Module => Alt Archive => PHPNuke 5.2-6.0 & VKP 5.5 => Thema gestartet von: Vakistaste1 am 22 Oktober 2002, 18:38:49

Titel: Birthday Modul + VKP Maxi
Beitrag von: Vakistaste1 am 22 Oktober 2002, 18:38:49
Hallo ! Hat schon jemand das Birthday Modul an VKP Maxi
angepasst bei dem es läuft ???
Wenn ich es so mache wie bei VKP 5.5 dann erhalte ich laufend fehlermeldungen .
Wäre nett wenn mir mal jemand ne Anleitung oder so per Mail schicken könnte.
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: BowlingX am 22 Oktober 2002, 19:15:32
Wo bekomme ich das Birthday Modul...ich schau mir das mal an
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: Sascha1981 am 22 Oktober 2002, 19:28:47
Ich hab das mal versucht das Birthday Modul für das VKP Mxxx anzupassen aber ich bekomme auch immer eine fehler meldung nach der anderen!
Vielleicht hat ja jemand eine Idee wie man das ohne probs einbauen kann!
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: DarkBoy am 22 Oktober 2002, 19:42:33
um es mal frech zu sagen:  indem man es sauber codet und dann vernünftig einbaut
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: am 23 Oktober 2002, 01:25:28
 http://www.vakistaste.de/downloads/birthday1.zip.
Mußt Dich aber anmelden und genau das geht gerade nicht mehr.
Wegen dem Modul Fehler. Mit dem sauber Coden ist mir schon klar, aber wenn ich es draf hätte würde ich es wohl machen.Hab ich aber nicht und deshalb frag ich nach Hilfe. Ich weis auch das selber machen die bessere Möglichkeit ist aber ich habe echt Probleme deshalb.Vielleicht kann ja doch wer helfen.
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: am 23 Oktober 2002, 01:39:47
Hier ist die Anleitung für vkp 5.5


 

Installations-Anleitung:

Es wurden Veränderungen im Code der modules/Your_Account/index.php und im mainfile.php
vorgenommen. Wer noch die orginal Files, entweder vom VKP5.5 oder Nuke5.5 benutzt...
also ohne Veränderungen, der kann die beiden Files einfach ersetzen.

Falls aber schon Veränderungen vorgenommen worden sind:

#################################################

Mainfile.php:
=============

dort folgende Funktion suchen:

function getusrinfo($user) {
    global $userinfo, $user_prefix, $dbi;
    $user2 = base64_decode($user);
    $user3 = explode(":", $user2);
    $result = sql_query("select uid, name, uname, email, femail, url, user_avatar, user_icq, user_occ, user_from, user_intrest, user_sig, user_viewemail, user_theme, user_aim, user_yim, user_msnm, pass, storynum, umode, uorder, thold, noscore, bio, ublockon, ublock, theme, commentmax, newsletter from ".$user_prefix."_users where uname='$user3[1]' and pass='$user3[2]'", $dbi);
    if (sql_num_rows($result, $dbi) == 1) {
       $userinfo = sql_fetch_array($result, $dbi);
    }
    return $userinfo;
}

und durch die:

function getusrinfo($user) {
    global $userinfo, $user_prefix, $dbi;
    $user2 = base64_decode($user);
    $user3 = explode(":", $user2);
    $result = sql_query("select uid, name, uname, email, femail, user_birthday_day, user_birthday_month, user_birthday_year, url, user_avatar, user_icq, user_occ, user_from, user_intrest, user_sig, user_viewemail, user_theme, user_aim, user_yim, user_msnm, pass, storynum, umode, uorder, thold, noscore, bio, ublockon, ublock, theme, commentmax, newsletter from ".$user_prefix."_users where uname='$user3[1]' and pass='$user3[2]'", $dbi);
    if (sql_num_rows($result, $dbi) == 1) {
       $userinfo = sql_fetch_array($result, $dbi);
    }
    return $userinfo;
}

ersetzen. Diese Funktion ließt die Werte aus der Datenbank aus.

Das wars auch schon im Mainfile.php


#################################################


modules/Your_Account/index.php :
================================

nach den Zeilen: (ganz oben)

require_once("mainfile.php");
include("includes/gp.func.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
$userpage = 1;

folgendes einfügen:

$startyear = 1940; //hier kann man das Startjahr festlegen
$endyear = 2000; //und hier das letzte Jahr

if(file_exists("language/birthday/birthday-$currentlang.php")) {
   include("language/birthday/birthday-$currentlang.php");
}else {
   include("language/birthday/birthday-german.php");
}

ist für die Language Datei um auch alle Sprachen zu ermöglichen

-------------------------------

weiter zur Funktion
confirmNewUser($uname, $email, $url, ....)
******************************************

dort vor $uname folgendes einfügen:

$gday, $gmonth, $gyear,

-> confirmNewUser($gday, $gmonth, $gyear, $uname, $email, $url, ....)

-------------------------------

ein paar Zeilen weiter unten, nach:

userCheck($uname, $email);


folgendes einfügen:

   if (($gday == "" and $gmonth != "") or ($gday != "" and $gmonth == "")) {
       $stop .= "<center>"._GDATE."</center>";
   }

-------------------------------   
   
wieder ein paar Zeilen weiter unten:

OpenTable();
   echo "<center><b>"._USERFINALSTEP."</b><br><br>$uname, "._USERCHECKDATA."</center><br><br>";
   echo "<b>"._UUSERNAME.":</b> $uname<br>"
       ."<b>"._EMAIL.":</b> $email<br>";

danach:
      
   if (($gday) || ($gday!="")) echo "<b>"._GDATE.":</b> $gday.$gmonth.$gyear<br>";

einfügen.
   
-------------------------------   
   

als nächstes müssen die Werte weitergegeben werden, d.h. nach den Zeilen:

echo "<form action=\"modules.php?name=Your_Account\" method=\"post\">"
       ."<input type=\"hidden\" name=\"uname\" value=\"$uname\">"
       ."<input type=\"hidden\" name=\"email\" value=\"$email\">"
      
müssen noch die drei eingefügt werden....:

      ."<input type=\"hidden\" name=\"gday\" value=\"$gday\">"
      ."<input type=\"hidden\" name=\"gmonth\" value=\"$gmonth\">"
      ."<input type=\"hidden\" name=\"gyear\" value=\"$gyear\">"
      
somit werden auch alle Werte an die Funktion finishNewUser übergeben zu der wir jetzt kommen:

-------------------------------   

finishNewUser($uname, $email, $url, ...)
****************************************

dort wieder die drei Variablen $gday, $gmonth, $gyear einfügen...

finishNewUser($gday, $gmonth, $gyear, $uname, $email, $url,...)

-------------------------------   

paar Zeilen weiter unten werden nun die Werte in die Datenbank eingetragen:

$result = sql_query("insert into ".$user_prefix."_users values (NULL,'','$uname','$email','','$url','$user_avatar','$user_regdate','$user_icq','$user_occ','$user_from','$user_intrest','$user_sig','$user_viewemail','','$user_aim','$user_yim','$user_msnm','$cryptpass','10','','0','0','0','','0','','$Default_Theme','$commentlimit','0','0','0','0','0','1')", $dbi);

durch

$result = sql_query("insert into ".$user_prefix."_users values (NULL,'','$uname','$email','','$url','$user_avatar','$user_regdate','$user_icq','$user_occ','$user_from','$user_intrest','$user_sig','$user_viewemail','','$user_aim','$user_yim','$user_msnm','$cryptpass','10','','0','0','0','','0','','$Default_Theme','$commentlimit','0','0','0','0','0','1','$gday','$gmonth','$gyear','0')", $dbi);

ersetzen...

 
Die Werte sind die letzten 4 ($gday, $gmonth, $gyear und eine 0 für die Geurtstagsmail, welche erst später benötigt wird)


-------------------------------   






die nächste Funktion ist die

userinfo(..)
***********

function userinfo($uname, $bypass=0) {
    global $user, $cookie, $sitename, $prefix, $user_prefix, $dbi, $admin;
    $result = sql_query("select uid, femail, url, bio,...

dort vor die "uid" das: "user_birthday_day, user_birthday_month, user_birthday_year, " einfügen:

function userinfo($uname, $bypass=0) {
    global $user, $cookie, $sitename, $prefix, $user_prefix, $dbi, $admin;
    $result = sql_query("select user_birthday_day, user_birthday_month, user_birthday_year, uid, femail, url, bio,...


dann muss noch eine Kleinigekeit geändert werden:

an der Stelle an der ihr das Geurtsdatum angezeigt haben wollt, müsst ihr:

   if ($userinfo[user_birthday_day]) { echo ""._GDATE." $userinfo[user_birthday_day].$userinfo[user_birthday_month].$userinfo[user_birthday_year]<br>\n"; }

einfügen.
Ich habe dies nach:

   echo "<center><font class=\"content\">";
   if ($userinfo[user_avatar]) echo "<img src=\"images/forum/avatar/$userinfo[user_avatar]\" alt=\"\"><br>\n";
   if ($userinfo[url]) { echo ""._MYHOMEPAGE." <a href=\"$userinfo[url]\" target=\"new\">$userinfo[url]</a><br>\n"; }

gemacht.

so die Funktion ist auch erledigt...


-------------------------------   




jetzt weiter nach unten zur

new_user()
*********

direct unter:

function new_user() {

muss nun :

   global  $startyear, $endyear;

eingefügt werden.


dann nach:
   OpenTable();
   echo "<form name=\"Register\" action=\"modules.php?name=Your_Account\" method=\"post\">\n"
           ."<b>"._REGNEWUSER."</b><br><br>\n"
       ."<table cellpadding=\"0\" cellspacing=\"10\" border=\"0\">\n"
           ."<tr><td>"._NICKNAME.":</td><td><input type=\"text\" name=\"uname\" size=\"30\" maxlength=\"25\"> <font class=\"tiny\">"._REQUIRED."</font></td></tr>\n"
         ."<tr><td>"._EMAIL.":</td><td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"255\"> <font class=\"tiny\">"._REQUIRED."</font></td></tr>\n"

folgendes einfügen:

"<tr><td width=\"25%\"><font class=\"content\">"._GDATE.":</td>"
            ."<td><select name=\"gday\">"
               ."<option value=\"\" selected></option>";
               $dateday = 1;
               while ( $dateday <= 31){
                  if ($dateday == $gday){
                  $sel = "selected";
                  } else {
                   $sel = "";
                  }
                  echo "<option value=\"$dateday\" $sel>$dateday</option>";
                  $dateday = $dateday+1;
               }
               echo "</select> . "
               ."<select name=\"gmonth\">"
               ."<option value=\"\" selected></option>";
               $datemonth = 01;
               while ( $datemonth <= 12){
                  if ($datemonth == $gmonth){
                  $sel = "selected";
                  } else {
                   $sel = "";
                  }
                  echo "<option value=\"$datemonth\" $sel>$datemonth</option>";
                  $datemonth = $datemonth+1;
               }
               echo "</select> . "
               ."<select name=\"gyear\">"
               ."<option value=\"\" selected></option>";
               $dateyear = $startyear;
               while ( $dateyear <= $endyear){
                  if ($dateyear == $gyear){
                  $sel = "selected";
                  } else {
                   $sel = "";
                  }
                  echo "<option value=\"$dateyear\" $sel>$dateyear</option>";
                  $dateyear = $dateyear+1;
               }
               echo "</select> <font class=\"tiny\">(dd/mm/yyyy)</font></td></tr>"

damit werden die Auswahllisten erzeugt.

und schon ist diese Funktion auch abgehakt...

-------------------------------

die nächste ist die

edituser()
*********

function edituser() {
    global $user, $userinfo, $cookie;

hier müssen die beiden Variablen eingeügt $startyear, $endyear werden

function edituser() {
    global $user, $userinfo, $cookie, $startyear, $endyear;


hier kann der USer seine Daten ändern, d.h. es müssen die Daten aus der Datenbank zum ändern bereitgestellt werden.

Sucht folgende Zeilen:

    OpenTable();
    echo "<table cellpadding=\"8\" border=\"0\"><tr><td>"
   ."<form name=\"Register\" action=\"modules.php?name=Your_Account\" method=\"post\">"
   ."<b>"._UREALNAME."</b> "._OPTIONAL."<br>"
   ."<input type=\"text\" name=\"realname\" value=\"$userinfo[name]\" size=\"30\" maxlength=\"60\"><br><br>"
   ."<b>"._UREALEMAIL."</b> "._REQUIRED."<br>"
   .""._EMAILNOTPUBLIC."<br>"
   ."<input type=\"text\" name=\"email\" value=\"$userinfo[email]\" size=\"30\" maxlength=\"255\"><br><br>"
   ."<b>"._UFAKEMAIL."</b> "._OPTIONAL."<br>"
   .""._EMAILPUBLIC."<br>"
   ."<input type=\"text\" name=\"femail\" value=\"$userinfo[femail]\" size=\"30\" maxlength=\"255\"><br><br>"
   ."<b>"._GDATE.":</b> "._REQUIRED."<br>"
   
Danach einfach:

."<select name=\"gday\">"
   ."<option value=\"0\" selected></option>";
   $dateday = 1;
   while ( $dateday <= 31){
      if ($dateday == $userinfo[user_birthday_day]){
      $sel = "selected";
      } else {
       $sel = "";
      }
      echo "<option value=\"$dateday\" $sel>$dateday</option>";
      $dateday = $dateday+1;
   }
   echo "</select> . "
   ."<select name=\"gmonth\">"
   ."<option value=\"0\" selected></option>";
   $datemonth = 01;
   while ( $datemonth <= 12){
      if ($datemonth == $userinfo[user_birthday_month]){
      $sel = "selected";
      } else {
       $sel = "";
      }
      echo "<option value=\"$datemonth\" $sel>$datemonth</option>";
      $datemonth = $datemonth+1;
   }
   echo "</select> . "
   ."<select name=\"gyear\">"
   ."<option value=\"0\" selected></option>";
   $dateyear = $startyear;
   while ( $dateyear <= $endyear){
      if ($dateyear == $userinfo[user_birthday_year]){
      $sel = "selected";
      } else {
       $sel = "";
      }
      echo "<option value=\"$dateyear\" $sel>$dateyear</option>";
      $dateyear = $dateyear+1;
   }
   echo "</select> (dd/mm/yyyy)<br><br>"
   
einfügen.

-------------------------------

Nächste Funktion:

saveuser(..)
************

die neuen Daten müssen gespeichert werden:

in

function saveuser($uid, $realname, $uname, $email, $femail, $url, ....)

$gday, $gmonth, $gyear einfügen:

function saveuser($gday, $gmonth, $gyear, $uid, $realname, $uname, $email, $femail, $url, ....)

nun gibt es noch zweimal

sql_query("update ".$user_prefix."_users set name='$realname', email='$email', femail='$femail', url='$url', .... where uid='$uid'", $dbi);

in der Funktion.



 
beides mal einfach folgenderweise vorgehen:

user_birthday_day='$gday', user_birthday_month='$gmonth', user_birthday_year='$gyear', nach dem "set" einfügen.. also so:

sql_query("update ".$user_prefix."_users set user_birthday_day='$gday', user_birthday_month='$gmonth', user_birthday_year='$gyear', name='$realname', email='$email', femail='$femail', url='$url', .... where uid='$uid'", $dbi);

-------------------------------

jetzt ganz unten auf der Seite gibt es eine Funktion die heißt

switch($op) {

dort müssen natürlich die Funktionsaufrufe noch angepasst werden, d.h. die Variablen ergänzt werden:

    case "new user":
   confirmNewUser($gday, $gmonth, $gyear, $uname, $email, $url, ....);
   break;
   
   case "finish":
   finishNewUser($gday, $gmonth, $gyear, $uname, $email, $url, ....);
   break;

   case "saveuser":
   saveuser($gday, $gmonth, $gyear, $uid, $realname, $uname, $email, $femail, $url, ....);
   break;
   
die Aufrufe müssen identisch mit den in den Funktionen welche vorhin geändert wurden.


Das wars auch schon.

Jetzt noch die mitgelieferten Files in die richtigen Ordner kopieren:

Den Block block-Birthday.php in den blocks Ordner,
den Ordner languages/birthday mit den beiden language Dateien in den Ordner languages,
den Ordner iamges/birthday mit den drei gifs in den Ordner images.

Und fertig.....

Viel Spass damit...
Wenn man das aber so einbaut erhält man Fehler im Your Account Modul von vkp-Maxi
Titel: Re: Birthday Modul + VKP Maxi
Beitrag von: Vakistaste1 am 23 Oktober 2002, 15:59:16
Also , in den Suchmaschinen bin ich auf 6 Seiten gestoßen die angeblich VKP Maxi und das Birthday Modul verwenden.Es kann jetzt auf meiner Page runtergeladen werden und wer gut drauf ist probiert es mal aus in VKP Maxi einzubauen und gibt mir dann bitte bescheid. Ich bin leider nicht so geübt in Programmierung.
Bitte versucht es doch.