<?php 
 
$DB_host = 'localhost'; 
$DB_port = '5432'; 
$DB_dbname = 'db1'; 
$DB_user = 'user1'; 
$DB_password = 'pass1'; 
 
 
$username = 'enrique'; 
$card_id = '1234567'; 
$dbconn = pg_connect("host=$DB_host  port=$DB_port  dbname=$DB_dbname user=$DB_user  password=$DB_password "); 
$result = pg_fetch_all(pg_query_params($dbconn, 'SELECT * FROM connected_users WHERE name = $1', array("$username"))); 
if ($result[0]){ 
    pg_update($dbconn, 'connected_users', array('card_id'=>$card_id), array('name'=>$username)); 
    print_r ($result); 
} else { 
    echo 'error'; 
} 
 
 
// echo pg_last_error($dbconn); 
// if (!$result) { 
//     echo 'FALLO'; 
// } else { 
//     print "result: $result </br>"; 
//     $row=pg_fetch_all($result); 
//     print "ROW: $row </br>"; 
// //     print_r ($result); 
//     print_r ($row); 
// } 
 
pg_close($dbconn); 
 
 
// $handle = fopen(SimpleSAML_Utilities::getTempDir() . '/prueba2.txt','w'); 
// fwrite($handle, 'prueba'); 
// fclose ($handle); 
 
 
//  
// phpinfo(); 
//  
//  
// $config = SimpleSAML_Configuration::getInstance(); 
// $autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php'); 
//  
// $certificates =   $autoconfig->getValue('certificates'); 
//  
//  
//  
//  
//  
//  
//  
// function takePublicKey($cert) { 
//     $pkey = openssl_get_publickey(file_get_contents($cert)); 
//     $keyData = openssl_pkey_get_details($pkey); 
//     $key = $keyData['key']; 
//     $key = str_replace('-----BEGIN PUBLIC KEY-----', '', $key); 
//     $key = str_replace('-----END PUBLIC KEY-----', "", $key); 
//     $key = str_replace("\n", "", $key); 
//     return $key; 
// } 
//  
// /*CASE 1 AND 2 
// * -Has Organization 
// * -And chains to a trusted root CA 
// */ 
// function calculate_RP_PPID_Seed_2_2007 ($certs) { 
//     $check_cert = openssl_x509_read(file_get_contents($certs[0])); 
//     $array = openssl_x509_parse($check_cert); 
//     openssl_x509_free($check_cert); 
//     $OrgIdString = ('|O="'.$array['subject']['O'].'"|L="'.$array['subject']['L'].'"|S="'.$array['subject']['ST'].'"|C="'.$array['subject']['C'].'"|'); 
//     print_r ($array); 
//     print '<br>'; 
//      
//     $numcerts = sizeof($certs); 
//     for($i=1;$i<$numcerts;$i++){ 
//         $check_cert = openssl_x509_read(file_get_contents($certs[$i])); 
//         $array = openssl_x509_parse($check_cert); 
//         openssl_x509_free($check_cert); 
//         $tmpstring = '|ChainElement="CN='.$array['subject']['CN'].', OU='.$array['subject']['OU'].', O='.$array['subject']['O'].', L='.$array['subject']['L'].', S='.$array['subject']['ST'].', C='.$array['subject']['C'].'"'; 
//         $OrgIdString = $tmpstring.$OrgIdString; 
//     } 
//      
//     print '<br>CALCULADA'.iconv("UTF-8", "ISO-8859-1", $OrgIdString).'<br>'; 
//     print '<br>VERDADERA = |ChainElement="CN=Autoridad de Certificación de pruebas, OU=aut, O=UAH, L=Alcalá de Henares, S=Madrid, C=ES"|O="UAH"|L="Alcalá de Henares"|S="Madrid"|C="ES"|<br>'; 
//     $OrgIdBytes = iconv("UTF-8", "UTF-16LE", $OrgIdString); 
//     $RPPPIDSeed = hash('sha256', $OrgIdBytes,TRUE); 
//     return $RPPPIDSeed; 
// } 
//  
//  
// /*CASE 1 AND 2 
// * -Has Organization 
// * -And chains to a trusted root CA 
// */ 
// function calculate_RP_PPID_Seed_2008 ($rp_cert) { 
//     $check_cert = openssl_x509_read(file_get_contents($rp_cert)); 
//     $array = openssl_x509_parse($check_cert); 
//     openssl_x509_free($check_cert); 
//     $OrgIdString = ('|O="'.$array[subject][O].'"|L="'.$array[subject][L].'"|S="'.$array[subject][ST].'"|C="'.$array[subject][C].'"|'); 
//     print_r ($array); 
//     $OrgIdBytes = iconv("ISO-8859-1", "UTF-16LE", $OrgIdString); 
//     $RPPPIDSeed = hash('sha256', $OrgIdBytes,TRUE); 
//     return $RPPPIDSeed; 
// } 
//  
//  
// /*CASE 3 
// * -Has empty or NO Organization value 
// * -And has an empty or no Common Name (CN) 
// * -Or does not chain to a trusted root CA 
// */ 
// function calculate_RP_PPID_Seed_3 ($rp_cert) { 
//   $pubKey = base64_decode(takePublicKey($rp_cert)); 
//   $RPPPIDSeed = hash('sha256',$pubKey ); 
//     return $RPPPIDSeed; 
// } 
//  
//  
// /*CASE 4 
// * -Has empty or NO Organization value 
// * -And has a non-empty Common Name (CN) value 
// * -And chains to a trusted root CA 
// */ 
// function calculate_RP_PPID_Seed_4 ($rp_cert) { 
//     $check_cert = openssl_x509_read(file_get_contents($rp_cert)); 
//     $array = openssl_x509_parse($check_cert); 
//     openssl_x509_free($check_cert); 
//     $CnIdString = '|CN="'.$array['subject']['CN'].'"|'; 
//     print $CnIdString; 
//     $CnIdBytes = iconv("ISO-8859-1", "UTF-16LE", $CnIdString); 
//     $RPPPIDSeed = hash('sha256', $CnIdBytes, TRUE); 
//     return $RPPPIDSeed; 
// } 
//  
//  
// function calculate_PPID($cardid, $rp_cert) { 
//     $CardIdBytes = iconv("ISO-8859-1", "UTF-16LE", $cardid); 
//     $CanonicalCardId = hash('sha256', $CardIdBytes,TRUE); 
//     $RPPPIDSeed = calculate_RP_PPID_Seed_2_2007($rp_cert); 
//     print "<br> rp seed ".base64_encode($RPPPIDSeed)."<br>"; 
//     print "<br> canonical cardid ".base64_encode($CanonicalCardId)."<br>"; 
//     $PPID = hash('sha256', $RPPPIDSeed.$CanonicalCardId,TRUE); 
//     return $PPID; 
// } 
//   
//  
// function get_OrgIdString($cert){ 
// } 
//   
//  //PPID: nQIBQqEnme/4SytR1GMxMJUdzU7NdzyYnaHas8fzekc= 
//   
//   //Cardid: urn:uuid:bbe3ecf5-900b-d249-b9a7-e7c261fdf189, ... VRL-QVCK-GHF 
//      //PPID: +8mxdRW+9Trqxd3CwQZUKGlYZBjdgmHpgA7/PsQM5yA= 
//  print base64_encode(calculate_PPID('urn:uuid:bbe3ecf5-900b-d249-b9a7-e7c261fdf189', $certificates)); 
//  
// //     print base64_encode(pack('H*','0939625DA3A93E44F52D72AE4246EE54DE265D84')); 
//       
?> 
 
 |