Καλησπέρα, με την χρήση τριών προγραμμάτων και αρκετή δουλειά στο χέρι, μετατρέπω το αρχειο επαφών που εξαγω απο την google (contacts.csv) σε αρχείο ldif ώστε να το εισάγω στον LDAP σερβερ που έχω και να κάνω αναζήτηση με όνομα στο cisco 525.
Πρέπει όμως να το ανανεώνω συχνά ώστε να παίρνει τις νεες επαφες. Απλά σβήνω τα παντα και εισάγω νέο ενημερωμένο αρχείο.
Δεν βρέθηκε κανένας να γράψει ενα script που να μετατρέπει αυτό
Κώδικας:Name,Given Name,Additional Name,Family Name,Yomi Name,Given Name Yomi,Additional Name Yomi,Family Name Yomi,Name Prefix,Name Suffix,Initials,Nickname,Short Name,Maiden Name,Birthday,Gender,Location,Billing Information,Directory Server,Mileage,Occupation,Hobby,Sensitivity,Priority,Subject,Notes,Language,Photo,Group Membership,E-mail 1 - Type,E-mail 1 - Value,Phone 1 - Type,Phone 1 - Value,Phone 2 - Type,Phone 2 - Value,Organization 1 - Type,Organization 1 - Name,Organization 1 - Yomi Name,Organization 1 - Title,Organization 1 - Department,Organization 1 - Symbol,Organization 1 - Location,Organization 1 - Job Description ADRIAN AA,ADRIAN,,AA,,,,,,,,,,,,,,,,,,,,,,,,,* myContacts,* ,adrian@adrian.gr,Mobile,+491724666666,Work,+30 251 666 6666,,,,,,,, ANJA AA,ANGIA,,AA,,,,,,,,,,,,,,,,,,,,,,,,,* myContacts,,,Mobile,+49 1515 6666666,Work,+30 251 666 6665,,,,,,,,
σε αυτό;
Ευχαριστώ πολύΚώδικας:dn: uid=card-id-5db070a957116,ou=Users,dc=mydomain,dc=gr objectclass: inetOrgPerson cn: ADRIAN sn: AA givenName: ADRIAN mobile: 00491724666666 telephoneNumber: 2510666666 mail: mail@mail.com uid: card-id-5db070a957116 dn: uid=card-id-5db070a957345,ou=Users,dc=mydomain,dc=gr objectclass: inetOrgPerson cn: ANJA AA sn: ANJA AA mobile: 004915156666666 telephoneNumber: 2510666665 mail: mail2@mail.com uid: card-id-5db070a957345
ps
Αν καταπιαστεί κάποιος, θα ήταν χρήσιμο να προσθέσει:
1) Μετατροπή των ελληνικων σε γκρικλις
2) Διαγραφη των κενων από τους αριθμους τηλεφωνου
3) Ορισμο σερβερ
4) Ορισμο objectClass
- - - Updated - - -
Τελικά βασίστηκα σε αυτό https://gist.github.com/pc-magas/760...1d2d276fcb9bed
και το βελτίωσα λιγάκι ώστε να δίνει uid στην επαφή και μην γράφει κάτι όταν δεν υπάρχει.
https://pastebin.com/raw/qQi86a8N
Σίγουρα μπορεί να βελτιωθείΚώδικας:#!/usr/bin/env php <?php // Google Contacts csv to ldif (LDAP) converter // Credits pc_magas, George Rousopoulos // You can transform greek to greeklish csv here https://www.datagen.gr/index.php?option=scripts&script=greek_to_greeklish // Input CSV $csv_file="contacts.csv"; // Output file $ldap="contacts.ldif"; /** * ###################### Do not edit ellow this line ################## */ $ldapHandler=fopen($ldap,"w"); $csv_file_handler=fopen($csv_file,"r"); $recordHeader=",ou=Users,dc=mydomain,dc=gr".PHP_EOL."objectclass: inetOrgPerson".PHP_EOL; $firstLineSkip=true; if (($csv_file_handler=fopen($csv_file,"r")) !== FALSE) { while (($data = fgetcsv($csv_file_handler, 1000, ",")) !== FALSE) { if($firstLineSkip) { $firstLineSkip=false; continue; } $uniqid=uniqid(); $mail=trim($data[30]); $cn=trim($data[0]); $sn=trim($data[3]); $givenName=$data[1]; $mobile=str_replace(' ','',$data[37]); $mobile=str_replace('+30','',$mobile); $mobile=str_replace('+','00',$mobile); $phone=str_replace(' ','',$data[39]); $phone=str_replace('+30','',$phone); $phone=str_replace('+','00',$phone); $record='dn: uid='.$uniqid.''.$recordHeader; $record.='cn: '.$cn.PHP_EOL; $record.='sn: '.$cn.PHP_EOL; $record.='givenName: '.$cn.PHP_EOL; if (!empty($mail)) { $record.='mail: '.$mail.PHP_EOL; } if (!empty($mobile)) { $record.='mobile: '.$mobile.PHP_EOL; } if (!empty($phone)) { $record.='telephoneNumber: '.$phone.PHP_EOL; } $record.='uid: '.$uniqid.PHP_EOL; fwrite($ldapHandler,$record.PHP_EOL.PHP_EOL); } } fclose($ldapHandler); fclose($csv_file_handler);;
Εμφάνιση 1-1 από 1
-
15-12-19, 12:39 Μετατροπή google.csv to ldif (LDAP) #1
Bookmarks