diff --git a/README.md b/README.md
index fb9cf11..47e7ef8 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,6 @@ Import and handle Borger.dk articles. Including integration with the Borger.dk-w
Read guide under /doc:
"Borger.dk menu import.pdf"
-"Guide til OS2web borger.dk - artikler.pdf"
+"Guide til OS2 borger.dk - artikler.pdf"
Borger.dk /Version 3
diff --git a/css/os2web_borger_dk.css b/css/os2_borger_dk.css
similarity index 77%
rename from css/os2web_borger_dk.css
rename to css/os2_borger_dk.css
index 1b7d09e..18b4d9d 100644
--- a/css/os2web_borger_dk.css
+++ b/css/os2_borger_dk.css
@@ -28,14 +28,14 @@ div.microArticle a {
padding: 0px 5px 10px 10px;
}
-.os2web_borger_dk_selfservi {
+.os2_borger_dk_selfservi {
clear: both;
padding: 10px 15px;
background-color: #d9e5c3;
border-radius: 7px 7px 7px 7px;
}
-.os2web_borger_dk_selfservi h3 {
+.os2_borger_dk_selfservi h3 {
border-bottom: 1px solid #BBC5A8;
color: #526A27;
/*font-family: "myriad-pro",Arial,Helvetica,sans-serif;*/
@@ -44,7 +44,7 @@ div.microArticle a {
padding-bottom: 5px;
}
-.os2web_borger_dk_selfservi ul li a, .os2web_borger_dk_selfservi a:link{
+.os2_borger_dk_selfservi ul li a, .os2_borger_dk_selfservi a:link{
color: #526A27;
font-size: 13px;
/*list-style-type: disc;
@@ -59,11 +59,11 @@ div.microArticle a {
padding: 10px 5px 10px 10px;
}
-.borger_dk-field_os2web-borger-dk-pre_text {
+.borger_dk-field_os2-borger-dk-pre_text {
margin: 30px auto;
}
-.borger_dk-field_os2web-borger-dk-post_text {
+.borger_dk-field_os2-borger-dk-post_text {
margin: 30px auto;
}
@@ -75,31 +75,31 @@ div.microArticle a {
.borger_dk-region-stack3 .inside .borger_dk-body.node-body div a:link a:visited,
.borger_dk-region-stack3 .inside .borger_dk-body.node-body div div ul li p a,
-.borger_dk-region-stack3 .inside .borger_dk-field_os2web-borger-dk-legislati div a {
+.borger_dk-region-stack3 .inside .borger_dk-field_os2-borger-dk-legislati div a {
color: #2d2d2d;
font-size: 13px;
/* list-style-type: disc;
text-decoration: underline;*/
}
-.borger_dk-region-stack4 .inside .borger_dk-field_os2web-borger-dk-recommend ul li a,
-.borger_dk-region-stack4 .inside .borger_dk-field_os2web-borger-dk-shortlist ul li a {
+.borger_dk-region-stack4 .inside .borger_dk-field_os2-borger-dk-recommend ul li a,
+.borger_dk-region-stack4 .inside .borger_dk-field_os2-borger-dk-shortlist ul li a {
color: #2d2d2d;
font-size: 13px;
line-height: 20px;
/* list-style-type: disc;
text-decoration: underline;*/
}
-.borger_dk-field_os2web-borger-dk-legislati {
+.borger_dk-field_os2-borger-dk-legislati {
margin-top: 30px;
}
-.borger_dk-field_os2web-borger-dk-shortlist {
+.borger_dk-field_os2-borger-dk-shortlist {
margin-top: 20px;
}
-.borger_dk-field_os2web-borger-dk-legislati h3,
-.borger_dk-field_os2web-borger-dk-recommend h3,
-.borger_dk-field_os2web-borger-dk-shortlist h3 {
+.borger_dk-field_os2-borger-dk-legislati h3,
+.borger_dk-field_os2-borger-dk-recommend h3,
+.borger_dk-field_os2-borger-dk-shortlist h3 {
border-bottom: 1px solid #C3C3C3;
font-family: "myriad-pro",Arial,Helvetica,sans-serif;
font-size: 20px;
@@ -107,18 +107,18 @@ div.microArticle a {
padding-bottom: 10px;
}
-.borger_dk-field_os2web-borger-dk-recommend h4 {
+.borger_dk-field_os2-borger-dk-recommend h4 {
font-family: "myriad-pro",Arial,Helvetica,sans-serif;
font-size: 18px;
font-weight: 300;
}
-.borger_dk-field_os2web-borger-dk-legislati p {
+.borger_dk-field_os2-borger-dk-legislati p {
padding-top: 10px;
}
-.borger_dk-field_os2web-borger-dk-legislati,
-.borger_dk-field_os2web-borger-dk-recommend,
-.borger_dk-field_os2web-borger-dk-shortlist {
+.borger_dk-field_os2-borger-dk-legislati,
+.borger_dk-field_os2-borger-dk-recommend,
+.borger_dk-field_os2-borger-dk-shortlist {
background-color: #F0F0F0;
border-radius: 7px 7px 7px 7px;
padding: 10px 15px;
@@ -127,10 +127,10 @@ div.microArticle a {
.borger_dk-region-stack2 .inside ul,
.borger_dk-region-stack3 .inside .borger_dk-body.node-body div div ul,
.borger_dk-region-stack4 .inside ul,
-.borger_dk-field_os2web-borger-dk-legislati ul{
+.borger_dk-field_os2-borger-dk-legislati ul{
margin: 10px 0 0 20px;
}
-.borger_dk-field_os2web-borger-dk-byline {
+.borger_dk-field_os2-borger-dk-byline {
font-family: "myriad-pro",Arial,Helvetica,sans-serif;
float: right;
padding-right: 10px;
diff --git a/doc/Guide til OS2web borger.dk - artikler.pdf b/doc/Guide til OS2 borger.dk - artikler.pdf
similarity index 100%
rename from doc/Guide til OS2web borger.dk - artikler.pdf
rename to doc/Guide til OS2 borger.dk - artikler.pdf
diff --git a/js/os2web_borger_dk.js b/js/os2_borger_dk.js
similarity index 96%
rename from js/os2web_borger_dk.js
rename to js/os2_borger_dk.js
index b24dd6d..c633487 100644
--- a/js/os2web_borger_dk.js
+++ b/js/os2_borger_dk.js
@@ -1,9 +1,9 @@
/**
- * @file os2web_borger_dk.js
+ * @file os2_borger_dk.js
*/
(function($) {
- Drupal.behaviors.os2web_borger_dk = {
+ Drupal.behaviors.os2_borger_dk = {
attach: function(context) {
$("div.mArticle").hide();
// borger.dk articles
diff --git a/os2web_borger_dk.admin.inc b/os2_borger_dk.admin.inc
similarity index 57%
rename from os2web_borger_dk.admin.inc
rename to os2_borger_dk.admin.inc
index 112a84a..8ef3548 100644
--- a/os2web_borger_dk.admin.inc
+++ b/os2_borger_dk.admin.inc
@@ -1,32 +1,32 @@
'vertical_tabs',
'#weight' => 0,
);
// Form element. It's a fieldset , "Toggle display"
- $form['os2web_borger_dk_settings'] = array(
+ $form['os2_borger_dk_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Toggle display'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
// Some of the fields are locked from from being changed.
- $locked_os2web_types = array(
- 'field_os2web_borger_dk_borgerurl' => 1,
- 'field_os2web_borger_dk_kle' => 2,
- 'field_os2web_borger_dk_formterm' => 2,
+ $locked_os2_types = array(
+ 'field_os2_borger_dk_borgerurl' => 1,
+ 'field_os2_borger_dk_kle' => 2,
+ 'field_os2_borger_dk_formterm' => 2,
);
- $data = field_info_instances('node', 'os2web_borger_dk_article');
+ $data = field_info_instances('node', 'os2_borger_dk_article');
$newdata = array();
$field_name = array();
$init = array();
@@ -34,16 +34,16 @@ function os2web_borger_dk_settings_form($form, $form_state) {
$newdata['title'] = t('Title');
$init['title'] = 'title';
foreach ($data as $type => $item) {
- if (empty($locked_os2web_types[$type])) {
+ if (empty($locked_os2_types[$type])) {
$field_name[$type] = $type;
}
- if (empty($locked_os2web_types[$type]) || (!empty($locked_os2web_types[$type]) && $locked_os2web_types[$type] == 1)) {
+ if (empty($locked_os2_types[$type]) || (!empty($locked_os2_types[$type]) && $locked_os2_types[$type] == 1)) {
// Only some of the locked types can be displayed.
$newdata[$type] = $item['label'];
$init[$type] = $type;
}
}
- $form_display = variable_get('os2web_borger_dk_display');
+ $form_display = variable_get('os2_borger_dk_display');
$selected = array();
if (isset($form_display) && !empty($form_display)) {
@@ -51,9 +51,9 @@ function os2web_borger_dk_settings_form($form, $form_state) {
}
elseif (!isset($form_display)) {
$selected = $field_name;
- variable_set('os2web_borger_dk_display', $field_name);
+ variable_set('os2_borger_dk_display', $field_name);
}
- $form['os2web_borger_dk_settings']['os2web_borger_dk_display'] = array(
+ $form['os2_borger_dk_settings']['os2_borger_dk_display'] = array(
'#type' => 'checkboxes',
'#title' => t('Visible article fields'),
'#options' => $newdata,
@@ -61,27 +61,27 @@ function os2web_borger_dk_settings_form($form, $form_state) {
'#default_value' => !empty($form_display) ? $selected : $init,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_2'] = array(
+ $form['os2_borger_dk_settings_2'] = array(
'#type' => 'fieldset',
'#title' => t('Editable article fields'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form_editable = variable_get('os2web_borger_dk_editable');
+ $form_editable = variable_get('os2_borger_dk_editable');
$selected2 = array();
if (isset($form_editable) && !empty($form_editable)) {
$selected2 = $form_editable;
}
elseif (!isset($form_editable)) {
$selected2 = $field_name;
- variable_set('os2web_borger_dk_editable', $selected2);
+ variable_set('os2_borger_dk_editable', $selected2);
}
- foreach ($locked_os2web_types as $type => $locked) {
+ foreach ($locked_os2_types as $type => $locked) {
unset($newdata[$type]);
unset($selected2[$type]);
unset($init[$type]);
}
- $form['os2web_borger_dk_settings_2']['os2web_borger_dk_editable'] = array(
+ $form['os2_borger_dk_settings_2']['os2_borger_dk_editable'] = array(
'#type' => 'checkboxes',
'#title' => t('Editable article fields'),
'#options' => $newdata,
@@ -90,7 +90,7 @@ function os2web_borger_dk_settings_form($form, $form_state) {
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_3'] = array(
+ $form['os2_borger_dk_settings_3'] = array(
'#type' => 'fieldset',
'#title' => t('Daily article syncronization'),
'#collapsible' => TRUE,
@@ -99,112 +99,148 @@ function os2web_borger_dk_settings_form($form, $form_state) {
$sync_options = drupal_map_assoc(range(1, 24));
$sync_options[0] = t('Disabled (Syncronize manually)');
- $form['os2web_borger_dk_settings_3']['os2web_borger_dk_nightly_article_sync'] = array(
+ $form['os2_borger_dk_settings_3']['os2_borger_dk_nightly_article_sync'] = array(
'#type' => 'select',
'#title' => t('Select when imported articles should be updated'),
'#options' => $sync_options,
'#description' => t('At what time of day should articles be syncronized with the Borger.dk-Webservice.'),
- '#default_value' => variable_get('os2web_borger_dk_nightly_article_sync'),
+ '#default_value' => variable_get('os2_borger_dk_nightly_article_sync'),
);
- $form['os2web_borger_dk_import_settings_4'] = array(
+ $form['os2_borger_dk_import_settings_4'] = array(
'#type' => 'fieldset',
'#title' => t('Borger.dk Webservice settings'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_import_settings_4']['os2web_borger_dk_webservice'] = array(
+ $form['os2_borger_dk_import_settings_4']['os2_borger_dk_webservice'] = array(
'#type' => 'textfield',
'#title' => t('Borger.dk Webservice URL'),
- '#default_value' => variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl'),
+ '#default_value' => variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl'),
'#group' => 'vertical_settings_tab',
'#size' => 60,
'#maxlength' => 130,
);
- $form['os2web_borger_dk_import_settings_4']['os2web_borger_dk_webservice_request_limit'] = array(
+ $form['os2_borger_dk_import_settings_4']['os2_borger_dk_webservice_request_limit'] = array(
'#type' => 'textfield',
'#title' => t('Webservice request limitation'),
'#description' => t("e.g this number of items (default is 100) can be fetched within the time-period limit"),
- '#default_value' => variable_get('os2web_borger_dk_webservice_request_limit', 100),
+ '#default_value' => variable_get('os2_borger_dk_webservice_request_limit', 100),
'#group' => 'vertical_settings_tab',
'#size' => 5,
'#maxlength' => 10,
);
- $form['os2web_borger_dk_import_settings_4']['os2web_borger_dk_webservice_time_limit'] = array(
+ $form['os2_borger_dk_import_settings_4']['os2_borger_dk_webservice_time_limit'] = array(
'#type' => 'textfield',
'#title' => t('Webservice request time-period limitation'),
'#description' => t("e.g within this number of seconds (default is 60) the webservice is limited to serve a given number of requests"),
- '#default_value' => variable_get('os2web_borger_dk_webservice_time_limit', 60),
+ '#default_value' => variable_get('os2_borger_dk_webservice_time_limit', 60),
'#group' => 'vertical_settings_tab',
'#size' => 5,
'#maxlength' => 10,
);
- $form['os2web_borger_dk_settings_5'] = array(
+ $form['os2_borger_dk_settings_5'] = array(
'#type' => 'fieldset',
'#title' => t('Borger.dk Title search'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_5']['os2web_borger_dk_titles_sync'] = array(
+ $form['os2_borger_dk_settings_5']['os2_borger_dk_titles_sync'] = array(
'#type' => 'checkbox',
'#title' => t('Import Borger.dk-articles by title instead of by URL'),
'#description' => t('Check to enable the title-search when importing articles from Borger.dk'),
- '#default_value' => variable_get('os2web_borger_dk_titles_sync', 1),
+ '#default_value' => variable_get('os2_borger_dk_titles_sync', 1),
);
- $form['os2web_borger_dk_settings_5']['os2web_borger_dk_titles_search_auto_submit'] = array(
+ $form['os2_borger_dk_settings_5']['os2_borger_dk_titles_search_auto_submit'] = array(
'#type' => 'checkbox',
'#title' => t('Activate auto-submit when selecting an article to import by its title.'),
'#description' => t('Check to enable the title-search auto-submit when importing articles from Borger.dk'),
- '#default_value' => variable_get('os2web_borger_dk_titles_search_auto_submit', 1),
+ '#default_value' => variable_get('os2_borger_dk_titles_search_auto_submit', 1),
);
- $form['os2web_borger_dk_settings_6'] = array(
+ $form['os2_borger_dk_settings_6'] = array(
'#type' => 'fieldset',
'#title' => t('Borger.dk Menu import'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_6']['os2web_borger_dk_menus_import'] = array(
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_menus_import'] = array(
'#type' => 'checkbox',
'#title' => t('Import and utilize Borger.dk-menus'),
'#description' => t('Check to enable the menu-import from Borger.dk.'),
- '#default_value' => variable_get('os2web_borger_dk_menus_import', 0),
+ '#default_value' => variable_get('os2_borger_dk_menus_import', 0),
);
- $form['os2web_borger_dk_settings_6']['os2web_borger_dk_borger_dk_menu_name'] = array(
+ $menu_page = node_type_get_types();
+ foreach ($menu_page as $key => $object) {
+ $menu_page[$key] = $object->name;
+ }
+
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_menus_menu_page'] = array(
+ '#type' => 'select',
+ '#options' => $menu_page,
+ '#title' => t('Import Menu page to content type'),
+ '#description' => t('Select menu page content type'),
+ '#default_value' => variable_get('os2_borger_dk_menus_menu_page', 'os2_base_contentpage'),
+ );
+
+ $term_vocabularies = taxonomy_get_vocabularies();
+ $term_options = array();
+ if ($term_vocabularies) {
+ foreach ($term_vocabularies as $term_parent) {
+ $term_name = $term_parent->name;
+ $term = $term_parent->machine_name;
+ $term_options[$term] = $term_name;
+ }
+ }
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_choose_term'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Import menu link to term'),
+ '#description' => t('Import menu link to term, not content type.'),
+ '#default_value' => variable_get('os2_borger_dk_choose_term', 0),
+ );
+ $form['os2_borger_dk_settings_6']['build_borger_menu_under_vocabulary'] = array(
+ '#type' => 'select',
+ '#title' => t('Select Borger.dk menu Parent Taxonomy Item'),
+ '#options' => $term_options,
+ '#description' => t('Select Borger.dk menu Parent Item from the list. REMEMBER to save before you start Menu import.'),
+ '#default_value' => variable_get('build_borger_menu_under_vocabulary', 'os2_base_tax_site_structure'),
+ '#type' => 'select',
+ );
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_borger_dk_menu_name'] = array(
'#type' => 'textfield',
'#title' => t('Menu name for imported Borger.dk-menu'),
'#description' => t("The imported menu will be put into a local menu by the name given here."),
- '#default_value' => variable_get('os2web_borger_dk_borger_dk_menu_name', 'Borger.dk menu'),
+ '#default_value' => variable_get('os2_borger_dk_borger_dk_menu_name', 'Borger.dk menu'),
);
//$sync_options = drupal_map_assoc(range(1, 24));
//$sync_options[0] = t('Disabled (No menu syncronization)');
- /*$form['os2web_borger_dk_settings_6']['os2web_borger_dk_nightly_menu_sync'] = array(
+ /*$form['os2_borger_dk_settings_6']['os2_borger_dk_nightly_menu_sync'] = array(
'#type' => 'select',
'#title' => t('Select when the menu-structure should be imported'),
'#options' => $sync_options,
'#description' => t('At what time of day should menus be syncronized with the Borger.dk-Webservice.'),
- '#default_value' => variable_get('os2web_borger_dk_nightly_menu_sync'),
+ '#default_value' => variable_get('os2_borger_dk_nightly_menu_sync'),
);
- $form['os2web_borger_dk_settings_6']['os2web_borger_dk_weekly_borger_dk_menus_import'] = array(
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_weekly_borger_dk_menus_import'] = array(
'#type' => 'checkbox',
'#title' => t('Should Borger.dk-menus be updated weekly'),
'#description' => t('Check to enable weekly menu-import from Borger.dk (otherwise menus are imported daily)'),
- '#default_value' => variable_get('os2web_borger_dk_weekly_borger_dk_menus_import', 0),
+ '#default_value' => variable_get('os2_borger_dk_weekly_borger_dk_menus_import', 0),
);*/
- $form['os2web_borger_dk_settings_6']['os2web_borger_dk_menu_import_description'] = array(
+ $form['os2_borger_dk_settings_6']['os2_borger_dk_menu_import_description'] = array(
'#type' => 'fieldset',
'#title' => t('Description for importing Borger.dk menu structure'),
- '#description' => t("Before you import Borger.dk menu structure, please create a content type
- which is called 'menu_page'(machine name) with title and body fields.
+ '#description' => t("Before you import Borger.dk menu structure, please choose a content type
+ which default is OS2web base contentpage (Indholdsside).
Step1 : Please import Borger.dk-menu items now.
Step2 : When Borger.dk menu items are imported, please import all Borger.dk articles.
Step 3 : Create Borger.dk menu structure now."),
);
$menu_option = array();
$existing_menu = db_query('SELECT * FROM {menu_custom}');
- $menu_option['borgerdkmenu2'] = variable_get('os2web_borger_dk_borger_dk_menu_name', 'Borger.dk menu');
+ $menu_option['borgerdkmenu2'] = variable_get('os2_borger_dk_borger_dk_menu_name', 'Borger.dk menu');
if ($existing_menu) {
foreach ($existing_menu as $menu_item) {
$menu_name = $menu_item->menu_name;
@@ -212,7 +248,7 @@ function os2web_borger_dk_settings_form($form, $form_state) {
$menu_option[$menu_name] = $menu_title;
}
}
- $form['os2web_borger_dk_settings_6']['build_borger_menu_under_menu'] = array(
+ $form['os2_borger_dk_settings_6']['build_borger_menu_under_menu'] = array(
'#type' => 'select',
'#title' => t('Select Borger.dk menu Parent Item'),
'#options' => $menu_option,
@@ -224,70 +260,70 @@ function os2web_borger_dk_settings_form($form, $form_state) {
$disabled = FALSE;
$description = '';
- $menus_import = variable_get('os2web_borger_dk_menus_import', 0);
+ $menus_import = variable_get('os2_borger_dk_menus_import', 0);
if ($menus_import == 0) {
$disabled = TRUE;
$description = t('If you want to import the Borger.dk menu you must first activate "Import and utilize Borger.dk-menus" and save the settings');
drupal_set_message($description);
}
- $form['os2web_borger_dk_settings_6']['submit'] = array(
+ $form['os2_borger_dk_settings_6']['submit'] = array(
'#type' => 'submit',
'#value' => 'Import Borger.dk-menu now',
- '#submit' => array('os2web_borger_dk_import_menu_now_form_submit'),
+ '#submit' => array('os2_borger_dk_import_menu_now_form_submit'),
'#disabled' => $disabled,
// '#description' => t(' Step1 : Please import Borger.dk menu items.'),
);
- $form['os2web_borger_dk_settings_6']['import_all_articles_now'] = array(
+ $form['os2_borger_dk_settings_6']['import_all_articles_now'] = array(
'#type' => 'submit',
'#value' => 'Import Borger.dk articles',
- '#submit' => array('os2web_borger_dk_import_articles_now_form_submit'),
+ '#submit' => array('os2_borger_dk_import_articles_now_form_submit'),
'#disabled' => $disabled,
'#description' => t('Step2 : When Borger.dk menu items are imported, please import all Borger.dk articles.'),
);
- $form['os2web_borger_dk_settings_6']['create_borger_dk_menu_links'] = array(
+ $form['os2_borger_dk_settings_6']['create_borger_dk_menu_links'] = array(
'#type' => 'submit',
'#value' => t('Create Borger.dk menu structure now'),
- '#submit' => array('os2web_borger_dk_create_borger_dk_menu_now_form_submit'),
+ '#submit' => array('os2_borger_dk_create_borger_dk_menu_now_form_submit'),
'#disabled' => $disabled,
'#description' => t('Step 3 : Create Borger.dk menu structure now.'),
);
- $form['os2web_borger_dk_settings_7'] = array(
+ $form['os2_borger_dk_settings_7'] = array(
'#type' => 'fieldset',
'#title' => t('Microarticles visibility and editability'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_7']['os2web_borger_dk_microarticle_active'] = array(
+ $form['os2_borger_dk_settings_7']['os2_borger_dk_microarticle_active'] = array(
'#type' => 'checkbox',
'#title' => t('Show and edit microarticles individually'),
'#description' => t('Check to enable visibility and editablity of microarticles from Borger.dk'),
- '#default_value' => variable_get('os2web_borger_dk_microarticle_active', 0),
+ '#default_value' => variable_get('os2_borger_dk_microarticle_active', 0),
);
- $options = variable_get('os2web_borger_dk_municipality_list');
+ $options = variable_get('os2_borger_dk_municipality_list');
if (isset($options)) {
$muni_items = $options;
}
else {
$muni_items = array();
- $municipalities = _os2web_borger_dk_GetMunicipalityList();
+ $municipalities = _os2_borger_dk_GetMunicipalityList();
$muni_items[0] = t('--Not selected--');
foreach ($municipalities as $code => $item) {
$muni_items[$item['MunicipalityCode']] = $item['MunicipalityName'];
}
- variable_set('os2web_borger_dk_municipality_list', $muni_items);
+ variable_set('os2_borger_dk_municipality_list', $muni_items);
}
- $admin_municipality = variable_get('os2web_borger_dk_municipality_active');
- $form['os2web_borger_dk_settings_8'] = array(
+ $admin_municipality = variable_get('os2_borger_dk_municipality_active');
+ $form['os2_borger_dk_settings_8'] = array(
'#type' => 'fieldset',
'#title' => t('Municipality import option'),
'#collapsible' => TRUE,
'#group' => 'vertical_settings_tab',
);
- $form['os2web_borger_dk_settings_8']['os2web_borger_dk_municipality_active'] = array(
+ $form['os2_borger_dk_settings_8']['os2_borger_dk_municipality_active'] = array(
'#type' => 'select',
'#title' => t('Select municipality'),
@@ -295,16 +331,28 @@ function os2web_borger_dk_settings_form($form, $form_state) {
'#description' => t('Check to import articles from Borger.dk according to municipality.'),
'#default_value' => $admin_municipality,
);
+ $form['os2_borger_dk_settings_9'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Import duplicate'),
+ '#collapsible' => TRUE,
+ '#group' => 'vertical_settings_tab',
+ );
+ $form['os2_borger_dk_settings_9']['os2_borger_dk_import_duplicate'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Allow article import duplicated.'),
+ '#description' => t('Allow to import aricle many times.'),
+ '#default_value' => variable_get('os2_borger_dk_import_duplicate', 0),
+ );
return system_settings_form($form);
}
/**
- * Function _os2web_borger_dk_GetMunicipalityList().
+ * Function _os2_borger_dk_GetMunicipalityList().
*
* This function uses the Borger.dk Webservice GetMunicipalityList
* in order to fetch a list of Municipality-codes from Borger.dk
*/
-function _os2web_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
+function _os2_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
$errors = array();
$municipality_item = array();
@@ -312,11 +360,11 @@ function _os2web_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_v
// find the article-ID from the Borger.dk-URL.
$client = new SoapClient($wsdl, array('exceptions' => 0));
// First we make sure to keep requests/minute within given limits.
- // _os2web_borger_dk_articles_check_webservice_constraints();
+ // _os2_borger_dk_articles_check_webservice_constraints();
// Then we execute our webservice-request.
$result_list = $client->GetMunicipalityList();
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_articles_translate_soap_fault('GetMunicipalityList', $result_list->faultcode, $result_list->faultstring);
+ $errors = _os2_borger_dk_articles_translate_soap_fault('GetMunicipalityList', $result_list->faultcode, $result_list->faultstring);
return $errors;
}
@@ -324,7 +372,7 @@ function _os2web_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_v
// Then we get the result-list from the specified webservice.
$municipality_list = $result_list->GetMunicipalityListResult;
if (is_soap_fault($municipality_list)) {
- $errors = _os2web_borger_dk_articles_translate_soap_fault('GetMunicipalityListResult', $municipality_list->faultcode, $municipality_list->faultstring);
+ $errors = _os2_borger_dk_articles_translate_soap_fault('GetMunicipalityListResult', $municipality_list->faultcode, $municipality_list->faultstring);
return $errors;
}
@@ -333,12 +381,12 @@ function _os2web_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_v
// arrays of wanted field-sets.
if (is_array($municipality_list->Municipality)) {
foreach ($municipality_list->Municipality as $id => $menu_item) {
- $new_item = _os2web_borger_dk_articles_parse_borgerdk_municipality_item($menu_item);
+ $new_item = _os2_borger_dk_articles_parse_borgerdk_municipality_item($menu_item);
$municipality_item[] = $new_item;
}
}
else {
- $new_item = _os2web_borger_dk_articles_parse_borgerdk_municipality_item($municipality_list->Municipality);
+ $new_item = _os2_borger_dk_articles_parse_borgerdk_municipality_item($municipality_list->Municipality);
$municipality_item[] = $new_item;
}
}
@@ -347,12 +395,12 @@ function _os2web_borger_dk_GetMunicipalityList($wsdl = 'https://www.borger.dk/_v
}
/**
- * Function _os2web_borger_dk_articles_parse_borgerdk_municipality_item().
+ * Function _os2_borger_dk_articles_parse_borgerdk_municipality_item().
*
* This function parses a Borger.dk-ArticleDescription and extracts all
* the field values we want for our list of titles (for autocompletion etc)
*/
-function _os2web_borger_dk_articles_parse_borgerdk_municipality_item($menu_item) {
+function _os2_borger_dk_articles_parse_borgerdk_municipality_item($menu_item) {
$borgerdk_menu = array(
'MunicipalityCode' => $menu_item->MunicipalityCode,
'MunicipalityName' => $menu_item->MunicipalityName,
diff --git a/os2web_borger_dk.features.field.inc b/os2_borger_dk.features.field.inc
similarity index 89%
rename from os2web_borger_dk.features.field.inc
rename to os2_borger_dk.features.field.inc
index 5dc83e8..6b8b1b5 100644
--- a/os2web_borger_dk.features.field.inc
+++ b/os2_borger_dk.features.field.inc
@@ -1,17 +1,17 @@
array(
'active' => '1',
'cardinality' => '1',
@@ -40,7 +40,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_with_summary',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'summary' => '',
@@ -130,14 +130,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_image'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_image'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_image'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_image'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '-1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_image',
+ 'field_name' => 'field_os2_borger_dk_image',
'foreign keys' => array(
'fid' => array(
'columns' => array(
@@ -161,7 +161,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'image',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'deleted' => '0',
'description' => '',
'display' => array(
@@ -189,7 +189,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_image',
+ 'field_name' => 'field_os2_borger_dk_image',
'label' => 'Billede',
'required' => 0,
'settings' => array(
@@ -231,14 +231,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_borgerurl'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_borgerurl'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_borgerurl'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_borgerurl'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_borgerurl',
+ 'field_name' => 'field_os2_borger_dk_borgerurl',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -261,7 +261,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
@@ -286,7 +286,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_borgerurl',
+ 'field_name' => 'field_os2_borger_dk_borgerurl',
'label' => 'Borger.dk-URL',
'required' => 0,
'settings' => array(
@@ -343,14 +343,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_byline'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_byline'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_byline'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_byline'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_byline',
+ 'field_name' => 'field_os2_borger_dk_byline',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -373,7 +373,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
@@ -399,7 +399,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_byline',
+ 'field_name' => 'field_os2_borger_dk_byline',
'label' => 'Byline',
'required' => 0,
'settings' => array(
@@ -456,14 +456,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_formterm'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_formterm'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_formterm'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_formterm'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '-1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_formterm',
+ 'field_name' => 'field_os2_borger_dk_formterm',
'foreign keys' => array(
'tid' => array(
'columns' => array(
@@ -482,7 +482,7 @@ function os2web_borger_dk_field_default_fields() {
'settings' => array(
'allowed_values' => array(
0 => array(
- 'vocabulary' => 'os2web_borger_dk_form_menu',
+ 'vocabulary' => 'os2_borger_dk_form_menu',
'parent' => '0',
),
),
@@ -492,7 +492,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'taxonomy_term_reference',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
@@ -517,7 +517,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_formterm',
+ 'field_name' => 'field_os2_borger_dk_formterm',
'label' => 'FORM Emneord',
'required' => 0,
'settings' => array(
@@ -537,14 +537,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_header'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_header'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_header'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_header'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_header',
+ 'field_name' => 'field_os2_borger_dk_header',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -565,7 +565,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -596,7 +596,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_header',
+ 'field_name' => 'field_os2_borger_dk_header',
'label' => 'Header',
'required' => 0,
'settings' => array(
@@ -653,14 +653,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_legislati'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_legislati'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_legislati'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_legislati'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_legislati',
+ 'field_name' => 'field_os2_borger_dk_legislati',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -681,7 +681,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -712,7 +712,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_legislati',
+ 'field_name' => 'field_os2_borger_dk_legislati',
'label' => 'Legislation',
'required' => 0,
'settings' => array(
@@ -769,14 +769,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_pagetitle'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_pagetitle'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_pagetitle'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_pagetitle'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_pagetitle',
+ 'field_name' => 'field_os2_borger_dk_pagetitle',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -799,7 +799,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
@@ -825,7 +825,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_pagetitle',
+ 'field_name' => 'field_os2_borger_dk_pagetitle',
'label' => 'Page title',
'required' => 0,
'settings' => array(
@@ -882,14 +882,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_post_text'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_post_text'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_post_text'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_post_text'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_post_text',
+ 'field_name' => 'field_os2_borger_dk_post_text',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -910,7 +910,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -940,7 +940,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_post_text',
+ 'field_name' => 'field_os2_borger_dk_post_text',
'label' => 'Post-text',
'required' => 0,
'settings' => array(
@@ -997,14 +997,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_pre_text'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_pre_text'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_pre_text'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_pre_text'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_pre_text',
+ 'field_name' => 'field_os2_borger_dk_pre_text',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -1025,7 +1025,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -1056,7 +1056,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_pre_text',
+ 'field_name' => 'field_os2_borger_dk_pre_text',
'label' => 'Pre-text',
'required' => 0,
'settings' => array(
@@ -1113,14 +1113,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_recommend'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_recommend'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_recommend'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_recommend'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_recommend',
+ 'field_name' => 'field_os2_borger_dk_recommend',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -1141,7 +1141,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -1172,7 +1172,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_recommend',
+ 'field_name' => 'field_os2_borger_dk_recommend',
'label' => 'Recommended',
'required' => 0,
'settings' => array(
@@ -1229,14 +1229,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_selfservi'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_selfservi'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_selfservi'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_selfservi'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_selfservi',
+ 'field_name' => 'field_os2_borger_dk_selfservi',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -1257,7 +1257,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -1288,7 +1288,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_selfservi',
+ 'field_name' => 'field_os2_borger_dk_selfservi',
'label' => 'Portalservice/self-service',
'required' => 0,
'settings' => array(
@@ -1345,14 +1345,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_shortlist'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_shortlist'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_shortlist'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_shortlist'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_shortlist',
+ 'field_name' => 'field_os2_borger_dk_shortlist',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -1373,7 +1373,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'text_long',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -1404,7 +1404,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_shortlist',
+ 'field_name' => 'field_os2_borger_dk_shortlist',
'label' => 'Shortlist',
'required' => 0,
'settings' => array(
@@ -1461,14 +1461,14 @@ function os2web_borger_dk_field_default_fields() {
),
);
- // Exported field: 'node-os2web_borger_dk_article-field_os2web_borger_dk_kle'.
- $fields['node-os2web_borger_dk_article-field_os2web_borger_dk_kle'] = array(
+ // Exported field: 'node-os2_borger_dk_article-field_os2_borger_dk_kle'.
+ $fields['node-os2_borger_dk_article-field_os2_borger_dk_kle'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '-1',
'deleted' => '0',
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_kle',
+ 'field_name' => 'field_os2_borger_dk_kle',
'foreign keys' => array(
'tid' => array(
'columns' => array(
@@ -1497,7 +1497,7 @@ function os2web_borger_dk_field_default_fields() {
'type' => 'taxonomy_term_reference',
),
'field_instance' => array(
- 'bundle' => 'os2web_borger_dk_article',
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
@@ -1522,7 +1522,7 @@ function os2web_borger_dk_field_default_fields() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_kle',
+ 'field_name' => 'field_os2_borger_dk_kle',
'label' => 'KL Emneord',
'required' => 0,
'settings' => array(
diff --git a/os2web_borger_dk.features.field_base.inc b/os2_borger_dk.features.field_base.inc
similarity index 74%
rename from os2web_borger_dk.features.field_base.inc
rename to os2_borger_dk.features.field_base.inc
index de1617d..ebdfffe 100644
--- a/os2web_borger_dk.features.field_base.inc
+++ b/os2_borger_dk.features.field_base.inc
@@ -1,22 +1,22 @@
1,
'cardinality' => -1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_image',
+ 'field_name' => 'field_os2_borger_dk_image',
'foreign keys' => array(
'fid' => array(
'columns' => array(
@@ -40,13 +40,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'image',
);
- // Exported field_base: 'field_os2web_borger_dk_borgerurl'
- $field_bases['field_os2web_borger_dk_borgerurl'] = array(
+ // Exported field_base: 'field_os2_borger_dk_borgerurl'
+ $field_bases['field_os2_borger_dk_borgerurl'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_borgerurl',
+ 'field_name' => 'field_os2_borger_dk_borgerurl',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -69,13 +69,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text',
);
- // Exported field_base: 'field_os2web_borger_dk_byline'
- $field_bases['field_os2web_borger_dk_byline'] = array(
+ // Exported field_base: 'field_os2_borger_dk_byline'
+ $field_bases['field_os2_borger_dk_byline'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_byline',
+ 'field_name' => 'field_os2_borger_dk_byline',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -98,13 +98,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text',
);
- // Exported field_base: 'field_os2web_borger_dk_formterm'
- $field_bases['field_os2web_borger_dk_formterm'] = array(
+ // Exported field_base: 'field_os2_borger_dk_formterm'
+ $field_bases['field_os2_borger_dk_formterm'] = array(
'active' => 1,
'cardinality' => -1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_formterm',
+ 'field_name' => 'field_os2_borger_dk_formterm',
'foreign keys' => array(
'tid' => array(
'columns' => array(
@@ -123,7 +123,7 @@ function os2web_borger_dk_field_default_field_bases() {
'settings' => array(
'allowed_values' => array(
0 => array(
- 'vocabulary' => 'os2web_borger_dk_form_menu',
+ 'vocabulary' => 'os2_borger_dk_form_menu',
'parent' => 0,
),
),
@@ -133,13 +133,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'taxonomy_term_reference',
);
- // Exported field_base: 'field_os2web_borger_dk_header'
- $field_bases['field_os2web_borger_dk_header'] = array(
+ // Exported field_base: 'field_os2_borger_dk_header'
+ $field_bases['field_os2_borger_dk_header'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_header',
+ 'field_name' => 'field_os2_borger_dk_header',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -160,13 +160,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_legislati'
- $field_bases['field_os2web_borger_dk_legislati'] = array(
+ // Exported field_base: 'field_os2_borger_dk_legislati'
+ $field_bases['field_os2_borger_dk_legislati'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_legislati',
+ 'field_name' => 'field_os2_borger_dk_legislati',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -187,13 +187,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_pagetitle'
- $field_bases['field_os2web_borger_dk_pagetitle'] = array(
+ // Exported field_base: 'field_os2_borger_dk_pagetitle'
+ $field_bases['field_os2_borger_dk_pagetitle'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_pagetitle',
+ 'field_name' => 'field_os2_borger_dk_pagetitle',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -216,13 +216,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text',
);
- // Exported field_base: 'field_os2web_borger_dk_post_text'
- $field_bases['field_os2web_borger_dk_post_text'] = array(
+ // Exported field_base: 'field_os2_borger_dk_post_text'
+ $field_bases['field_os2_borger_dk_post_text'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_post_text',
+ 'field_name' => 'field_os2_borger_dk_post_text',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -243,13 +243,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_pre_text'
- $field_bases['field_os2web_borger_dk_pre_text'] = array(
+ // Exported field_base: 'field_os2_borger_dk_pre_text'
+ $field_bases['field_os2_borger_dk_pre_text'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_pre_text',
+ 'field_name' => 'field_os2_borger_dk_pre_text',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -270,13 +270,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_recommend'
- $field_bases['field_os2web_borger_dk_recommend'] = array(
+ // Exported field_base: 'field_os2_borger_dk_recommend'
+ $field_bases['field_os2_borger_dk_recommend'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_recommend',
+ 'field_name' => 'field_os2_borger_dk_recommend',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -297,13 +297,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_selfservi'
- $field_bases['field_os2web_borger_dk_selfservi'] = array(
+ // Exported field_base: 'field_os2_borger_dk_selfservi'
+ $field_bases['field_os2_borger_dk_selfservi'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_selfservi',
+ 'field_name' => 'field_os2_borger_dk_selfservi',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -324,13 +324,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_shortlist'
- $field_bases['field_os2web_borger_dk_shortlist'] = array(
+ // Exported field_base: 'field_os2_borger_dk_shortlist'
+ $field_bases['field_os2_borger_dk_shortlist'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_shortlist',
+ 'field_name' => 'field_os2_borger_dk_shortlist',
'foreign keys' => array(
'format' => array(
'columns' => array(
@@ -351,13 +351,13 @@ function os2web_borger_dk_field_default_field_bases() {
'type' => 'text_long',
);
- // Exported field_base: 'field_os2web_borger_dk_kle'
- $field_bases['field_os2web_borger_dk_kle'] = array(
+ // Exported field_base: 'field_os2_borger_dk_kle'
+ $field_bases['field_os2_borger_dk_kle'] = array(
'active' => 1,
'cardinality' => -1,
'deleted' => 0,
'entity_types' => array(),
- 'field_name' => 'field_os2web_borger_dk_kle',
+ 'field_name' => 'field_os2_borger_dk_kle',
'foreign keys' => array(
'tid' => array(
'columns' => array(
diff --git a/os2web_borger_dk.features.field_instance.inc b/os2_borger_dk.features.field_instance.inc
similarity index 87%
rename from os2web_borger_dk.features.field_instance.inc
rename to os2_borger_dk.features.field_instance.inc
index 5099ed2..83a2f3a 100644
--- a/os2web_borger_dk.features.field_instance.inc
+++ b/os2_borger_dk.features.field_instance.inc
@@ -1,18 +1,18 @@
'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-body'
+ $field_instances['node-os2_borger_dk_article-body'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'summary' => '',
@@ -101,9 +101,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_image'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_image'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_image'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_image'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'deleted' => 0,
'description' => '',
'display' => array(
@@ -131,7 +131,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_image',
+ 'field_name' => 'field_os2_borger_dk_image',
'label' => 'Billede',
'required' => 0,
'settings' => array(
@@ -172,9 +172,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_borgerurl'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_borgerurl'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_borgerurl'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_borgerurl'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
@@ -199,7 +199,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_borgerurl',
+ 'field_name' => 'field_os2_borger_dk_borgerurl',
'label' => 'Borger.dk-URL',
'required' => 0,
'settings' => array(
@@ -255,9 +255,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_byline'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_byline'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_byline'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_byline'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
@@ -283,7 +283,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_byline',
+ 'field_name' => 'field_os2_borger_dk_byline',
'label' => 'Byline',
'required' => 0,
'settings' => array(
@@ -339,9 +339,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_formterm'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_formterm'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_formterm'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_formterm'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
@@ -366,7 +366,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_formterm',
+ 'field_name' => 'field_os2_borger_dk_formterm',
'label' => 'FORM Emneord',
'required' => 0,
'settings' => array(
@@ -385,9 +385,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_header'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_header'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_header'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_header'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -418,7 +418,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_header',
+ 'field_name' => 'field_os2_borger_dk_header',
'label' => 'Header',
'required' => 0,
'settings' => array(
@@ -474,9 +474,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_legislati'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_legislati'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_legislati'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_legislati'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -507,7 +507,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_legislati',
+ 'field_name' => 'field_os2_borger_dk_legislati',
'label' => 'Legislation',
'required' => 0,
'settings' => array(
@@ -563,9 +563,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_pagetitle'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_pagetitle'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_pagetitle'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_pagetitle'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
@@ -591,7 +591,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_pagetitle',
+ 'field_name' => 'field_os2_borger_dk_pagetitle',
'label' => 'Page title',
'required' => 0,
'settings' => array(
@@ -647,9 +647,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_post_text'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_post_text'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_post_text'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_post_text'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -679,7 +679,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_post_text',
+ 'field_name' => 'field_os2_borger_dk_post_text',
'label' => 'Post-text',
'required' => 0,
'settings' => array(
@@ -735,9 +735,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_pre_text'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_pre_text'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_pre_text'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_pre_text'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -768,7 +768,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_pre_text',
+ 'field_name' => 'field_os2_borger_dk_pre_text',
'label' => 'Pre-text',
'required' => 0,
'settings' => array(
@@ -824,9 +824,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_recommend'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_recommend'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_recommend'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_recommend'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -857,7 +857,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_recommend',
+ 'field_name' => 'field_os2_borger_dk_recommend',
'label' => 'Recommended',
'required' => 0,
'settings' => array(
@@ -913,9 +913,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_selfservi'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_selfservi'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_selfservi'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_selfservi'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -946,7 +946,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_selfservi',
+ 'field_name' => 'field_os2_borger_dk_selfservi',
'label' => 'Portalservice/self-service',
'required' => 0,
'settings' => array(
@@ -1002,9 +1002,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_shortlist'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_shortlist'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_shortlist'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_shortlist'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => array(
0 => array(
'value' => '',
@@ -1035,7 +1035,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_shortlist',
+ 'field_name' => 'field_os2_borger_dk_shortlist',
'label' => 'Shortlist',
'required' => 0,
'settings' => array(
@@ -1091,9 +1091,9 @@ function os2web_borger_dk_field_default_field_instances() {
),
);
- // Exported field_instance: 'node-os2web_borger_dk_article-field_os2web_borger_dk_kle'
- $field_instances['node-os2web_borger_dk_article-field_os2web_borger_dk_kle'] = array(
- 'bundle' => 'os2web_borger_dk_article',
+ // Exported field_instance: 'node-os2_borger_dk_article-field_os2_borger_dk_kle'
+ $field_instances['node-os2_borger_dk_article-field_os2_borger_dk_kle'] = array(
+ 'bundle' => 'os2_borger_dk_article',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
@@ -1118,7 +1118,7 @@ function os2web_borger_dk_field_default_field_instances() {
),
),
'entity_type' => 'node',
- 'field_name' => 'field_os2web_borger_dk_kle',
+ 'field_name' => 'field_os2_borger_dk_kle',
'label' => 'KL Emneord',
'required' => 0,
'settings' => array(
diff --git a/os2web_borger_dk.features.inc b/os2_borger_dk.features.inc
similarity index 77%
rename from os2web_borger_dk.features.inc
rename to os2_borger_dk.features.inc
index 458f4b7..472298e 100644
--- a/os2web_borger_dk.features.inc
+++ b/os2_borger_dk.features.inc
@@ -1,13 +1,13 @@
"1");
@@ -17,9 +17,9 @@ function os2web_borger_dk_ctools_plugin_api() {
/**
* Implements hook_node_info().
*/
-function os2web_borger_dk_node_info() {
+function os2_borger_dk_node_info() {
$items = array(
- 'os2web_borger_dk_article' => array(
+ 'os2_borger_dk_article' => array(
'name' => t('Borger.dk article'),
'base' => 'node_content',
'description' => t('Handles articles from Borger.dk. Including integration with the Borger.dk-webservice'),
diff --git a/os2web_borger_dk.features.taxonomy.inc b/os2_borger_dk.features.taxonomy.inc
similarity index 50%
rename from os2web_borger_dk.features.taxonomy.inc
rename to os2_borger_dk.features.taxonomy.inc
index 4519f40..68b1b74 100644
--- a/os2web_borger_dk.features.taxonomy.inc
+++ b/os2_borger_dk.features.taxonomy.inc
@@ -1,12 +1,12 @@
1, 'field_os2web_borger_dk_kle' => 2);
+ $locked_os2_types = array('field_os2_borger_dk_borgerurl' => 1, 'field_os2_borger_dk_kle' => 2);
if (!empty($data)) {
$edit_field_names = array('title' => 'title');
$display_field_names = array('title' => 'title');
foreach ($data as $type => $item) {
- if (empty($locked_os2web_types[$type])) {
+ if (empty($locked_os2_types[$type])) {
$edit_field_names[$type] = $type;
}
- if (empty($locked_os2web_types[$type]) || $locked_os2web_types[$type] == 1) {
+ if (empty($locked_os2_types[$type]) || $locked_os2_types[$type] == 1) {
// Only some locked types are visible. Others are taxonomies etc.
$display_field_names[$type] = $type;
}
}
- variable_set('os2web_borger_dk_display', $display_field_names);
- variable_set('os2web_borger_dk_editable', $edit_field_names);
- variable_set('os2web_borger_dk_admin_last_settings', $display_field_names);
+ variable_set('os2_borger_dk_display', $display_field_names);
+ variable_set('os2_borger_dk_editable', $edit_field_names);
+ variable_set('os2_borger_dk_admin_last_settings', $display_field_names);
}
else {
- variable_set('os2web_borger_dk_display', array());
- variable_set('os2web_borger_dk_editable', array());
+ variable_set('os2_borger_dk_display', array());
+ variable_set('os2_borger_dk_editable', array());
}
- variable_set('os2web_borger_dk_municipality_active', '0');
- variable_set('os2web_borger_dk_nightly_article_sync', '0');
- variable_set('os2web_borger_dk_last_update', 1970);
- variable_set('os2web_borger_dk_menus_last_update', 1970);
- variable_set('os2web_borger_dk_form_last_update', 1970);
- variable_set('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- variable_set('os2web_borger_dk_webservice_request_limit', 100);
- variable_set('os2web_borger_dk_webservice_time_limit', 60);
- variable_set('os2web_borger_dk_webservice_request_counter', 0);
- variable_set('os2web_borger_dk_webservice_time_counter', time());
- variable_set('os2web_borger_dk_titles_sync', 1);
- variable_set('os2web_borger_dk_titles_search_auto_submit', 1);
- variable_set('os2web_borger_dk_menus_import', 0);
- variable_set('os2web_borger_dk_nightly_menu_sync', '0');
- variable_set('os2web_borger_dk_microarticle_active', '0');
- variable_set('os2web_borger_dk_weekly_borger_dk_menus_import', 0);
- variable_set('os2web_borger_dk_old_menu_structure', '');
- variable_set('os2web_borger_dk_borger_dk_menu_name', 'Borger.dk menu');
- variable_set('os2web_borger_dk_not_found_menu_mlid', 0);
- variable_set('os2web_borger_dk_form_menu_vid', FALSE);
- variable_set('os2web_borger_dk_form_menu_tid_other', FALSE);
- variable_set('os2web_borger_dk_old_form_structure', FALSE);
+ variable_set('os2_borger_dk_municipality_active', '0');
+ variable_set('os2_borger_dk_nightly_article_sync', '0');
+ variable_set('os2_borger_dk_last_update', 1970);
+ variable_set('os2_borger_dk_menus_last_update', 1970);
+ variable_set('os2_borger_dk_form_last_update', 1970);
+ variable_set('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ variable_set('os2_borger_dk_webservice_request_limit', 100);
+ variable_set('os2_borger_dk_webservice_time_limit', 60);
+ variable_set('os2_borger_dk_webservice_request_counter', 0);
+ variable_set('os2_borger_dk_webservice_time_counter', time());
+ variable_set('os2_borger_dk_titles_sync', 1);
+ variable_set('os2_borger_dk_titles_search_auto_submit', 1);
+ variable_set('os2_borger_dk_menus_import', 0);
+ variable_set('os2_borger_dk_nightly_menu_sync', '0');
+ variable_set('os2_borger_dk_microarticle_active', '0');
+ variable_set('os2_borger_dk_weekly_borger_dk_menus_import', 0);
+ variable_set('os2_borger_dk_old_menu_structure', '');
+ variable_set('os2_borger_dk_borger_dk_menu_name', 'Borger.dk menu');
+ variable_set('os2_borger_dk_not_found_menu_mlid', 0);
+ variable_set('os2_borger_dk_form_menu_vid', FALSE);
+ variable_set('os2_borger_dk_form_menu_tid_other', FALSE);
+ variable_set('os2_borger_dk_old_form_structure', FALSE);
// Next we populate the titles-table for title-autocomplete
- _os2web_borger_dk_titles_cronbatch(TRUE);
+ _os2_borger_dk_titles_cronbatch(TRUE);
}
/**
* Implements hook_enable().
*/
-function os2web_borger_dk_enable() {
+function os2_borger_dk_enable() {
drupal_set_message(t('The OS2web - Borger.dk Articles module was successfully enabled.'), 'status');
- drupal_set_message(t('You should configure the module here "!url" before using it.', array('!url' => l(t('Borger.dk Settings'), 'admin/config/os2web_borger_dk/settings'))), 'warning');
+ drupal_set_message(t('You should configure the module here "!url" before using it.', array('!url' => l(t('Borger.dk Settings'), 'admin/config/os2_borger_dk/settings'))), 'warning');
}
/**
* Implements hook_schema().
*/
-function os2web_borger_dk_schema() {
- $schema['os2web_borger_dk_article'] = array(
+function os2_borger_dk_schema() {
+ $schema['os2_borger_dk_article'] = array(
'description' => 'Table for storing the individual article items imported from Borger.dk.',
'fields' => array(
'nid' => array(
@@ -171,7 +171,7 @@ function os2web_borger_dk_schema() {
),
);
- $schema['os2web_borger_dk_article_titles'] = array(
+ $schema['os2_borger_dk_article_titles'] = array(
'description' => 'Table for storing a list of availlable article items, and articles imported from Borger.dk.',
'fields' => array(
'ArticleID' => array(
diff --git a/os2web_borger_dk.make b/os2_borger_dk.make
similarity index 100%
rename from os2web_borger_dk.make
rename to os2_borger_dk.make
diff --git a/os2web_borger_dk.module b/os2_borger_dk.module
similarity index 50%
rename from os2web_borger_dk.module
rename to os2_borger_dk.module
index 43433af..9ac2c8a 100644
--- a/os2web_borger_dk.module
+++ b/os2_borger_dk.module
@@ -2,22 +2,22 @@
/**
* @file
- * Code for the OS2web - Borger.dk feature.
+ * Code for the OS2 - Borger.dk feature.
*/
-include_once 'os2web_borger_dk.features.inc';
+include_once 'os2_borger_dk.features.inc';
/**
* Text formats
*/
-define('BORGERDK_TEXT_FORMAT_PLAIN', variable_get('os2web_borger_dk_articles_text_format_plain', 'plain_text'));
-define('BORGERDK_TEXT_FORMAT_HTML', variable_get('os2web_borger_dk_articles_text_format_html', 'full_html'));
+define('BORGERDK_TEXT_FORMAT_PLAIN', variable_get('os2_borger_dk_articles_text_format_plain', 'plain_text'));
+define('BORGERDK_TEXT_FORMAT_HTML', variable_get('os2_borger_dk_articles_text_format_html', 'full_html'));
/**
* Implements hook_menu().
*/
-function os2web_borger_dk_menu() {
+function os2_borger_dk_menu() {
$items = array();
- $items['admin/config/os2web_borger_dk'] = array(
+ $items['admin/config/os2_borger_dk'] = array(
'title' => 'OS2web borger.dk settings',
'description' => 'General settings for Borger.dk articles, fx, modify fields display, editable and syncronization time',
'position' => 'right',
@@ -25,20 +25,20 @@ function os2web_borger_dk_menu() {
'page callback' => 'system_admin_menu_block_page',
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),
- 'access arguments' => array('administer os2web borgerdk article settings'),
+ 'access arguments' => array('administer os2 borgerdk article settings'),
);
- $items['admin/config/os2web_borger_dk/settings'] = array(
+ $items['admin/config/os2_borger_dk/settings'] = array(
'title' => 'OS2web Borger.dk Settings',
'description' => 'General settings for the OS2Web borger.dk',
'page callback' => 'drupal_get_form',
- 'page arguments' => array('os2web_borger_dk_settings_form'),
- 'access arguments' => array('administer os2web borgerdk article settings'),
- 'file' => 'os2web_borger_dk.admin.inc',
+ 'page arguments' => array('os2_borger_dk_settings_form'),
+ 'access arguments' => array('administer os2 borgerdk article settings'),
+ 'file' => 'os2_borger_dk.admin.inc',
);
- $items['import/os2web_borger_dk/autocomplete'] = array(
- 'page callback' => '_os2web_borger_dk_autocomplete_callback',
+ $items['import/os2_borger_dk/autocomplete'] = array(
+ 'page callback' => '_os2_borger_dk_autocomplete_callback',
'page arguments' => array(3),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
@@ -49,9 +49,9 @@ function os2web_borger_dk_menu() {
/**
* Implements hook_permission().
*/
-function os2web_borger_dk_permission() {
+function os2_borger_dk_permission() {
return array(
- 'administer os2web borgerdk article settings' => array(
+ 'administer os2 borgerdk article settings' => array(
'title' => t('Administer OS2Web Borger.dk article settings'),
'description' => t('Administer settings for the OS2Web Borger.dk article import module.'),
),
@@ -61,9 +61,9 @@ function os2web_borger_dk_permission() {
/**
* Implements hook_action_info().
*/
-function os2web_borger_dk_action_info() {
+function os2_borger_dk_action_info() {
return array(
- 'os2web_borger_dk_articles_update_action' => array(
+ 'os2_borger_dk_articles_update_action' => array(
'type' => 'node',
'label' => t('Update article from borger.dk'),
'configurable' => FALSE,
@@ -72,14 +72,14 @@ function os2web_borger_dk_action_info() {
}
/**
- * Function _os2web_borger_dk_autocomplete_callback().
+ * Function _os2_borger_dk_autocomplete_callback().
*/
-function _os2web_borger_dk_autocomplete_callback($string = '') {
+function _os2_borger_dk_autocomplete_callback($string = '') {
$matches = array();
if ($string) {
- $query = db_select('os2web_borger_dk_article_titles', 'o')
+ $query = db_select('os2_borger_dk_article_titles', 'o')
->fields('o', array('ArticleID', 'ArticleStatus', 'ArticleTitle'))
->condition('o.ArticleStatus', 0, '>=')
->condition('o.ArticleTitle', db_like($string) . '%', 'LIKE')
@@ -103,42 +103,42 @@ function _os2web_borger_dk_autocomplete_callback($string = '') {
/**
* Implements hook_form_alter().
*/
-function os2web_borger_dk_form_alter(&$form, &$form_state, $form_id) {
- static $os2web_borger_dk_falter_form;
+function os2_borger_dk_form_alter(&$form, &$form_state, $form_id) {
+ static $os2_borger_dk_falter_form;
if (isset($form['type']) && isset($form['#node'])) {
- if ($form_id == 'os2web_borger_dk_article_node_form') {
- if (isset($os2web_borger_dk_falter_form) && !empty($os2web_borger_dk_falter_form)) {
+ if ($form_id == 'os2_borger_dk_article_node_form') {
+ if (isset($os2_borger_dk_falter_form) && !empty($os2_borger_dk_falter_form)) {
// If the static form-cache has already been build then
// we simply return the form-cache value instead of
// building the whole form twice per request.
- $form = $os2web_borger_dk_falter_form;
+ $form = $os2_borger_dk_falter_form;
}
else {
$node = $form_state['node'];
- $titles_autocomplete = variable_get('os2web_borger_dk_titles_sync', FALSE);
+ $titles_autocomplete = variable_get('os2_borger_dk_titles_sync', FALSE);
if (!isset($node->nid) || isset($node->is_new)) {
- os2web_borger_dk_autocomplete_form($form, $form_state);
+ os2_borger_dk_autocomplete_form($form, $form_state);
}
- $locked_os2web_types = array(
- 'field_os2web_borger_dk_borgerurl' => 1,
- 'field_os2web_borger_dk_kle' => 2,
- 'field_os2web_borger_dk_formterm' => 2,
+ $locked_os2_types = array(
+ 'field_os2_borger_dk_borgerurl' => 1,
+ 'field_os2_borger_dk_kle' => 2,
+ 'field_os2_borger_dk_formterm' => 2,
);
- $admin_display_fields = variable_get('os2web_borger_dk_display');
+ $admin_display_fields = variable_get('os2_borger_dk_display');
- $data = field_info_instances('node', 'os2web_borger_dk_article');
+ $data = field_info_instances('node', 'os2_borger_dk_article');
// First we create a list of all field-names and labels.
$checkbox_opts = array();
$initial_values = array();
$data['title'] = array('label' => 'Title');
- $visible_items = (isset($form['#node']->os2web_borger_dk_article['field_settings'])) ? $form['#node']->os2web_borger_dk_article['field_settings'] : NULL;
- $admin_last_settings = variable_get('os2web_borger_dk_admin_last_settings');
+ $visible_items = (isset($form['#node']->os2_borger_dk_article['field_settings'])) ? $form['#node']->os2_borger_dk_article['field_settings'] : NULL;
+ $admin_last_settings = variable_get('os2_borger_dk_admin_last_settings');
foreach ($data as $type => $item) {
- if ((isset($locked_os2web_types[$type]) && $locked_os2web_types[$type] != 2)
- ||!isset($locked_os2web_types[$type])) {
+ if ((isset($locked_os2_types[$type]) && $locked_os2_types[$type] != 2)
+ ||!isset($locked_os2_types[$type])) {
// Then we insert field label to our checkboxes options.
$checkbox_opts[$type] = $item['label'];
// admin-config says we should show this item as an option.
@@ -165,7 +165,7 @@ function os2web_borger_dk_form_alter(&$form, &$form_state, $form_id) {
}
}
}
- variable_set('os2web_borger_dk_admin_last_settings', $admin_display_fields);
+ variable_set('os2_borger_dk_admin_last_settings', $admin_display_fields);
// This is the field fieldset.
$form['fields_visible_formset'] = array(
@@ -175,128 +175,121 @@ function os2web_borger_dk_form_alter(&$form, &$form_state, $form_id) {
'#description' => t('Set the visibility of article fields.'),
'#group' => 'additional_settings',
);
- $form['fields_visible_formset']['os2web_borger_dk_field_settings'] = array(
+ $form['fields_visible_formset']['os2_borger_dk_field_settings'] = array(
'#type' => 'checkboxes',
'#options' => $checkbox_opts,
'#description' => t("Check or uncheck the respective fields"),
'#default_value' => $initial_values,
- '#after_build' => array('os2web_borger_dk_process_checkboxes_os2web_borger_dk_article'),
+ '#after_build' => array('os2_borger_dk_process_checkboxes_os2_borger_dk_article'),
'#group' => 'additional_settings',
);
if (isset($form['#node']->nid)) {
- $form['actions']['os2web_borger_dk_synchronize'] = array(
+ $form['actions']['os2_borger_dk_synchronize'] = array(
'#type' => 'submit',
'#value' => t("Update article now"),
'#weight' => 100,
'#access' => variable_get('node_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_REQUIRED || (!form_get_errors() && isset($form_state['node_preview'])),
- '#submit' => array('os2web_borger_dk_sync_submit'),
+ '#submit' => array('os2_borger_dk_sync_submit'),
);
}
- $form['#after_build'][] = 'os2web_borger_dk_after_build';
+ $form['#after_build'][] = 'os2_borger_dk_after_build';
// Micro articles.
if (isset($form['#node']->nid)) {
- $microarticle = variable_get('os2web_borger_dk_microarticle_active');
- $value_editable = variable_get('os2web_borger_dk_editable', array(NULL));
+ $microarticle = variable_get('os2_borger_dk_microarticle_active');
+ $value_editable = variable_get('os2_borger_dk_editable', array(NULL));
// If microarticle is set up to show.
if ($microarticle) {
- $field_microarticle_settings = (isset($form['#node']->os2web_borger_dk_microarticle['field_microarticle_settings'])) ? $form['#node']->os2web_borger_dk_microarticle['field_microarticle_settings'] : NULL;
- $body_text = (isset($form['body']['und']['0']['#entity']->body['und']['0']['value'])) ? $form['body']['und']['0']['#entity']->body['und']['0']['value'] : '';
+ $field_microarticle_settings = (isset($form['#node']->os2_borger_dk_microarticle['field_microarticle_settings'])) ? $form['#node']->os2_borger_dk_microarticle['field_microarticle_settings'] : NULL;
+ $body_text = (isset($form['body'][LANGUAGE_NONE]['0']['#entity']->body[LANGUAGE_NONE]['0']['value'])) ? $form['body'][LANGUAGE_NONE]['0']['#entity']->body[LANGUAGE_NONE]['0']['value'] : '';
- hide($form['body']);
+ $form['body']['#access'] = FALSE;
- // Link break: in windows \r\n, linux \n.
- preg_match("/<\/div>\n/", $body_text, $link_break);
- if (isset($link_break[0])) {
- $div = preg_split("/\n<\/div>\n/", $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- else {
- $div = preg_split('/\r\n<[\/]div>\r\n/', $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
+ $doc = new DOMDocument();
+ $doc->loadHTML('' . $body_text);
+ $xpath = new DOMXPath($doc);
- foreach ($div as $key => $text) {
- $microno = $key + 1;
- $checkboxno = 'os2web_borger_dk_micro_' . $microno;
- $h2_text_field = 'os2web_borger_dk_micro_h2_' . $microno;
- $text_area = 'os2web_borger_dk_micro_textarea_' . $microno;
-
- // The last div is a link break.
- if ($key != count($div) - 1) {
- // Frist we get the microarticle title.
- preg_match("/
(.*?)<\/h2>/", $div[$key], $match);
- $h2 = isset($match[1]) ? $match[1] : '';
-
- // Then we get the div content.
- preg_match("/(.*?)\r\n <\/div>/s", $div[$key], $match2);
- if (empty($match2[1])) {
- preg_match("/
(.*?)<\/div> /s", $div[$key], $match2);
- }
- $micro_text = isset($match2[1]) ? $match2[1] : '';
+ $results = $xpath->query("//*[@class='microArticle']");
- if ($microno >= 10) {
- $weight = '6.' . ($microno - 10);
- }
- else {
- $weight = '5.' . $microno;
- }
- // For each microarticle we build a fieldset, a textfield for
- // title, a textarea for div content and a checkbox for
- // visibility option.
- $form['os2web_borger_dk_micro_settings_' . $microno] = array(
- '#type' => 'fieldset',
- '#weight' => $weight,
- );
+ $microno = 0;
+ foreach ($results as $item) {
+ foreach ($item->getElementsByTagName('h2') as $articletitle) {
+ $title = trim($articletitle->nodeValue);
+ }
+
+ $text = '';
+ foreach ($item->getElementsByTagName('div')->item(0)->childNodes as $articletext) {
+ $text .= str_replace('
', '', $doc->saveXML($articletext, LIBXML_NOEMPTYTAG));
+ }
+
+ $microno++;
+ $checkboxno = 'os2_borger_dk_micro_' . $microno;
+ $h2_text_field = 'os2_borger_dk_micro_h2_' . $microno;
+ $text_area = 'os2_borger_dk_micro_textarea_' . $microno;
- $form['os2web_borger_dk_micro_settings_' . $microno][$h2_text_field] = array(
- '#type' => 'textfield',
- '#title' => t('Title of Microarticle') . ' ' . $microno,
- '#default_value' => variable_get($h2_text_field, $h2),
+ if ($microno >= 10) {
+ $weight = '6.' . ($microno - 10);
+ }
+ else {
+ $weight = '5.' . $microno;
+ }
+ // For each microarticle we build a fieldset, a textfield for
+ // title, a textarea for div content and a checkbox for
+ // visibility option.
+ $form['os2_borger_dk_micro_settings_' . $microno] = array(
+ '#type' => 'fieldset',
+ '#weight' => $weight,
+ );
+
+ $form['os2_borger_dk_micro_settings_' . $microno][$h2_text_field] = array(
+ '#type' => 'textfield',
+ '#title' => t('Title of Microarticle') . ' ' . $microno,
+ '#default_value' => variable_get($h2_text_field, $title),
+ );
+ // If body (article text) visible/editable option is checked
+ // by ADMIN and EDITOR, then forms disabled is false.
+ if ($visible_items['body'] === "body" && $admin_display_fields['body'] === "body" && $value_editable['body'] === "body") {
+ $form['os2_borger_dk_micro_settings_' . $microno][$text_area] = array(
+ // '#title' => t('Microarticle ' . $microno),
+ '#type' => 'textarea',
+ '#default_value' => trim($text),
);
- // If body (article text) visible/editable option is checked
- // by ADMIN and EDITOR, then forms disabled is false.
- if ($visible_items['body'] === "body" && $admin_display_fields['body'] === "body" && $value_editable['body'] === "body") {
- $form['os2web_borger_dk_micro_settings_' . $microno][$text_area] = array(
- // '#title' => t('Microarticle ' . $microno),
- '#type' => 'textarea',
- '#default_value' => $micro_text,
- );
- $form['os2web_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
+ $form['os2_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Visible'),
+ '#description' => t("Check to display this microarticle"),
+ '#default_value' => isset($field_microarticle_settings[$microno]) ? $field_microarticle_settings[$microno] : 1,
+ );
+ }
+ // If body (article text) display option is UNCHECKED
+ // by ADMIN or EDITOR, then forms disabled is TRUE.
+ else {
+ $form['os2_borger_dk_micro_settings_' . $microno][$text_area] = array(
+ '#title' => t('Microarticle') . ' ' . $microno,
+ '#type' => 'textarea',
+ '#disabled' => TRUE,
+ '#default_value' => trim($text),
+ '#description' => t("Please check 'Article text' visible option below in 'Toggle display', or in OS2web borger.dk Settings (Toggle display/Editable article fields) to show/edit this microarticle."),
+ );
+ // If this microarticle is NOT editable.
+ if ($value_editable['body'] !== "body") {
+ $form['os2_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
'#type' => 'checkbox',
- '#title' => t('Visible'),
+ '#title' => t('Microarticle Visibility'),
'#description' => t("Check to display this microarticle"),
'#default_value' => isset($field_microarticle_settings[$microno]) ? $field_microarticle_settings[$microno] : 1,
);
}
- // If body (article text) display option is UNCHECKED
- // by ADMIN or EDITOR, then forms disabled is TRUE.
else {
- $form['os2web_borger_dk_micro_settings_' . $microno][$text_area] = array(
- '#title' => t('Microarticle') . ' ' . $microno,
- '#type' => 'textarea',
+ $form['os2_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Microarticle Visibility'),
'#disabled' => TRUE,
- '#default_value' => $micro_text,
- '#description' => t("Please check 'Article text' visible option below in 'Toggle display', or in OS2web borger.dk Settings (Toggle display/Editable article fields) to show/edit this microarticle."),
+ '#description' => t("Check to display this microarticle"),
+ '#default_value' => isset($field_microarticle_settings[$microno]) ? $field_microarticle_settings[$microno] : 1,
);
- // If this microarticle is NOT editable.
- if ($value_editable['body'] !== "body") {
- $form['os2web_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
- '#type' => 'checkbox',
- '#title' => t('Microarticle Visibility'),
- '#description' => t("Check to display this microarticle"),
- '#default_value' => isset($field_microarticle_settings[$microno]) ? $field_microarticle_settings[$microno] : 1,
- );
- }
- else {
- $form['os2web_borger_dk_micro_settings_' . $microno][$checkboxno] = array(
- '#type' => 'checkbox',
- '#title' => t('Microarticle Visibility'),
- '#disabled' => TRUE,
- '#description' => t("Check to display this microarticle"),
- '#default_value' => isset($field_microarticle_settings[$microno]) ? $field_microarticle_settings[$microno] : 1,
- );
- }
}
}
}
@@ -304,19 +297,19 @@ function os2web_borger_dk_form_alter(&$form, &$form_state, $form_id) {
}
if (isset($form['#node']->nid) && ($microarticle)) {
- $form['actions']['os2web_borger_dk_microarticles_update'] = array(
+ $form['actions']['os2_borger_dk_microarticles_update'] = array(
'#type' => 'submit',
'#value' => t("Update microarticle content"),
'#weight' => 101,
'#access' => variable_get('node_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_REQUIRED || (!form_get_errors() && isset($form_state['node_preview'])),
- '#submit' => array('os2web_borger_dk_microarticles_update_submit'),
+ '#submit' => array('os2_borger_dk_microarticles_update_submit'),
);
}
// End of microarticles.
// Before we exit this function we set the static form-cache value
// so that later calls to this function handling the same request
// can return much faster (instead of building the same form twice).
- $os2web_borger_dk_falter_form = $form;
+ $os2_borger_dk_falter_form = $form;
}
}
@@ -324,52 +317,52 @@ function os2web_borger_dk_form_alter(&$form, &$form_state, $form_id) {
}
/**
- * Function os2web_borger_dk_autocomplete_form().
+ * Function os2_borger_dk_autocomplete_form().
*/
-function os2web_borger_dk_autocomplete_form(&$form, $form_state) {
- $titles_autocomplete = variable_get('os2web_borger_dk_titles_sync', FALSE);
- $title_search_state = (isset($form_state['values']['os2web_borger_dk_article_search_method'])) ? TRUE : FALSE;
+function os2_borger_dk_autocomplete_form(&$form, $form_state) {
+ $titles_autocomplete = variable_get('os2_borger_dk_titles_sync', FALSE);
+ $title_search_state = (isset($form_state['values']['os2_borger_dk_article_search_method'])) ? TRUE : FALSE;
$url_search = !$title_search_state;
- $form['os2web_borger_dk_article_import'] = array(
+ $form['os2_borger_dk_article_import'] = array(
'#type' => 'fieldset',
'#title' => t('Import Borger.dk Article'),
'#collapsible' => FALSE,
);
- $form['os2web_borger_dk_article_import']['os2web_borger_dk_article_url_text'] = array(
+ $form['os2_borger_dk_article_import']['os2_borger_dk_article_url_text'] = array(
'#type' => 'textfield',
'#title' => t('Borger.dk Article URL'),
- '#default_value' => (isset($form_state['values']['os2web_borger_dk_article_url_text'])) ? $form_state['values']['os2web_borger_dk_article_url_text'] : '',
+ '#default_value' => (isset($form_state['values']['os2_borger_dk_article_url_text'])) ? $form_state['values']['os2_borger_dk_article_url_text'] : '',
'#size' => 60,
'#maxlength' => 255,
);
if ($titles_autocomplete) {
- $form['os2web_borger_dk_article_import']['os2web_borger_dk_article_title_text'] = array(
+ $form['os2_borger_dk_article_import']['os2_borger_dk_article_title_text'] = array(
'#type' => 'textfield',
'#title' => t('Borger.dk Article title'),
- '#default_value' => (isset($form_state['values']['os2web_borger_dk_article_title_text'])) ? $form_state['values']['os2web_borger_dk_article_title_text'] : '',
- '#autocomplete_path' => 'import/os2web_borger_dk/autocomplete',
+ '#default_value' => (isset($form_state['values']['os2_borger_dk_article_title_text'])) ? $form_state['values']['os2_borger_dk_article_title_text'] : '',
+ '#autocomplete_path' => 'import/os2_borger_dk/autocomplete',
'#size' => 60,
'#maxlength' => 255,
'#attributes' => array('class' => array('auto_submit')),
);
- $form['os2web_borger_dk_article_import']['os2web_borger_dk_article_title_search'] = array(
+ $form['os2_borger_dk_article_import']['os2_borger_dk_article_title_search'] = array(
'#type' => 'checkbox',
'#title' => t('Search for Borger.dk Article by Title-search'),
'#description' => t('If checked Borger.dk articles are found by title (by URL if un-checked).'),
'#default_value' => ($url_search) ? 1 : 0,
- '#after_build' => array('_os2web_borger_dk_autocomplete_form_load_js'),
+ '#after_build' => array('_os2_borger_dk_autocomplete_form_load_js'),
);
}
}
/**
- * Function _os2web_borger_dk_autocomplete_form_load_js().
+ * Function _os2_borger_dk_autocomplete_form_load_js().
*/
-function _os2web_borger_dk_autocomplete_form_load_js($element) {
+function _os2_borger_dk_autocomplete_form_load_js($element) {
$autosubmit_js = '
$(document).ready(function(){
Drupal.jsAC.prototype.select = function (node) {
@@ -379,32 +372,32 @@ function _os2web_borger_dk_autocomplete_form_load_js($element) {
}
};
});';
- $must_auto_submit = variable_get('os2web_borger_dk_titles_search_auto_submit', FALSE);
+ $must_auto_submit = variable_get('os2_borger_dk_titles_search_auto_submit', FALSE);
if (!$must_auto_submit) {
$autosubmit_js = '';
}
$js = '(function ($) {
Drupal.behaviors.switchfield = {
attach: function(context, settings) {
- var checked1 = $("#edit-os2web-borger-dk-article-title-search").attr("checked");
+ var checked1 = $("#edit-os2-borger-dk-article-title-search").attr("checked");
if (checked1) {
- $(".form-item-os2web-borger-dk-article-url-text").hide();
- $(".form-item-os2web-borger-dk-article-title-text").show();
+ $(".form-item-os2-borger-dk-article-url-text").hide();
+ $(".form-item-os2-borger-dk-article-title-text").show();
}
else {
- $(".form-item-os2web-borger-dk-article-url-text").show();
- $(".form-item-os2web-borger-dk-article-title-text").hide();
+ $(".form-item-os2-borger-dk-article-url-text").show();
+ $(".form-item-os2-borger-dk-article-title-text").hide();
}
- $("#edit-os2web-borger-dk-article-title-search").click(function() {
+ $("#edit-os2-borger-dk-article-title-search").click(function() {
var checked = $(this).attr("checked");
if (checked) {
- $(".form-item-os2web-borger-dk-article-url-text").hide(500);
- $(".form-item-os2web-borger-dk-article-title-text").show(500);
+ $(".form-item-os2-borger-dk-article-url-text").hide(500);
+ $(".form-item-os2-borger-dk-article-title-text").show(500);
}
else {
- $(".form-item-os2web-borger-dk-article-url-text").show(500);
- $(".form-item-os2web-borger-dk-article-title-text").hide(500);
+ $(".form-item-os2-borger-dk-article-url-text").show(500);
+ $(".form-item-os2-borger-dk-article-title-text").hide(500);
}
});' . $autosubmit_js . '
}
@@ -416,20 +409,20 @@ function _os2web_borger_dk_autocomplete_form_load_js($element) {
}
/**
- * Function os2web_borger_dk_after_build().
+ * Function os2_borger_dk_after_build().
*/
-function os2web_borger_dk_after_build($form, &$form_state) {
+function os2_borger_dk_after_build($form, &$form_state) {
// Some of the fields are handled exclusively by OS2web.
// These fields are required on node-add, and can NOT be
// changed later on (ie. locked).
- $locked_os2web_types = array(
- 'field_os2web_borger_dk_borgerurl' => 1,
- 'field_os2web_borger_dk_kle' => 2,
- 'field_os2web_borger_dk_formterm' => 2,
+ $locked_os2_types = array(
+ 'field_os2_borger_dk_borgerurl' => 1,
+ 'field_os2_borger_dk_kle' => 2,
+ 'field_os2_borger_dk_formterm' => 2,
);
$nid = $form_state['values']['nid'];
- $admin_display_fields = variable_get('os2web_borger_dk_display', array(NULL));
- $microarticle = variable_get('os2web_borger_dk_microarticle_active');
+ $admin_display_fields = variable_get('os2_borger_dk_display', array(NULL));
+ $microarticle = variable_get('os2_borger_dk_microarticle_active');
// First we check if this is a node/add-type by checking the node->nid.
if (!empty($nid)) {
@@ -437,58 +430,58 @@ function os2web_borger_dk_after_build($form, &$form_state) {
// We must unset all form-elements that has been
// marked as hidden in the admin-display-settings.
foreach ($admin_display_fields as $type => $item) {
- if (empty($item) && empty($locked_os2web_types[$type])) {
+ if (empty($item) && empty($locked_os2_types[$type])) {
if (!$microarticle) {
- os2web_borger_dk_fix_disabled($form[$type]);
+ os2_borger_dk_fix_disabled($form[$type]);
}
}
}
// Then we must disable all fields that has been marked as
// non-editable in the admin-editable-settings.
- $value_editable = variable_get('os2web_borger_dk_editable', array(NULL));
+ $value_editable = variable_get('os2_borger_dk_editable', array(NULL));
foreach ($value_editable as $type => $editable) {
- if ((empty($editable) || !empty($locked_os2web_types[$type])) && !empty($form[$type])) {
+ if ((empty($editable) || !empty($locked_os2_types[$type])) && !empty($form[$type])) {
if (!$microarticle) {
- os2web_borger_dk_fix_disabled($form[$type]);
+ os2_borger_dk_fix_disabled($form[$type]);
}
}
- if ($type == 'field_os2web_byline' && !empty($form[$type])) {
+ if ($type == 'field_os2_byline' && !empty($form[$type])) {
$form[$type]['#format'] = BORGERDK_TEXT_FORMAT_PLAIN;
}
}
// Finally we lock the special types.
- foreach ($locked_os2web_types as $type => $locked) {
+ foreach ($locked_os2_types as $type => $locked) {
// If locked = 1 then disable the field.
if (isset($form[$type]) && $locked == 1) {
$form[$type]['#required'] = FALSE;
- $form[$type]['und']['#required'] = FALSE;
- $form[$type]['und'][0]['#required'] = FALSE;
- $form[$type]['und'][0]['value']['#required'] = FALSE;
- os2web_borger_dk_fix_disabled($form[$type]);
+ $form[$type][LANGUAGE_NONE]['#required'] = FALSE;
+ $form[$type][LANGUAGE_NONE][0]['#required'] = FALSE;
+ $form[$type][LANGUAGE_NONE][0]['value']['#required'] = FALSE;
+ os2_borger_dk_fix_disabled($form[$type]);
}
}
}
else {
// This is a brand new node-add form, and we must hide every
// form-field.
- $data = field_info_instances('node', 'os2web_borger_dk_article');
+ $data = field_info_instances('node', 'os2_borger_dk_article');
foreach ($data as $type => $item) {
// Some fields must be checked before unsetting or php will
// die because a string for instance can not be unset.
- if (!isset($locked_os2web_types[$type]) || $locked_os2web_types[$type] == 1) {
+ if (!isset($locked_os2_types[$type]) || $locked_os2_types[$type] == 1) {
// These fields can safely be unset (so they are hidden).
hide($form[$type]);
}
- if (isset($locked_os2web_types[$type]) && $locked_os2web_types[$type] == 2) {
+ if (isset($locked_os2_types[$type]) && $locked_os2_types[$type] == 2) {
- hide($form[$type]['und']);
+ hide($form[$type][LANGUAGE_NONE]);
}
}
- $form['field_os2web_borger_dk_borgerurl']['#required'] = FALSE;
- $form['field_os2web_borger_dk_borgerurl']['und']['#required'] = FALSE;
- $form['field_os2web_borger_dk_borgerurl']['und'][0]['#required'] = FALSE;
- $form['field_os2web_borger_dk_borgerurl']['und'][0]['value']['#required'] = FALSE;
+ $form['field_os2_borger_dk_borgerurl']['#required'] = FALSE;
+ $form['field_os2_borger_dk_borgerurl'][LANGUAGE_NONE]['#required'] = FALSE;
+ $form['field_os2_borger_dk_borgerurl'][LANGUAGE_NONE][0]['#required'] = FALSE;
+ $form['field_os2_borger_dk_borgerurl'][LANGUAGE_NONE][0]['value']['#required'] = FALSE;
$form['title']['#required'] = FALSE;
$form['title']['#access'] = FALSE;
@@ -503,11 +496,11 @@ function os2web_borger_dk_after_build($form, &$form_state) {
}
/**
- * Function os2web_borger_dk_process_checkboxes_os2web_borger_dk_article().
+ * Function os2_borger_dk_process_checkboxes_os2_borger_dk_article().
*/
-function os2web_borger_dk_process_checkboxes_os2web_borger_dk_article(&$element) {
+function os2_borger_dk_process_checkboxes_os2_borger_dk_article(&$element) {
- $admin_display_fields = variable_get('os2web_borger_dk_display', array(NULL));
+ $admin_display_fields = variable_get('os2_borger_dk_display', array(NULL));
if (!empty($element)) {
foreach (element_children($element) as $key) {
if (!isset($admin_display_fields[$key]) || $admin_display_fields[$key] == '0') {
@@ -520,13 +513,13 @@ function os2web_borger_dk_process_checkboxes_os2web_borger_dk_article(&$element)
}
/**
- * Function os2web_borger_dk_fix_disabled().
+ * Function os2_borger_dk_fix_disabled().
*/
-function os2web_borger_dk_fix_disabled(&$elements) {
+function os2_borger_dk_fix_disabled(&$elements) {
foreach (element_children($elements) as $key) {
if (isset($elements[$key]) && $elements[$key]) {
// Recurse through all child elements.
- os2web_borger_dk_fix_disabled($elements[$key]);
+ os2_borger_dk_fix_disabled($elements[$key]);
}
}
if (!isset($elements['#attributes'])) {
@@ -538,19 +531,19 @@ function os2web_borger_dk_fix_disabled(&$elements) {
/**
* Implements hook_node_load().
*/
-function os2web_borger_dk_node_load($nodes, $types) {
+function os2_borger_dk_node_load($nodes, $types) {
// Decide whether any of $types are relevant to our purpose.
- // We only work on the "os2web_borger_dk_article" node-types.
- if (in_array('os2web_borger_dk_article', $types)) {
+ // We only work on the "os2_borger_dk_article" node-types.
+ if (in_array('os2_borger_dk_article', $types)) {
// Gather our extra data for each of these nodes.
- $result = db_query('SELECT nid, external_id, external_status, external_url, field_settings, field_microarticle_settings, published_date, last_updated FROM {os2web_borger_dk_article} WHERE nid IN (:nids)', array(
+ $result = db_query('SELECT nid, external_id, external_status, external_url, field_settings, field_microarticle_settings, published_date, last_updated FROM {os2_borger_dk_article} WHERE nid IN (:nids)', array(
':nids' => array_keys($nodes)));
// Get admin microarticles settings.
- $microarticle = variable_get('os2web_borger_dk_microarticle_active', FALSE);
+ $microarticle = variable_get('os2_borger_dk_microarticle_active', FALSE);
// Add our extra data to the node objects.
foreach ($result as $record) {
$field_settings = unserialize($record->field_settings);
- $nodes[$record->nid]->os2web_borger_dk_article = array(
+ $nodes[$record->nid]->os2_borger_dk_article = array(
'external_id' => $record->external_id,
'external_status' => $record->external_status,
'external_url' => $record->external_url,
@@ -561,14 +554,14 @@ function os2web_borger_dk_node_load($nodes, $types) {
// If microarticle option is set to display.
if ($microarticle) {
$field_microaritcle_settings = unserialize($record->field_microarticle_settings);
- $nodes[$record->nid]->os2web_borger_dk_microarticle = array(
+ $nodes[$record->nid]->os2_borger_dk_microarticle = array(
'field_microarticle_settings' => $field_microaritcle_settings,
);
}
// If microarticle option is NOT set to display,then we set an empty array
- // to node->os2web_borger_dk_microarticle[''field_microarticle_settings].
+ // to node->os2_borger_dk_microarticle[''field_microarticle_settings].
else {
- $nodes[$record->nid]->os2web_borger_dk_microarticle = array(
+ $nodes[$record->nid]->os2_borger_dk_microarticle = array(
'field_microarticle_settings' => '',
);
}
@@ -583,7 +576,7 @@ function os2web_borger_dk_node_load($nodes, $types) {
* Resource:
* http://www.metachunk.com/blog/adding-module-path-drupal-7-theme-registry
*/
-function os2web_borger_dk_theme_registry_alter(&$theme_registry) {
+function os2_borger_dk_theme_registry_alter(&$theme_registry) {
$mod_path = drupal_get_path('module', 'mymodule');
// Munge on a copy.
$theme_registry_copy = $theme_registry;
@@ -591,14 +584,14 @@ function os2web_borger_dk_theme_registry_alter(&$theme_registry) {
$theme_registry += array_diff_key($theme_registry_copy, $theme_registry);
$hooks = array('node');
foreach ($hooks as $h) {
- _os2web_borger_dk_insert_after_first_element($theme_registry[$h]['theme paths'], $mod_path);
+ _os2_borger_dk_insert_after_first_element($theme_registry[$h]['theme paths'], $mod_path);
}
}
/**
* Helper function for re-ordering arrays (needed by theme_registry_alter).
*/
-function _os2web_borger_dk_insert_after_first_element(&$a, $element) {
+function _os2_borger_dk_insert_after_first_element(&$a, $element) {
if (is_array($a)) {
$first_element = array_shift($a);
array_unshift($a, $first_element, $element);
@@ -608,16 +601,16 @@ function _os2web_borger_dk_insert_after_first_element(&$a, $element) {
/**
* Implements hook_node_view().
*/
-function os2web_borger_dk_node_view($node, $view_mode, $langcode) {
- if ($node->type == 'os2web_borger_dk_article') {
- $fields = $node->os2web_borger_dk_article['field_settings'];
+function os2_borger_dk_node_view($node, $view_mode, $langcode) {
+ if ($node->type == 'os2_borger_dk_article') {
+ $fields = $node->os2_borger_dk_article['field_settings'];
// First get admin display settings.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- $locked_os2web_types = array('field_os2web_borger_dk_borgerurl' => 1);
+ $admin_display_fields = variable_get('os2_borger_dk_display');
+ $locked_os2_types = array('field_os2_borger_dk_borgerurl' => 1);
// We get admin microarticle display settings.
- $microarticle = variable_get('os2web_borger_dk_microarticle_active', FALSE);
+ $microarticle = variable_get('os2_borger_dk_microarticle_active', FALSE);
if ($microarticle) {
- $field_microarticle_settings = $node->os2web_borger_dk_microarticle['field_microarticle_settings'];
+ $field_microarticle_settings = $node->os2_borger_dk_microarticle['field_microarticle_settings'];
}
foreach ($admin_display_fields as $type => $value) {
@@ -632,36 +625,16 @@ function os2web_borger_dk_node_view($node, $view_mode, $langcode) {
// article is imported and shown in a form, then node_view
// will display full body text.
if ($content_field == 'body' && !empty($field_microarticle_settings)) {
- $body_text = $node->body['und']['0']['value'];
+ $body_text = $node->body[LANGUAGE_NONE]['0']['value'];
+
+ $article_text = _os2_borger_dk_microarticle_helper($body_text, $field_microarticle_settings, TRUE);
- // Link break in body_text: in windows \r\n, linux \n.
- preg_match("/<\/div>\n/", $body_text, $link_break);
- if (isset($link_break[0])) {
- $div = preg_split("/\n<\/div>\n/", $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- else {
- $div = preg_split('/\r\n<[\/]div>\r\n/', $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- $show_div = '';
- foreach ($div as $key => $text) {
- $microno = $key + 1;
- $checkboxno = 'os2web_borger_dk_micro_' . $microno;
- // The last div is a link break \n or \r\n.
- if ($div[$key] != $div[(count($div) - 1)]) {
- // If editor set this microarticle to be visible,(TRUE)
- if ($field_microarticle_settings[$microno] != 0) {
- $show_div .= $div[$key];
- $show_div .= "\n
";
- $show_div .= "\n";
- }
- }
- }
// Content body shows only visible microarticles/ part of body_text.
- $node->content[$type]['0']['#markup'] = $show_div;
+ $node->content[$type]['0']['#markup'] = $article_text;
}
}
elseif ($type == 'body') {
- $node->content['body']['0']['#markup'] = $node->body['und']['0']['value'];
+ $node->content['body']['0']['#markup'] = $node->body[LANGUAGE_NONE]['0']['value'];
}
// End of microarticles.
@@ -682,12 +655,12 @@ function os2web_borger_dk_node_view($node, $view_mode, $langcode) {
}
}
}
- drupal_add_js(drupal_get_path('module', 'os2web_borger_dk') . '/js/os2web_borger_dk.js', 'file');
- drupal_add_css(drupal_get_path('module', 'os2web_borger_dk') . '/css/os2web_borger_dk.css', 'file');
+ drupal_add_js(drupal_get_path('module', 'os2_borger_dk') . '/js/os2_borger_dk.js', 'file');
+ drupal_add_css(drupal_get_path('module', 'os2_borger_dk') . '/css/os2_borger_dk.css', 'file');
// Set the page-title if field-value is given.
- if (!empty($node->field_os2web_borger_dk_pagetitle['und'][0]['value'])) {
- drupal_set_title($node->field_os2web_borger_dk_pagetitle['und'][0]['value']);
+ if (!empty($node->field_os2_borger_dk_pagetitle[LANGUAGE_NONE][0]['value'])) {
+ drupal_set_title($node->field_os2_borger_dk_pagetitle[LANGUAGE_NONE][0]['value']);
}
}
}
@@ -695,14 +668,14 @@ function os2web_borger_dk_node_view($node, $view_mode, $langcode) {
/**
* Implements hook_node_insert().
*/
-function os2web_borger_dk_node_insert($node) {
+function os2_borger_dk_node_insert($node) {
- if ($node->type == 'os2web_borger_dk_article') {
- if (isset($node->os2web_borger_dk_article)) {
- $borgerdk_data = $node->os2web_borger_dk_article;
+ if ($node->type == 'os2_borger_dk_article') {
+ if (isset($node->os2_borger_dk_article)) {
+ $borgerdk_data = $node->os2_borger_dk_article;
if (isset($borgerdk_data) && !empty($borgerdk_data)) {
$serialized_data = serialize($borgerdk_data['field_settings']);
- db_insert('os2web_borger_dk_article')
+ db_insert('os2_borger_dk_article')
->fields(array(
'nid' => $node->nid,
'external_id' => $borgerdk_data['external_id'],
@@ -721,14 +694,14 @@ function os2web_borger_dk_node_insert($node) {
/**
* Implements hook_node_delete().
*/
-function os2web_borger_dk_node_delete($node) {
- if ($node->type == 'os2web_borger_dk_article') {
+function os2_borger_dk_node_delete($node) {
+ if ($node->type == 'os2_borger_dk_article') {
// First we delete the article-data from the node-additions table.
- db_delete('os2web_borger_dk_article')
+ db_delete('os2_borger_dk_article')
->condition('nid', $node->nid)
->execute();
// Then we set the status to "not imported" in the "Titles list"-table.
- db_update('os2web_borger_dk_article_titles')
+ db_update('os2_borger_dk_article_titles')
->fields(array('ArticleStatus' => 0))
->condition('ArticleStatus', $node->nid, '=')
->execute();
@@ -739,12 +712,12 @@ function os2web_borger_dk_node_delete($node) {
/**
* Implements hook_node_validate().
*/
-function os2web_borger_dk_node_validate($node, $form, &$form_state) {
- if ($node->type == 'os2web_borger_dk_article') {
+function os2_borger_dk_node_validate($node, $form, &$form_state) {
+ if ($node->type == 'os2_borger_dk_article') {
// Enforce a minimum word length of 3 on punch lines.
- $admin_title_search = variable_get('os2web_borger_dk_titles_sync', FALSE);
- $titles_search = isset($form_state['values']['os2web_borger_dk_article_title_search']) ? $form_state['values']['os2web_borger_dk_article_title_search'] : FALSE;
- $url_text = isset($form_state['values']['os2web_borger_dk_article_url_text']) ? $form_state['values']['os2web_borger_dk_article_url_text'] : FALSE;
+ $admin_title_search = variable_get('os2_borger_dk_titles_sync', FALSE);
+ $titles_search = isset($form_state['values']['os2_borger_dk_article_title_search']) ? $form_state['values']['os2_borger_dk_article_title_search'] : FALSE;
+ $url_text = isset($form_state['values']['os2_borger_dk_article_url_text']) ? $form_state['values']['os2_borger_dk_article_url_text'] : FALSE;
// If admin config set up : import Borger.dk article by URL.
// TODO: Check if this if-statement works as expected, and
@@ -755,11 +728,11 @@ function os2web_borger_dk_node_validate($node, $form, &$form_state) {
$url = $url_text;
$pos = strpos($url, 'borger.dk/Sider');
if ($pos === FALSE) {
- form_set_error('os2web_borger_dk_article_url_text', t('The Borger.dk-URL is not valid, please write a valid Borger.dk-URL.'));
+ form_set_error('os2_borger_dk_article_url_text', t('The Borger.dk-URL is not valid, please write a valid Borger.dk-URL.'));
}
}
else {
- form_set_error('os2web_borger_dk_article_url_text', t('The Borger.dk-URL is empty, please write a valid Borger.dk-URL.'));
+ form_set_error('os2_borger_dk_article_url_text', t('The Borger.dk-URL is empty, please write a valid Borger.dk-URL.'));
}
}
}
@@ -769,9 +742,9 @@ function os2web_borger_dk_node_validate($node, $form, &$form_state) {
// TODO: Check if we can drop this if-statement. The else-statement above.
// should be sufficient if the matched if-statement really works.
if ($titles_search == '1') {
- $borger_dk_title = !empty($form_state['values']['os2web_borger_dk_article_title_text']) ? $form_state['values']['os2web_borger_dk_article_title_text'] : FALSE;
+ $borger_dk_title = !empty($form_state['values']['os2_borger_dk_article_title_text']) ? $form_state['values']['os2_borger_dk_article_title_text'] : FALSE;
if (!$borger_dk_title) {
- form_set_error('os2web_borger_dk_article_title_text', t('The Borger.dk Article title is empty, please write a Borger.dk Article title'));
+ form_set_error('os2_borger_dk_article_title_text', t('The Borger.dk Article title is empty, please write a Borger.dk Article title'));
}
$matches = array();
$aid = 0;
@@ -782,13 +755,13 @@ function os2web_borger_dk_node_validate($node, $form, &$form_state) {
// If $result is nonzero, we found a match and can use
// it as the index into $matches.
$aid = $matches[$result];
- $status = db_query('SELECT ArticleStatus FROM {os2web_borger_dk_article_titles} WHERE ArticleID = :aid', array(
+ $status = db_query('SELECT ArticleStatus FROM {os2_borger_dk_article_titles} WHERE ArticleID = :aid', array(
':aid' => $aid))->fetchField();
if ($status < 0) {
// This article is no longer availlable and we tell the user so.
drupal_set_message(t('The Borger.dk article with title "!title" is no longer availlable', array(
'!title' => $borger_dk_url)), 'warning');
- form_set_error('os2web_borger_dk_article_title_text', t('The Borger.dk Article-title has been deleted, please write a valid Borger.dk-URL.'));
+ form_set_error('os2_borger_dk_article_title_text', t('The Borger.dk Article-title has been deleted, please write a valid Borger.dk-URL.'));
}
}
}
@@ -797,14 +770,14 @@ function os2web_borger_dk_node_validate($node, $form, &$form_state) {
}
/**
- * Function os2web_borger_dk_sync_submit().
+ * Function os2_borger_dk_sync_submit().
*/
-function os2web_borger_dk_sync_submit($form, &$form_state) {
+function os2_borger_dk_sync_submit($form, &$form_state) {
// Get the node->nid from the form['#node'].
$nid = $form['#node']->nid;
// Update the article
- os2web_borger_dk_update_article($nid);
+ os2_borger_dk_update_article($nid);
drupal_set_message(t('The article has been updated with content from Borger.dk'), 'status');
drupal_goto('node/' . $nid . '/edit');
@@ -816,17 +789,22 @@ function os2web_borger_dk_sync_submit($form, &$form_state) {
* @param int $nid
* The node we are updating.
*/
-function os2web_borger_dk_update_article($nid) {
+function os2_borger_dk_update_article($nid) {
// First we find the external_id, and last_update time for this article.
- $data = db_query('SELECT external_id, last_updated FROM {os2web_borger_dk_article} WHERE nid = :nid', array(
+ $data = db_query('SELECT external_id, last_updated FROM {os2_borger_dk_article} WHERE nid = :nid', array(
':nid' => $nid))->fetchObject();
// Then we fetch the article item from the Borger.dk webservice.
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $article = _os2web_borger_dk_GetArticleByID($data->external_id, $wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $article = _os2_borger_dk_GetArticleByID($data->external_id, $wsdl);
// Now we update the node content with the fetched article content.
- _os2web_borger_dk_update_node_content($nid, $article);
+ $node = _os2_borger_dk_update_node_content($nid, $article);
+ if (variable_get('os2_borger_dk_microarticle_active')) {
+ $body_text = isset($node->body[LANGUAGE_NONE][0]['value']) ? $node->body[LANGUAGE_NONE][0]['value'] : '';
+ _os2_borger_dk_microarticle_helper($body_text, $node, FALSE);
+ }
+ node_save($node);
}
/**
@@ -840,27 +818,27 @@ function os2web_borger_dk_update_article($nid) {
*
* @ingroup actions
*/
-function os2web_borger_dk_articles_update_action($node, $context = array()) {
- if ($node->type == 'os2web_borger_dk_article') {
- os2web_borger_dk_update_article($node->nid);
+function os2_borger_dk_articles_update_action($node, $context = array()) {
+ if ($node->type == 'os2_borger_dk_article') {
+ os2_borger_dk_update_article($node->nid);
watchdog('action', 'Update %title with content from borger.dk.', array('%title' => $node->title));
}
}
/**
- * Function os2web_borger_dk_microarticles_update_submit().
+ * Function os2_borger_dk_microarticles_update_submit().
*/
-function os2web_borger_dk_microarticles_update_submit($form, &$form_state) {
+function os2_borger_dk_microarticles_update_submit($form, &$form_state) {
// Get the node->nid from the form['#node'].
$nid = $form['#node']->nid;
// First we find the external_id, and last_update time for this article.
- $data = db_query('SELECT external_id, last_updated FROM {os2web_borger_dk_article} WHERE nid = :nid', array(
+ $data = db_query('SELECT external_id, last_updated FROM {os2_borger_dk_article} WHERE nid = :nid', array(
':nid' => $nid))->fetchObject();
// Then we fetch the article item from the Borger.dk webservice.
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $article = _os2web_borger_dk_GetArticleByID($data->external_id, $wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $article = _os2_borger_dk_GetArticleByID($data->external_id, $wsdl);
if (empty($article['Exceptions']) && empty($article['error'])) {
// First we load the corresponding node.
@@ -870,8 +848,12 @@ function os2web_borger_dk_microarticles_update_submit($form, &$form_state) {
$body .= $content . "\n";
}
// Only update the body text.
- $node->body['und'][0]['value'] = $body;
+ $node->body[LANGUAGE_NONE][0]['value'] = $body;
node_save($node);
+
+ // Update microarticle field setting.
+ _os2_borger_dk_microarticle_helper($body, $node, FALSE);
+
// And we notify the user that the article has been updated.
drupal_set_message(t('The microarticles have been updated'), 'status');
}
@@ -885,8 +867,8 @@ function os2web_borger_dk_microarticles_update_submit($form, &$form_state) {
/**
* Implements hook_node_submit().
*/
-function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
- if ($node->type == 'os2web_borger_dk_article') {
+function os2_borger_dk_node_submit(&$node, $form, &$form_state) {
+ if ($node->type == 'os2_borger_dk_article') {
// We must check if this is a "brand new" article or if it exists in the
// database already (NB: That's how we find out if it is brand new or not)
// Get the node->nid from the form['#node'].
@@ -896,9 +878,9 @@ function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
// nid, external_id, external_url, field_settings,
// published_date, last_update.
// EXCEPT: ONLY field_settings CAN BE UPDATED!!
- $field_settings = $form_state['values']['os2web_borger_dk_field_settings'];
+ $field_settings = $form_state['values']['os2_borger_dk_field_settings'];
// Check admin field settings : are there fields set as hidden by admin.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
+ $admin_display_fields = variable_get('os2_borger_dk_display');
foreach ($admin_display_fields as $type => $items) {
if (!$admin_display_fields[$type]) {
$field_settings[$type] = $type;
@@ -906,64 +888,23 @@ function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
}
$serialized_data = serialize($field_settings);
- db_update('os2web_borger_dk_article')
+ db_update('os2_borger_dk_article')
->fields(array('field_settings' => $serialized_data))
->condition('nid', $nid, '=')
->execute();
// Microarticles.---
- $microarticle = variable_get('os2web_borger_dk_microarticle_active');
+ $microarticle = variable_get('os2_borger_dk_microarticle_active');
// If microarticle is set up to show.
if ($microarticle) {
$field_microarticle_settings = array();
- $body_text = isset($node->body['und'][0]['value']) ? $node->body['und'][0]['value'] : '';
+ $body_text = isset($node->body[LANGUAGE_NONE][0]['value']) ? $node->body[LANGUAGE_NONE][0]['value'] : '';
- // "Link break": in windows \r\n, linux \n.
- preg_match("/<\/div>\n/", $body_text, $link_break);
- if (isset($link_break[0])) {
- $div = preg_split("/\n<\/div>\n/", $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- else {
- $div = preg_split('/\r\n<[\/]div>\r\n/', $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
+ $article_text = _os2_borger_dk_microarticle_helper($body_text, $node, FALSE);
- $article_text = '';
- foreach ($div as $key => $text) {
- preg_match("/
/s", $div[$key], $match_id);
- $micro_id = (isset($match_id[1]) ? $match_id[1] : '');
- $microno = $key + 1;
- $checkboxno = 'os2web_borger_dk_micro_' . $microno;
- $h2_text_field = 'os2web_borger_dk_micro_h2_' . $microno;
- $text_area = 'os2web_borger_dk_micro_textarea_' . $microno;
-
- // The last div contents a link break.
- if ($key != (count($div) - 1)) {
- $field_microarticle_settings[$microno] = $node->$checkboxno;
- // Body text (Article text).
- $article_text .= "
" . "\r\n";
-
- $micro_h2 = "
";
- $micro_h2 .= $node->$h2_text_field . "
";
-
- $micro_content = "
";
- $micro_content .= $node->$text_area . "\r\n
";
-
- $article_text .= $micro_h2 . "\r\n";
- $article_text .= $micro_content;
- $article_text .= "\r\n
\r\n\r\n";
- // End of body text (Article text).
- }
- }
- $node->body['und'][0]['value'] = $article_text;
- $node->body['und'][0]['safe_value'] = $article_text;
+ $node->body[LANGUAGE_NONE][0]['value'] = $article_text;
+ $node->body[LANGUAGE_NONE][0]['safe_value'] = $article_text;
- $serialized_microarticle = serialize($field_microarticle_settings);
- db_update('os2web_borger_dk_article')
- ->fields(array(
- 'field_microarticle_settings' => $serialized_microarticle,
- ))
- ->condition('nid', $nid, '=')
- ->execute();
}
// End of Micro articles.
// All other fields are handled by the normal Drupal field-handling.
@@ -972,12 +913,12 @@ function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
// We do not(!) have a node->nid and this is a brand new node.
// We must get the Borger.dk-URL, fetch the article, and store
// the borger.dk-article content (i.e. the new node).
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
$titles_autocomplete = variable_get('borger_dk_article_titles_sync', FALSE);
- $borger_dk_url = $form_state['values']['os2web_borger_dk_article_url_text'];
- $borger_dk_title = $form_state['values']['os2web_borger_dk_article_title_text'];
- $search_method = $form_state['values']['os2web_borger_dk_article_title_search'];
+ $borger_dk_url = $form_state['values']['os2_borger_dk_article_url_text'];
+ $borger_dk_title = $form_state['values']['os2_borger_dk_article_title_text'];
+ $search_method = $form_state['values']['os2_borger_dk_article_title_search'];
if ($search_method) {
// The title has been autocompleted, and we must find the ArticleID.
@@ -990,23 +931,26 @@ function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
// If $result is nonzero, we found a match and can use
// it as the index into $matches.
$aid = $matches[$result];
- $sql = "SELECT `ArticleID`, `ArticleStatus` FROM {os2web_borger_dk_article_titles} WHERE `ArticleID` = " . $aid . " LIMIT 1";
+ $sql = "SELECT `ArticleID`, `ArticleStatus` FROM {os2_borger_dk_article_titles} WHERE `ArticleID` = " . $aid . " LIMIT 1";
$data = db_query($sql)->fetchObject();
if ($data->ArticleStatus < 0) {
// This article is no longer availlable and we tell the user so.
drupal_set_message(t('The Borger.dk article with title "!title" is no longer availlable', array(
'!title' => $borger_dk_title)), 'warning');
- drupal_goto('node/add/os2web-borger-dk-article');
+ drupal_goto('node/add/os2-borger-dk-article');
return;
}
elseif ($data->ArticleStatus > 0) {
- // We have already imported this article
- // and node->nid = ArticleStatus.
- drupal_set_message(t('The Borger.dk article with title "!title" has already been imported.', array(
- '!title' => $borger_dk_title)), 'status');
- drupal_set_message(t('You can re-import the article by clicking on the "Update now"-button below.'), 'status');
- drupal_goto('node/' . $data->ArticleStatus . '/edit');
- return;
+ $allow_duplicate_import = variable_get('os2_borger_dk_import_duplicate', 0);
+ if (!$allow_duplicate_import) {
+ // We have already imported this article
+ // and node->nid = ArticleStatus.
+ drupal_set_message(t('The Borger.dk article with title "!title" has already been imported.', array(
+ '!title' => $borger_dk_title)), 'status');
+ drupal_set_message(t('You can re-import the article by clicking on the "Update now"-button below.'), 'status');
+ drupal_goto('node/' . $data->ArticleStatus . '/edit');
+ return;
+ }
}
elseif ($data->ArticleStatus == 0) {
$aid = $data->ArticleID;
@@ -1016,141 +960,194 @@ function os2web_borger_dk_node_submit(&$node, $form, &$form_state) {
// Lets look for the text directly in our Title list.
drupal_set_message(t('No Borger.dk article with title "!title" exists.', array(
'!title' => $borger_dk_title)), 'warning');
- drupal_goto('node/add/os2web-borger-dk-article');
+ drupal_goto('node/add/os2-borger-dk-article');
}
if (isset($aid) && $aid >= 0) {
// We have not imported this article before, and we do so now.
- $article = _os2web_borger_dk_GetArticleByID($aid, $wsdl);
+ $article = _os2_borger_dk_GetArticleByID($aid, $wsdl);
}
else {
$borger_dk_title = preg_replace('/ \(ID:([0-9]+)\)$/', '', $borger_dk_title);
drupal_set_message(t('Could not find any Borger.dk article with title "!title"', array(
'!title' => $borger_dk_title)), 'warning');
- drupal_goto('node/add/os2web-borger-dk-article');
+ drupal_goto('node/add/os2-borger-dk-article');
return;
}
}
else {
// Now we fetch the article item from the Borger.dk webservice.
- $article = _os2web_borger_dk_GetArticleByUrl($borger_dk_url, $wsdl);
+ $article = _os2_borger_dk_GetArticleByUrl($borger_dk_url, $wsdl);
if (!empty($article['Exceptions']) || !empty($article['error'])) {
drupal_set_message(t('An error occured or an exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
- drupal_goto('node/add/os2web-borger-dk-article');
+ drupal_goto('node/add/os2-borger-dk-article');
return;
}
}
+ $node = _os2_borger_dk_create_article_node($nid, $article, NULL);
+ }
+ }
+}
+/**
+ * Function _os2_borger_dk_microarticle_helper().
+ */
+function _os2_borger_dk_microarticle_helper($body_text, $node, $view = FALSE) {
+ $article_text = '';
+ $doc = new DOMDocument();
+ $doc->loadHTML('' . $body_text);
+ $xpath = new DOMXPath($doc);
- $body = '';
- foreach ($article['kernetekst'] as $div => $content) {
- $body .= $content . "\n";
- }
+ $results = $xpath->query("//*[@class='microArticle']");
+ $microno = 0;
+ foreach ($results as $item) {
+ $microno++;
- // And we update all the node-fields with the article-values.
- $node = new stdClass();
- $node->language = 'und';
- $node->status = $form_state['values']['status'];
- $node->promote = $form_state['values']['promote'];
- $node->sticky = $form_state['values']['sticky'];
- $node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
- $node->validated = TRUE;
- // A user might assign the node author by entering a
- // user name in the node.
- $usr = $form['author']['name']['#value'];
- // A user might assign the node author by entering a user name in the node
- // form, which we then need to translate to a user ID.
- if ($account = user_load_by_name($usr)) {
- $node->uid = $account->uid;
- }
- else {
- $node->uid = 0;
- }
+ $checkboxno = 'os2_borger_dk_micro_' . $microno;
+ $h2_text_field = 'os2_borger_dk_micro_h2_' . $microno;
+ $text_area = 'os2_borger_dk_micro_textarea_' . $microno;
- // Insert default value of a new node.
- $node->type = 'os2web_borger_dk_article';
- $node->title = (!empty($article['title'])) ? $article['title'] : '';
- $node->body['und']['0']['value'] = !empty($body) ? $body : '';
- $node->field_os2web_borger_dk_borgerurl['und'][0]['value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und']['0']['safe_value'] = $body;
- $node->field_os2web_borger_dk_borgerurl['und'][0]['safe_value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_header['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_selfservi['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_byline['und'][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
- $node->field_os2web_borger_dk_legislati['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_shortlist['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_recommend['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $field_settings = $form_state['values']['os2web_borger_dk_field_settings'];
- // Check admin field settings : are there fields set as hidden by admin.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- foreach ($admin_display_fields as $type => $items) {
- if (!$admin_display_fields[$type]) {
- $field_settings[$type] = $type;
- }
+ if (!$view && is_object($node)) {
+ $field_microarticle_settings[$microno] = isset($node->$checkboxno) ? $node->$checkboxno : 1;
+ // Body text (Article text).
+ $article_text .= "
" . "\r\n";
+
+ $micro_h2 = "
";
+ $micro_h2 .= $node->$h2_text_field . "
";
+
+ $micro_content = "
";
+ $micro_content .= $node->$text_area . "\r\n
";
+
+ $article_text .= $micro_h2 . "\r\n";
+ $article_text .= $micro_content;
+ $article_text .= "\r\n
\r\n\r\n";
+ }
+ elseif ($view) {
+ foreach ($item->getElementsByTagName('h2') as $articletitle) {
+ $title = trim($articletitle->nodeValue);
}
- // TODO: Perform a logical-test (on paper) to
- // see if the external_status is correct.
- $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
- $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
- $node->os2web_borger_dk_article = array(
- 'external_id' => $article['external_id'],
- 'external_url' => $article['external_url'],
- 'external_status' => $external_status,
- 'field_settings' => $field_settings,
- 'published_date' => strtotime($article['published_date']),
- 'last_updated' => strtotime($article['last_updated']),
- );
- if (!empty($article['Exceptions']) || !empty($article['error'])) {
- drupal_set_message(t('An exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
- drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
- drupal_goto('node/add/os2web-borger-dk-article');
+ $text = '';
+ foreach ($item->getElementsByTagName('div')->item(0)->childNodes as $articletext) {
+ $text .= $doc->saveHTML($articletext);
}
- else {
- $node = node_submit($node);
+ if ($node[$microno] != 0) {
+ // Body text (Article text).
+ $article_text .= "
" . "\r\n";
- // We need to store the field values and article-settings.
- node_save($node);
+ $micro_h2 = "
";
+ $micro_h2 .= $title . "
";
- // Then we need to update the ArticleStatus in the Title-list.
- if ($node->nid) {
- db_update('os2web_borger_dk_article_titles')
- ->fields(array('ArticleStatus' => $node->nid))
- ->condition('ArticleID', $article['external_id'], '=')
- ->execute();
- drupal_goto('node/' . $node->nid . '/edit');
- }
+ $micro_content = "
";
+ $micro_content .= $text . "\r\n
";
+
+ $article_text .= $micro_h2 . "\r\n";
+ $article_text .= $micro_content;
+ $article_text .= "\r\n
\r\n\r\n";
}
}
+ // End of body text (Article text).
+ }
+ if (!$view && is_object($node)) {
+
+ $serialized_microarticle = serialize($field_microarticle_settings);
+ db_update('os2_borger_dk_article')
+ ->fields(array(
+ 'field_microarticle_settings' => $serialized_microarticle,
+ ))
+ ->condition('nid', $node->nid, '=')
+ ->execute();
+ }
+
+ return $article_text;
+}
+/**
+ * Function _os2_borger_dk_update_node_content().
+ */
+function _os2_borger_dk_update_node_content($nid, $article) {
+ if (!empty($article['Exceptions']) || !empty($article['error'])) {
+ return;
+ }
+ if ($nid && is_numeric($nid)) {
+ // First we load the corresponding node.
+ $node = node_load($nid, NULL, TRUE);
+ }
+ else {
+ $node = new stdClass();
+ $node->language = 'da';
+ $node->uid = 1;
+ $node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
+ $node->type = 'os2_borger_dk_article';
+ $node->validated = TRUE;
+ }
+
+ // And we update all the node-fields with the article-values.
+ $node->title = $article['title'];
+
+ $body = '';
+ foreach ($article['kernetekst'] as $div => $content) {
+ $body .= $content . "\n";
}
+
+ $node->title = (!empty($article['title'])) ? $article['title'] : '';
+
+ $node->body[LANGUAGE_NONE][0]['value'] = $body;
+ $node->body[LANGUAGE_NONE][0]['safe_value'] = $body;
+ $node->body[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ $node->field_os2_borger_dk_byline[LANGUAGE_NONE][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
+ $node->field_os2_borger_dk_byline[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
+ $node->field_os2_borger_dk_byline[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
+
+ $node->field_os2_borger_dk_header[LANGUAGE_NONE][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
+ $node->field_os2_borger_dk_header[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
+ $node->field_os2_borger_dk_header[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ $node->field_os2_borger_dk_selfservi[LANGUAGE_NONE][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
+ $node->field_os2_borger_dk_selfservi[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
+ $node->field_os2_borger_dk_selfservi[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ $node->field_os2_borger_dk_recommend[LANGUAGE_NONE][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
+ $node->field_os2_borger_dk_recommend[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
+ $node->field_os2_borger_dk_recommend[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ $node->field_os2_borger_dk_legislati[LANGUAGE_NONE][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
+ $node->field_os2_borger_dk_legislati[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
+ $node->field_os2_borger_dk_legislati[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ $node->field_os2_borger_dk_shortlist[LANGUAGE_NONE][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
+ $node->field_os2_borger_dk_shortlist[LANGUAGE_NONE][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
+ $node->field_os2_borger_dk_shortlist[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+
+ // Some fields from borger_dk_article can not be syncronized nor changed here.
+ $node->os2_borger_dk_article['external_id'] = $article['external_id'];
+ $node->os2_borger_dk_article['external_url'] = $article['external_url'];
+
+ $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
+ $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
+
+ $node->os2_borger_dk_article['external_status'] = $external_status;
+ $node->os2_borger_dk_article['published_date'] = strtotime($article['published_date']);
+ $node->os2_borger_dk_article['last_updated'] = strtotime($article['last_updated']);
+
+ db_update('os2_borger_dk_article')
+ ->fields(array('last_updated' => strtotime($article['last_updated'])))
+ ->condition('nid', $nid, '=')
+ ->execute();
+
+ return $node;
}
/********************* Menu import ************/
/**
- * Function os2web_borger_dk_import_menu_now_form_submit().
+ * Function os2_borger_dk_import_menu_now_form_submit().
*/
-function os2web_borger_dk_import_menu_now_form_submit($form, &$form_state) {
+function os2_borger_dk_import_menu_now_form_submit($form, &$form_state) {
if (($form_state['submitted'] == 1) && ($form_state['input']['op'] == 'Import Borger.dk-menu now')) {
// Next we get a list of all menu-items from the Borger.dk-webservice.
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $menu_items_availlable = _os2web_borger_dk_GetAllSites($wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $menu_items_availlable = _os2_borger_dk_GetAllSites($wsdl);
if (!empty($menu_items_availlable['Exceptions']) || !empty($menu_items_availlable['error'])) {
$msg = 'An error occured while fetching the Borger.dk menus. Last succesful update was at: %success';
@@ -1168,17 +1165,17 @@ function os2web_borger_dk_import_menu_now_form_submit($form, &$form_state) {
// $menu_name = $form['build_borger_menu_under_menu']['#value'];
$menu_name = variable_get('build_borger_menu_under_menu');
- os2web_borger_dk_create_custom_menu($menu_items_availlable, $total, $parent_array, $menu_name);
+ os2_borger_dk_create_custom_menu($menu_items_availlable, $total, $parent_array, $menu_name);
}
}
/**
- * Function os2web_borger_dk_create_custom_menu().
+ * Function os2_borger_dk_create_custom_menu().
*
* Create a custom menu.
*/
-function os2web_borger_dk_create_custom_menu($menu_items_availlable, $total, $parent_array, $menu_name) {
- $borger_dk_menu = variable_get('os2web_borger_dk_borger_dk_menu_name', t('Borger.dk menu'));
+function os2_borger_dk_create_custom_menu($menu_items_availlable, $total, $parent_array, $menu_name) {
+ $borger_dk_menu = variable_get('os2_borger_dk_borger_dk_menu_name', t('Borger.dk menu'));
if ($menu_name == 'borgerdkmenu2' && $borger_dk_menu == 'Borger.dk menu') {
$existing_menu = db_query('SELECT * FROM {menu_custom} WHERE menu_name = :menu_name',
array('menu_name' => $menu_name))->fetchAssoc();
@@ -1190,30 +1187,16 @@ function os2web_borger_dk_create_custom_menu($menu_items_availlable, $total, $pa
menu_save($menu);
}
}
- /* elseif ($menu_name != 'borgerdkmenu2') {
- $existing_menu = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name',
- array('link_title' => $borger_dk_menu, 'menu_name' => $menu_name))->fetchAssoc();
- if (!$existing_menu) {
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => 'node',
- 'link_title' => $borger_dk_menu,
- 'module' => 'os2web_borger_dk',
- 'plid' => 0,
- );
- menu_link_save($menu_item);
- }
- }*/
$operations[] = array();
// Then import the menu from Borger.dk and tag all imported articles.
- $operations[] = array('_os2web_borger_dk_menus_cronbatch_wrapper', array($total));
+ $operations[] = array('_os2_borger_dk_menus_cronbatch_wrapper', array($total));
$groups = array_chunk($menu_items_availlable, 10);
foreach ($groups as $gid => $group) {
// Set the batch operation to import 10 menu items each time.
$operations[] = array(
- '_os2web_borger_dk_import_menu_items',
+ '_os2_borger_dk_import_menu_items',
array($group, $total, $parent_array, $menu_name),
);
}
@@ -1223,61 +1206,103 @@ function os2web_borger_dk_create_custom_menu($menu_items_availlable, $total, $pa
'title' => t('Importing menu from Borger.dk'),
'init_message' => t('Import job is starting.'),
'progress_message' => t('Processed @current out of @total.'),
- 'finished' => 'os2web_borger_dk_batch_menu_import_finished',
+ 'finished' => 'os2_borger_dk_batch_menu_import_finished',
);
// Finally we execute the batch process(es).
batch_set($batch);
- // menu_cache_clear_all();
- // menu_link_load($menu);
-}
+}
+function _os2_borger_dk_add_node_menu($node, $existing_parent = array()) {
+ $menu_name = variable_get('build_borger_menu_under_menu');
+ $node->menu = array(
+ 'link_title' => $node->title,
+ 'menu_name' => $menu_name,
+ 'description' => '',
+ 'plid' => $existing_parent['mlid'],
+ 'enabled' => 1,
+ );
+ menu_node_save($node);
+ return $node;
+}
/**
- * Function _os2web_borger_dk_import_menu_items().
+ * Function _os2_borger_dk_import_menu_items().
*/
-function _os2web_borger_dk_import_menu_items($group, $total, $parent_array, $menu_name, &$context) {
+function _os2_borger_dk_import_menu_items($group, $total, $parent_array, $menu_name, &$context) {
if (empty($context['sandbox'])) {
$context['sandbox'] = array();
$context['sandbox']['progress'] = 0;
$context['sandbox']['max'] = $total;
}
+ $menu_to_term = variable_get('os2_borger_dk_choose_term', 0);
+ $vocab_name = variable_get('build_borger_menu_under_vocabulary', 'os2_base_tax_site_structure');
+ $vocab = taxonomy_vocabulary_machine_name_load($vocab_name);
+ if ($vocab) {
+ $vid = $vocab->vid;
+ }
+ else {
+ $vid = FALSE;
+ }
+
foreach ($group as $item) {
$item_site_id = $item['SiteID'];
$item_pid = $item['ParentID'];
$menu_item = array();
+ $mlid = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name', array('link_title' => $item['SiteTitle'], 'menu_name' => $menu_name))->fetchAssoc();
// The first menu item from Borger.dk does NOT contain a parent ID.
// 'Emner', it is the root of Borger.dk menu tree structure.
- if (empty($item['ParentID'])) {
- $mlid = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name', array('link_title' => $item['SiteTitle'], 'menu_name' => $menu_name))->fetchAssoc();
+ if (empty($item['ParentID']) && $item['SiteTitle'] == 'Emner') {
// If the menu link is NOT existed.
if (!$mlid) {
- $nid = _os2web_borger_dk_create_menu_page($item);
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => "node/" . $nid,
- 'link_title' => $item['SiteTitle'],
- 'module' => 'os2web_borger_dk',
- 'plid' => $item_pid,
- );
- menu_link_save($menu_item);
+
+
+ $item['SiteTitle'] = 'Borger';
+ if (!$vid && !$menu_to_term) {
+ $nid = _os2_borger_dk_create_menu_page($item);
+ $node = node_load($nid);
+ _os2_borger_dk_add_node_menu($node, array());
+ }
+ else {
+ $borger = taxonomy_get_term_by_name('Borger', $vocab_name);
+ if (!$borger) {
+ $borger = taxonomy_get_term_by_name('Emner', $vocab_name);
+ }
+
+ if (!$borger) {
+ // Create a new top level term programmatically.
+ $item['SiteTitle'] = 'Borger';
+ _os2_borger_dk_create_menu_term($item, $vid, array(), $vocab_name);
+ }
+ }
+
}
// Update our progress information.
$context['sandbox']['progress']++;
}
else {
- $mlid = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name', array('link_title' => $item['SiteTitle'], 'menu_name' => $menu_name))->fetchAssoc();
+
+ if (!$vid && !$menu_to_term) {
// If the menu link is NOT existed.
$existing_parent = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name', array('link_title' => $parent_array[$item_pid], 'menu_name' => $menu_name))->fetchAssoc();
- if ($existing_parent && !$mlid) {
- // Create a menu page for the Menu item (path).
- $nid = _os2web_borger_dk_create_menu_page($item);
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => "node/" . $nid,
- 'link_title' => $item['SiteTitle'],
- 'module' => 'os2web_borger_dk',
- 'plid' => $existing_parent['mlid'],
- );
- menu_link_save($menu_item);
+ if ($existing_parent && !$mlid) {
+ // Create a menu page for the Menu item (path).
+ $nid = _os2_borger_dk_create_menu_page($item);
+ $node = node_load($nid);
+ _os2_borger_dk_add_node_menu($node, $existing_parent);
+ }
+ }
+ else {
+ $mlid = taxonomy_get_term_by_name($item['SiteTitle'], $vocab_name);
+ // If the menu link is NOT existed.
+
+ $existing_parent = taxonomy_get_term_by_name($parent_array[$item_pid], $vocab_name);
+
+ if (!$mlid) {
+ if (!empty($existing_parent)) {
+ $existing_parent = reset($existing_parent);
+ // Create a term for the Menu item (path).
+ _os2_borger_dk_create_menu_term($item, $vid, array($existing_parent->tid), $vocab_name);
+ }
+ }
}
// Update our progress information.
$context['sandbox']['progress']++;
@@ -1286,22 +1311,24 @@ function _os2web_borger_dk_import_menu_items($group, $total, $parent_array, $men
$context['finished'] = 1;
}
/**
- * Function _os2web_borger_dk_create_menu_page().
+ * Function _os2_borger_dk_create_menu_page().
*/
-function _os2web_borger_dk_create_menu_page($item) {
+function _os2_borger_dk_create_menu_page($item) {
+ $type = variable_get('os2_borger_dk_menus_menu_page', 'os2_base_contentpage');
$result = db_query('SELECT * FROM {node} WHERE type = :type AND title = :title',
- array('type' => 'menu_page', 'title' => $item['SiteTitle']))->fetchAssoc();
+ array('type' => $type, 'title' => $item['SiteTitle']))->fetchAssoc();
if (!$result) {
$node = new stdClass();
+ $node->uid = 1;
$node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
$node->validated = TRUE;
// Insert default value of a new node.
- $node->type = 'menu_page';
+ $node->type = $type;
$node->title = $item['SiteTitle'];
- $node->body['und']['0']['value'] = '';
- $node->body['und']['0']['safe_value'] = '';
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+ $node->body[LANGUAGE_NONE]['0']['value'] = '';
+ $node->body[LANGUAGE_NONE]['0']['safe_value'] = '';
+ $node->body[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
$node = node_submit($node);
node_save($node);
return $node->nid;
@@ -1313,63 +1340,42 @@ function _os2web_borger_dk_create_menu_page($item) {
}
/**
- * Funtion : Get articleIds from each pages/site.
+ * Function _os2_borger_dk_create_menu_term().
*/
-function _os2web_borger_dk_GetArticleIDsBySiteID($site_id, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
- $error = array();
- // The ID of the Borger.dk-site to get must be given as argument.
- if (empty($site_id)) {
- return $error;
- }
- $ids = array();
- // We use a soap-client to fetch the specified article from Borger.dk.
- $client = new SoapClient($wsdl, array('exceptions' => 0));
-
- // Then we execute our webservice-request.
- $array_get_article_ids = array('siteID' => $site_id);
+function _os2_borger_dk_create_menu_term($item, $vid, $tid, $vocab_name = NULL) {
+ $vocab_name = variable_get('build_borger_menu_under_vocabulary', 'os2_base_tax_site_structure');
+ // Create a new term programmatically under 'Borger'.
+ $newterm = new stdClass();
+ $newterm->name = $item['SiteTitle']; // The name of the term
+ $newterm->vid = $vid; // The ID of the parent vocabulary
+ $newterm->vocabulary_machine_name = $vocab_name;
+ $newterm->description = '';
+ $newterm->parent = array($tid);
+ taxonomy_term_save($newterm);
+ return $newterm->tid;
- $result_article = $client->GetArticleIDsBySiteID($array_get_article_ids);
- if (is_soap_fault($result_article)) {
- // An error was encountered and we examine it more closely.
- $error = _os2web_borger_dk_translate_soap_fault(2, $result_article->faultcode, $result_article->faultstring);
-
- return $error;
- }
- else {
- $article_ids = $result_article->GetArticleIDsBySiteIDResult;
- if (isset($article_ids->ArticleShortDescription)) {
- if (is_array($article_ids->ArticleShortDescription)) {
- foreach ($article_ids->ArticleShortDescription as $article_id) {
- $ids[] = $article_id->ArticleID;
- }
- }
- else {
- $ids[] = $article_ids->ArticleShortDescription->ArticleID;
- }
- }
- }
- return $ids;
}
+
/**
- * Function _os2web_borger_dk_menus_cronbatch_wrapper().
+ * Function _os2_borger_dk_menus_cronbatch_wrapper().
*
* A batch-wrapper so that the cronbatch function can
* also be run via the browser, and not just as a cron-job.
*/
-function _os2web_borger_dk_menus_cronbatch_wrapper($max_count, &$context) {
- // _os2web_borger_dk_menus_cronbatch(TRUE);
+function _os2_borger_dk_menus_cronbatch_wrapper($max_count, &$context) {
+ // _os2_borger_dk_menus_cronbatch(TRUE);
$context['sandbox']['progress']++;
$context['message'] = t("Importing the menu from Borger.dk.");
$context['finished'] = 1;
}
/**
- * Function os2web_borger_dk_batch_article_import_finished().
+ * Function os2_borger_dk_batch_article_import_finished().
*
* When menu structure is imported, show message and go
* to next process: import articles.
*/
-function os2web_borger_dk_batch_menu_import_finished($success, $results, $operations) {
+function os2_borger_dk_batch_menu_import_finished($success, $results, $operations) {
if ($success) {
drupal_set_message(t('The Borger.dk menu items are imported.'));
drupal_set_message(t('You can now import all articles from Borger.dk'));
@@ -1380,23 +1386,23 @@ function os2web_borger_dk_batch_menu_import_finished($success, $results, $operat
'@operation' => $error_operation[0], '@args' => print_r($error_operation[0], TRUE))));
}
menu_cache_clear_all();
- // _os2web_borger_dk_import_all_articles();
- drupal_goto('admin/config/os2web_borger_dk/settings');
+ // _os2_borger_dk_import_all_articles();
+ drupal_goto('admin/config/os2_borger_dk/settings');
}
/**
- * Function os2web_borger_dk_import_articles_now_form_submit().
+ * Function os2_borger_dk_import_articles_now_form_submit().
*/
-function os2web_borger_dk_import_articles_now_form_submit($form, &$form_state) {
+function os2_borger_dk_import_articles_now_form_submit($form, &$form_state) {
if ($form_state['submitted'] == 1) {
// First we find the list of availlable articles at Borger.dk.
$operations = array();
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $titles_availlable = _os2web_borger_dk_GetAllArticles($wsdl, FALSE);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $titles_availlable = _os2_borger_dk_GetAllArticles($wsdl, FALSE);
// Then get a list of already imported articles to update.
$update_items = array();
- $sql = 'SELECT n.nid, ba.external_id FROM {node} AS n LEFT JOIN {os2web_borger_dk_article} AS ba ON n.nid = ba.nid WHERE n.type LIKE :node_type';
- $result = db_query($sql, array(':node_type' => 'os2web_borger_dk_article'));
+ $sql = 'SELECT n.nid, ba.external_id FROM {node} AS n LEFT JOIN {os2_borger_dk_article} AS ba ON n.nid = ba.nid WHERE n.type LIKE :node_type';
+ $result = db_query($sql, array(':node_type' => 'os2_borger_dk_article'));
foreach ($result as $record) {
$update_items[$record->external_id] = $record->nid;
}
@@ -1419,19 +1425,19 @@ function os2web_borger_dk_import_articles_now_form_submit($form, &$form_state) {
$groups = array_chunk($full_id_list, 10);
foreach ($groups as $gid => $group) {
// Set the batch operation to import 10 articles at a time.
- $operations[] = array('_os2web_borger_dk_batch_article_import', array($group,
+ $operations[] = array('_os2_borger_dk_batch_article_import', array($group,
$max_count, $update_items));
}
// Then import the menu from Borger.dk and tag all imported articles.
- $operations[] = array('_os2web_borger_dk_articles_cronbatch_wrapper', array($max_count));
+ $operations[] = array('_os2_borger_dk_articles_cronbatch_wrapper', array($max_count));
$batch = array(
'operations' => $operations,
'title' => t('Importing articles from Borger.dk'),
'init_message' => t('Import job is starting.'),
'progress_message' => t('Processed @current out of @total.'),
- 'finished' => 'os2web_borger_dk_batch_article_import_finished',
+ 'finished' => 'os2_borger_dk_batch_article_import_finished',
);
// Finally we execute the batch process(es).
@@ -1439,10 +1445,10 @@ function os2web_borger_dk_import_articles_now_form_submit($form, &$form_state) {
}
}
/**
- * Function _os2web_borger_dk_batch_article_import().
+ * Function _os2_borger_dk_batch_article_import().
*/
-function _os2web_borger_dk_batch_article_import($external_id_list, $max_count, $update_items, &$context) {
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+function _os2_borger_dk_batch_article_import($external_id_list, $max_count, $update_items, &$context) {
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
if (empty($context['sandbox'])) {
$context['sandbox'] = array();
$context['sandbox']['progress'] = 0;
@@ -1451,99 +1457,27 @@ function _os2web_borger_dk_batch_article_import($external_id_list, $max_count, $
foreach ($external_id_list as $eid) {
// Import the Borger.dk-article with the given ArticleID.
- $article = _os2web_borger_dk_GetArticleByID($eid, $wsdl, FALSE);
+ $article = _os2_borger_dk_GetArticleByID($eid, $wsdl, FALSE);
if (empty($article['Exceptions']) && empty($article['error'])) {
$title = $article['title'];
$nid = FALSE;
// Then check if this node should be updated or created.
if (!isset($update_items[$eid])) {
- // And we update all the node-fields with the article-values.
- $node = new stdClass();
- $node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
- $node->validated = TRUE;
-
- // Insert default value of a new node.
- $node->type = 'os2web_borger_dk_article';
- $node->title = (!empty($article['title'])) ? $article['title'] : '';
- $node->body['und']['0']['value'] = !empty($body) ? $body : '';
- $node->field_os2web_borger_dk_borgerurl['und'][0]['value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und']['0']['safe_value'] = $body;
- $node->field_os2web_borger_dk_borgerurl['und'][0]['safe_value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_header['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_selfservi['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_byline['und'][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
- $node->field_os2web_borger_dk_legislati['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_shortlist['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_recommend['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $field_settings = $form_state['values']['os2web_borger_dk_field_settings'];
- // Check admin field settings : are there fields set as hidden by admin.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- foreach ($admin_display_fields as $type => $items) {
- if (!$admin_display_fields[$type]) {
- $field_settings[$type] = $type;
- }
- }
- // TODO: Perform a logical-test (on paper) to
- // see if the external_status is correct.
- $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
- $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
- $node->os2web_borger_dk_article = array(
- 'external_id' => $article['external_id'],
- 'external_url' => $article['external_url'],
- 'external_status' => $external_status,
- 'field_settings' => $field_settings,
- 'published_date' => strtotime($article['published_date']),
- 'last_updated' => strtotime($article['last_updated']),
- );
-
- if (!empty($article['Exceptions']) || !empty($article['error'])) {
- drupal_set_message(t('An exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
- drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
- }
- else {
- $node = node_submit($node);
-
- // We need to store the field values and article-settings.
- node_save($node);
-
- // Then we need to update the ArticleStatus in the Title-list.
- if ($node->nid) {
- db_update('os2web_borger_dk_article_titles')
- ->fields(array('ArticleStatus' => $node->nid))
- ->condition('ArticleID', $article['external_id'], '=')
- ->execute();
- }
- }
- $nid = $node->nid;
+ _os2_borger_dk_create_article_node($nid, $article);
}
else {
// This is an already imported article, and we should
// update the node-content.
$nid = $update_items[$eid];
+ // If a nid was found we can update the node with the
+ // article from Borger.dk.
+ if (is_numeric($nid)) {
+ $node = _os2_borger_dk_update_node_content($nid, $article);
+ node_save($node);
+ }
}
- // If a nid was found we can update the node with the
- // article from Borger.dk.
- if ($nid) {
- _os2web_borger_dk_update_node_content($nid, $article);
- }
$context['results'][] = $nid . ' : ' . check_plain($title);
$context['message'] = 'Imported title: ' . check_plain($title);
}
@@ -1558,19 +1492,11 @@ function _os2web_borger_dk_batch_article_import($external_id_list, $max_count, $
$context['finished'] = 1;
}
+
/**
- * Function _os2web_borger_dk_articles_cronbatch_wrapper().
- */
-function _os2web_borger_dk_articles_cronbatch_wrapper() {
- // _os2web_borger_dk_menus_cronbatch(TRUE);
- $context['sandbox']['progress']++;
- $context['message'] = t("Importing articles from Borger.dk.");
- $context['finished'] = 1;
-}
-/**
- * Function os2web_borger_dk_batch_article_import_finished().
+ * Function os2_borger_dk_batch_article_import_finished().
*/
-function os2web_borger_dk_batch_article_import_finished($success, $results, $operations) {
+function os2_borger_dk_batch_article_import_finished($success, $results, $operations) {
if ($success) {
drupal_set_message(t('@count results processed.', array('@count' => count($results))));
drupal_set_message(t('The final result was "%final"', array('%final' => end($results))));
@@ -1580,19 +1506,19 @@ function os2web_borger_dk_batch_article_import_finished($success, $results, $ope
drupal_set_message(t('An error occurred while processing @operation with arguments : @args', array(
'@operation' => $error_operation[0], '@args' => print_r($error_operation[0], TRUE))));
}
- drupal_goto('admin/config/os2web_borger_dk/settings');
+ drupal_goto('admin/config/os2_borger_dk/settings');
}
/**
- * Function os2web_os2web_borger_dk_create_borger_dk_menu_now_form_submit().
+ * Function os2_os2_borger_dk_create_borger_dk_menu_now_form_submit().
*
* Create links to articles under a chosen menu.
*/
-function os2web_borger_dk_create_borger_dk_menu_now_form_submit($form, &$form_state) {
+function os2_borger_dk_create_borger_dk_menu_now_form_submit($form, &$form_state) {
if ($form_state['submitted'] == 1) {
// Next we get a list of all menu-items from the Borger.dk-webservice.
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $menu_items_availlable = _os2web_borger_dk_GetAllSites($wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $menu_items_availlable = _os2_borger_dk_GetAllSites($wsdl);
if (!empty($menu_items_availlable['Exceptions']) || !empty($menu_items_availlable['error'])) {
$msg = 'An error occured while fetching the Borger.dk menus. Last succesful update was at: %success';
@@ -1604,18 +1530,18 @@ function os2web_borger_dk_create_borger_dk_menu_now_form_submit($form, &$form_st
$menu_name = variable_get('build_borger_menu_under_menu');
$operations[] = array();
// Then import the menu from Borger.dk and tag all imported articles.
- $operations[] = array('_os2web_borger_dk_create_menustructure_cronbatch_wrapper', array($total));
+ $operations[] = array('_os2_borger_dk_create_menustructure_cronbatch_wrapper', array($total));
foreach ($menu_items_availlable as $item) {
$operations[] = array(
- '_os2web_borger_dk_create_borger_dk_meun_structure',
+ '_os2_borger_dk_create_borger_dk_meun_structure',
array($item, $total, $menu_name),
);
}
/* $groups = array_chunk($menu_items_availlable, 10);
foreach ($groups as $gid => $group) {
// Set the batch operation to import 10 menu items each time.
- $operations[] = array('_os2web_borger_dk_create_borger_dk_meun_structure', array($group, $total));
+ $operations[] = array('_os2_borger_dk_create_borger_dk_meun_structure', array($group, $total));
}*/
$batch = array(
@@ -1623,32 +1549,21 @@ function os2web_borger_dk_create_borger_dk_menu_now_form_submit($form, &$form_st
'title' => t('Create Borger.dk menu structure'),
'init_message' => t('Create job is starting.'),
'progress_message' => t('Processed @current out of @total.'),
- 'finished' => 'os2web_borger_dk_batch_menustructure_create_finished',
+ 'finished' => 'os2_borger_dk_batch_menustructure_create_finished',
);
// Finally we execute the batch process(es).
batch_set($batch);
}
}
/**
- * Function _os2web_borger_dk_create_borger_dk_meun_structure().
+ * Function _os2_borger_dk_create_borger_dk_meun_structure().
*/
-function _os2web_borger_dk_create_borger_dk_meun_structure($item, $total, $menu_name, &$context) {
+function _os2_borger_dk_create_borger_dk_meun_structure($item, $total, $menu_name, &$context) {
if (empty($context['sandbox'])) {
$context['sandbox'] = array();
$context['sandbox']['progress'] = 0;
$context['sandbox']['max'] = $total;
}
- /* This part is only for Ishøj kommune or other u
- * sers where they create their own
- * 'Emner' menu link and rename it to 'Borger'.
- */
- if ($item['SiteTitle'] == 'Emner') {
- $result = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name',
- array('link_title' => 'Borger', 'menu_name' => $menu_name))->fetchAssoc();
- if ($result) {
- $item['SiteTitle'] = 'Borger';
- }
- }
// Search each menu link under the given menu_name.
$pid = db_query('SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name',
@@ -1656,134 +1571,67 @@ function _os2web_borger_dk_create_borger_dk_meun_structure($item, $total, $menu_
if ($pid) {
// If the menu link is existed, then get all article
// IDs in the menu link page.
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $article_ids = _os2web_borger_dk_GetArticleIDsBySiteID($item['SiteID'], $wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $article_ids = _os2_borger_dk_GetArticleIDsBySiteID($item['SiteID'], $wsdl);
// When there are articles with IDs under the page.
if (!empty($article_ids)) {
foreach ($article_ids as $id => $value) {
// TODO: check if the links is existed.!!!!
// Check if article is existed.
- $result = db_query("SELECT `ArticleID`, `ArticleStatus`, `ArticleTitle` FROM {os2web_borger_dk_article_titles}
+ $result = db_query("SELECT `ArticleID`, `ArticleStatus`, `ArticleTitle` FROM {os2_borger_dk_article_titles}
WHERE `ArticleID` = " . $value);
if ($result) {
foreach ($result as $row) {
$article_title = $row->ArticleTitle;
- $query = 'SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name AND plid = :plid';
+ $query = 'SELECT * FROM {menu_links} WHERE link_title= :link_title AND menu_name = :menu_name AND plid = :plid';
$mlid = db_query($query, array(
'link_title' => $article_title,
'menu_name' => $menu_name,
- 'plid' => $pid['mlid'])
+ 'plid' => $pid['mlid'],
+ )
)->fetchAssoc();
if ($mlid) {
- return;
+
+ $menu_to_term = variable_get('os2_borger_dk_choose_term', 0);
+ $vocab_name = variable_get('build_borger_menu_under_vocabulary', 'os2_base_tax_site_structure');
+ $vocab = taxonomy_vocabulary_machine_name_load($vocab_name);
+ if ($vocab) {
+ $vid = $vocab->vid;
+ }
+ else {
+ $vid = FALSE;
+ }
+ if ($menu_to_term && $vid) {
+ // Delete the term.
+ $tid = db_query('SELECT tid FROM {taxonomy_menu} WHERE mlid = :mlid', array(':mlid' => $mlid['mlid'],))->fetchField();
+
+ taxonomy_term_delete($tid);
+ }
+
+ return;
+
}
if ($row->ArticleStatus > 0) {
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => "node/" . $row->ArticleStatus,
- 'link_title' => $row->ArticleTitle,
- 'module' => 'os2web_borger_dk',
- 'plid' => isset($pid['mlid']) ? $pid['mlid'] : 0,
- );
- menu_link_save($menu_item);
+
+ $node = node_load($row->ArticleStatus);
+ _os2_borger_dk_add_node_menu($node, $pid);
+
}
// If the article is NOT imported yet, so import it.
else {
- $article = _os2web_borger_dk_GetArticleByID($value, $wsdl, FALSE);
+ $article = _os2_borger_dk_GetArticleByID($value, $wsdl, FALSE);
if (empty($article['Exceptions']) && empty($article['error'])) {
- $body = '';
- foreach ($article['kernetekst'] as $div => $content) {
- $body .= $content . "\n";
- }
- $title = $article['title'];
$nid = FALSE;
- $node = new stdClass();
- $node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
- $node->validated = TRUE;
- // Insert default value of a new node.
- $node->type = 'os2web_borger_dk_article';
- $node->title = (!empty($article['title'])) ? $article['title'] : '';
- $node->body['und']['0']['value'] = !empty($body) ? $body : '';
- $node->field_os2web_borger_dk_borgerurl['und'][0]['value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und']['0']['safe_value'] = $body;
- $node->field_os2web_borger_dk_borgerurl['und'][0]['safe_value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_header['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_selfservi['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_byline['und'][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
- $node->field_os2web_borger_dk_legislati['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_shortlist['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_recommend['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $field_settings = $form_state['values']['os2web_borger_dk_field_settings'];
- // Check admin field settings : are there fields
- // set as hidden by admin.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- foreach ($admin_display_fields as $type => $items) {
- if (!$admin_display_fields[$type]) {
- $field_settings[$type] = $type;
- }
- }
- // TODO: Perform a logical-test (on paper) to
- // see if the external_status is correct.
- $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
- $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
- $node->os2web_borger_dk_article = array(
- 'external_id' => $article['external_id'],
- 'external_url' => $article['external_url'],
- 'external_status' => $external_status,
- 'field_settings' => $field_settings,
- 'published_date' => strtotime($article['published_date']),
- 'last_updated' => strtotime($article['last_updated']),
- );
-
- if (!empty($article['Exceptions']) || !empty($article['error'])) {
- drupal_set_message(t('An exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
- drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
- }
- else {
- $node = node_submit($node);
- // We need to store the field values and article-settings.
- node_save($node);
- // Then we need to update the ArticleStatus in the Title-list.
- if ($node->nid) {
- db_update('os2web_borger_dk_article_titles')
- ->fields(array('ArticleStatus' => $node->nid))
- ->condition('ArticleID', $article['external_id'], '=')
- ->execute();
- }
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => "node/" . $node->nid,
- 'link_title' => $node->title,
- 'module' => 'os2web_borger_dk',
- 'plid' => isset($pid['mlid']) ? $pid['mlid'] : 0,
- );
- menu_link_save($menu_item);
- }
+ $node = _os2_borger_dk_create_article_node($nid, $article, $pid);
}
}
}
}
// If article is NOT existed, then import by articleID.
else {
- _os2web_borger_dk_import_supplement_article($value);
+ _os2_borger_dk_import_supplement_article($value, $pid);
}
// Update our progress information.
$context['sandbox']['progress']++;
@@ -1804,9 +1652,9 @@ function _os2web_borger_dk_create_borger_dk_meun_structure($item, $total, $menu_
if (!empty($node_id)) {
$node = node_load($node_id);
- $node->body['und']['0']['value'] = $body_content;
- $node->body['und']['0']['safe_value'] = $body_content;
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+ $node->body[LANGUAGE_NONE]['0']['value'] = $body_content;
+ $node->body[LANGUAGE_NONE]['0']['safe_value'] = $body_content;
+ $node->body[LANGUAGE_NONE][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
node_save($node);
}
}*/
@@ -1814,90 +1662,65 @@ function _os2web_borger_dk_create_borger_dk_meun_structure($item, $total, $menu_
$context['finished'] = 1;
}
+function _os2_borger_dk_create_article_node($nid, $article, $pid = NULL) {
+ $node = _os2_borger_dk_update_node_content($nid, $article);
+ $field_settings = $form_state['values']['os2_borger_dk_field_settings'];
+ // Check admin field settings : are there fields set as hidden by admin.
+ $admin_display_fields = variable_get('os2_borger_dk_display');
+ foreach ($admin_display_fields as $type => $items) {
+ if (!$admin_display_fields[$type]) {
+ $field_settings[$type] = $type;
+ }
+ }
+ // TODO: Perform a logical-test (on paper) to
+ // see if the external_status is correct.
+ $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
+ $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
+ $node->os2_borger_dk_article = array(
+ 'external_id' => $article['external_id'],
+ 'external_url' => $article['external_url'],
+ 'external_status' => $external_status,
+ 'field_settings' => $field_settings,
+ 'published_date' => strtotime($article['published_date']),
+ 'last_updated' => strtotime($article['last_updated']),
+ );
+
+ if (!empty($article['Exceptions']) || !empty($article['error'])) {
+ drupal_set_message(t('An exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
+ drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
+ }
+ else {
+ $node = node_submit($node);
+ // We need to store the field values and article-settings.
+ node_save($node);
+ // Then we need to update the ArticleStatus in the Title-list.
+ if ($node->nid) {
+ db_update('os2_borger_dk_article_titles')
+ ->fields(array('ArticleStatus' => $node->nid))
+ ->condition('ArticleID', $article['external_id'], '=')
+ ->execute();
+
+ }
+ if (is_numeric($pid)) {
+ _os2_borger_dk_add_node_menu($node, $pid);
+ }
+ }
+ return $node;
+}
/**
- * Functioin _os2web_borger_dk_import_supplement_article().
+ * Functioin _os2_borger_dk_import_supplement_article().
*/
-function _os2web_borger_dk_import_supplement_article($value) {
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+function _os2_borger_dk_import_supplement_article($value, $pid) {
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
// Import the Borger.dk-article with the given ArticleID.
- $article = _os2web_borger_dk_GetArticleByID($value, $wsdl, FALSE);
+ $article = _os2_borger_dk_GetArticleByID($value, $wsdl, FALSE);
if (empty($article['Exceptions']) && empty($article['error'])) {
- $body = '';
- foreach ($article['kernetekst'] as $div => $content) {
- $body .= $content . "\n";
- }
- $title = $article['title'];
$nid = FALSE;
- $node = new stdClass();
- $node->created = !empty($node->date) ? strtotime($node->date) : REQUEST_TIME;
- $node->validated = TRUE;
- // Insert default value of a new node.
- $node->type = 'os2web_borger_dk_article';
- $node->title = (!empty($article['title'])) ? $article['title'] : '';
- $node->body['und']['0']['value'] = !empty($body) ? $body : '';
- $node->field_os2web_borger_dk_borgerurl['und'][0]['value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und']['0']['safe_value'] = $body;
- $node->field_os2web_borger_dk_borgerurl['und'][0]['safe_value'] = (!empty($article['external_url'])) ? $article['external_url'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
-
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_header['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_selfservi['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_byline['und'][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
- $node->field_os2web_borger_dk_legislati['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_shortlist['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
- $node->field_os2web_borger_dk_recommend['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $field_settings = $form_state['values']['os2web_borger_dk_field_settings'];
- // Check admin field settings : are there fields set as hidden by admin.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- foreach ($admin_display_fields as $type => $items) {
- if (!$admin_display_fields[$type]) {
- $field_settings[$type] = $type;
- }
- }
- // TODO: Perform a logical-test (on paper) to
- // see if the external_status is correct.
- $external_status = (empty($article['Exceptions']) && empty($article['error'])) ? 1 : 0;
- $external_status = (!empty($article['error']) && $article['error_type'] == 'not_found') ? -1 : $external_status;
- $node->os2web_borger_dk_article = array(
- 'external_id' => $article['external_id'],
- 'external_url' => $article['external_url'],
- 'external_status' => $external_status,
- 'field_settings' => $field_settings,
- 'published_date' => strtotime($article['published_date']),
- 'last_updated' => strtotime($article['last_updated']),
- );
+ $node = _os2_borger_dk_create_article_node($nid, $article, $pid);
- if (!empty($article['Exceptions']) || !empty($article['error'])) {
- drupal_set_message(t('An exception was thrown by the Borger.dk webservice for the specified URL.'), 'error');
- drupal_set_message(t('You can fetch this article when the webservice is responsive again.'), 'error');
- }
- else {
- $node = node_submit($node);
- // We need to store the field values and article-settings.
- node_save($node);
- // Then we need to update the ArticleStatus in the Title-list.
- if ($node->nid) {
- db_insert('os2web_borger_dk_article_titles')
- ->fields(array('ArticleStatus' => $node->nid))
- ->condition('ArticleID', $article['external_id'], '=')
- ->execute();
- db_insert('os2web_borger_dk_article_titles')
+ db_insert('os2_borger_dk_article_titles')
->fields(array(
'ArticleID' => $article['external_id'],
'ArticleTitle' => $article['title'],
@@ -1907,30 +1730,13 @@ function _os2web_borger_dk_import_supplement_article($value) {
'FORMFields' => $article['FORMFields'],
))
->execute();
- }
- $menu_item = array(
- 'menu_name' => $menu_name,
- 'link_path' => "node/" . $node->nid,
- 'link_title' => $node->title,
- 'module' => 'os2web_borger_dk',
- 'plid' => isset($pid['mlid']) ? $pid['mlid'] : 0,
- );
- menu_link_save($menu_item);
- }
}
}
+
/**
- * Function _os2web_borger_dk_create_menustructure_cronbatch_wrapper().
- */
-function _os2web_borger_dk_create_menustructure_cronbatch_wrapper($max_count, &$context) {
- $context['sandbox']['progress']++;
- $context['message'] = t("Creating Borger.dk menu structure.");
- $context['finished'] = 1;
-}
-/**
- * Function os2web_borger_dk_batch_menustructure_create_finished().
+ * Function os2_borger_dk_batch_menustructure_create_finished().
*/
-function os2web_borger_dk_batch_menustructure_create_finished($success, $results, $operations) {
+function os2_borger_dk_batch_menustructure_create_finished($success, $results, $operations) {
if ($success) {
$menu_name = variable_get('build_borger_menu_under_menu');
@@ -1946,18 +1752,19 @@ function os2web_borger_dk_batch_menustructure_create_finished($success, $results
menu_cache_clear_all();
// Finished.
- drupal_goto('admin/config/os2web_borger_dk/settings');
+ drupal_goto('admin/config/os2_borger_dk/settings');
}
/***************** End of menu import *****************************************/
+/**************** Borger.dk Cron. ********************************************/
/**
* Implements hook_cron().
*/
-function os2web_borger_dk_cron() {
- $cron_settings_time_articles = variable_get('os2web_borger_dk_nightly_article_sync', FALSE);
- $titles_autocomplete = variable_get('os2web_borger_dk_titles_sync', FALSE);
- $borger_dk_menus_import = variable_get('os2web_borger_dk_menus_import', FALSE);
- $cron_settings_time_menus = variable_get('os2web_borger_dk_nightly_menu_sync');
+function os2_borger_dk_cron() {
+ $cron_settings_time_articles = variable_get('os2_borger_dk_nightly_article_sync', FALSE);
+ $titles_autocomplete = variable_get('os2_borger_dk_titles_sync', FALSE);
+ $borger_dk_menus_import = variable_get('os2_borger_dk_menus_import', FALSE);
+ $cron_settings_time_menus = variable_get('os2_borger_dk_nightly_menu_sync');
// Then we can find out if it is time for our cron-job to run.
if (!empty($cron_settings_time_articles) || !empty($cron_settings_time_menus)) {
@@ -1970,43 +1777,60 @@ function os2web_borger_dk_cron() {
// Is it time for auto-updating imported Borger.dk-articles.
if ($cron_settings_time_articles == $current_hour) {
// Run the auto-update for articles already imported.
- _os2web_borger_dk_cronbatch();
+ _os2_borger_dk_cronbatch();
// Fetch availlable Borger.dk-titles if autocomplete has been activated.
if ($titles_autocomplete) {
// We must fetch a list of all availlable articles from Borger.dk.
- _os2web_borger_dk_titles_cronbatch();
+ _os2_borger_dk_titles_cronbatch();
}
}
// Is it time for auto-updating imported Borger.dk-menus.
if ($cron_settings_time_menus == $current_hour) {
$this_run = time();
- $last_run = variable_get('os2web_borger_dk_menus_last_update', $this_run);
- $weekly = variable_get('os2web_borger_dk_weekly_borger_dk_menus_import', 0);
+ $last_run = variable_get('os2_borger_dk_menus_last_update', $this_run);
+ $weekly = variable_get('os2_borger_dk_weekly_borger_dk_menus_import', 0);
// 7 * 24 * 60 * 60 = 604800. We deduct 800 seconds to give
// the cron-request some time to start.
if (!empty($weekly) && ($weekly > 0) && ($this_run - $last_run > 604000)) {
// It is "about" a week ago now, so we start the cronbatch-job now.
- _os2web_borger_dk_menus_cronbatch();
+ _os2_borger_dk_menus_cronbatch();
}
elseif (empty($weekly) || ($weekly == 0)) {
// If run daily then we start the cronbatch-job now.
- _os2web_borger_dk_menus_cronbatch();
+ _os2_borger_dk_menus_cronbatch();
}
}
}
// We check for deleted-items in the queue at every cron-run.
- _os2web_borger_dk_cron_queue();
+ _os2_borger_dk_cron_queue();
}
/**
- * Function _os2web_borger_dk_cron_queue().
+ * Function _os2_borger_dk_articles_cronbatch_wrapper().
+ */
+function _os2_borger_dk_articles_cronbatch_wrapper() {
+ // _os2_borger_dk_menus_cronbatch(TRUE);
+ $context['sandbox']['progress']++;
+ $context['message'] = t("Importing articles from Borger.dk.");
+ $context['finished'] = 1;
+}
+/**
+ * Function _os2_borger_dk_create_menustructure_cronbatch_wrapper().
+ */
+function _os2_borger_dk_create_menustructure_cronbatch_wrapper($max_count, &$context) {
+ $context['sandbox']['progress']++;
+ $context['message'] = t("Creating Borger.dk menu structure.");
+ $context['finished'] = 1;
+}
+/**
+ * Function _os2_borger_dk_cron_queue().
*/
-function _os2web_borger_dk_cron_queue() {
- $queue = DrupalQueue::get('os2web_borger_dk_delete_queue');
- $result = db_query('SELECT nid, external_id FROM {os2web_borger_dk_article} WHERE external_status = -2');
+function _os2_borger_dk_cron_queue() {
+ $queue = DrupalQueue::get('os2_borger_dk_delete_queue');
+ $result = db_query('SELECT nid, external_id FROM {os2_borger_dk_article} WHERE external_status = -2');
foreach ($result as $item) {
$qitem = array('nid' => $item->nid, 'external_id' => $item->external_id);
$queue->createItem($qitem);
@@ -2014,19 +1838,19 @@ function _os2web_borger_dk_cron_queue() {
}
/**
- * Function _os2web_borger_dk_cronbatch().
+ * Function _os2_borger_dk_cronbatch().
*/
-function _os2web_borger_dk_cronbatch() {
+function _os2_borger_dk_cronbatch() {
// First we determine the time for our last check for new updates.
$this_run = time();
- $last_run = variable_get('os2web_borger_dk_last_update', time());
+ $last_run = variable_get('os2_borger_dk_last_update', time());
$updated_after = date('Y-m-d\TH\:i\:s', $last_run);
- $titles_autocomplete = variable_get('os2web_borger_dk_titles_sync', FALSE);
+ $titles_autocomplete = variable_get('os2_borger_dk_titles_sync', FALSE);
// Next we get a list of all imported articles.
$article_id_list = array();
$article_id_to_nid = array();
- $result = db_query('SELECT nid, external_id FROM {os2web_borger_dk_article} WHERE external_status > 0');
+ $result = db_query('SELECT nid, external_id FROM {os2_borger_dk_article} WHERE external_status > 0');
foreach ($result as $item) {
// We also build an index of "external_id" => "nid".
$article_id2nid[$item->external_id] = $item->nid;
@@ -2034,11 +1858,11 @@ function _os2web_borger_dk_cronbatch() {
}
// Then we get all the updated articles. We can not(!) use the LastUpdated-
- // field in the 'os2web_borger_dk_titles'-table since it only works when
+ // field in the 'os2_borger_dk_titles'-table since it only works when
// titles-autocomplete has been activated.
$articles = array();
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $articles = _os2web_borger_dk_GetArticlesByIDs($article_id_list, $updated_after, $wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $articles = _os2_borger_dk_GetArticlesByIDs($article_id_list, $updated_after, $wsdl);
// We must check if the webservice throws ANY errors.
$any_webservice_errors = FALSE;
@@ -2056,7 +1880,8 @@ function _os2web_borger_dk_cronbatch() {
if (empty($article['no_updates'])) {
// We only update articles that does not contain an error.
if (empty($article['Exceptions']) && empty($article['error'])) {
- _os2web_borger_dk_update_node_content($nid, $article);
+ $node = _os2_borger_dk_update_node_content($nid, $article);
+ node_save($node);
}
if (!empty($article['Exceptions'])) {
$any_webservice_errors = TRUE;
@@ -2066,10 +1891,10 @@ function _os2web_borger_dk_cronbatch() {
// Articles with errors might have been deleted, and we must handle it.
// But if "Titles autocomplete" is active, then it will be handled by
// the titles-auto-update in the cron-function:
- // _os2web_borger_dk_titles_cronbatch().
+ // _os2_borger_dk_titles_cronbatch().
if (!$titles_autocomplete) {
// Try to get this one article, to see if it still exists.
- $item = _os2web_borger_dk_GetArticleByID($external_id, $wsdl);
+ $item = _os2_borger_dk_GetArticleByID($external_id, $wsdl);
if (!empty($item['error']) && $item['error'] == 1) {
if (!empty($item['error_type']) && ($item['error_type'] == 'not_found')) {
// $deleted_items[$nid] = $item;
@@ -2088,7 +1913,7 @@ function _os2web_borger_dk_cronbatch() {
// Deleted_ids will only contain elements
// if "Titles autocomplete" is inactive.
if (!empty($deleted_ids)) {
- $sql = "UPDATE {os2web_borger_dk_article} SET external_status = -2 WHERE nid IN (:nids)";
+ $sql = "UPDATE {os2_borger_dk_article} SET external_status = -2 WHERE nid IN (:nids)";
$nid_list = implode(',', $deleted_ids);
db_query($sql, array(':updated' => $this_run, ':nids' => $nid_list));
}
@@ -2113,7 +1938,7 @@ function _os2web_borger_dk_cronbatch() {
// Now we must update the "last_updated" variable.
// But only if no errors were encountered.
if (!$any_webservice_errors) {
- variable_set('os2web_borger_dk_last_update', $this_run);
+ variable_set('os2_borger_dk_last_update', $this_run);
$updated_at = date('Y-m-d\TH\:i\:s', $this_run);
$msg = 'All Borger.dk webservice articles have been updated succesfully at: %success';
watchdog('OS2web Borger.dk', $msg, $variables = array('%success' => $updated_at));
@@ -2133,18 +1958,18 @@ function _os2web_borger_dk_cronbatch() {
}
/**
- * Function _os2web_borger_dk_titles_cronbatch().
+ * Function _os2_borger_dk_titles_cronbatch().
*/
-function _os2web_borger_dk_titles_cronbatch($first_run = FALSE) {
- $borger_dk_menus_import = variable_get('os2web_borger_dk_menus_import', FALSE);
+function _os2_borger_dk_titles_cronbatch($first_run = FALSE) {
+ $borger_dk_menus_import = variable_get('os2_borger_dk_menus_import', FALSE);
$titles_availlable = array();
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
- $titles_availlable = _os2web_borger_dk_GetAllArticles($wsdl);
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $titles_availlable = _os2_borger_dk_GetAllArticles($wsdl);
// We must update the table of Borger.dk Article titles.
// And to do that we must know what is already there, so that we can mark
// un-listed titles for deletion.
- $titles_result = db_query('SELECT `ArticleID`, `ArticleStatus`, `LastUpdated` FROM {os2web_borger_dk_article_titles} WHERE `ArticleStatus` >= 0');
+ $titles_result = db_query('SELECT `ArticleID`, `ArticleStatus`, `LastUpdated` FROM {os2_borger_dk_article_titles} WHERE `ArticleStatus` >= 0');
$known_ids = array();
foreach ($titles_result as $item) {
$aid = $item->ArticleID;
@@ -2160,7 +1985,7 @@ function _os2web_borger_dk_titles_cronbatch($first_run = FALSE) {
if ($updated > $known_ids[$aid]['LastUpdated']) {
// We know about this article and we update the DB-entry
// because the content has changed since we updated it last.
- db_update('os2web_borger_dk_article_titles')
+ db_update('os2_borger_dk_article_titles')
->fields(array(
'ArticleTitle' => $item['ArticleTitle'],
'ArticleUrl' => $item['ArticleUrl'],
@@ -2176,7 +2001,7 @@ function _os2web_borger_dk_titles_cronbatch($first_run = FALSE) {
}
else {
// This is a new article-title and we must insert it into DB.
- db_insert('os2web_borger_dk_article_titles')
+ db_insert('os2_borger_dk_article_titles')
->fields(array(
'ArticleID' => $aid,
'ArticleTitle' => $item['ArticleTitle'],
@@ -2202,14 +2027,14 @@ function _os2web_borger_dk_titles_cronbatch($first_run = FALSE) {
// to autocomplete titles on import we MUST keep it up to date, and can
// not have "non-availlable" article titles "ready for import"!
$aid_list = implode(',', array_keys($known_ids));
- $sql = "UPDATE {os2web_borger_dk_article_titles} SET `ArticleStatus` = -1 WHERE `ArticleID` IN (:aids)";
+ $sql = "UPDATE {os2_borger_dk_article_titles} SET `ArticleStatus` = -1 WHERE `ArticleID` IN (:aids)";
db_query($sql, array(':aids' => $aid_list));
// We create a queue for handling the many SoapClient->request's needed
// for examinig if all unknown articles has been deleted.
- $queue = DrupalQueue::get('os2web_borger_dk_check_status_queue');
+ $queue = DrupalQueue::get('os2_borger_dk_check_status_queue');
- $sql = 'SELECT `nid`, `external_id` FROM {os2web_borger_dk_article} WHERE `external_id` IN (:aids)';
+ $sql = 'SELECT `nid`, `external_id` FROM {os2_borger_dk_article} WHERE `external_id` IN (:aids)';
$result = db_query($sql, array(':aids' => $aid_list));
// Step through the known_ids that has not been found.
@@ -2224,17 +2049,17 @@ function _os2web_borger_dk_titles_cronbatch($first_run = FALSE) {
/**
* Implements hook_cron_queue_info().
*/
-function os2web_borger_dk_cron_queue_info() {
+function os2_borger_dk_cron_queue_info() {
$queues = array();
- $queues['os2web_borger_dk_delete_queue'] = array(
+ $queues['os2_borger_dk_delete_queue'] = array(
// Function to call for each item.
- 'worker callback' => '_os2web_borger_dk_delete_queue_callback',
+ 'worker callback' => '_os2_borger_dk_delete_queue_callback',
// Seconds to spend working on the queue.
'time' => 20,
);
- $queues['os2web_borger_dk_check_status_queue'] = array(
+ $queues['os2_borger_dk_check_status_queue'] = array(
// Function to call for each item.
- 'worker callback' => '_os2web_borger_dk_status_check_queue_callback',
+ 'worker callback' => '_os2_borger_dk_status_check_queue_callback',
// Seconds to spend working on the queue.
'time' => 60,
);
@@ -2243,23 +2068,23 @@ function os2web_borger_dk_cron_queue_info() {
}
/**
- * Function _os2web_borger_dk_status_check_queue_callback().
+ * Function _os2_borger_dk_status_check_queue_callback().
*/
-function _os2web_borger_dk_status_check_queue_callback($data) {
+function _os2_borger_dk_status_check_queue_callback($data) {
// Uses SoapClient->request GetArticleByID to check the
// status of a Borger.dk Article with the Borger.dk-WebService.
if (!isset($data['nid']) || !isset($data['external_id'])) {
return;
}
- $wsdl = variable_get('os2web_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
+ $wsdl = variable_get('os2_borger_dk_webservice', 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl');
// Try to get this one article, to see if it still exists.
- $item = _os2web_borger_dk_GetArticleByID($data['external_id'], $wsdl);
+ $item = _os2_borger_dk_GetArticleByID($data['external_id'], $wsdl);
if (!empty($item['error']) && $item['error'] == 1) {
if (!empty($item['error_type']) && ($item['error_type'] == 'not_found')) {
// Not found articles are marked for deletion,
// which is handled by another queue.
- $sql = "UPDATE {os2web_borger_dk_article} SET `external_status` = -2 WHERE `nid` = :nid";
+ $sql = "UPDATE {os2_borger_dk_article} SET `external_status` = -2 WHERE `nid` = :nid";
db_query($sql, array(':nid' => $data['nid']));
}
else {
@@ -2281,15 +2106,15 @@ function _os2web_borger_dk_status_check_queue_callback($data) {
elseif (!isset($item['Exceptions'])) {
// Well - NO ERRORS AND NO EXCEPTIONS - WHATS UP:
// We un-mark this title, and let it point back to the borger_dk_article.
- $sql = "UPDATE {os2web_borger_dk_article_titles} SET `ArticleStatus` = :nid WHERE `ArticleID` = :aid";
+ $sql = "UPDATE {os2_borger_dk_article_titles} SET `ArticleStatus` = :nid WHERE `ArticleID` = :aid";
db_query($sql, array(':nid' => $data['nid'], ':aid' => $data['external_id']));
}
}
/**
- * Function _os2web_borger_dk_delete_queue_callback().
+ * Function _os2_borger_dk_delete_queue_callback().
*/
-function _os2web_borger_dk_delete_queue_callback($data) {
+function _os2_borger_dk_delete_queue_callback($data) {
// This function loads a node with node_load, sets the status
// to un-published, writes a log-message,
// and stores it as a new revision.
@@ -2304,7 +2129,7 @@ function _os2web_borger_dk_delete_queue_callback($data) {
$node->log = t('Un-publishing article because it has been deleted at Borger.dk. This is an un-published copy of the revision from %date.', array(
'%date' => format_date($node->revision_timestamp)));
// And we mark the "external-link-table-item" as deleted (status = -1).
- $node->os2web_borger_dk_article['external_status'] = -1;
+ $node->os2_borger_dk_article['external_status'] = -1;
// Finally we store the new revision.
node_save($node);
@@ -2312,71 +2137,53 @@ function _os2web_borger_dk_delete_queue_callback($data) {
watchdog('OS2web Borger.dk', $msg, $variables = array('%nid' => $node->nid));
}
-/**
- * Function _os2web_borger_dk_update_node_content().
- */
-function _os2web_borger_dk_update_node_content($nid, $article) {
- if (!empty($article['Exceptions']) || !empty($article['error'])) {
- return;
- }
- // First we load the corresponding node.
- $node = node_load($nid, NULL, TRUE);
- // And we update all the node-fields with the article-values.
- $node->title = $article['title'];
+/***************** End of Borger.dk cron. ***********************************/
- $body = '';
- foreach ($article['kernetekst'] as $div => $content) {
- $body .= $content . "\n";
+/*************** Borger.dk webservices functions. ******************/
+/**
+ * Funtion : Get articleIds from each pages/site.
+ */
+function _os2_borger_dk_GetArticleIDsBySiteID($site_id, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
+ $error = array();
+ // The ID of the Borger.dk-site to get must be given as argument.
+ if (empty($site_id)) {
+ return $error;
}
+ $ids = array();
+ // We use a soap-client to fetch the specified article from Borger.dk.
+ $client = new SoapClient($wsdl, array('exceptions' => 0));
- $node->title = (!empty($article['title'])) ? $article['title'] : '';
-
- $node->body['und'][0]['value'] = $body;
- $node->body['und'][0]['safe_value'] = $body;
- $node->body['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $node->field_os2web_borger_dk_byline['und'][0]['value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['safe_value'] = (!empty($article['byline'])) ? $article['byline'] : '';
- $node->field_os2web_borger_dk_byline['und'][0]['format'] = BORGERDK_TEXT_FORMAT_PLAIN;
-
- $node->field_os2web_borger_dk_header['und'][0]['value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['safe_value'] = (!empty($article['header'])) ? $article['header'] : '';
- $node->field_os2web_borger_dk_header['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $node->field_os2web_borger_dk_selfservi['und'][0]['value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['safe_value'] = (!empty($article['selvbetjeningslinks'])) ? $article['selvbetjeningslinks'] : '';
- $node->field_os2web_borger_dk_selfservi['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $node->field_os2web_borger_dk_recommend['und'][0]['value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['safe_value'] = (!empty($article['anbefaler'])) ? $article['anbefaler'] : '';
- $node->field_os2web_borger_dk_recommend['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $node->field_os2web_borger_dk_legislati['und'][0]['value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['safe_value'] = (!empty($article['lovgivning'])) ? $article['lovgivning'] : '';
- $node->field_os2web_borger_dk_legislati['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
-
- $node->field_os2web_borger_dk_shortlist['und'][0]['value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['safe_value'] = (!empty($article['huskeliste'])) ? $article['huskeliste'] : '';
- $node->field_os2web_borger_dk_shortlist['und'][0]['format'] = BORGERDK_TEXT_FORMAT_HTML;
+ // Then we execute our webservice-request.
+ $array_get_article_ids = array('siteID' => $site_id);
- // Some fields from borger_dk_article can not be syncronized nor changed here.
- $node->os2web_borger_dk_article['external_id'] = $article['external_id'];
- $node->os2web_borger_dk_article['external_url'] = $article['external_url'];
- $node->os2web_borger_dk_article['published_date'] = strtotime($article['published_date']);
- $node->os2web_borger_dk_article['last_updated'] = strtotime($article['last_updated']);
+ $result_article = $client->GetArticleIDsBySiteID($array_get_article_ids);
+ if (is_soap_fault($result_article)) {
+ // An error was encountered and we examine it more closely.
+ $error = _os2_borger_dk_translate_soap_fault(2, $result_article->faultcode, $result_article->faultstring);
- node_save($node);
- db_update('os2web_borger_dk_article')
- ->fields(array('last_updated' => strtotime($article['last_updated'])))
- ->condition('nid', $nid, '=')
- ->execute();
+ return $error;
+ }
+ else {
+ $article_ids = $result_article->GetArticleIDsBySiteIDResult;
+ if (isset($article_ids->ArticleShortDescription)) {
+ if (is_array($article_ids->ArticleShortDescription)) {
+ foreach ($article_ids->ArticleShortDescription as $article_id) {
+ $ids[] = $article_id->ArticleID;
+ }
+ }
+ else {
+ $ids[] = $article_ids->ArticleShortDescription->ArticleID;
+ }
+ }
+ }
+ return $ids;
}
/**
- * Function _os2web_borger_dk_GetAllArticles().
+ * Function _os2_borger_dk_GetAllArticles().
*/
-function _os2web_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
+function _os2_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
// This function uses the Borger.dk Webservice
// GetAllArticles in order to fetch a list of
// availlable articles (by title).
@@ -2385,11 +2192,11 @@ function _os2web_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bi
// find the article-ID from the Borger.dk-URL.
$client = new SoapClient($wsdl, array('exceptions' => 0));
// First we make sure to keep requests/minute within given limits.
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
// Then we execute our webservice-request.
$result_list = $client->GetAllArticles();
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault('GetAllArticles', $result_list->faultcode, $result_list->faultstring);
+ $errors = _os2_borger_dk_translate_soap_fault('GetAllArticles', $result_list->faultcode, $result_list->faultstring);
return $errors;
}
@@ -2397,7 +2204,7 @@ function _os2web_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bi
// Then we get the result-list from the specified webservice.
$article_list = $result_list->GetAllArticlesResult;
if (is_soap_fault($article_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault('GetAllArticlesResult', $article_list->faultcode, $article_list->faultstring);
+ $errors = _os2_borger_dk_translate_soap_fault('GetAllArticlesResult', $article_list->faultcode, $article_list->faultstring);
return $errors;
}
@@ -2408,13 +2215,13 @@ function _os2web_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bi
// But TWO found articles are placed in an array.
if (is_array($article_list->ArticleDescription)) {
foreach ($article_list->ArticleDescription as $id => $article) {
- $new_item = _os2web_borger_dk_parse_borgerdk_article_desc($article);
+ $new_item = _os2_borger_dk_parse_borgerdk_article_desc($article);
$article_items[] = $new_item;
}
}
else {
foreach ($article_list as $id => $article) {
- $new_item = _os2web_borger_dk_parse_borgerdk_article_desc($article);
+ $new_item = _os2_borger_dk_parse_borgerdk_article_desc($article);
$article_items[] = $new_item;
}
}
@@ -2424,9 +2231,9 @@ function _os2web_borger_dk_GetAllArticles($wsdl = 'https://www.borger.dk/_vti_bi
}
/**
- * Function _os2web_borger_dk_GetArticlesByIDs().
+ * Function _os2_borger_dk_GetArticlesByIDs().
*/
-function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after = NULL, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
+function _os2_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after = NULL, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
// This function uses the Borger.dk WebService GetArticlesByIDs
// in order to fetch a list of Borger.dk-articles by article-IDs
// and an "updateAfter"-datestamp.
@@ -2443,31 +2250,31 @@ function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after
if (empty($updated_after) && !empty($borgerdk_ids)) {
// We have a specified list of articles to fetch.
// First we make sure to keep requests/minute within given limits.
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
// Then we execute our webservice-request.
$result_list = $client->GetArticlesByIDs(array('articleIDs' => $borgerdk_ids));
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault($borgerdk_ids, $result_list->faultcode, $result_list->faultstring);
+ $errors = _os2_borger_dk_translate_soap_fault($borgerdk_ids, $result_list->faultcode, $result_list->faultstring);
return $errors;
}
}
elseif (!empty($updated_after) && empty($borgerdk_ids)) {
// First we make sure to keep requests/minute within given limits.
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
// Then we execute our webservice-request.
// We have a specified date, and want all articles that have been
// updated since the given date.
$result_list = $client->GetArticlesByIDs(array('updatedAfter' => $updated_after));
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault(array('updatedAfter' => $updated_after), $result_list->faultcode, $result_list->faultstring);
+ $errors = _os2_borger_dk_translate_soap_fault(array('updatedAfter' => $updated_after), $result_list->faultcode, $result_list->faultstring);
return $errors;
}
}
elseif (!empty($updated_after) && !empty($borgerdk_ids)) {
// First we make sure to keep requests/minute within given limits.
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
// Then we execute our webservice-request.
// We have a specified date, and a specified list of article-IDs. We
// want all articles from that list that has also been updated since
@@ -2479,7 +2286,7 @@ function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after
)
);
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault(
+ $errors = _os2_borger_dk_translate_soap_fault(
array(
'articleIDs' => $borgerdk_ids,
'updatedAfter' => $updated_after,
@@ -2496,7 +2303,7 @@ function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after
// Then we get the result-list from the specified webservice.
$article_list = $result_list->GetArticlesByIDsResult;
if (is_soap_fault($article_list)) {
- $errors = _os2web_borger_dk_translate_soap_fault('GetArticlesByIDsResult', $article_list->faultcode, $article_list->faultstring);
+ $errors = _os2_borger_dk_translate_soap_fault('GetArticlesByIDsResult', $article_list->faultcode, $article_list->faultstring);
return $errors;
}
@@ -2508,14 +2315,14 @@ function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after
// But TWO found articles are placed in an array.
if (is_array($article_list->Article)) {
foreach ($article_list->Article as $id => $article) {
- $new_item = _os2web_borger_dk_parse_borgerdk_article($article);
+ $new_item = _os2_borger_dk_parse_borgerdk_article($article);
$found_ids[$new_item['external_id']] = 1;
$article_items[] = $new_item;
}
}
else {
foreach ($article_list as $id => $article) {
- $new_item = _os2web_borger_dk_parse_borgerdk_article($article);
+ $new_item = _os2_borger_dk_parse_borgerdk_article($article);
$found_ids[$new_item['external_id']] = 1;
$article_items[] = $new_item;
}
@@ -2537,9 +2344,9 @@ function _os2web_borger_dk_GetArticlesByIDs($borgerdk_ids = NULL, $updated_after
}
/**
- * Function _os2web_borger_dk_GetArticleByUrl().
+ * Function _os2_borger_dk_GetArticleByUrl().
*/
-function _os2web_borger_dk_GetArticleByUrl($borgerdk_url, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
+function _os2_borger_dk_GetArticleByUrl($borgerdk_url, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl') {
// This function uses the Borger.dk WebServices
// GetArticleIDByUrl and GetArticleByID in order
// to fetch a Borger.dk-article by its URL.
@@ -2554,13 +2361,13 @@ function _os2web_borger_dk_GetArticleByUrl($borgerdk_url, $wsdl = 'https://www.b
// from the Borger.dk-URL.
$client = new SoapClient($wsdl, array('exceptions' => 0));
// First we make sure to keep requests/minute within given limits.
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
// Then we execute our webservice-request.
$result_id = $client->GetArticleIDByUrl(array('url' => $borgerdk_url));
if (is_soap_fault($result_id)) {
// An error was encountered and we examine it more closely.
- $error = _os2web_borger_dk_translate_soap_fault($borgerdk_url, $result_id->faultcode, $result_id->faultstring);
+ $error = _os2_borger_dk_translate_soap_fault($borgerdk_url, $result_id->faultcode, $result_id->faultstring);
return $error;
}
@@ -2569,18 +2376,18 @@ function _os2web_borger_dk_GetArticleByUrl($borgerdk_url, $wsdl = 'https://www.b
$id2get = $result_id->GetArticleIDByUrlResult->ArticleID;
// Then we use the article-ID to fetch the actual Borger.dk-article.
- $article = _os2web_borger_dk_GetArticleByID($id2get);
+ $article = _os2_borger_dk_GetArticleByID($id2get);
}
return $article;
}
/**
- * Function _os2web_borger_dk_GetArticleByID().
+ * Function _os2_borger_dk_GetArticleByID().
*/
-function _os2web_borger_dk_GetArticleByID($borgerdk_id, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
+function _os2_borger_dk_GetArticleByID($borgerdk_id, $wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
// Check the admin setting.
- $admin_municipality = variable_get('os2web_borger_dk_municipality_active');
+ $admin_municipality = variable_get('os2_borger_dk_municipality_active');
// This function uses the Borger.dk WebService
// GetArticleByID in order to fetch a Borger.dk-article
// by its article-ID.
@@ -2602,7 +2409,7 @@ function _os2web_borger_dk_GetArticleByID($borgerdk_id, $wsdl = 'https://www.bor
$result_article = $client->GetArticleByID($array_get_article);
if (is_soap_fault($result_article)) {
// An error was encountered and we examine it more closely.
- $error = _os2web_borger_dk_translate_soap_fault($borgerdk_id, $result_article->faultcode, $result_article->faultstring);
+ $error = _os2_borger_dk_translate_soap_fault($borgerdk_id, $result_article->faultcode, $result_article->faultstring);
return $error;
}
@@ -2610,21 +2417,21 @@ function _os2web_borger_dk_GetArticleByID($borgerdk_id, $wsdl = 'https://www.bor
$article = $result_article->GetArticleByIDResult;
if (is_soap_fault($article)) {
// An error was encountered and we examine it more closely.
- $error = _os2web_borger_dk_translate_soap_fault($borgerdk_id, $article->faultcode, $article->faultstring);
+ $error = _os2_borger_dk_translate_soap_fault($borgerdk_id, $article->faultcode, $article->faultstring);
return $error;
}
}
- return _os2web_borger_dk_parse_borgerdk_article($article);
+ return _os2_borger_dk_parse_borgerdk_article($article);
}
/**
- * Function _os2web_borger_dk_GetAllSites().
+ * Function _os2_borger_dk_GetAllSites().
*
* This function uses the Borger.dk Webservice GetAllSites
* in order to fetch the menu-structure from Borger.dk
*/
-function _os2web_borger_dk_GetAllSites($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
+function _os2_borger_dk_GetAllSites($wsdl = 'https://www.borger.dk/_vti_bin/borger/ArticleExport.svc?wsdl', $use_constraints = TRUE) {
$errors = array();
$menu_items = array();
@@ -2633,12 +2440,12 @@ function _os2web_borger_dk_GetAllSites($wsdl = 'https://www.borger.dk/_vti_bin/b
$client = new SoapClient($wsdl, array('exceptions' => 0));
// First we make sure to keep requests/minute within given limits.
if ($use_constraints) {
- _os2web_borger_dk_check_webservice_constraints();
+ _os2_borger_dk_check_webservice_constraints();
}
// Then we execute our webservice-request.
$result_list = $client->GetAllSites();
if (is_soap_fault($result_list)) {
- $errors = _os2web_borger_dk_articles_translate_soap_fault('GetAllSites', $result_list->faultcode, $result_list->faultstring);
+ $errors = _os2_borger_dk_articles_translate_soap_fault('GetAllSites', $result_list->faultcode, $result_list->faultstring);
return $errors;
}
@@ -2647,7 +2454,7 @@ function _os2web_borger_dk_GetAllSites($wsdl = 'https://www.borger.dk/_vti_bin/b
// Then we get the result-list from the specified webservice.
$menu_list = $result_list->GetAllSitesResult;
if (is_soap_fault($menu_list)) {
- $errors = _os2web_borger_dk_articles_translate_soap_fault('GetAllSitesResult', $menu_list->faultcode, $menu_list->faultstring);
+ $errors = _os2_borger_dk_articles_translate_soap_fault('GetAllSitesResult', $menu_list->faultcode, $menu_list->faultstring);
return $errors;
}
@@ -2656,22 +2463,24 @@ function _os2web_borger_dk_GetAllSites($wsdl = 'https://www.borger.dk/_vti_bin/b
// convert them to arrays of wanted field-sets.
if (is_array($menu_list->Site)) {
foreach ($menu_list->Site as $id => $menu_item) {
- $new_item = _os2web_borger_dk_parse_borgerdk_menu_item($menu_item);
+ $new_item = _os2_borger_dk_parse_borgerdk_menu_item($menu_item);
$menu_items[] = $new_item;
}
}
else {
- $new_item = _os2web_borger_dk_parse_borgerdk_menu_item($menu_list->Site);
+ $new_item = _os2_borger_dk_parse_borgerdk_menu_item($menu_list->Site);
$menu_items[] = $new_item;
}
}
return $menu_items;
}
+
+/**************** End of Borger.dk webservices functions. **************/
/**
- * Function _os2web_borger_dk_tag_borger_dk_articles().
+ * Function _os2_borger_dk_tag_borger_dk_articles().
*/
-function _os2web_borger_dk_tag_borger_dk_articles($menu = array(), $update_items = array()) {
+function _os2_borger_dk_tag_borger_dk_articles($menu = array(), $update_items = array()) {
$not_tagged = array();
foreach ($menu as $id => $item) {
@@ -2688,7 +2497,7 @@ function _os2web_borger_dk_tag_borger_dk_articles($menu = array(), $update_items
$aid = (isset($item['ArticleID'])) ? $item['ArticleID'] : FALSE;
if ($aid && isset($update_items[$aid])) {
$node = node_load($update_items[$aid]);
- $node->field_os2web_borger_dk_formterm['und'][$tid] = (array) $term;
+ $node->field_os2_borger_dk_formterm[LANGUAGE_NONE][$tid] = (array) $term;
node_save($node);
}
@@ -2704,7 +2513,7 @@ function _os2web_borger_dk_tag_borger_dk_articles($menu = array(), $update_items
}
// Now we go recursive on any and all child-elements.
if (isset($item['nl']) && is_array($item['nl'])) {
- $errors = _os2web_borger_dk_tag_borger_dk_articles($item['nl'], $update_items);
+ $errors = _os2_borger_dk_tag_borger_dk_articles($item['nl'], $update_items);
if (!empty($errors)) {
$not_tagged = array_merge($not_tagged, $errors);
}
@@ -2715,12 +2524,12 @@ function _os2web_borger_dk_tag_borger_dk_articles($menu = array(), $update_items
}
/**
- * Function _os2web_borger_dk_parse_borgerdk_menu_item().
+ * Function _os2_borger_dk_parse_borgerdk_menu_item().
*
* This function parses a Borger.dk-MenuItemDescription and extracts all
* the field values we want for our Borger.dk-menu-structure.
*/
-function _os2web_borger_dk_parse_borgerdk_menu_item($menu_item) {
+function _os2_borger_dk_parse_borgerdk_menu_item($menu_item) {
// First we extract the directly accessible fields
// from the ArticleDescription.
$pid = (isset($menu_item->ParentID)) ? $menu_item->ParentID : '';
@@ -2735,9 +2544,9 @@ function _os2web_borger_dk_parse_borgerdk_menu_item($menu_item) {
}
/**
- * Function _os2web_borger_dk_parse_borgerdk_article().
+ * Function _os2_borger_dk_parse_borgerdk_article().
*/
-function _os2web_borger_dk_parse_borgerdk_article($article) {
+function _os2_borger_dk_parse_borgerdk_article($article) {
// This function can parse a Borger.dk XML-article and extract
// all the field values we want for our Drupal-nodes.
$borgerdk_article = array(
@@ -2762,43 +2571,36 @@ function _os2web_borger_dk_parse_borgerdk_article($article) {
@$doc->loadHTML('' . $article->Content);
$xml = simplexml_import_dom($doc);
- foreach ($xml->body->div as $div) {
- $div_id = $div->attributes()->id;
- switch ($div_id) {
- case 'selvbetjeningslinks':
- $borgerdk_article['selvbetjeningslinks'] = _os2web_borger_dk_create_general_html($div);
- break;
+ $links_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='selvbetjeningslinks']");
+ $borgerdk_article['selvbetjeningslinks'] = _os2_borger_dk_create_general_html($links_xml);
- case 'kernetekst':
- $borgerdk_article['kernetekst'] = _os2web_borger_dk_create_kernetekst_html($div);
- break;
+ $lov_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='lovgivning']");
+ $borgerdk_article['lovgivning'] = _os2_borger_dk_create_general_html($lov_xml);
- case 'byline':
- $byline = _os2web_borger_dk_create_general_html($div->div);
- if (FALSE !== strpos($byline, '
Skrevet af')) {
- $byline = trim($byline);
- $new_byline = preg_replace("/
(Skrevet af .+?)<\/div>/i", "$1", $byline, 1);
- if (0 < strlen($new_byline)) {
- // We only overwrite the byline if we found some replacement text.
- $byline = $new_byline;
- }
- }
- $borgerdk_article['byline'] = $byline;
- break;
+ $borgerdk_article['kernetekst'] = _os2_borger_dk_create_kernetekst_html($xml);
- case 'anbefaler':
- $borgerdk_article['anbefaler'] = _os2web_borger_dk_create_general_html($div);
- break;
- case 'huskeliste':
- $borgerdk_article['huskeliste'] = _os2web_borger_dk_create_general_html($div);
- break;
-
- case 'lovgivning':
- $borgerdk_article['lovgivning'] = _os2web_borger_dk_create_general_html($div);
- break;
+ $byline_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='byline']");
+ $byline = _os2_borger_dk_create_general_html($byline_xml->div);
+ if (FALSE !== strpos($byline, '
Skrevet af')) {
+ $byline = trim($byline);
+ $new_byline = preg_replace("/
(Skrevet af .+?)<\/div>/i", "$1", $byline, 1);
+ if (0 < strlen($new_byline)) {
+ // We only overwrite the byline if we found some replacement text.
+ $byline = $new_byline;
}
}
+ $borgerdk_article['byline'] = $byline;
+
+ $anbefaler_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='anbefaler']");
+ $borgerdk_article['anbefaler'] = _os2_borger_dk_create_general_html($anbefaler_xml);
+
+ $huskeliste_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='huskeliste']");
+ $borgerdk_article['huskeliste'] = _os2_borger_dk_create_general_html($huskeliste_xml);
+
+ $lovgivning_xml = _os2_borger_dk_get_xml_by_query($xml, "//*[@id='lovgivning']");
+ $borgerdk_article['lovgivning'] = _os2_borger_dk_create_general_html($lovgivning_xml);
+
// yx@bellcom.dk: add 'faktaboks' case since Borger.dk updated,
// some of selvbetjeningslinks contains ID as 'faktaboks'
@@ -2807,14 +2609,14 @@ function _os2web_borger_dk_parse_borgerdk_article($article) {
foreach ($xml->body->div as $div) {
if ($div->attributes()->id == 'faktaboks') {
- $text = _os2web_borger_dk_create_html_from_xml($div->h3);
+ $text = _os2_borger_dk_create_html_from_xml($div->h2);
// str string from borger.dk
$text = str_replace('', '', $text);
preg_match("/Selvbetjening/", $text, $text_2);
if (isset($text_2[0])) {
- $borgerdk_article['selvbetjeningslinks'] = _os2web_borger_dk_create_general_html($div);
+ $borgerdk_article['selvbetjeningslinks'] = _os2_borger_dk_create_general_html($div);
}
}
}
@@ -2829,9 +2631,45 @@ function _os2web_borger_dk_parse_borgerdk_article($article) {
}
/**
- * Function _os2web_borger_dk_parse_borgerdk_article_desc().
+ * Returns an XML object of the inner-HTML contained in the borger.dk XML response.
*/
-function _os2web_borger_dk_parse_borgerdk_article_desc($article) {
+function _os2_borger_dk_get_xml_by_query($xml, $xpath_query) {
+
+ $html = '';
+ $item = $xml->xpath($xpath_query);
+
+ if (count($item) > 0) {
+
+ // Turn xpath query result into HTML
+ while(list(,$node) = each($item)) {
+ $html .= $node->asXML();
+ }
+
+ // Test if more than one element was returned. This can happen, since sometimes there are
+ // several elements with the same ID in the borger.dk HTML.
+ if (count($item) > 1) {
+ // Elements were continated. Log this to dblog.
+
+ watchdog('OS2Web Borger.dk', 'Dual id\'s in structure when using Xpath query "'. $xpath_query .'"" Elements were concatinated');
+ }
+ }
+ else {
+ // Noting returned by query. $html variable must contain an element in order for
+ // proceeding code not to error, so we fill in a dummy
+ $html .= '';
+ }
+
+ $new_dom = new DOMDocument('1.0', 'UTF-8');
+ $new_dom->strictErrorChecking = FALSE;
+ @$new_dom->loadHTML('' . $html);
+ $xml = simplexml_import_dom($new_dom);
+ return $xml;
+}
+
+/**
+ * Function _os2_borger_dk_parse_borgerdk_article_desc().
+ */
+function _os2_borger_dk_parse_borgerdk_article_desc($article) {
// This function parses a Borger.dk-ArticleDescription and
// extracts all the field values we want for our list of
// titles (for autocompletion etc).
@@ -2880,25 +2718,37 @@ function _os2web_borger_dk_parse_borgerdk_article_desc($article) {
}
/**
- * Function _os2web_borger_dk_create_kernetekst_html().
+ * Function _os2_borger_dk_create_kernetekst_html().
*/
-function _os2web_borger_dk_create_kernetekst_html($xml) {
+function _os2_borger_dk_create_kernetekst_html($xml) {
// This function steps through the so called microArticle's
// and converts plus concatenates each element as HTML.
+ $microarticles = _os2_borger_dk_get_xml_by_query($xml, "//*[starts-with(@id, 'microArticle')]");
+
$output = array();
$counter = 1;
$baseclass = 'mArticle';
- foreach ($xml->div as $element) {
- $div_attr = $element->attributes()->id;
+ foreach ($microarticles->body->div as $microarticle) {
+ $div_attr = $microarticle->attributes()->id;
$search = '';
$replace = '
';
- $html = _os2web_borger_dk_create_html_from_xml($element, $search, $replace);
+ $html = _os2_borger_dk_create_html_from_xml($microarticle, $search, $replace);
// We replace the first
-tag with .
$pattern = '//';
$replacement = '';
$html = preg_replace($pattern, $replacement, $html, 1);
+ // We replace the first -tag with .
+ $pattern = '//';
+ $replacement = '';
+ $html = preg_replace($pattern, $replacement, $html, 1);
+
+ // We replace the first
-tag with
.
+ $pattern = '/<\/h3>/';
+ $replacement = '
';
+ $html = preg_replace($pattern, $replacement, $html, 1);
+
// And we replace the first -tag with
.
$pattern = '/
/';
$replacement = '
';
@@ -2916,13 +2766,13 @@ function _os2web_borger_dk_create_kernetekst_html($xml) {
/**
* This function converts a list of XML elements to HTML.
*/
-function _os2web_borger_dk_create_general_html($xml) {
+function _os2_borger_dk_create_general_html($xml) {
$output = '';
// We convert each of the XML elements to HTML.
foreach ($xml as $element) {
// We use a general method to convert XML to HTML.
- $output .= _os2web_borger_dk_create_html_from_xml($element);
+ $output .= _os2_borger_dk_create_html_from_xml($element);
$output .= "\n";
}
@@ -2932,7 +2782,7 @@ function _os2web_borger_dk_create_general_html($xml) {
/**
* This function converts XML-entities to ordinary HTML.
*/
-function _os2web_borger_dk_create_html_from_xml($xml, $search = NULL, $replace = NULL) {
+function _os2_borger_dk_create_html_from_xml($xml, $search = NULL, $replace = NULL) {
// DOMDocuments converts special characters to HTML-characters, and we
// need to replace some of those back into danish letters. Also
-tags
// gets replaced with
-tags, and we need to convert those as well.
@@ -2966,9 +2816,9 @@ function _os2web_borger_dk_create_html_from_xml($xml, $search = NULL, $replace =
}
/**
- * Function _os2web_borger_dk_translate_soap_fault().
+ * Function _os2_borger_dk_translate_soap_fault().
*/
-function _os2web_borger_dk_translate_soap_fault($borgerdk_id, $faultcode, $faultstring) {
+function _os2_borger_dk_translate_soap_fault($borgerdk_id, $faultcode, $faultstring) {
// This function is used to translate SoapClient-errors
// from string-elements to an array of
// "real"/"usable" error-information.
@@ -3014,49 +2864,49 @@ function _os2web_borger_dk_translate_soap_fault($borgerdk_id, $faultcode, $fault
}
/**
- * Function _os2web_borger_dk_check_webservice_constraints().
+ * Function _os2_borger_dk_check_webservice_constraints().
*
* Checking if the webservice constraints has been reached, and in that case
* delaying the script.
*/
-function _os2web_borger_dk_check_webservice_constraints() {
+function _os2_borger_dk_check_webservice_constraints() {
$time = time();
// We start of by getting the webservice request-limits.
- $webservice_request_limit = variable_get('os2web_borger_dk_webservice_request_limit', 100);
- $webservice_time_limit = variable_get('os2web_borger_dk_webservice_time_limit', 60);
+ $webservice_request_limit = variable_get('os2_borger_dk_webservice_request_limit', 100);
+ $webservice_time_limit = variable_get('os2_borger_dk_webservice_time_limit', 60);
// And we keep track of the number of webservice-requests per timeperiod.
- $os2web_borger_dk_article_count_no = variable_get('os2web_borger_dk_webservice_request_counter', 0);
- $os2web_borger_dk_article_start_time = variable_get('os2web_borger_dk_webservice_time_counter', 0);
+ $os2_borger_dk_article_count_no = variable_get('os2_borger_dk_webservice_request_counter', 0);
+ $os2_borger_dk_article_start_time = variable_get('os2_borger_dk_webservice_time_counter', 0);
// We restart the counters if the timer is too old.
- if ($os2web_borger_dk_article_start_time < ($time - $webservice_time_limit)) {
- $os2web_borger_dk_article_count_no = 0;
- $os2web_borger_dk_article_start_time = $time;
- variable_set('os2web_borger_dk_webservice_request_counter', $os2web_borger_dk_article_count_no);
- variable_set('os2web_borger_dk_webservice_time_counter', $os2web_borger_dk_article_start_time);
+ if ($os2_borger_dk_article_start_time < ($time - $webservice_time_limit)) {
+ $os2_borger_dk_article_count_no = 0;
+ $os2_borger_dk_article_start_time = $time;
+ variable_set('os2_borger_dk_webservice_request_counter', $os2_borger_dk_article_count_no);
+ variable_set('os2_borger_dk_webservice_time_counter', $os2_borger_dk_article_start_time);
}
// Then we check if the limits has been reached, and it's time for a break.
- if (($webservice_time_limit >= ($time - $os2web_borger_dk_article_start_time)) &&
- ($webservice_request_limit <= $os2web_borger_dk_article_count_no)) {
+ if (($webservice_time_limit >= ($time - $os2_borger_dk_article_start_time)) &&
+ ($webservice_request_limit <= $os2_borger_dk_article_count_no)) {
// We have reached the work-load limit of 100 items per minute, and must
// take a small break or the webservice will stop answering us.
- sleep($webservice_time_limit - ($time - $os2web_borger_dk_article_start_time));
+ sleep($webservice_time_limit - ($time - $os2_borger_dk_article_start_time));
// Then we reset/store the counters for limiting the webservice work-load.
- $os2web_borger_dk_article_count_no = 0;
- $os2web_borger_dk_article_start_time = time();
- variable_set('os2web_borger_dk_webservice_time_counter', $os2web_borger_dk_article_start_time);
+ $os2_borger_dk_article_count_no = 0;
+ $os2_borger_dk_article_start_time = time();
+ variable_set('os2_borger_dk_webservice_time_counter', $os2_borger_dk_article_start_time);
}
}
/**
- * Implements hook_os2web_help().
+ * Implements hook_os2_help().
*/
-function os2web_borger_dk_os2web_help($sections) {
+function os2_borger_dk_os2_help($sections) {
// Content types.
$sections['contenttype'] = t('
Borger.dk Article: Add
@@ -3065,9 +2915,9 @@ function os2web_borger_dk_os2web_help($sections) {
See the advanced documentation for the borger.dk module(.pdf)
',
array(
- '@url' => url('node/add/os2web-borger-dk-article'),
+ '@url' => url('node/add/os2-borger-dk-article'),
'@borger' => file_create_url(
- drupal_get_path('module', 'os2web_borger_dk') . '/doc/Guide til OS2web borger.dk - articles.pdf'
+ drupal_get_path('module', 'os2_borger_dk') . '/doc/Guide til OS2web borger.dk - articles.pdf'
),
)
);
@@ -3078,9 +2928,9 @@ function os2web_borger_dk_os2web_help($sections) {
Borger.dk menu import.pdf
(
Danish only)',
array(
- '@url' => url('admin/config/os2web_borger_dk/settings'),
+ '@url' => url('admin/config/os2_borger_dk/settings'),
'@import-guide' => file_create_url(
- drupal_get_path('module', 'os2web_borger_dk') . '/doc/Borger.dk menu import.pdf'
+ drupal_get_path('module', 'os2_borger_dk') . '/doc/Borger.dk menu import.pdf'
),
)
);
@@ -3091,9 +2941,9 @@ function os2web_borger_dk_os2web_help($sections) {
/**
* Implements hook_help().
*/
-function os2web_borger_dk_help($path, $arg) {
+function os2_borger_dk_help($path, $arg) {
switch ($path) {
- case 'admin/help#os2web_borger_dk':
+ case 'admin/help#os2_borger_dk':
// TODO.
return t('Missing documentation.');
}
diff --git a/os2web_borger_dk.strongarm.inc b/os2_borger_dk.strongarm.inc
similarity index 65%
rename from os2web_borger_dk.strongarm.inc
rename to os2_borger_dk.strongarm.inc
index a6925d5..9f5e2ad 100644
--- a/os2web_borger_dk.strongarm.inc
+++ b/os2_borger_dk.strongarm.inc
@@ -1,68 +1,68 @@
disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_anonymous_os2web_borger_dk_article';
+ $strongarm->name = 'comment_anonymous_os2_borger_dk_article';
$strongarm->value = 0;
- $export['comment_anonymous_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_anonymous_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_default_mode_os2web_borger_dk_article';
+ $strongarm->name = 'comment_default_mode_os2_borger_dk_article';
$strongarm->value = 1;
- $export['comment_default_mode_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_default_mode_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_default_per_page_os2web_borger_dk_article';
+ $strongarm->name = 'comment_default_per_page_os2_borger_dk_article';
$strongarm->value = '50';
- $export['comment_default_per_page_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_default_per_page_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_form_location_os2web_borger_dk_article';
+ $strongarm->name = 'comment_form_location_os2_borger_dk_article';
$strongarm->value = 1;
- $export['comment_form_location_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_form_location_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_os2web_borger_dk_article';
+ $strongarm->name = 'comment_os2_borger_dk_article';
$strongarm->value = '2';
- $export['comment_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_preview_os2web_borger_dk_article';
+ $strongarm->name = 'comment_preview_os2_borger_dk_article';
$strongarm->value = '1';
- $export['comment_preview_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_preview_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'comment_subject_field_os2web_borger_dk_article';
+ $strongarm->name = 'comment_subject_field_os2_borger_dk_article';
$strongarm->value = 1;
- $export['comment_subject_field_os2web_borger_dk_article'] = $strongarm;
+ $export['comment_subject_field_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'field_bundle_settings_node__os2web_borger_dk_article';
+ $strongarm->name = 'field_bundle_settings_node__os2_borger_dk_article';
$strongarm->value = array(
'view_modes' => array(
'teaser' => array(
@@ -105,54 +105,54 @@ function os2web_borger_dk_strongarm() {
'display' => array(),
),
);
- $export['field_bundle_settings_node__os2web_borger_dk_article'] = $strongarm;
+ $export['field_bundle_settings_node__os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'language_content_type_os2web_borger_dk_article';
+ $strongarm->name = 'language_content_type_os2_borger_dk_article';
$strongarm->value = '0';
- $export['language_content_type_os2web_borger_dk_article'] = $strongarm;
+ $export['language_content_type_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'menu_options_os2web_borger_dk_article';
+ $strongarm->name = 'menu_options_os2_borger_dk_article';
$strongarm->value = array(
0 => 'borgerdkmenu2',
- 1 => 'os2web-main-menu',
+ 1 => 'os2-main-menu',
2 => 'main-menu',
- 3 => 'os2web-menu-contentmenu',
+ 3 => 'os2-menu-contentmenu',
);
- $export['menu_options_os2web_borger_dk_article'] = $strongarm;
+ $export['menu_options_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'menu_parent_os2web_borger_dk_article';
+ $strongarm->name = 'menu_parent_os2_borger_dk_article';
$strongarm->value = 'borgerdkmenu2:0';
- $export['menu_parent_os2web_borger_dk_article'] = $strongarm;
+ $export['menu_parent_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'node_options_os2web_borger_dk_article';
+ $strongarm->name = 'node_options_os2_borger_dk_article';
$strongarm->value = array();
- $export['node_options_os2web_borger_dk_article'] = $strongarm;
+ $export['node_options_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'node_preview_os2web_borger_dk_article';
+ $strongarm->name = 'node_preview_os2_borger_dk_article';
$strongarm->value = '1';
- $export['node_preview_os2web_borger_dk_article'] = $strongarm;
+ $export['node_preview_os2_borger_dk_article'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
- $strongarm->name = 'node_submitted_os2web_borger_dk_article';
+ $strongarm->name = 'node_submitted_os2_borger_dk_article';
$strongarm->value = 0;
- $export['node_submitted_os2web_borger_dk_article'] = $strongarm;
+ $export['node_submitted_os2_borger_dk_article'] = $strongarm;
return $export;
}
diff --git a/os2web_borger_dk.info b/os2web_borger_dk.info
deleted file mode 100644
index d338b47..0000000
--- a/os2web_borger_dk.info
+++ /dev/null
@@ -1,57 +0,0 @@
-name = OS2web - Borger.dk
-description = Handles Borger.dk Articles
-core = 7.x
-package = Features
-php = 5.2.4
-project = os2web_borger_dk
-dependencies[] = ctools
-dependencies[] = features
-dependencies[] = media
-dependencies[] = strongarm
-features[ctools][] = strongarm:strongarm:1
-features[features_api][] = api:1
-features[field_base][] = field_os2web_borger_dk_image
-features[field_base][] = field_os2web_borger_dk_borgerurl
-features[field_base][] = field_os2web_borger_dk_byline
-features[field_base][] = field_os2web_borger_dk_formterm
-features[field_base][] = field_os2web_borger_dk_header
-features[field_base][] = field_os2web_borger_dk_legislati
-features[field_base][] = field_os2web_borger_dk_pagetitle
-features[field_base][] = field_os2web_borger_dk_post_text
-features[field_base][] = field_os2web_borger_dk_pre_text
-features[field_base][] = field_os2web_borger_dk_recommend
-features[field_base][] = field_os2web_borger_dk_selfservi
-features[field_base][] = field_os2web_borger_dk_shortlist
-features[field_base][] = field_os2web_borger_dk_kle
-features[field_instance][] = node-os2web_borger_dk_article-body
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_image
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_borgerurl
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_byline
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_formterm
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_header
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_legislati
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_pagetitle
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_post_text
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_pre_text
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_recommend
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_selfservi
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_shortlist
-features[field_instance][] = node-os2web_borger_dk_article-field_os2web_borger_dk_kle
-features[node][] = os2web_borger_dk_article
-features[taxonomy][] = kle
-features[taxonomy][] = os2web_borger_dk_form_menu
-features[variable][] = comment_anonymous_os2web_borger_dk_article
-features[variable][] = comment_default_mode_os2web_borger_dk_article
-features[variable][] = comment_default_per_page_os2web_borger_dk_article
-features[variable][] = comment_form_location_os2web_borger_dk_article
-features[variable][] = comment_os2web_borger_dk_article
-features[variable][] = comment_preview_os2web_borger_dk_article
-features[variable][] = comment_subject_field_os2web_borger_dk_article
-features[variable][] = field_bundle_settings_node__os2web_borger_dk_article
-features[variable][] = language_content_type_os2web_borger_dk_article
-features[variable][] = menu_options_os2web_borger_dk_article
-features[variable][] = menu_parent_os2web_borger_dk_article
-features[variable][] = node_options_os2web_borger_dk_article
-features[variable][] = node_preview_os2web_borger_dk_article
-features[variable][] = node_submitted_os2web_borger_dk_article
-files[] = theme/node--os2web_borger_dk_article
diff --git a/theme/node--os2_borger_dk_article.tpl.php b/theme/node--os2_borger_dk_article.tpl.php
new file mode 100644
index 0000000..e3095ce
--- /dev/null
+++ b/theme/node--os2_borger_dk_article.tpl.php
@@ -0,0 +1,305 @@
+body becomes $body. When needing to
+ * access a field's raw values, developers/themers are strongly encouraged to
+ * use these variables. Otherwise they will have to explicitly specify the
+ * desired field language; for example, $node->body['en'], thus overriding any
+ * language negotiation rule that was previously applied.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_node()
+ * @see template_process()
+ */
+?>
+
>
+
+
+>
+
title; ?>
+
+*/?>
+
+
+
+
>
+
+ type == 'os2_borger_dk_article') {
+
+ $content_field = array();
+ $fields = $node->os2_borger_dk_article['field_settings'];
+ // First get admin display settings.
+ $admin_display_fields = variable_get('os2_borger_dk_display');
+ $locked_os2_types = array('field_os2_borger_dk_borgerurl' => 1);
+ // We get admin microarticle display settings.
+ $microarticle = variable_get('os2_borger_dk_microarticle_active', FALSE);
+ if ($microarticle) {
+ $field_microarticle_settings = $node->os2_borger_dk_microarticle['field_microarticle_settings'];
+ }
+
+ foreach ($admin_display_fields as $type => $value) {
+
+ // If ADMIN set this field to display.
+ if ($admin_display_fields[$type]) {
+ $arr = $node-> $type;
+
+ if (count($arr) > 0 && $type != 'title' && $type != 'field_billede') {
+ $content_field[$type] = $arr[LANGUAGE_NONE]['0']['value'];
+ }
+ elseif (count($arr) > 0 && $type == 'field_billede') {
+ $filepath = $arr[LANGUAGE_NONE]['0']['uri'];
+ $alt = $arr[LANGUAGE_NONE]['0']['alt'];
+ $content_field[$type] = theme('image', array('path' => $filepath, 'alt' => $alt, 'title' => $alt));
+ }
+ else {
+ $content_field[$type] = '';
+ }
+ // Microarticles : if microarticle is set up to show by admin.
+ if ($microarticle) {
+ // Check if content field is body and field_microarticle_settings
+ // is NOT empty.
+ // The field_microarticle_setting will be empty when a new
+ // article is imported and shown in a form, then node_view
+ // will display full body text.
+ if ($type == 'body' && !empty($field_microarticle_settings)) {
+ $body_text = $node->body[LANGUAGE_NONE]['0']['value'];
+
+ $article_text = '';
+
+ $doc = new DOMDocument();
+ $doc->loadHTML('' . $body_text);
+ $xpath = new DOMXPath($doc);
+
+ $results = $xpath->query("//*[@class='microArticle']");
+
+ $microno = 0;
+ foreach ($results as $item) {
+ foreach ($item->getElementsByTagName('h2') as $articletitle) {
+ $title = trim($articletitle->nodeValue);
+ }
+
+ $text = '';
+ foreach ($item->getElementsByTagName('div')->item(0)->childNodes as $articletext) {
+ $text .= $doc->saveHTML($articletext);
+ }
+ $microno++;
+
+ if ($field_microarticle_settings[$microno] != 0) {
+ // Body text (Article text).
+ $article_text .= "
" . "\r\n";
+
+ $micro_h2 = "
";
+ $micro_h2 .= $title . "
";
+
+ $micro_content = "
";
+ $micro_content .= $text . "\r\n
";
+
+ $article_text .= $micro_h2 . "\r\n";
+ $article_text .= $micro_content;
+ $article_text .= "\r\n
\r\n\r\n";
+ }
+ }
+ // Content body shows only visible microarticles/ part of body_text.
+ $content_field[$type] = $article_text;
+ }
+ }
+ elseif ($type == 'body') {
+ $content_field['body'] = $node->body[LANGUAGE_NONE]['0']['value'];
+ }
+
+ // End of microarticles.
+ // If EDITOR set this field to be hidden.
+ if ($fields[$type] == '0') {
+ $content_field[$type] = '';
+ }
+ }
+
+ // If ADMIN set this field to be hidden.
+ else {
+ $content_field[$type] = '';
+ }
+ }
+ drupal_add_js(drupal_get_path('module', 'os2_borger_dk') . '/js/os2_borger_dk.js', 'file');
+ drupal_add_css(drupal_get_path('module', 'os2_borger_dk') . '/css/os2_borger_dk.css', 'file');
+
+ // Set the page-title if field-value is given.
+ // if (!empty($node->field_os2_borger_dk_pagetitle[LANGUAGE_NONE][0]['value'])) {
+ //drupal_set_title($node->field_os2_borger_dk_pagetitle[LANGUAGE_NONE][0]['value']);
+ //}
+ }
+ ?>
+
+
+
";
+ if (!empty($content_field['field_billede'])) {
+ print "
";
+ print render($content_field['field_billede']);
+ print "
";
+ }
+
+ if (!empty($content_field['field_os2_borger_dk_header'])) {
+ print "";
+ }
+ print "
";
+ ?>
+
>
+
+
+
";
+ print render($content_field['field_os2_borger_dk_selfservi']);
+ print '
+
+
';
+ }
+
+ ?>
+
+
>
+
+
";
+ if (!empty($content_field['field_os2_borger_dk_pre_text'])) {
+ print "
";
+ print render($content_field['field_os2_borger_dk_pre_text']);
+ print '
';
+ print "
";
+ }
+
+ if (!empty($content_field['body'])) {
+ print "
";
+ print "
" . "Læs om " . $node->title . "
";
+ print render($content_field['body']);
+ print '
';
+ print "
";
+ }
+ if (!empty($content_field['field_os2_borger_dk_post_text'])) {
+ print "
";
+ print render($content_field['field_os2_borger_dk_post_text']);
+ print '
';
+ print "
";
+ }
+
+ if (!empty($content_field['field_os2_borger_dk_legislati'])) {
+ print "
";
+ print render($content['field_os2_borger_dk_legislati']);
+ print "
";
+ }
+ print "
";
+
+ print "
";
+ print "
";
+ if (!empty($content_field['field_os2_borger_dk_recommend'])) {
+ print "
";
+ print render($content_field['field_os2_borger_dk_recommend']);
+ print "
";
+ print "
";
+
+ }
+ if (!empty($content_field['field_os2_borger_dk_shortlist'])) {
+ print "
";
+ print render($content_field['field_os2_borger_dk_shortlist']);
+ print "
";
+ }
+ if (!empty($content_field['field_os2_borger_dk_byline'])) {
+ print "
";
+ print render($content_field['field_os2_borger_dk_byline']);
+ print "
";
+ }
+
+ print "
";
+
+// print render($content);
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/theme/node--os2web_borger_dk_article.tpl.php b/theme/node--os2web_borger_dk_article.tpl.php
deleted file mode 100644
index c71b1eb..0000000
--- a/theme/node--os2web_borger_dk_article.tpl.php
+++ /dev/null
@@ -1,192 +0,0 @@
-
>
-
-
- >
-
- type == 'os2web_borger_dk_article') {
- $content_field = array();
- $fields = $node->os2web_borger_dk_article['field_settings'];
- // First get admin display settings.
- $admin_display_fields = variable_get('os2web_borger_dk_display');
- $locked_os2web_types = array('field_os2web_borger_dk_borgerurl' => 1);
- // We get admin microarticle display settings.
- $microarticle = variable_get('os2web_borger_dk_microarticle_active', FALSE);
- if ($microarticle) {
- $field_microarticle_settings = $node->os2web_borger_dk_microarticle['field_microarticle_settings'];
- }
- foreach ($admin_display_fields as $type => $value) {
- // If ADMIN set this field to display.
- if ($admin_display_fields[$type]) {
- $arr = $node-> $type;
- if (count($arr) > 0 && $type != 'title' && $type != 'field_os2web_borger_dk_image') {
- $content_field[$type] = $arr['und']['0']['value'];
- }
- elseif (count($arr) > 0 && $type == 'field_os2web_borger_dk_image') {
- $filepath = $arr['und']['0']['uri'];
- $alt = $arr['und']['0']['alt'];
- $content_field[$type] = theme('image', array('path' => $filepath, 'alt' => $alt, 'title' => $alt));
- }
- else {
- $content_field[$type] = '';
- }
- // Microarticles : if microarticle is set up to show by admin.
- if ($microarticle && $type == 'body') {
- // Check if content field is body and field_microarticle_settings
- // is NOT empty.
- // The field_microarticle_setting will be empty when a new
- // article is imported and shown in a form, then node_view
- // will display full body text.
- if (!empty($field_microarticle_settings)) {
- $body_text = $node->body['und']['0']['value'];
- // Link break in body_text: in windows \r\n, linux \n.
- preg_match("/<\/div>\n/", $body_text, $link_break);
- if (isset($link_break[0])) {
- $div = preg_split("/\n<\/div>\n/", $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- else {
- $div = preg_split('/\r\n<[\/]div>\r\n/', $body_text, -1, PREG_SPLIT_DELIM_CAPTURE);
- }
- $show_div = '';
- foreach ($div as $key => $text) {
- $microno = $key + 1;
- $checkboxno = 'os2web_borger_dk_micro_' . $microno;
- // The last div is a link break \n or \r\n.
- if ($div[$key] != $div[(count($div) - 1)]) {
- // If editor set this microarticle to be visible,(TRUE)
- if ($field_microarticle_settings[$microno] != 0) {
- $show_div .= $div[$key];
- $show_div .= "\n
";
- $show_div .= "\n";
- }
- }
- }
- $show_div = str_replace("","+",$show_div);
- // Content body shows only visible microarticles/ part of body_text.
- $content_field[$type] = $show_div;
- }
- else {
- $show_div = $node->body['und']['0']['value'];
- $show_div = str_replace("","+",$show_div);
- $content_field['body'] = $show_div;
- }
- }
- elseif (!$microarticle && $type == 'body') {
- $show_div = $node->body['und']['0']['value'];
- $show_div = str_replace("","+",$show_div);
- $content_field['body'] = $show_div;
- }
- // End of microarticles.
- // If EDITOR set this field to be hidden.
- if ($fields[$type] == '0') {
- $content_field[$type] = '';
- }
- }
- // If ADMIN set this field to be hidden.
- else {
- $content_field[$type] = '';
- }
- }
- drupal_add_js(drupal_get_path('module', 'os2web_borger_dk') . '/js/os2web_borger_dk.js', 'file');
- drupal_add_css(drupal_get_path('module', 'os2web_borger_dk') . '/css/os2web_borger_dk.css', 'file');
- }
- ?>
-
-
-
-
-
-
- ";
- if (!empty($content_field['field_os2web_borger_dk_header'])) {
- print "";
- }
- print "
";
- ?>
- >
- ";
- if (!empty($content_field['field_os2web_borger_dk_pre_text'])) {
- print "
";
- print render($content_field['field_os2web_borger_dk_pre_text']);
- print '
';
- print "
";
- print "
";
- }?>
-
-
-
";
- print render($content_field['field_os2web_borger_dk_selfservi']);
- print '
-
- ';
- }
- if (!empty($content_field['body'])) {
- print "";
- print "
" . "Læs om " . $node->title .'';
- print "
Åben/luk alle+";
- print "
- ";
- print "
";
- print render($content_field['body']);
- print '
';
- print "
";
- }
- if (!empty($content_field['field_os2web_borger_dk_post_text'])) {
- print "";
- print render($content_field['field_os2web_borger_dk_post_text']);
- print '
';
- print "";
- }
- if (!empty($content['field_os2web_borger_dk_legislati'])) {
- print "";
- print render($content['field_os2web_borger_dk_legislati']);
- print "
";
- }
- print "";
- if (!empty($content_field['field_os2web_borger_dk_recommend'])) {
- print "
";
- print render($content_field['field_os2web_borger_dk_recommend']);
- print "
";
- print "
";
- }
- if (!empty($content_field['field_os2web_borger_dk_shortlist'])) {
- print "
";
- print render($content_field['field_os2web_borger_dk_shortlist']);
- print "
";
- }
- if (!empty($content_field['field_os2web_borger_dk_byline'])) {
- print "
";
- print render($content_field['field_os2web_borger_dk_byline']);
- print "
";
- }
- print "
";
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-