I know this isn't a PHP support forum, but I thought that some of you might have some ideas for me. I'm working on a PHP front end to the command line commands for Mailman. I've been working on this for quite a while and can't seem to get it, must be missing something. I've tried using the backtick, the system() and exec() functions and more, but this just doesn't seem like it's working because the list is never created, I haven't even gotten to the aliases part... What I'd like to do is run the command:
"/bin/su -c /home/mailman/bin/newlist $list_name $owner $passwd1 | grep : | grep -v file:" I also need to send a \r (CR) after $passwd1 before the first grep and I need to capture the output of it and append all that to a sendmail aliases file. It would be nice to be able to remove the list as well it involves running: "/bin/su -c /home/mailman/bin/rmlist -a $list_name" and then removing the aliases (for that list) from the sendmail file. PERL snippits that accomplish this are included below. Thanks for your help! --Ben The PERL code (for adding) is below: sub createNewList { if ($_[2] eq "") { error($text{erArgs}); } $listName = $_[0]; $adminEmail = $_[1]; $listPassword = $_[2]; #this command is a cludge, if they change the output it may #mess the whole thing up $commandLine = "su -c '".$config{newlist_exec}." $listName $adminEmail $listPassword' ".$config{exec_as_user}."| grep : | grep -v file:|"; #this will only add the newlist to mailman, we still need to #add the aliases open(RESULT, $commandLine ) || return 0; print $text{txtAlias}."<br>\n"; while (<RESULT>) { $line = $_; $line =~ s/\"/\"/; $line =~ s/\"\n/\"/; $line =~ s/\n//; system("echo \'$line\' >> $config{aliases_file} "); print "$line<br>"; } close(RESULT); system("su -c '$config{newaliases_command}' "); # system("$config{newaliases_command}"); } The PERL code (for removing) is below: sub deleteList { if ($_[0] eq "") { error($text{erListName}); } $listName = $_[0]; $delArchives = $_[1]; if ($delArchives) { $cmdLine = "su -c '$config{rmlist_exec} -a $listName' $config{exec_as_user}"; } else { $cmdLine = "su -c '$config{rmlist_exec} $listName' $config{exec_as_user}"; } open(OUTPUT, "$cmdLine |" )||error($text{erExecution}); while (<OUTPUT>) { print "$_<br>"; } close(OUTPUT); $cmdLine = "cat $config{aliases_file} |grep -v $listName:| grep -v $listName-owner:|grep -v $listName-request:|grep -v $listName-admin:> $config{aliases_file}"; #we need to backup our old alias file system("cp $config{aliases_file} $config{aliases_file}.backup"); system($cmdLine); system("su -c '$config{newaliases_command}' $config{exec_as_user}"); # system("$config{newaliases_command}"); print $text{txtBackup}."$config{aliases_file}.backup"; } ------------------------------------------------------ Mailman-Users maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users