@@ -93,38 +93,47 @@ function os2web_edoc_esdh_mm_import_meeting($meeting) {
93
93
}
94
94
}
95
95
if (is_object ($ manifest )) {
96
+
97
+ // Setting the XML file to load - don't think we need this anymore.
98
+ $ directory_name = dirname (drupal_realpath ($ file ));
99
+
100
+ // Collecting agenda data
96
101
$ committee = (string ) array_shift ($ manifest ->xpath ("/Meeting/Committee " ));
97
102
$ ref_state = (string ) array_shift ($ manifest ->xpath ("/Meeting/MeetingState " ));
98
103
$ meeting_date = (string ) array_shift ($ manifest ->xpath ("/Meeting/MeetingDate " ));
99
104
$ meeting_id = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/MeetingAgendaItems/MeetingAgendaItem/Document/@documentid ' );
100
- $ directory_name = dirname (drupal_realpath ($ file ));
101
105
$ meeting_id = (string ) $ meeting_id [0 ][documentid];
106
+ $ meeting_pdf = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/PDFDocument ' );
107
+ $ meeting_pdf = (string ) $ meeting_pdf [0 ];
108
+ $ meeting_state = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/AgendaType ' );
109
+ $ meeting_state = (string ) $ meeting_state [0 ];
110
+ $ meeting_type = $ manifest ->xpath ('/Meeting/MeetingState ' );
111
+ $ meeting_type = (string ) $ meeting_type [0 ];
112
+
113
+ // Collecting agenda items
114
+ $ meeting_agendas = $ manifest ->xpath ("/Meeting/MeetingAgendaTypes/MeetingAgendaType/MeetingAgendaItems " );
115
+
102
116
// Check if the committee is allowed to publish.
103
117
$ publish_committee = array_map ('trim ' , explode (', ' , variable_get ('os2web_edoc_esdh_approved_committees ' , MM_DEFAULT_APPROVED )));
104
118
if ($ committee == '' || !in_array ($ committee , $ publish_committee )) {
105
119
watchdog ('eDoc MM ' , 'Ignored agenda from "%committee" . ' , array ('%committee ' => $ committee ));
106
- #error_log("NO IMPORT meeting compare " . $old_meeting__id . " - " . $meeting_id . "file " . $directory_name . " - " . $meeting_state);
107
120
return FALSE ;
108
121
}
109
122
110
123
// Fix dates.
111
124
$ date_obj = date_create ($ meeting_date );
112
125
date_timezone_set ($ date_obj , timezone_open ('UTC ' ));
113
126
$ meeting_date = date_format ($ date_obj , 'Y-m-d H:i ' );
114
- $ meeting_agendas = $ manifest ->xpath ("/Meeting/MeetingAgendaTypes/MeetingAgendaType/MeetingAgendaItems " );
115
- $ meeting_pdf = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/PDFDocument ' );
116
- $ meeting_state = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/AgendaType ' );
117
- $ meeting_state = (string ) $ meeting_state [0 ];
118
- error_log ($ meeting_state );
119
- $ meeting_type = $ manifest ->xpath ('/Meeting/MeetingState ' );
120
- $ meeting_type = (string ) $ meeting_type [0 ];
127
+
128
+ // Changing the meeting state to match ESDH Provider module
121
129
if ($ meeting_type == "Referat endeligt godkendt " ) {
122
130
$ meeting_type = "Referat " ;
123
131
}
124
132
else {
125
133
$ meeting_type = "Dagsorden " ;
126
134
}
127
- error_log ($ meeting_type );
135
+
136
+ // Saving the meeting data in ESDH Provider format.
128
137
$ meeting = array (
129
138
'system_id ' => $ meeeeting_id ,
130
139
'meeting_id ' => $ meeting_id ,
@@ -133,18 +142,18 @@ error_log($meeting_type);
133
142
'title ' => $ committee . " - " . $ meeting_date . " - " . $ meeting_type . " - " . $ ref_state . " - " . $ meeting_id ,
134
143
'uri ' => strstr ($ file , 'eDocAgendaPublishing.xml ' , TRUE ),
135
144
'meeting_date ' => $ meeting_date ,
145
+ 'meeting_type ' => $ meeting_type ,
146
+ 'meeting_state ' => $ meeting_state ,
147
+ 'meeting_pdf ' => $ meeting_pdf ,
136
148
);
137
- $ meeting ['type ' ] = $ meeting_type ;
138
- $ meeting ['state ' ] = $ meeting_state ;
139
- $ meeting ['pdf ' ] = (string ) $ meeting_pdf [0 ];
149
+
150
+ // Error logging to watchdog if the agenda item list is empty
140
151
if (empty ($ meeting_agendas )) {
141
152
watchdog ('eDoc MM ' , 'Empty list of import items in %file. ' , array ('%file ' => $ file ), WATCHDOG_WARNING );
142
153
}
143
- $ old_meeting_id = $ meeting_id ;
144
154
145
155
foreach ($ meeting_agendas as $ meeting_agenda ) {
146
- #error_log("meeting compare " . $old_meeting__id . " - " . $meeting_id . "file " . $directory_name . " - " . $meeting_state . " - " . $meeting_type);
147
- #error_log(print_r($meeting_agenda, 1));
156
+ // Importing each agenda item through the ESDH provider module
148
157
$ imported = _os2web_edoc_esdh_mm_import_meeting_agenda ($ meeting , $ meeting_agenda );
149
158
if (is_array ($ imported )) {
150
159
$ imported ['publish ' ] = TRUE ;
@@ -153,6 +162,7 @@ error_log($meeting_type);
153
162
}
154
163
}
155
164
else {
165
+ // Error logging to watchdog if the XML failde to parse. Check if all illegal characters are in the remove list.
156
166
watchdog ('eDoc MM ' , 'Failed to parse XML in %file during import. ' , array ('%file ' => $ file ), WATCHDOG_WARNING );
157
167
}
158
168
}
@@ -232,49 +242,42 @@ function _os2web_edoc_esdh_mm_import_meeting_agenda_item($meeting, $xml) {
232
242
// Deny closed content.
233
243
if ($ item ['access ' ] === 'SKAL PUBLICERES ' ) {
234
244
// Process bullets.
235
- foreach ($ xml_item_bullet ->Attachment as $ bullet_xml ) {
236
- #error_log("***********************");
237
- $ bullet_title = (string ) $ bullet_xml ->NeutralTitle ;
238
- $ bullet_body = (string ) $ bullet_xml ->FullText ;
239
- $ bullet_access = $ bullet_xml ->PublishingType ;
240
- #error_log("access " . $bullet_access . "Titel: " . $bullet_title);
241
- if (empty ($ bullet_body )) {
242
- $ bullet_body = "Intet indhold " ;
245
+ foreach ($ xml_item_bullet ->Attachment as $ bullet_xml ) {
246
+ $ bullet_title = (string ) $ bullet_xml ->NeutralTitle ;
247
+ $ bullet_body = (string ) $ bullet_xml ->FullText ;
248
+ $ bullet_access = $ bullet_xml ->PublishingType ;
249
+ if (empty ($ bullet_body )) {
250
+ $ bullet_body = "Intet indhold " ;
251
+ }
252
+ else {
253
+ if ($ bullet_access == 'SKAL PUBLICERES ' ) {
243
254
}
244
255
else {
245
- if ($ bullet_access == 'SKAL PUBLICERES ' ) {
246
- }
247
- else {
248
- $ bullet_body = "Dette er et lukket punkt. Du kan læse selve indstillingen " . $ bullet_xml ['access ' ];
249
- }
256
+ $ bullet_body = "Dette er et lukket punkt. Du kan læse selve indstillingen " . $ bullet_xml ['access ' ];
250
257
}
251
- if (!empty ($ bullet_title )) {
252
- $ item ['bullets ' ][] = array (
253
- 'title ' => (string ) $ bullet_title ,
254
- 'body ' => (string ) $ bullet_body ,
258
+ }
259
+ if (!empty ($ bullet_title )) {
260
+ $ item ['bullets ' ][] = array (
261
+ 'title ' => (string ) $ bullet_title ,
262
+ 'body ' => (string ) $ bullet_body ,
263
+ );
264
+ }
265
+
266
+ // Process enclsures.
267
+ foreach ($ xml_item_bullet ->Attachment as $ enclosure ) {
268
+ $ enclosure_item ['filename_in ' ] = (string ) $ enclosure ->PDFDocument ;
269
+ $ enclosure_item ['access ' ] = (string ) $ enclosure ->PublishingType ;
270
+ if (strlen ($ enclosure_item ['filename_in ' ]) > 0 && $ enclosure_item ['access ' ] == 'SKAL PUBLICERES ' ) {
271
+ $ item ['enclosures ' ][] = array (
272
+ 'uri ' => implode ('/ ' , array (
273
+ trim ($ meeting ['uri ' ], "/ " ),
274
+ $ enclosure_item ['filename_in ' ])),
275
+ 'title ' => trim ((string ) $ enclosure ->Title ),
276
+ 'access ' => TRUE ,
255
277
);
256
278
}
257
-
258
- # error_log(print_r($item, 1));
259
- // Process enclsures.
260
- # foreach ($xml_item_document->Attachment as $enclosures) {
261
- foreach ($ xml_item_bullet ->Attachment as $ enclosure ) {
262
- $ enclosure_item ['filename_in ' ] = (string ) $ enclosure ->PDFDocument ;
263
- $ enclosure_item ['access ' ] = (string ) $ enclosure ->PublishingType ;
264
- #error_log(print_r($enclosure,1));
265
- if (strlen ($ enclosure_item ['filename_in ' ]) > 0 && $ enclosure_item ['access ' ] == 'SKAL PUBLICERES ' ) {
266
- $ item ['enclosures ' ][] = array (
267
- 'uri ' => implode ('/ ' , array (
268
- trim ($ meeting ['uri ' ], "/ " ),
269
- $ enclosure_item ['filename_in ' ])),
270
- 'title ' => trim ((string ) $ enclosure ->Title ),
271
- 'access ' => TRUE ,
272
- );
273
- }
274
- }
275
- #error_log(print_r($item['enclosures'],1));
276
- # }
277
- }
279
+ }
280
+ }
278
281
}
279
282
$ item += os2web_esdh_provider_default_item ();
280
283
return $ item ;
0 commit comments