home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / modules / your_account / index.php next >
Encoding:
PHP Script  |  2002-09-16  |  51.2 KB  |  1,167 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Web Portal System                                          */
  5. /* ===========================                                          */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /************************************************************************/
  14.  
  15. if (!eregi("modules.php", $PHP_SELF)) {
  16.     die ("You can't access this file directly...");
  17. }
  18.  
  19. require_once("mainfile.php");
  20. $module_name = basename(dirname(__FILE__));
  21. get_lang($module_name);
  22. $userpage = 1;
  23.  
  24. include("modules/$module_name/navbar.php");
  25.  
  26. function userCheck($uname, $email) {
  27.     global $stop, $user_prefix, $dbi;
  28.     if ((!$email) || ($email=="") || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
  29.     if (strrpos($email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
  30.     if ((!$uname) || ($uname=="") || (ereg("[^a-zA-Z0-9_-]",$uname))) $stop = "<center>"._ERRORINVNICK."</center><br>";
  31.     if (strlen($uname) > 25) $stop = "<center>"._NICK2LONG."</center>";
  32.     if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|(administrator)|(administrador)|(nobody)|(anonymous)|(anonimo)|(an≤nimo)|(operator))$",$uname)) $stop = "<center>"._NAMERESERVED."";
  33.     if (strrpos($uname,' ') > 0) $stop = "<center>"._NICKNOSPACES."</center>";
  34.     if (sql_num_rows(sql_query("select uname from ".$user_prefix."_users where uname='$uname'", $dbi), $dbi) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
  35.     if (sql_num_rows(sql_query("select email from ".$user_prefix."_users where email='$email'", $dbi), $dbi) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
  36.     return($stop);
  37. }
  38.  
  39. function makePass() {
  40.     $cons = "bcdfghjklmnpqrstvwxyz";
  41.     $vocs = "aeiou";
  42.     for ($x=0; $x < 6; $x++) {
  43.     mt_srand ((double) microtime() * 1000000);
  44.     $con[$x] = substr($cons, mt_rand(0, strlen($cons)-1), 1);
  45.     $voc[$x] = substr($vocs, mt_rand(0, strlen($vocs)-1), 1);
  46.     }
  47.     $makepass = $con[0] . $voc[0] .$con[2] . $con[1] . $voc[1] . $con[3] . $voc[3] . $con[4];
  48.     return($makepass);
  49. }
  50.  
  51. function confirmNewUser($uname, $email, $url, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $user_aim, $user_yim, $user_msnm) {
  52.     global $stop, $EditedMessage, $sitename, $module_name;
  53.     include("header.php");
  54.     filter_text($uname);
  55.     $uname = $EditedMessage;
  56.     if($user_viewemail == 1) {
  57.     $user_viewemail = "1";
  58.     } else {
  59.     $user_viewemail = "0";
  60.     }
  61.     userCheck($uname, $email);
  62.     if (!$stop) {
  63.     title("$sitename: "._USERREGLOGIN."");
  64.     OpenTable();
  65.     echo "<center><b>"._USERFINALSTEP."</b><br><br>$uname, "._USERCHECKDATA."</center><br><br>";
  66.     echo "<b>"._UUSERNAME.":</b> $uname<br>"
  67.         ."<b>"._EMAIL.":</b> $email<br>"; 
  68.     if (($user_avatar) || ($user_avatar!="")) echo "<b>"._AVATAR.":</b> <img src=\"images/forum/avatar/$user_avatar\" alt=\"\"><br>";
  69.     if (($url) || ($url!="")) echo "<b>"._WEBSITE.":</b> $url<br>";
  70.     if (($user_icq) || ($user_icq!="")) echo "<b>"._ICQ.":</b> $user_icq<br>";            
  71.     if (($user_aim) || ($user_aim!="")) echo "<b>"._AIM.":</b> $user_aim<br>";
  72.     if (($user_yim) || ($user_yim!="")) echo "<b>"._YIM.":</b> $user_yim<br>";
  73.     if (($user_msnm) || ($user_msnm!="")) echo "<b>"._MSNM.":</b> $user_msnm<br>";
  74.     if (($user_from) || ($user_from!="")) echo "<b>"._LOCATION.":</b> $user_from<br>";
  75.     if (($user_occ) || ($user_occ!="")) echo "<b>"._OCCUPATION.":</b> $user_occ<br>";
  76.     if (($user_intrest) || ($user_intrest!="")) echo "<b>"._INTERESTS.":</b> $user_intrest<br>";            
  77.     if (($user_sig) || ($user_sig!="")) echo "<b>"._SIGNATURE.":</b> $user_sig<br>";
  78.     echo "<form action=\"modules.php?name=$module_name\" method=\"post\">"
  79.         ."<input type=\"hidden\" name=\"uname\" value=\"$uname\">"
  80.         ."<input type=\"hidden\" name=\"email\" value=\"$email\">"
  81.         ."<input type=\"hidden\" name=\"user_avatar\" value=\"$user_avatar\">"
  82.         ."<input type=\"hidden\" name=\"user_icq\" value=\"$user_icq\">"
  83.         ."<input type=\"hidden\" name=\"url\" value=\"$url\">"
  84.         ."<input type=\"hidden\" name=\"user_from\" value=\"$user_from\">"
  85.         ."<input type=\"hidden\" name=\"user_occ\" value=\"$user_occ\">"
  86.         ."<input type=\"hidden\" name=\"user_intrest\" value=\"$user_intrest\">"
  87.         ."<input type=\"hidden\" name=\"user_sig\" value=\"$user_sig\">"
  88.         ."<input type=\"hidden\" name=\"user_aim\" value=\"$user_aim\">"
  89.         ."<input type=\"hidden\" name=\"user_yim\" value=\"$user_yim\">"
  90.         ."<input type=\"hidden\" name=\"user_msnm\" value=\"$user_msnm\">"
  91.         ."<input type=\"hidden\" name=\"user_viewemail\" value=\"$user_viewemail\">"
  92.         ."<input type=\"hidden\" name=\"op\" value=\"finish\"><br><br>"
  93.         ."<input type=\"submit\" value=\""._FINISH."\">   "._GOBACK."</form>";
  94.     CloseTable();
  95.     } else {
  96.     OpenTable();
  97.     echo "<center><font class=\"title\"><b>Registration Error!</b></font><br><br>";
  98.     echo "<font class=\"content\">$stop<br>"._GOBACK."</font></center>";
  99.     CloseTable();
  100.     }
  101.     include("footer.php");
  102. }
  103.  
  104. function finishNewUser($uname, $email, $url, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $user_aim, $user_yim, $user_msnm) {
  105.     global $stop, $makepass, $EditedMessage, $adminmail, $sitename, $Default_Theme, $user_prefix, $dbi, $storyhome;
  106.     include("header.php");
  107.     userCheck($uname, $email);
  108.     $user_regdate = date("M d, Y");
  109.     if (!isset($stop)) {
  110.     $makepass=makepass();
  111.     $cryptpass = md5($makepass);
  112.     $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','$storyhome','','0','0','0','','0','','$Default_Theme','$commentlimit','0','0','0','0','0','1','1','0')", $dbi);
  113.     if(!$result) {
  114.         echo ""._ERROR."<br>";
  115.     } else {
  116.         $message = ""._WELCOMETO." $sitename!\n\n"._YOUUSEDEMAIL." ($email) "._TOREGISTER." $sitename. "._FOLLOWINGMEM."\n\n"._UNICKNAME." $uname\n"._UPASSWORD." $makepass";
  117.         $subject=""._USERPASS4." $uname";
  118.         $from="$adminmail";
  119.         mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
  120.         title("$sitename: "._USERREGLOGIN."");
  121.         OpenTable();
  122.         echo "<center><b>"._ACCOUNTCREATED."</b><br><br>";
  123.         echo ""._YOUAREREGISTERED.""
  124.             ."<br><br>"
  125.         .""._YOUCANLOGIN."<br><br>"
  126.         .""._THANKSUSER." $sitename!</center>";
  127.         CloseTable();
  128.     }
  129.     } else {
  130.     echo "$stop";
  131.     }
  132.     include("footer.php");
  133. }
  134.  
  135. function userinfo($uname, $bypass=0, $hid=0, $url=0) {
  136.     global $user, $cookie, $sitename, $prefix, $user_prefix, $dbi, $admin, $broadcast_msg, $my_headlines, $module_name;
  137.     $result = sql_query("select uid, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, pass, newsletter from ".$user_prefix."_users where uname='$uname'", $dbi);
  138.     $userinfo = sql_fetch_array($result, $dbi);
  139.     if(!$bypass) cookiedecode($user);
  140.     include("header.php");
  141.     OpenTable();
  142.     echo "<center>";
  143.     if(($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2])) {
  144.     echo "<font class=\"option\">$uname, "._WELCOMETO." $sitename!</font><br><br>";
  145.     echo "<font class=\"content\">"._THISISYOURPAGE."</font></center><br><br>";
  146.     nav(1);
  147.     echo "<br><br>";
  148.     } else {
  149.     echo "<font class=\"title\">"._PERSONALINFO.": $uname</font></center><br><br>";
  150.     }
  151.     if ($userinfo[url]) {
  152.     if (!eregi("http://", $userinfo[url])) {
  153.         $userinfo[url] = "http://$userinfo[url]";
  154.     }
  155.     }
  156.     if((sql_num_rows($result, $dbi)==1) && ($userinfo[url] || $userinfo[femail] || $userinfo[bio] || $userinfo[user_avatar] || $userinfo[user_icq] || $userinfo[user_aim] || $userinfo[user_yim] || $userinfo[user_msnm] || $userinfo[user_location] || $userinfo[user_occ] || $userinfo[user_intrest] || $userinfo[user_sig])) {
  157.     echo "<center><font class=\"content\">";
  158.     if ($userinfo[user_avatar]) echo "<img src=\"images/forum/avatar/$userinfo[user_avatar]\" alt=\"\"><br>\n";
  159.     if ($userinfo[url] != "http://" AND $userinfo[url] != "") { echo ""._MYHOMEPAGE." <a href=\"$userinfo[url]\" target=\"new\">$userinfo[url]</a><br>\n"; }
  160.     if ($userinfo[femail]) { echo ""._MYEMAIL." <a href=\"mailto:$userinfo[femail]\">$userinfo[femail]</a><br>\n"; }
  161.     if ($userinfo[user_icq]) echo ""._ICQ.": $userinfo[user_icq]<br>\n";
  162.     if ($userinfo[user_aim]) echo ""._AIM.": $userinfo[user_aim]<br>\n";
  163.     if ($userinfo[user_yim]) echo ""._YIM.": $userinfo[user_yim]<br>\n";
  164.     if ($userinfo[user_msnm]) echo ""._MSNM.": $userinfo[user_msnm]<br>\n";
  165.     if ($userinfo[user_from]) echo ""._LOCATION.": $userinfo[user_from]<br>\n";
  166.     if ($userinfo[user_occ]) echo ""._OCCUPATION.": $userinfo[user_occ]<br>\n";
  167.     if ($userinfo[user_intrest]) echo ""._INTERESTS.": $userinfo[user_intrest]<br>\n";
  168.     $userinfo[user_sig] = nl2br($userinfo[user_sig]);
  169.     if ($userinfo[user_sig]) echo "<br><b>"._SIGNATURE.":</b><br>$userinfo[user_sig]<br>\n";
  170.     if ($userinfo[bio]) { echo "<br><b>"._EXTRAINFO.":</b><br>$userinfo[bio]<br>\n"; }
  171.     $result = sql_query("select username from ".$prefix."_session where username='$uname'", $dbi);
  172.     list($username) = sql_fetch_row($result, $dbi);
  173.     if ($username == "") {
  174.         $online = _OFFLINE;
  175.     } else {
  176.         $online = _ONLINE;
  177.     }
  178.     echo ""._USERSTATUS.": <b>$online</b><br>\n";
  179.     if (($userinfo[newsletter] == 1) AND ($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2]) OR (is_admin($admin) AND ($userinfo[newsletter] == 1))) {
  180.         echo "<i>"._SUBSCRIBED."</i><br>";
  181.     } elseif (($userinfo[newsletter] == 0) AND ($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2]) OR (is_admin($admin) AND ($userinfo[newsletter] == 0))) {
  182.         echo "<i>"._NOTSUBSCRIBED."</i><br>";
  183.     }
  184.     if (is_active("Journal") AND $cookie[1] != $uname) {
  185.         $result = sql_query("select jid from ".$prefix."_journal where aid='$uname' AND status='yes' order by pdate,jid DESC limit 0,1", $dbi);
  186.         list($jid) = sql_fetch_row($result, $dbi);
  187.         if ($jid != "" AND isset($jid)) {
  188.         echo "[ <a href=\"modules.php?name=Journal&file=search&bywhat=aid&forwhat=$uname\">"._READMYJOURNAL."</a> ]<br>";
  189.         }
  190.     }
  191.     if (is_admin($admin)) {
  192.         echo "[ <a href=\"admin.php?op=modifyUser&chng_uid=$userinfo[uid]\">"._EDITUSER."</a> ]<br>";
  193.     }
  194.     if (((is_user($user) AND $cookie[1] != $uname) OR is_admin($admin)) AND is_active("Private_Messages")) { echo "<br>[ <a href=\"modules.php?name=Private_Messages&file=reply&send=1&uname=$uname\">"._USENDPRIVATEMSG." $uname</a> ]<br>\n"; }
  195.     echo "</center></font>";
  196.     } else {
  197.     echo "<center>"._NOINFOFOR." $uname</center>";
  198.     }
  199.     CloseTable();
  200.     if ($my_headlines == 1 AND ($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2])) {
  201.     echo "<br>";
  202.     OpenTable();
  203.     echo "<center><b>"._MYHEADLINES."</b><br><br>"
  204.     .""._SELECTASITE."<br><br>"
  205.     ."<form action=\"modules.php?name=$module_name\" method=\"post\">"
  206.     ."<input type=\"hidden\" name=\"op\" value=\"userinfo\">"
  207.     ."<input type=\"hidden\" name=\"uname\" value=\"$uname\">"
  208.     ."<input type=\"hidden\" name=\"bypass\" value=\"$bypass\">"
  209.     ."<input type=\"hidden\" name=\"url\" value=\"0\">"
  210.     ."<select name=\"hid\" onChange='submit()'>\n"
  211.     ."<option value=\"0\">"._SELECTASITE2."</option>";
  212.     $headl = sql_query("select hid, sitename from ".$prefix."_headlines order by sitename", $dbi);
  213.     while(list($nhid, $hsitename) = sql_fetch_row($headl, $dbi)) {
  214.     if ($hid == $nhid ) {
  215.         $sel = "selected";
  216.     } else {
  217.         $sel = "";
  218.     }
  219.     echo "<option value=\"$nhid\" $sel>$hsitename</option>\n";
  220.     }
  221.     echo "</select></form>"
  222.     .""._ORTYPEURL."<br><br>"
  223.     ."<form action=\"modules.php?name=$module_name\" method=\"post\">"
  224.     ."<input type=\"hidden\" name=\"op\" value=\"userinfo\">"
  225.     ."<input type=\"hidden\" name=\"uname\" value=\"$uname\">"
  226.     ."<input type=\"hidden\" name=\"bypass\" value=\"$bypass\">"
  227.     ."<input type=\"hidden\" name=\"hid\" value=\"0\">"
  228.     ."<input type=\"text\" name=\"url\" size=\"40\" maxlength=\"200\" value=\"http://\">  "
  229.     ."<input type=\"submit\" value=\""._GO."\"></form>"
  230.     ."</center><br>";
  231.     if ($hid != 0 OR ($hid == 0 AND $url != "0" AND $url != "http://") AND $url != "") {
  232.     if ($hid != 0) {
  233.             $result = sql_query("select sitename, headlinesurl from ".$prefix."_headlines where hid='$hid'", $dbi);
  234.         list($nsitename, $url) = sql_fetch_row($result, $dbi);
  235.         $title = $nsitename;
  236.         $siteurl = eregi_replace("http://", "", $url);
  237.         $siteurl = explode("/", $siteurl);
  238.     } else {
  239.         if (!ereg("http://", $url)) {
  240.         $url = "http://$url";
  241.         }
  242.         $siteurl = eregi_replace("http://", "", $url);
  243.         $siteurl = explode("/", $siteurl);
  244.         $title = "http://$siteurl[0]";
  245.     }
  246.     $rdf = parse_url($url);
  247.     $fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15);
  248.     if (!$fp) {
  249.             $content = "<center><font class=\"content\">"._RSSPROBLEM."</font></center>";
  250.     }
  251.     if ($fp) {
  252.             fputs($fp, "GET " . $rdf['path'] . "?" . $rdf['query'] . " HTTP/1.0\r\n");
  253.             fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n");
  254.             $string    = "";
  255.             while(!feof($fp)) {
  256.         $pagetext = fgets($fp,300);
  257.         $string .= chop($pagetext);
  258.         }
  259.         fputs($fp,"Connection: close\r\n\r\n");
  260.         fclose($fp);
  261.         $items = explode("</item>",$string);
  262.         $content = "<font class=\"content\">";
  263.         for ($i=0;$i<10;$i++) {
  264.         $link = ereg_replace(".*<link>","",$items[$i]);
  265.         $link = ereg_replace("</link>.*","",$link);
  266.         $title2 = ereg_replace(".*<title>","",$items[$i]);
  267.         $title2 = ereg_replace("</title>.*","",$title2);
  268.         if ($items[$i] == "" AND $cont != 1) {
  269.                 $content = "<center>"._RSSPROBLEM."</center>";
  270.         } else {
  271.                 if (strcmp($link,$title2) AND $items[$i] != "") {
  272.                 $cont = 1;
  273.             $content .= "<img src=\"images/arrow.gif\" border=\"0\" hspace=\"5\"><a href=\"$link\" target=\"new\">$title2</a><br>\n";
  274.             }
  275.         }
  276.         }
  277.     }
  278.     if ($content != "") {
  279.         OpenTable2();
  280.         echo "<center><b>"._HEADLINESFROM." <a href=\"http://$siteurl[0]\" target=\"new\">$title</a></b></center><br>";
  281.         echo "$content";
  282.         CloseTable2();
  283.     } elseif (($cont == 0) OR ($content == "")) {
  284.         OpenTable2();
  285.         echo "<center>"._RSSPROBLEM."</center><br>";
  286.         CloseTable2();
  287.     }
  288.     echo "<br>";
  289.     }
  290.     CloseTable();
  291.     }
  292.     if ($broadcast_msg == 1 AND ($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2])) {
  293.     echo "<br>";
  294.     OpenTable();
  295.     echo "<center><b>"._BROADCAST."</b><br><br>"._BROADCASTTEXT."<br><br>"
  296.         ."<form action=\"modules.php?name=$module_name\" method=\"post\">"
  297.         ."<input type=\"hidden\" name=\"who\" value=\"$uname\">"
  298.         ."<input type=\"hidden\" name=\"op\" value=\"broadcast\">"
  299.         ."<input type=\"text\" size=\"60\" maxlength=\"255\" name=\"the_message\">  <input type=\"submit\" value=\""._SEND."\">"
  300.         ."</form></center>";
  301.     CloseTable();
  302.     }
  303.     if (is_active("Private_Messages") AND ($uname == $cookie[1]) AND ($userinfo[pass] == $cookie[2])) {
  304.     echo "<br>";
  305.     OpenTable();
  306.     echo "<center><b>"._PRIVATEMESSAGES."</b><br><br>";
  307.     $result2 = sql_query("select to_userid from ".$prefix."_priv_msgs where to_userid='$userinfo[uid]'", $dbi);
  308.     $numrow = sql_num_rows($result2, $dbi);
  309.     if (is_active("Members_List")) {
  310.         $mem_list = "<a href=\"modules.php?name=Members_List\">"._BROWSEUSERS."</a>";
  311.     } else {
  312.         $mem_list = "";
  313.     }
  314.     if (is_active("Search")) {
  315.         $mod_search = "<a href=\"modules.php?name=Search&type=users\">"._SEARCHUSERS."</a>";
  316.     } else {
  317.         $mod_search = "";
  318.     }
  319.     if ($mem_list != "" AND $mod_search != "") { $a = " | "; } else { $a = ""; }
  320.     if ($mem_list != "" OR $mod_search != "") {
  321.         $links = "[ $mem_list $a $mod_search ]";
  322.     } elseif ($mem_list == "" AND $mod_search == "") {
  323.         $links = "";
  324.     }
  325.     echo ""._YOUHAVE." <a href=\"modules.php?name=Private_Messages\"><b>$numrow</b></a> "._PRIVATEMSG."<br><br>"
  326.         ."<form action=\"modules.php?name=Private_Messages\" method=\"post\">"
  327.         .""._USENDPRIVATEMSG.": <input type=\"text\" name=\"uname\" size=\"20\">  $links"
  328.         ."<input type=\"hidden\" name=\"file\" value=\"reply\">"
  329.         ."<input type=\"hidden\" name=\"send\" value=\"1\">"
  330.         ."</form></center>";
  331.     CloseTable();
  332.     }
  333.     echo "<br>";
  334.     OpenTable();
  335.     echo "<b>"._LAST10COMMENTS." $uname:</b><br>";
  336.     $result = sql_query("select tid, sid, subject from ".$prefix."_comments where name='$uname' order by tid DESC limit 0,10", $dbi);
  337.     while(list($tid, $sid, $subject) = sql_fetch_row($result, $dbi)) {
  338.         echo "<li><a href=\"modules.php?name=News&file=article&thold=-1&mode=flat&order=0&sid=$sid#$tid\">$subject</a><br>";
  339.     }
  340.     CloseTable();
  341.     echo "<br>";
  342.     OpenTable();
  343.     echo "<b>"._LAST10SUBMISSIONS." $uname:</b><br>";
  344.     $result = sql_query("select sid, title from ".$prefix."_stories where informant='$uname' order by sid DESC limit 0,10", $dbi);
  345.     while(list($sid, $title) = sql_fetch_row($result, $dbi)) {
  346.         echo "<li><a href=\"modules.php?name=News&file=article&sid=$sid\">$title</a><br>";
  347.     }
  348.     CloseTable();
  349.     include("footer.php");
  350. }
  351.  
  352. function main($user) {
  353.     global $stop, $module_name;
  354.     if(!is_user($user)) {
  355.     include("header.php");
  356.     if ($stop) {
  357.         OpenTable();
  358.         echo "<center><font class=\"title\"><b>"._LOGININCOR."</b></font></center>\n";
  359.         CloseTable();
  360.         echo "<br>\n";
  361.     } else {
  362.         OpenTable();
  363.         echo "<center><font class=\"title\"><b>"._USERREGLOGIN."</b></font></center>\n";
  364.         CloseTable();
  365.         echo "<br>\n";
  366.     }
  367.     if (!is_user($user)) {
  368.         OpenTable();
  369.         echo "<form action=\"modules.php?name=$module_name\" method=\"post\">\n"
  370.         ."<b>"._USERLOGIN."</b><br><br>\n"
  371.         ."<table border=\"0\"><tr><td>\n"
  372.         .""._NICKNAME.":</td><td><input type=\"text\" name=\"uname\" size=\"15\" maxlength=\"25\"></td></tr>\n"
  373.         ."<tr><td>"._PASSWORD.":</td><td><input type=\"password\" name=\"pass\" size=\"15\" maxlength=\"20\"></td></tr></table>\n"
  374.         ."<input type=\"hidden\" name=\"op\" value=\"login\">\n"
  375.         ."<input type=\"submit\" value=\""._LOGIN."\"></form><br>\n\n"
  376.         ."<center><font class=\"content\">[ <a href=\"modules.php?name=$module_name&op=pass_lost\">"._PASSWORDLOST."</a> | <a href=\"modules.php?name=$module_name&op=new_user\">"._REGNEWUSER."</a> ]</font></center>\n";
  377.         CloseTable();
  378.     }
  379.     include("footer.php");
  380.     } elseif (is_user($user)) {
  381.         global $cookie;
  382.         cookiedecode($user);
  383.         userinfo($cookie[1]);
  384.     }
  385. }
  386.  
  387. function new_user() {
  388.     global $my_headlines, $module_name;
  389.     if (!is_user($user)) {
  390.     include("header.php");
  391.     OpenTable();
  392.     echo "<center><font class=\"title\"><b>"._USERREGLOGIN."</b></font></center>\n";
  393.     CloseTable();
  394.     echo "<br>\n";
  395.     OpenTable();
  396.     echo "<form name=\"Register\" action=\"modules.php?name=$module_name\" method=\"post\">\n"
  397.             ."<b>"._REGNEWUSER."</b><br><br>\n"
  398.         ."<table cellpadding=\"0\" cellspacing=\"10\" border=\"0\">\n"
  399.             ."<tr><td>"._NICKNAME.":</td><td><input type=\"text\" name=\"uname\" size=\"30\" maxlength=\"25\"> <font class=\"tiny\">"._REQUIRED."</font></td></tr>\n"
  400.             ."<tr><td>"._EMAIL.":</td><td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"255\"> <font class=\"tiny\">"._REQUIRED."</font></td></tr>\n"
  401.             ."<tr><td>"._WEBSITE.":</td><td><input type=\"text\" name=\"url\" size=\"30\" maxlength=\"255\"></td></tr>\n"
  402.             ."<tr><td>"._AVATAR.":</td><td>[ <a href=\"modules.php?name=$module_name&op=avatarlist\">"._LIST."</a> ]  \n"
  403.             ."<select name=\"user_avatar\" onChange=\"showimage()\">\n";
  404.         $direktori = "images/forum/avatar";
  405.         $handle=opendir($direktori);
  406.         while ($file = readdir($handle)) {
  407.         $filelist[] = $file;
  408.         }
  409.         asort($filelist);
  410.     while (list ($key, $file) = each ($filelist)) {
  411.         if (ereg("blank", $file)) {
  412.         $sel = "selected";
  413.         } else {
  414.         $sel = "";
  415.         }
  416.         ereg(".gif|.jpg",$file);
  417.         if ($file == "." || $file == "..") {
  418.             $a=1;
  419.         } else {
  420.         echo "<option value=\"$file\" $sel>$file</option>\n";
  421.             }
  422.     }
  423.     echo "</select>  <img src=\"images/forum/avatar/blank.gif\" name=\"avatar\" width=\"32\" height=\"32\" alt=\"\">\n"
  424.             ."</td></tr>\n"
  425.             ."<tr><td>"._ICQ.":</td><td><input type=\"text\" name=\"user_icq\" size=\"20\" maxlength=\"20\"></td></tr>\n"
  426.             ."<tr><td>"._AIM.":</td><td><input type=\"text\" name=\"user_aim\" size=\"20\" maxlength=\"20\"></td></tr>\n"                            
  427.             ."<tr><td>"._YIM.":</td><td><input type=\"text\" name=\"user_yim\" size=\"20\" maxlength=\"20\"></td></tr>\n"
  428.             ."<tr><td>"._MSNM.":</td><td><input type=\"text\" name=\"user_msnm\" size=\"20\" maxlength=\"20\"></td></tr>\n"
  429.             ."<tr><td>"._LOCATION.":</td><td><input type=\"text\" name=\"user_from\" size=\"25\" maxlength=\"60\"></td></tr>\n"
  430.             ."<tr><td>"._OCCUPATION.":</td><td><input type=\"text\" name=\"user_occ\" size=\"25\" maxlength=\"60\"></td></tr>\n"
  431.             ."<tr><td>"._INTERESTS.":</td><td><input type=\"text\" name=\"user_intrest\" size=\"25\" maxlength=\"255\"></td></tr>\n"
  432.             ."<tr><td>"._OPTION.":</td><td><INPUT TYPE=\"CHECKBOX\" NAME=\"user_viewemail\" VALUE=\"1\"> "._ALLOWEMAILVIEW."</td></tr>\n"
  433.         ."<tr><td>"._SIGNATURE.":</td><td><TEXTAREA NAME=\"user_sig\" ROWS=\"6\" COLS=\"45\"></TEXTAREA></td></tr>\n"
  434.         ."<tr><td>\n"
  435.         ."<input type=\"hidden\" name=\"op\" value=\"new user\">\n"
  436.             ."<input type=\"submit\" value=\""._NEWUSER."\">\n"
  437.             ."</td></tr></table>\n"
  438.         ."</form>\n"
  439.         ."<br>\n"
  440.             .""._PASSWILLSEND."<br><br>\n"
  441.             .""._COOKIEWARNING."<br>\n"
  442.             .""._ASREGUSER."<br>\n"
  443.         ."<ul>\n"
  444.             ."<li>"._ASREG1."\n"
  445.             ."<li>"._ASREG2."\n"
  446.             ."<li>"._ASREG3."\n"
  447.             ."<li>"._ASREG4."\n"
  448.             ."<li>"._ASREG5."\n";
  449.     $handle=opendir('themes');
  450.         while ($file = readdir($handle)) {
  451.         if ((!ereg("[.]",$file) AND file_exists("themes/$file/theme.php"))) {
  452.         $thmcount++;
  453.         }
  454.     }
  455.     closedir($handle);
  456.         if ($thmcount > 1) {
  457.         echo "<li>"._ASREG6."\n";
  458.     }
  459.     $result = sql_query("select custom_title from ".$prefix."_modules WHERE active='1' AND view='1'", $dbi);
  460.     while (list($custom_title) = sql_fetch_row($result, $dbi)) {
  461.         if ($custom_title != "") {
  462.         echo "<li>"._ACCESSTO." $custom_title\n";
  463.         }
  464.     }
  465.     $result = sql_query("select title from ".$prefix."_blocks WHERE active='1' AND view='1'", $dbi);
  466.     while (list($b_title) = sql_fetch_row($result, $dbi)) {
  467.         if ($b_title != "") {
  468.         echo "<li>"._ACCESSTO." $b_title\n";
  469.         }
  470.     }
  471.     if (is_active("Journal")) {
  472.         echo "<li>"._CREATEJOURNAL."\n";
  473.     }
  474.     if ($my_headlines == 1) {
  475.         echo "<li>"._READHEADLINES."\n";
  476.     }
  477.         echo "<li>"._ASREG7."\n"
  478.         ."</ul>\n"
  479.             .""._REGISTERNOW."<br>\n"
  480.             .""._WEDONTGIVE."<br><br>\n"
  481.         ."<center><font class=\"content\">[ <a href=\"modules.php?name=$module_name\">"._USERLOGIN."</a> | <a href=\"modules.php?name=$module_name&op=pass_lost\">"._PASSWORDLOST."</a> ]</font></center>\n";
  482.     CloseTable();
  483.     include("footer.php");
  484.     } elseif (is_user($user)) {
  485.     global $cookie;
  486.     cookiedecode($user);
  487.     userinfo($cookie[1]);
  488.     }
  489. }
  490.  
  491. function pass_lost() {
  492.     global $user, $module_name;
  493.     if (!is_user($user)) {
  494.     include("header.php");
  495.     OpenTable();
  496.     echo "<center><font class=\"title\"><b>"._USERREGLOGIN."</b></font></center>\n";
  497.     CloseTable();
  498.     echo "<br>\n";
  499.     OpenTable();
  500.     echo "<b>"._PASSWORDLOST."</b><br><br>\n"
  501.             .""._NOPROBLEM."<br><br>\n"
  502.         ."<form action=\"modules.php?name=$module_name\" method=\"post\">\n"
  503.         ."<table border=\"0\"><tr><td>\n"
  504.             .""._NICKNAME.":</td><td><input type=\"text\" name=\"uname\" size=\"15\" maxlength=\"25\"></td></tr>\n"
  505.             ."<tr><td>"._CONFIRMATIONCODE.":</td><td><input type=\"text\" name=\"code\" size=\"11\" maxlength=\"10\"></td></tr></table><br>\n"
  506.             ."<input type=\"hidden\" name=\"op\" value=\"mailpasswd\">\n"
  507.             ."<input type=\"submit\" value=\""._SENDPASSWORD."\"></form><br>\n"
  508.         ."<center><font class=\"content\">[ <a href=\"modules.php?name=$module_name\">"._USERLOGIN."</a> | <a href=\"modules.php?name=$module_name&op=new_user\">"._REGNEWUSER."</a> ]</font></center>\n";
  509.     CloseTable();
  510.     include("footer.php");
  511.     } elseif(is_user($user)) {
  512.     global $cookie;
  513.     cookiedecode($user);
  514.     userinfo($cookie[1]);
  515.     }
  516. }
  517.  
  518. function logout() {
  519.     global $prefix, $dbi, $user, $cookie;
  520.     cookiedecode($user);
  521.     $r_uname = $cookie[1];
  522.     setcookie("user");
  523.     include("header.php");
  524.     OpenTable();
  525.     echo "<center><font class=\"option\"><b>"._YOUARELOGGEDOUT."</b></font></center>";
  526.     CloseTable();
  527.     $result = sql_query("delete from ".$prefix."_session where username='$r_uname'", $dbi);
  528.     include("footer.php");
  529. }
  530.  
  531. function mail_password($uname, $code) {
  532.     global $sitename, $adminmail, $nukeurl, $user_prefix, $dbi, $module_name;
  533.     $result = sql_query("select email, pass from ".$user_prefix."_users where (uname='$uname')", $dbi);
  534.     if(!$result) {
  535.     include("header.php");
  536.     OpenTable();
  537.     echo "<center>"._SORRYNOUSERINFO."</center>";
  538.     CloseTable();
  539.     include("footer.php");
  540.     } else {
  541.     $host_name = getenv("REMOTE_ADDR");
  542.     list($email, $pass) = sql_fetch_row($result, $dbi);
  543.     $areyou = substr($pass, 0, 10);
  544.     if ($areyou==$code) {
  545.         $newpass=makepass();
  546.         $message = ""._USERACCOUNT." '$uname' "._AT." $sitename "._HASTHISEMAIL."  "._AWEBUSERFROM." $host_name "._HASREQUESTED."\n\n"._YOURNEWPASSWORD." $newpass\n\n "._YOUCANCHANGE." $nukeurl/modules.php?name=$module_name\n\n"._IFYOUDIDNOTASK."";
  547.         $subject = ""._USERPASSWORD4." $uname";
  548.         mail($email, $subject, $message, "From: $adminmail\nX-Mailer: PHP/" . phpversion());
  549.         /* Next step: add the new password to the database */
  550.         $cryptpass = md5($newpass);
  551.         $query="update ".$user_prefix."_users set pass='$cryptpass' where uname='$uname'";
  552.         if(!sql_query($query, $dbi)) {
  553.             echo ""._UPDATEFAILED."";
  554.         }
  555.         include ("header.php");
  556.         OpenTable();
  557.         echo "<center>"._PASSWORD4." $uname "._MAILED."</center>";
  558.         CloseTable();
  559.         include ("footer.php");
  560.     /* If no Code, send it */
  561.     } else {
  562.         $result = sql_query("select email, pass from ".$user_prefix."_users where (uname='$uname')", $dbi);
  563.         if(!$result) {
  564.         include ("header.php");
  565.         OpenTable();
  566.             echo "<center>"._SORRYNOUSERINFO."</center>";
  567.         CloseTable();
  568.         include ("footer.php");
  569.         } else {
  570.             $host_name = getenv("REMOTE_ADDR");
  571.             list($email, $pass) = sql_fetch_row($result, $dbi);
  572.             $areyou = substr($pass, 0, 10);
  573.             $message = ""._USERACCOUNT." '$uname' "._AT." $sitename "._HASTHISEMAIL." "._AWEBUSERFROM." $host_name "._CODEREQUESTED."\n\n"._YOURCODEIS." $areyou \n\n"._WITHTHISCODE." $nukeurl/modules.php?name=$module_name&op=pass_lost\n"._IFYOUDIDNOTASK2."";
  574.         $subject=""._CODEFOR." $uname";
  575.         mail($email, $subject, $message, "From: $adminmail\nX-Mailer: PHP/" . phpversion());
  576.         include ("header.php");
  577.         OpenTable();
  578.         echo "<center>"._CODEFOR." $uname "._MAILED."<br><br>"._GOBACK."</center>";
  579.         CloseTable();
  580.         include ("footer.php");
  581.             }        
  582.     }
  583.     }
  584. }
  585.  
  586. function docookie($setuid, $setuname, $setpass, $setstorynum, $setumode, $setuorder, $setthold, $setnoscore, $setublockon, $settheme, $setcommentmax) {
  587.     $info = base64_encode("$setuid:$setuname:$setpass:$setstorynum:$setumode:$setuorder:$setthold:$setnoscore:$setublockon:$settheme:$setcommentmax");
  588.     setcookie("user","$info",time()+2592000);
  589. }
  590.  
  591. function login($uname, $pass) {
  592.     global $setinfo, $user_prefix, $dbi, $module_name;
  593.     $result = sql_query("select pass, uid, storynum, umode, uorder, thold, noscore, ublockon, theme, commentmax from ".$user_prefix."_users where uname='$uname'", $dbi);
  594.     $setinfo = sql_fetch_array($result, $dbi);
  595.     if ((sql_num_rows($result, $dbi)==1) AND ($setinfo[uid] != 1) AND ($setinfo[pass] != "")) {
  596.     $dbpass=$setinfo[pass];
  597.     $non_crypt_pass = $pass;
  598.       $old_crypt_pass = crypt($pass,substr($dbpass,0,2));
  599.     $new_pass = md5($pass);
  600.     if (($dbpass == $non_crypt_pass) OR ($dbpass == $old_crypt_pass)) {
  601.         sql_query("update ".$user_prefix."_users set pass='$new_pass' WHERE uname='$uname'", $dbi);
  602.         $result = sql_query("select pass from ".$user_prefix."_users where uname='$uname'", $dbi);
  603.         list($dbpass) = sql_fetch_row($result, $dbi);
  604.     }
  605.     if ($dbpass != $new_pass) {
  606.             Header("Location: modules.php?name=$module_name&stop=1");
  607.             return;
  608.     }
  609.     docookie($setinfo[uid], $uname, $new_pass, $setinfo[storynum], $setinfo[umode], $setinfo[uorder], $setinfo[thold], $setinfo[noscore], $setinfo[ublockon], $setinfo[theme], $setinfo[commentmax]);
  610.     Header("Location: modules.php?name=$module_name&op=userinfo&bypass=1&uname=$uname");
  611.     } else {
  612.     Header("Location: modules.php?name=$module_name&stop=1");
  613.     }
  614. }
  615.  
  616. function edituser() {
  617.     global $user, $userinfo, $cookie, $module_name;
  618.     getusrinfo($user);
  619.     if (($userinfo[uname] != $cookie[1]) AND ($userinfo[pass] != $cookie[2])) {
  620.     include("header.php");
  621.     OpenTable();
  622.     echo "<center><font class=\"title\"><b>"._PERSONALINFO."</b></font></center>";
  623.     CloseTable();
  624.     echo "<br>";    
  625.     OpenTable();
  626.     nav();
  627.     CloseTable();
  628.     echo "<br>";
  629.     if (!eregi("http://",$userinfo[url])) {
  630.     $userinfo[url] = "http://$userinfo[url]";
  631.     }
  632.     OpenTable();
  633.     echo "<table cellpadding=\"8\" border=\"0\"><tr><td>"
  634.     ."<form name=\"Register\" action=\"modules.php?name=$module_name\" method=\"post\">"
  635.     ."<b>"._UREALNAME."</b> "._OPTIONAL."<br>"
  636.     ."<input type=\"text\" name=\"realname\" value=\"$userinfo[name]\" size=\"30\" maxlength=\"60\"><br><br>"
  637.     ."<b>"._UREALEMAIL."</b> "._REQUIRED."<br>"
  638.     .""._EMAILNOTPUBLIC."<br>"
  639.     ."<input type=\"text\" name=\"email\" value=\"$userinfo[email]\" size=\"30\" maxlength=\"255\"><br><br>"
  640.     ."<b>"._UFAKEMAIL."</b> "._OPTIONAL."<br>"
  641.     .""._EMAILPUBLIC."<br>"
  642.     ."<input type=\"text\" name=\"femail\" value=\"$userinfo[femail]\" size=\"30\" maxlength=\"255\"><br><br>"
  643.     ."<b>"._YOURHOMEPAGE."</b> "._OPTIONAL."<br>"
  644.     ."<input type=\"text\" name=\"url\" value=\"$userinfo[url]\" size=\"30\" maxlength=\"255\"><br><br>"
  645.     ."<b>"._YOURAVATAR."</b> "._OPTIONAL."<br>[ <a href=\"modules.php?name=$module_name&op=avatarlist\">"._LIST."</a> ]  "
  646.     ."<select name=\"user_avatar\" onChange=\"showimage()\">"
  647.     ."<option value=\"$userinfo[user_avatar]\">$userinfo[user_avatar]</option>";
  648.     $direktori = "images/forum/avatar";
  649.     $handle=opendir($direktori);
  650.     while ($file = readdir($handle)) {
  651.     $filelist[] = $file;
  652.     }
  653.     asort($filelist);
  654.     while (list ($key, $file) = each ($filelist)) {
  655.     ereg(".gif|.jpg",$file);
  656.     if ($file == "." || $file == "..") {
  657.         $a=1;
  658.     } else {
  659.         echo "<option value=\"$file\">$file</option>";
  660.     }
  661.     }
  662.     echo "</select>  <img src=\"images/forum/avatar/$userinfo[user_avatar]\" name=\"avatar\" width=\"32\" height=\"32\" alt=\"\">"
  663.     ."<br><br>"
  664.     ."<b>"._RECEIVENEWSLETTER."</b>   ";
  665.     if ($userinfo[newsletter] == 1) {
  666.     echo "<input type=\"radio\" name=\"newsletter\" value=\"1\" checked>"._YES."  "
  667.         ."<input type=\"radio\" name=\"newsletter\" value=\"0\">"._NO."";
  668.     } elseif ($userinfo[newsletter] == 0) {
  669.     echo "<input type=\"radio\" name=\"newsletter\" value=\"1\">"._YES."  "
  670.         ."<input type=\"radio\" name=\"newsletter\" value=\"0\" checked>"._NO."";
  671.     }
  672.     echo "<br><br>"
  673.     ."<b>"._YICQ."</b> "._OPTIONAL."<br>"
  674.     ."<input type=\"text\" name=\"user_icq\" value=\"$userinfo[user_icq]\" size=\"30\" maxlength=\"100\"><br><br>"
  675.     ."<b>"._YAIM."</b> "._OPTIONAL."<br>"
  676.     ."<input type=\"text\" name=\"user_aim\" value=\"$userinfo[user_aim]\" size=\"30\" maxlength=\"100\"><br><br>"
  677.     ."<b>"._YYIM."</b> "._OPTIONAL."<br>"
  678.     ."<input type=\"text\" name=\"user_yim\" value=\"$userinfo[user_yim]\" size=\"30\" maxlength=\"100\"><br><br>"
  679.     ."<b>"._YMSNM."</b> "._OPTIONAL."<br>"
  680.     ."<input type=\"text\" name=\"user_msnm\" value=\"$userinfo[user_msnm]\" size=\"30\" maxlength=\"100\"><br><br>"
  681.     ."<b>"._YLOCATION."</b> "._OPTIONAL."<br>"
  682.     ."<input type=\"text\" name=\"user_from\" value=\"$userinfo[user_from]\" size=\"30\" maxlength=\"100\"><br><br>"
  683.     ."<b>"._YOCCUPATION."</b> "._OPTIONAL."<br>"
  684.     ."<input type=\"text\" name=\"user_occ\" value=\"$userinfo[user_occ]\" size=\"30\" maxlength=\"100\"><br><br>"
  685.     ."<b>"._YINTERESTS."</b> "._OPTIONAL."<br>"
  686.     ."<input type=\"text\" name=\"user_intrest\" value=\"$userinfo[user_intrest]\" size=\"30\" maxlength=\"100\"><br><br>"
  687.     ."<b>"._SIGNATURE."</b> "._OPTIONAL."<br>"
  688.     .""._255CHARMAX."<br>"
  689.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"user_sig\">$userinfo[user_sig]</textarea><br>"
  690.     ."<br><br>"
  691.     ."<b>"._EXTRAINFO."</b> "._OPTIONAL."<br>"
  692.     .""._CANKNOWABOUT."<br>"
  693.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"bio\">$userinfo[bio]</textarea>"
  694.     ."<br><br>"
  695.     ."<b>"._PASSWORD."</b> "._TYPENEWPASSWORD."<br>"
  696.     ."<input type=\"password\" name=\"pass\" size=\"10\" maxlength=\"20\">  <input type=\"password\" name=\"vpass\" size=\"10\" maxlength=\"20\">"
  697.     ."<br><br>"
  698.     ."<input type=\"hidden\" name=\"uname\" value=\"$userinfo[uname]\">"
  699.     ."<input type=\"hidden\" name=\"uid\" value=\"$userinfo[uid]\">"
  700.     ."<input type=\"hidden\" name=\"op\" value=\"saveuser\">"
  701.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  702.     ."</form></td></tr></table>";
  703.     CloseTable();
  704.     include("footer.php");
  705.     } else {
  706.     main($user);
  707.     }
  708. }
  709.  
  710.  
  711. function saveuser($uid, $realname, $uname, $email, $femail, $url, $pass, $vpass, $bio, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_aim, $user_yim, $user_msnm, $attach, $newsletter) {
  712.     global $user, $cookie, $userinfo, $EditedMessage, $user_prefix, $dbi, $module_name;
  713.     cookiedecode($user);
  714.     $check = $cookie[1];
  715.     $check2 = $cookie[2];
  716.     $result = sql_query("select uid, pass from ".$user_prefix."_users where uname='$check'", $dbi);
  717.     list($vuid, $ccpass) = sql_fetch_row($result, $dbi);
  718.     if (($uid == $vuid) AND ($check2 == $ccpass)) {
  719.     if (!eregi("http://", $url)) {
  720.         $url = "http://$url";
  721.     }
  722.     if ((isset($pass)) && ("$pass" != "$vpass")) {
  723.         echo "<center>"._PASSDIFFERENT."</center>";
  724.     } elseif (($pass != "") && (strlen($pass) < $minpass)) {
  725.         echo "<center>"._YOUPASSMUSTBE." <b>$minpass</b> "._CHARLONG."</center>";
  726.     } else {
  727.         if ($bio) { filter_text($bio); $bio = $EditedMessage; $bio = FixQuotes($bio); }
  728.         if ($pass != "") {
  729.         cookiedecode($user);
  730.         sql_query("LOCK TABLES ".$user_prefix."_users WRITE", $dbi);
  731.         $pass = md5($pass);
  732.         sql_query("update ".$user_prefix."_users set name='$realname', email='$email', femail='$femail', url='$url', pass='$pass', bio='$bio' , user_avatar='$user_avatar', user_icq='$user_icq', user_occ='$user_occ', user_from='$user_from', user_intrest='$user_intrest', user_sig='$user_sig', user_aim='$user_aim', user_yim='$user_yim', user_msnm='$user_msnm', newsletter='$newsletter' where uid='$uid'", $dbi);
  733.         $result = sql_query("select uid, uname, pass, storynum, umode, uorder, thold, noscore, ublockon, theme from ".$user_prefix."_users where uname='$uname' and pass='$pass'", $dbi);
  734.         if(sql_num_rows($result, $dbi)==1) {
  735.             $userinfo = sql_fetch_array($result, $dbi);
  736.             docookie($userinfo[uid],$userinfo[uname],$userinfo[pass],$userinfo[storynum],$userinfo[umode],$userinfo[uorder],$userinfo[thold],$userinfo[noscore],$userinfo[ublockon],$userinfo[theme],$userinfo[commentmax]);
  737.         } else {
  738.             echo "<center>"._SOMETHINGWRONG."</center><br>";
  739.         }
  740.         sql_query("UNLOCK TABLES", $dbi);
  741.         } else {
  742.         sql_query("update ".$user_prefix."_users set name='$realname', email='$email', femail='$femail', url='$url', bio='$bio', user_avatar='$user_avatar', user_icq='$user_icq', user_occ='$user_occ', user_from='$user_from', user_intrest='$user_intrest', user_sig='$user_sig', user_aim='$user_aim', user_yim='$user_yim', user_msnm='$user_msnm', newsletter='$newsletter' where uid='$uid'", $dbi);
  743.         if ($attach) {
  744.         $a = 1;
  745.         } else {
  746.         $a = 0;
  747.         }
  748.         }
  749.         Header("Location: modules.php?name=$module_name");
  750.     }
  751.     }
  752. }
  753.  
  754. function edithome() {
  755.     global $user, $userinfo, $Default_Theme, $cookie, $broadcast_msg, $user_news, $storyhome, $module_name;
  756.     getusrinfo($user);
  757.     if (($userinfo[uname] != $cookie[1]) AND ($userinfo[pass] != $cookie[2])) {
  758.     include ("header.php");
  759.     OpenTable();
  760.     echo "<center><font class=\"title\"><b>"._HOMECONFIG."</b></font></center>";
  761.     CloseTable();
  762.     echo "<br>";    
  763.     OpenTable();
  764.     nav();
  765.     CloseTable();
  766.     echo "<br>";
  767.     if($userinfo[theme]=="") {
  768.         $userinfo[theme] = "$Default_Theme";
  769.     }
  770.     OpenTable();
  771.     echo "<form action=\"modules.php?name=$module_name\" method=\"post\">";
  772.     if ($user_news == 1) {
  773.     echo "<b>"._NEWSINHOME."</b> "._MAX127." "
  774.         ."<input type=\"text\" name=\"storynum\" size=\"3\" maxlength=\"3\" value=\"$userinfo[storynum]\">"
  775.         ."<br><br>";
  776.     } else {
  777.     echo "<input type=\"hidden\" name=\"storynum\" value=\"$storyhome\">";
  778.     }
  779.     if ($userinfo[popmeson] == 1) {
  780.         $sel1 = "checked";
  781.         $sel2 = "";
  782.     } elseif ($userinfo[popmeson] == 0) {
  783.         $sel1 = "";
  784.         $sel2 = "checked";
  785.     }
  786.     echo "<b>"._POPMSGACTIVE."</b> <input type=\"radio\" name=\"popmeson\" value=\"1\" $sel1> "._YES."   <input type=\"radio\" name=\"popmeson\" value=\"0\" $sel2>"._NO."<br><br>";
  787.     if ($userinfo[ublockon]==1) {
  788.         $sel = "checked";
  789.     }
  790.     if ($broadcast_msg == 1) {
  791.     if ($userinfo[broadcast] == 1) {
  792.         $sel1 = "checked";
  793.         $sel2 = "";
  794.     } elseif ($userinfo[broadcast] == 0) {
  795.         $sel1 = "";
  796.         $sel2 = "checked";
  797.     }
  798.     echo "<b>"._MESSAGEACTIVATE."</b> <input type=\"radio\" name=\"broadcast\" value=\"1\" $sel1> "._YES."   <input type=\"radio\" name=\"broadcast\" value=\"0\" $sel2>"._NO."<br><br>";
  799.     } else {
  800.     echo "<input type=\"hidden\" name=\"broadcast\" value=\"1\">";
  801.     }
  802.     echo "<input type=\"checkbox\" name=\"ublockon\" $sel>"
  803.     ." <b>"._ACTIVATEPERSONAL."</b>"
  804.     ."<br>"._CHECKTHISOPTION.""
  805.     ."<br>"._YOUCANUSEHTML."<br>"
  806.     ."<textarea cols=\"55\" rows=\"5\" name=\"ublock\">$userinfo[ublock]</textarea>"
  807.     ."<br><br>"
  808.     ."<input type=\"hidden\" name=\"uname\" value=\"$userinfo[uname]\">"
  809.     ."<input type=\"hidden\" name=\"uid\" value=\"$userinfo[uid]\">"
  810.     ."<input type=\"hidden\" name=\"op\" value=\"savehome\">"
  811.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  812.     ."</form>";
  813.     CloseTable();
  814.     include ("footer.php");
  815.     } else {
  816.     main($user);
  817.     }
  818. }
  819.  
  820. function chgtheme() {
  821.     global $user, $userinfo, $Default_Theme, $cookie, $module_name;
  822.     getusrinfo($user);
  823.     if (($userinfo[uname] != $cookie[1]) AND ($userinfo[pass] != $cookie[2])) {
  824.     include ("header.php");
  825.     OpenTable();
  826.     echo "<center><font class=\"title\"><b>"._THEMESELECTION."</b></font></center>";
  827.     CloseTable();
  828.     echo "<br>";
  829.     OpenTable();
  830.     nav();
  831.     CloseTable();
  832.     echo "<br>";
  833.     OpenTable();
  834.     echo "<center>"
  835.     ."<form action=\"modules.php?name=$module_name\" method=\"post\">"
  836.     ."<b>"._SELECTTHEME."</b><br>"
  837.     ."<select name=\"theme\">";
  838.     $handle=opendir('themes');
  839.     while ($file = readdir($handle)) {
  840.     if ( (!ereg("[.]",$file) AND file_exists("themes/$file/theme.php")) ) {
  841.         $themelist .= "$file ";
  842.     }
  843.     }
  844.     closedir($handle);
  845.     $themelist = explode(" ", $themelist);
  846.     sort($themelist);
  847.     for ($i=0; $i < sizeof($themelist); $i++) {
  848.         if($themelist[$i]!="") {
  849.             echo "<option value=\"$themelist[$i]\" ";
  850.         if((($userinfo[theme]=="") && ($themelist[$i]=="$Default_Theme")) || ($userinfo[theme]==$themelist[$i])) echo "selected";
  851.         echo ">$themelist[$i]\n";
  852.     }
  853.     }
  854.     if($userinfo[theme]=="") $userinfo[theme] = "$Default_Theme";
  855.     echo "</select><br>"
  856.     .""._THEMETEXT1."<br>"
  857.     .""._THEMETEXT2."<br>"
  858.     .""._THEMETEXT3."<br><br>"
  859.     ."<input type=\"hidden\" name=\"uid\" value=\"$userinfo[uid]\">"
  860.     ."<input type=\"hidden\" name=\"op\" value=\"savetheme\">"
  861.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  862.     ."</form>";
  863.     CloseTable();
  864.     include ("footer.php");
  865.     } else {
  866.     main($user);
  867.     }
  868. }
  869.  
  870.  
  871. function savehome($uid, $uname, $storynum, $ublockon, $ublock, $broadcast, $popmeson) {
  872.     global $user, $cookie, $userinfo, $user_prefix, $dbi, $module_name;
  873.     cookiedecode($user);
  874.     $check = $cookie[1];
  875.     $check2 = $cookie[2];
  876.     $result = sql_query("select uid, pass from ".$user_prefix."_users where uname='$check'", $dbi);
  877.     list($vuid, $ccpass) = sql_fetch_row($result, $dbi);
  878.     if (($uid == $vuid) AND ($check2 == $ccpass)) {    
  879.     if(isset($ublockon)) $ublockon=1; else $ublockon=0;    
  880.     $ublock = FixQuotes($ublock);
  881.     sql_query("update ".$user_prefix."_users set storynum='$storynum', ublockon='$ublockon', ublock='$ublock', broadcast='$broadcast', popmeson='$popmeson' where uid='$uid'", $dbi);
  882.     getusrinfo($user);
  883.     docookie($userinfo[uid],$userinfo[uname],$userinfo[pass],$userinfo[storynum],$userinfo[umode],$userinfo[uorder],$userinfo[thold],$userinfo[noscore],$userinfo[ublockon],$userinfo[theme],$userinfo[commentmax]);
  884.     Header("Location: modules.php?name=$module_name");
  885.     }
  886. }
  887.  
  888. function savetheme($uid, $theme) {
  889.     global $user, $cookie, $userinfo, $user_prefix, $dbi, $module_name;
  890.     cookiedecode($user);
  891.     $check = $cookie[1];
  892.     $check2 = $cookie[2];
  893.     $result = sql_query("select uid, pass from ".$user_prefix."_users where uname='$check'", $dbi);
  894.     list($vuid, $ccpass) = sql_fetch_row($result, $dbi);
  895.     if (($uid == $vuid) AND ($check2 == $ccpass)) {
  896.     sql_query("update ".$user_prefix."_users set theme='$theme' where uid='$uid'", $dbi);
  897.     getusrinfo($user);
  898.     docookie($userinfo[uid],$userinfo[uname],$userinfo[pass],$userinfo[storynum],$userinfo[umode],$userinfo[uorder],$userinfo[thold],$userinfo[noscore],$userinfo[ublockon],$userinfo[theme],$userinfo[commentmax]);
  899.     Header("Location: modules.php?name=$module_name&theme=$theme");
  900.     }
  901. }
  902.  
  903. function editcomm() {
  904.     global $user, $userinfo, $cookie, $module_name;
  905.     getusrinfo($user);
  906.     if (($userinfo[uname] != $cookie[1]) AND ($userinfo[pass] != $cookie[2])) {
  907.     include ("header.php");
  908.     OpenTable();
  909.     echo "<center><font class=\"title\"><b>"._COMMENTSCONFIG."</b></font></center>";
  910.     CloseTable();
  911.     echo "<br>";    
  912.     OpenTable();
  913.     nav();
  914.     CloseTable();
  915.     echo "<br>";
  916.     OpenTable();
  917.     echo "<table cellpadding=\"8\" border=\"0\"><tr><td>"
  918.     ."<form action=\"modules.php?name=$module_name\" method=\"post\">"
  919.     ."<b>"._DISPLAYMODE."</b>"
  920.     ."<select name=\"umode\">";
  921.     ?>
  922.     <option value="nocomments" <?php if ($userinfo[umode] == 'nocomments') { echo "selected"; } ?>><?php echo _NOCOMMENTS ?>
  923.     <option value="nested" <?php if ($userinfo[umode] == 'nested') { echo "selected"; } ?>><?php echo _NESTED ?>
  924.     <option value="flat" <?php if ($userinfo[umode] == 'flat') { echo "selected"; } ?>><?php echo _FLAT ?>
  925.     <option value="thread" <?php if (!isset($userinfo[umode]) || ($userinfo[umode]=="") || $userinfo[umode]=='thread') { echo "selected"; } ?>><?php echo _THREAD ?>
  926.     </select>
  927.     <br><br>
  928.     <b><?php echo _SORTORDER ?></b>
  929.     <select name="uorder">
  930.     <option value="0" <?php if (!$userinfo[uorder]) { echo "selected"; } ?>><?php echo _OLDEST ?>
  931.     <option value="1" <?php if ($userinfo[uorder]==1) { echo "selected"; } ?>><?php echo _NEWEST ?>
  932.     <option value="2" <?php if ($userinfo[uorder]==2) { echo "selected"; } ?>><?php echo _HIGHEST ?>
  933.     </select>
  934.     <br><br>
  935.     <b><?php echo _THRESHOLD ?></b>
  936.     <?php echo _COMMENTSWILLIGNORED ?><br>
  937.     <select name="thold">
  938.     <option value="-1" <?php if ($userinfo[thold]==-1) { echo "selected"; } ?>>-1: <?php echo _UNCUT ?>
  939.     <option value="0" <?php if ($userinfo[thold]==0) { echo "selected"; } ?>>0: <?php echo _EVERYTHING ?>
  940.     <option value="1" <?php if ($userinfo[thold]==1) { echo "selected"; } ?>>1: <?php echo _FILTERMOSTANON ?>
  941.     <option value="2" <?php if ($userinfo[thold]==2) { echo "selected"; } ?>>2: <?php echo _USCORE ?> +2
  942.     <option value="3" <?php if ($userinfo[thold]==3) { echo "selected"; } ?>>3: <?php echo _USCORE ?> +3
  943.     <option value="4" <?php if ($userinfo[thold]==4) { echo "selected"; } ?>>4: <?php echo _USCORE ?> +4
  944.     <option value="5" <?php if ($userinfo[thold]==5) { echo "selected"; } ?>>5: <?php echo _USCORE ?> +5
  945.     </select><br>
  946.     <i><?php echo _SCORENOTE ?></i>
  947.     <br><br>
  948.     <INPUT type="checkbox" name="noscore" <?php if ($userinfo[noscore]==1) { echo "checked"; } ?>><b> <?php echo _NOSCORES ?></b> <?php echo _HIDDESCORES ?>
  949.     <br><br>
  950.     <b><?php echo _MAXCOMMENT ?></b> <?php echo _TRUNCATES ?><br>
  951.     <input type="text" name="commentmax" value="<?php echo $userinfo[commentmax] ?>" size=11 maxlength=11> <?php echo _BYTESNOTE ?>
  952.     <br><br>
  953.     <input type="hidden" name="uname" value="<?php echo"$userinfo[uname]"; ?>">
  954.     <input type="hidden" name="uid" value="<?php echo"$userinfo[uid]"; ?>">
  955.     <input type="hidden" name="op" value="savecomm">
  956.     <input type="submit" value="<?php echo _SAVECHANGES ?>">
  957.     </form></td></tr></table>
  958.     <?php
  959.     CloseTable();
  960.     echo "<br><br>";
  961.     include ("footer.php");
  962.     } else {
  963.     main($user);
  964.     }
  965. }
  966.  
  967. function savecomm($uid, $uname, $umode, $uorder, $thold, $noscore, $commentmax) {
  968.     global $user, $cookie, $userinfo, $user_prefix, $dbi, $module_name;
  969.     cookiedecode($user);
  970.     $check = $cookie[1];
  971.     $check2 = $cookie[2];
  972.     $result = sql_query("select uid, pass from ".$user_prefix."_users where uname='$check'", $dbi);
  973.     list($vuid, $ccpass) = sql_fetch_row($result, $dbi);
  974.     if (($uid == $vuid) AND ($check2 == $ccpass)) {    
  975.     if(isset($noscore)) $noscore=1; else $noscore=0;
  976.     sql_query("update ".$user_prefix."_users set umode='$umode', uorder='$uorder', thold='$thold', noscore='$noscore', commentmax='$commentmax' where uid='$uid'", $dbi);
  977.     getusrinfo($user);
  978.     docookie($userinfo[uid],$userinfo[uname],$userinfo[pass],$userinfo[storynum],$userinfo[umode],$userinfo[uorder],$userinfo[thold],$userinfo[noscore],$userinfo[ublockon],$userinfo[theme],$userinfo[commentmax]);
  979.     Header("Location: modules.php?name=$module_name");
  980.     }
  981. }
  982.  
  983. function avatarlist() {
  984.     include("header.php"); 
  985.     Opentable(); 
  986.     echo "<center><font class=\"option\"><b>"._AVAILABLEAVATARS."</b></font><br><br>"; 
  987.     $direktori = "images/forum/avatar"; 
  988.     $handle=opendir($direktori); 
  989.     while ($file = readdir($handle)) { 
  990.     $filelist[] = $file; 
  991.     } 
  992.     asort($filelist); 
  993.     $temcount = 1; 
  994.     while (list ($key, $file) = each ($filelist)) { 
  995.     if (ereg(".gif",$file)) { 
  996.         if ($file == "." || $file == "..") {
  997.         $a=1;
  998.         } else { 
  999.         echo "<img src=\"images/forum/avatar/$file\" border=\"0\" width=\"32\" height=\"32\" alt=\"$file\" hspace=\"10\" vspace=\"10\">";
  1000.         } 
  1001.         if ($temcount == 10) { 
  1002.         echo "<br>"; 
  1003.         $temcount -= 10; 
  1004.         } 
  1005.         $temcount ++; 
  1006.     } 
  1007.     } 
  1008.     echo "<br><br><br>"
  1009.     .""._GOBACK.""
  1010.     ."</center>"; 
  1011.     CloseTable(); 
  1012.     include("footer.php"); 
  1013.  
  1014. function broadcast($the_message, $who) {
  1015.     global $prefix, $dbi, $broadcast_msg, $module_name;
  1016.     if ($broadcast_msg == 1) {
  1017.     include("header.php");
  1018.     title(""._BROADCAST."");
  1019.     OpenTable();
  1020.     $numrows = sql_num_rows(sql_query("select * from ".$prefix."_public_messages where who='$who'", $dbi), $dbi);
  1021.     $the_message = FixQuotes(filter_text($the_message, "nohtml"));
  1022.     if ($the_message != "" AND $numrows == 0) {
  1023.         $the_time = time();
  1024.         $result = sql_query("INSERT INTO ".$prefix."_public_messages values (NULL, '$the_message', '$the_time', '$who')", $dbi);
  1025.         echo "<center>"._BROADCASTSENT."<br><br>[ <a href=\"modules.php?name=$module_name\">"._RETURNPAGE."</a> ]</center>";
  1026.     } else {
  1027.         echo "<center>"._BROADCASTNOTSENT."<br><br>[ <a href=\"modules.php?name=$module_name\">"._RETURNPAGE."</a> ]</center>";
  1028.     }
  1029.     CloseTable();
  1030.     include("footer.php");
  1031.     } else {
  1032.     echo "I don't like you...";
  1033.     }
  1034. }
  1035.  
  1036. function my_headlines($hid, $url=0) {
  1037.     global $prefix, $dbi;
  1038.     $result = sql_query("select headlinesurl from ".$prefix."_headlines where hid='$hid'", $dbi);
  1039.     list($url) = sql_fetch_row($result, $dbi);
  1040.     $rdf = parse_url($url);
  1041.     $fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15);
  1042.     if (!$fp) {
  1043.         $content = "<font class=\"content\">Problema!</font>";
  1044.         return;
  1045.     }
  1046.     if ($fp) {
  1047.         fputs($fp, "GET " . $rdf['path'] . "?" . $rdf['query'] . " HTTP/1.0\r\n");
  1048.         fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n");
  1049.         $string    = "";
  1050.         while(!feof($fp)) {
  1051.         $pagetext = fgets($fp,300);
  1052.         $string .= chop($pagetext);
  1053.     }
  1054.     fputs($fp,"Connection: close\r\n\r\n");
  1055.     fclose($fp);
  1056.     $items = explode("</item>",$string);
  1057.     $content = "<font class=\"content\">";
  1058.     for ($i=0;$i<10;$i++) {
  1059.         $link = ereg_replace(".*<link>","",$items[$i]);
  1060.         $link = ereg_replace("</link>.*","",$link);
  1061.         $title2 = ereg_replace(".*<title>","",$items[$i]);
  1062.         $title2 = ereg_replace("</title>.*","",$title2);
  1063.         if ($items[$i] == "") {
  1064.             $content = "";
  1065.             return;
  1066.         } else {
  1067.             if (strcmp($link,$title)) {
  1068.                 $cont = 1;
  1069.             $content .= "<img src=\"images/arrow.gif\" border=\"0\" hspace=\"5\"><a href=\"$link\" target=\"new\">$title2</a><br>\n";
  1070.         }
  1071.         }
  1072.     }
  1073.     }
  1074.     echo "$content";
  1075. }
  1076.  
  1077. switch($op) {
  1078.  
  1079.     case "logout":
  1080.     logout();
  1081.     break;
  1082.  
  1083.     case "broadcast":
  1084.     broadcast($the_message, $who);
  1085.     break;
  1086.  
  1087.     case "lost_pass":
  1088.     lost_pass();
  1089.     break;
  1090.  
  1091.     case "new user":
  1092.     confirmNewUser($uname, $email, $url, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $user_aim, $user_yim, $user_msnm);
  1093.     break;
  1094.  
  1095.     case "finish":
  1096.     finishNewUser($uname, $email, $url, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $user_aim, $user_yim, $user_msnm);
  1097.     break;
  1098.  
  1099.     case "mailpasswd":
  1100.     mail_password($uname, $code);
  1101.     break;
  1102.  
  1103.     case "userinfo":
  1104.     userinfo($uname, $bypass, $hid, $url);
  1105.     break;
  1106.  
  1107.     case "login":
  1108.     login($uname, $pass);
  1109.     break;
  1110.  
  1111.     case "edituser":
  1112.     edituser();
  1113.     break;
  1114.  
  1115.     case "saveuser":
  1116.     saveuser($uid, $realname, $uname, $email, $femail, $url, $pass, $vpass, $bio, $user_avatar, $user_icq, $user_occ, $user_from, $user_intrest, $user_sig, $user_aim, $user_yim, $user_msnm, $attach, $newsletter);
  1117.     break;
  1118.  
  1119.     case "edithome":
  1120.     edithome();
  1121.     break;
  1122.     
  1123.     case "chgtheme":
  1124.     chgtheme();
  1125.     break;
  1126.     
  1127.     case "savehome":
  1128.     savehome($uid, $uname, $storynum, $ublockon, $ublock, $broadcast, $popmeson);
  1129.     break;
  1130.  
  1131.     case "savetheme":
  1132.     savetheme($uid, $theme);
  1133.     break;
  1134.  
  1135.     case "avatarlist":
  1136.     avatarlist();
  1137.     break;
  1138.  
  1139.     case "editcomm":
  1140.     editcomm();
  1141.     break;
  1142.  
  1143.     case "savecomm":
  1144.     savecomm($uid, $uname, $umode, $uorder, $thold, $noscore, $commentmax);
  1145.     break;
  1146.         
  1147.     case "pass_lost":
  1148.     pass_lost();
  1149.     break;
  1150.  
  1151.     case "new_user":
  1152.         new_user();
  1153.         break;
  1154.  
  1155.     case "my_headlines":
  1156.     my_headlines($hid, $url);
  1157.     break;
  1158.  
  1159.     default:
  1160.     main($user);
  1161.     break;
  1162.  
  1163. }
  1164.  
  1165. ?>
  1166.