X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=import.php;h=0cfa1dc273b1bd225f0cc8a2aaa45aa08552e6bf;hb=3f7e9f939d0f0ab92ed49bc783292dd27f4a83af;hp=96579ef529e49c9fca3e0b7522eb34648eb77178;hpb=957e03f1c6791f6275ecfdc5e954c673c930844e;p=contagged diff --git a/import.php b/import.php index 96579ef..0cfa1dc 100644 --- a/import.php +++ b/import.php @@ -3,7 +3,7 @@ require_once('inc/init.php'); require_once('inc/Contact_Vcard_Parse.php'); ldap_login(); -if(!$user){ +if(!$_SESSION['ldapab']['username']){ header("Location: login.php"); exit; } @@ -69,6 +69,7 @@ $smarty->display('footer.tpl'); function vcard_entry($vcf){ $entry = array(); + $entry['name'] = $vcf['N'][0]['value'][0][0]; $entry['givenname'] = trim($vcf['N'][0]['value'][1][0].' '.$vcf['N'][0]['value'][2][0]); $entry['title'] = $vcf['N'][0]['value'][3][0]; @@ -76,40 +77,43 @@ function vcard_entry($vcf){ $entry['office'] = $vcf['ORG'][0]['value'][1][0]; $entry['note'] = $vcf['NOTE'][0]['value'][0][0]; $entry['url'] = $vcf['URL'][0]['value'][0][0]; + $entry['photo'] = $vcf['PHOTO'][0]['value'][0][0]; $bday = $vcf['BDAY'][0]['value'][0][0]; $entry['birthday'] = substr($bday,0,4).'-'.substr($bday,4,2).'-'.substr($bday,6,2); foreach((array) $vcf['TEL'] as $tel){ if( empty($entry['phone']) && - array_search('WORK',(array) $tel['param']['TYPE']) !== false && - array_search('VOICE',(array) $tel['param']['TYPE']) !== false){ + (my_array_search('WORK',(array) $tel['param']['TYPE']) != false || + my_array_search('VOICE',(array) $tel['param']['TYPE']) != false)) + { // Work phone $entry['phone'] = $tel['value'][0][0]; }elseif(empty($entry['fax']) && - array_search('FAX',(array) $tel['param']['TYPE']) !== false){ + my_array_search('FAX',(array) $tel['param']['TYPE']) !== false){ $entry['fax'] = $tel['value'][0][0]; }elseif(empty($entry['mobile']) && - array_search('CELL',(array) $tel['param']['TYPE']) !== false){ + my_array_search('CELL',(array) $tel['param']['TYPE']) !== false){ $entry['mobile'] = $tel['value'][0][0]; }elseif(empty($entry['pager']) && - array_search('PAGER',(array) $tel['param']['TYPE']) !== false){ + my_array_search('PAGER',(array) $tel['param']['TYPE']) !== false){ $entry['pager'] = $tel['value'][0][0]; }elseif(empty($entry['homephone']) && - array_search('HOME',(array) $tel['param']['TYPE']) !== false && - array_search('VOICE',(array) $tel['param']['TYPE']) !== false){ + my_array_search('HOME',(array) $tel['param']['TYPE']) !== false && + my_array_search('VOICE',(array) $tel['param']['TYPE']) !== false){ $entry['homephone'] = $tel['value'][0][0]; } } foreach((array) $vcf['EMAIL'] as $mail){ + if (! in_array($mail['value'][0][0], (array)$entry['mail'])) $entry['mail'][] = $mail['value'][0][0]; } foreach((array) $vcf['ADR'] as $adr){ - if(array_search('HOME',(array)$adr['param']['TYPE']) !== false){ + if(my_array_search('HOME',(array)$adr['param']['TYPE']) !== false){ $entry['homestreet'] = $adr['value'][2][0]."\n". //str $adr['value'][5][0]." ". //plz $adr['value'][3][0]; //ort - }elseif((array) array_search('WORK',(array)$adr['param']['TYPE']) !== false){ + }elseif(my_array_search('WORK',(array)$adr['param']['TYPE']) !== false){ $entry['street'] = $adr['value'][2][0]; $entry['location'] = $adr['value'][3][0]; $entry['zip'] = $adr['value'][5][0]; @@ -121,5 +125,22 @@ function vcard_entry($vcf){ return $entry; } +function my_array_search ($needle, $haystack) +{ + foreach ($haystack as $value) + { + if ($value == $needle) + { + return true; + } + else if ($value == strtolower($needle)) + { + return true; + } + + } + return false; +} + ?>