Birthday Modul + VKP Maxi

Begonnen von Vakistaste1, 22 Oktober 2002, 18:38:49

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Vakistaste1

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.

BowlingX

Wo bekomme ich das Birthday Modul...ich schau mir das mal an
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Sascha1981

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!

DarkBoy

um es mal frech zu sagen:  indem man es sauber codet und dann vernünftig einbaut

 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.

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

Vakistaste1

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.