View Single Post
Old 05-08-2004, 04:42 PM  
ADDiCT
Senior Member
 
Join Date: Aug 2003
Posts: 517
Default

Add the lines yourself? This is what i used to copy an existing 'template' user:

(It sets the IP-list for the new user to the IP of the browser client.)

PHP Code:
...

$template_uid 101;

...

// create new user
$new_uid io_user_create($_POST["username"]);

// ... check for errors ($new_uid < 0) ...

// read data
$userfile io_user_open($template_uid);
$contents io_user_print($userfile);
io_user_close($userfile);

// initialise new lines; windows uses \r\n for newline
$passline "password ".io_sha1($_POST["password"])."\r";
$ipline   "ips *@".$_SERVER["REMOTE_ADDR"]."\r";
$tagline  "tagline ".$_POST["tagline"]."\r";

// replace/add lines
$lines explode("\n"$contents);
$size count($lines);
for(
$i=0$i $size$i++)
{
    if     (
strtolower(substr($lines[$i],0,9)) == "password ")  { $lines[$i] = $passline$passline ""; }
    elseif (
strtolower(substr($lines[$i],0,4)) == "ips ")       { $lines[$i] = $ipline;   $ipline   ""; }
    elseif (
strtolower(substr($lines[$i],0,8)) == "tagline ")   { $lines[$i] = $tagline;  $tagline  ""; }
}
$contents  implode("\n"$lines);
if (
strlen($passline)>0$contents .= $passline."\n";   // incase there was no such line yet.
if (strlen($ipline)  >0$contents .= $ipline  ."\n";   // ..
if (strlen($tagline) >0$contents .= $tagline ."\n";   // ..

// write data
$userfile io_user_open($new_uid);
io_user_lock($userfile);
io_user_save($userfile$contents);
io_user_unlock($userfile);
io_user_close($userfile); 
ADDiCT is offline   Reply With Quote