| 
<?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'));
 //
 ?>
 
 |