Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : YP/NIS Functions : yp_cat

yp_cat

Return an array containing the entire map (PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)
array yp_cat ( string domain, string map )


Code Examples / Notes » yp_cat

nicholas humfrey

yp_cat is lacking in PHP5 - this is a suitable (slow, forking) replacement...
<?php
   $handle = popen( 'ypcat passwd.byname', 'r' );
   while (($line = fgets($handle, 1024)) !== FALSE) {
       list($user,$pass,$uid,$gid,$gcos,$home,$shell) = explode (':', $line);
       list($name,$room,$work,$home,$position)  = explode (',', $gcos);
       ## Do Stuff ##
   }  
   pclose( $handle );
?>


smchang

result browsing code
<?php
$arraylist = yp_cat($domain,"passwd.byname");
$key = array_keys($arraylist);
$count = count($key);
for ( $i = 0; $i < $count ; $i++ ) {
       echo "COUNT $i  ->  ";
       echo $arraylist[$key[$i]];
       echo "
\n";
}
?>
RESULT( Only First line )
COUNT 0 -> testuser:3jYXqr8fRm28M:500:500:PHP Test user:/home/testuser:/bin/csh
It, is in $key, is username(in example, testuser).


20-feb-2006 11:26

I hope this will userfull to somebody:
function auth_by_nis($login,$password,$nis_domain='-d xxx_nis',$nis_host='-h xxx.it')
{
$output = shell_exec("ypcat $nis_domain $nis_host passwd");
$lines=split("\n",$output);
foreach ($lines as $k=>$v)
{
list($login_nis,$pw_nis)=split(":",$v);
if ($login_nis != $login)continue;
//login trovata: ora si verifica la password
$salt=substr( $pw_nis , 0 ,2);
$pass_cript=crypt($password, $salt);
if($pass_cript == $pw_nis) return 1;
else return 0;
}
return 0;
}


Change Language


Follow Navioo On Twitter
yp_all
yp_cat
yp_err_string
yp_errno
yp_first
yp_get_default_domain
yp_master
yp_match
yp_next
yp_order
eXTReMe Tracker