@@ -93,38 +93,47 @@ function os2web_edoc_esdh_mm_import_meeting($meeting) {
9393 }
9494 }
9595 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
96101 $ committee = (string ) array_shift ($ manifest ->xpath ("/Meeting/Committee " ));
97102 $ ref_state = (string ) array_shift ($ manifest ->xpath ("/Meeting/MeetingState " ));
98103 $ meeting_date = (string ) array_shift ($ manifest ->xpath ("/Meeting/MeetingDate " ));
99104 $ meeting_id = $ manifest ->xpath ('/Meeting/MeetingAgendaTypes/MeetingAgendaType/MeetingAgendaItems/MeetingAgendaItem/Document/@documentid ' );
100- $ directory_name = dirname (drupal_realpath ($ file ));
101105 $ 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+
102116 // Check if the committee is allowed to publish.
103117 $ publish_committee = array_map ('trim ' , explode (', ' , variable_get ('os2web_edoc_esdh_approved_committees ' , MM_DEFAULT_APPROVED )));
104118 if ($ committee == '' || !in_array ($ committee , $ publish_committee )) {
105119 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);
107120 return FALSE ;
108121 }
109122
110123 // Fix dates.
111124 $ date_obj = date_create ($ meeting_date );
112125 date_timezone_set ($ date_obj , timezone_open ('UTC ' ));
113126 $ 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
121129 if ($ meeting_type == "Referat endeligt godkendt " ) {
122130 $ meeting_type = "Referat " ;
123131 }
124132 else {
125133 $ meeting_type = "Dagsorden " ;
126134 }
127- error_log ($ meeting_type );
135+
136+ // Saving the meeting data in ESDH Provider format.
128137 $ meeting = array (
129138 'system_id ' => $ meeeeting_id ,
130139 'meeting_id ' => $ meeting_id ,
@@ -133,18 +142,18 @@ error_log($meeting_type);
133142 'title ' => $ committee . " - " . $ meeting_date . " - " . $ meeting_type . " - " . $ ref_state . " - " . $ meeting_id ,
134143 'uri ' => strstr ($ file , 'eDocAgendaPublishing.xml ' , TRUE ),
135144 'meeting_date ' => $ meeting_date ,
145+ 'meeting_type ' => $ meeting_type ,
146+ 'meeting_state ' => $ meeting_state ,
147+ 'meeting_pdf ' => $ meeting_pdf ,
136148 );
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
140151 if (empty ($ meeting_agendas )) {
141152 watchdog ('eDoc MM ' , 'Empty list of import items in %file. ' , array ('%file ' => $ file ), WATCHDOG_WARNING );
142153 }
143- $ old_meeting_id = $ meeting_id ;
144154
145155 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
148157 $ imported = _os2web_edoc_esdh_mm_import_meeting_agenda ($ meeting , $ meeting_agenda );
149158 if (is_array ($ imported )) {
150159 $ imported ['publish ' ] = TRUE ;
@@ -153,6 +162,7 @@ error_log($meeting_type);
153162 }
154163 }
155164 else {
165+ // Error logging to watchdog if the XML failde to parse. Check if all illegal characters are in the remove list.
156166 watchdog ('eDoc MM ' , 'Failed to parse XML in %file during import. ' , array ('%file ' => $ file ), WATCHDOG_WARNING );
157167 }
158168 }
@@ -232,49 +242,42 @@ function _os2web_edoc_esdh_mm_import_meeting_agenda_item($meeting, $xml) {
232242 // Deny closed content.
233243 if ($ item ['access ' ] === 'SKAL PUBLICERES ' ) {
234244 // 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 ' ) {
243254 }
244255 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 ' ];
250257 }
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 ,
255277 );
256278 }
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+ }
278281 }
279282 $ item += os2web_esdh_provider_default_item ();
280283 return $ item ;
0 commit comments