1: <?php
2:
3: /**
4: * chec if duplicate igsn are assing in Files
5: */
6: function checkDuplicateInFiles($csvarray, $mylog) {
7: $entrieslength = sizeof($csvarray);
8: $multipleassigcount = 0;
9: for ($m = 1; $m <= $entrieslength; $m++) {
10: $igsn = $csvarray[$m]['igsn'];
11: echo $igsn;
12: for ($k = 1; $k <= $entrieslength; $k++) {
13: $itigsn = $csvarray[$k]['igsn'];
14: if ($igsn === $itigsn && !($m === $k)) {
15: $mylog->logmessage($igsn . ' IGSN im File mehrfach vergeben');
16: $multipleassigcount++;
17: }
18: }
19: }
20: if ($multipleassigcount > 0) {
21: return true;
22: }
23: $mylog->logmessage($igsn . ' Alle IGSN im File einmalig');
24:
25: return false;
26: }
27:
28: function checkDuplicatePID($csvarray, $mylog, $prefix) {
29:
30: //@todo for DataCite IGSNs
31: }
32:
33: function checkinMDS(IGSNRestRequest $registrator, $csvarray, $mylog) {
34: $entrieslength = sizeof($csvarray);
35: $duplettencounter = 0;
36: for ($m = 1; $m <= $entrieslength; $m++) {
37: $igsn = $csvarray[$m]['igsn'];
38: echo $igsn;
39: $duplette = $registrator->resloveigsn($igsn);
40: if ($duplette == 200){
41: // $mylog->logmessage($igsn . ' IGSN ist in bereits in MDS registiert');
42: $duplettencounter++;
43: }else{
44: $mylog->logmessage($igsn . ' IGSN ist nicht in MDS registiert');
45: }
46: sleep(1);
47: }
48: echo $duplettencounter;
49: if($duplettencounter != 0){
50: if($duplettencounter == $entrieslength){
51: $mylog->logmessage( ' Keine dieser IGSN sind im MDS registiert');
52: }
53: $mylog->logmessage(' Manche dieser IGSN sind im MDS registiert');
54:
55: return false;
56: }
57: $mylog->logmessage( ' Alle diese IGSN sind im MDS registiert');
58: return true;
59: }
60: