@@ -856,21 +856,39 @@ function dosomething_reportback_mbp_request($entity) {
856856
857857 if (module_exists('dosomething_user')) {
858858 $account = user_load($entity->uid);
859+ $node = node_load($entity->nid);
860+ $language = dosomething_global_get_language($account, $node);
861+
862+ $title = $entity->node_title;
863+ if ($node) {
864+ // Get node title, normal for collections, translatable for campaigns.
865+ if (isset($node->title_field)) {
866+ $title = $wrapper->language($language)->title_field->value();
867+ } else {
868+ $title = $node->title;
869+ }
870+ } else {
871+ watchdog(
872+ 'dosomething_reportback',
873+ 'Node !nid !nid not found for reportback fid !fid.',
874+ ['!nid' => $entity->nid, '!fid' => $entity->fid],
875+ WATCHDOG_WARNING
876+ );
877+ }
878+
859879 $params = array(
860880 'email' => $account->mail,
861881 'uid' => $account->uid,
862882 'first_name' => dosomething_user_get_field('field_first_name', $account),
863- 'campaign_title' => $entity->node_title ,
883+ 'campaign_title' => $title ,
864884 'event_id' => $entity->nid,
865885 'impact_verb' => $entity->verb,
866886 'impact_number' => $entity->quantity,
867887 'impact_noun' => $entity->noun,
868888 'image_markup' => $image_markup,
889+ 'campaign_language' => !empty($node->language) ? $node->language : DOSOMETHING_GLOBAL_DEFAULT_LANG_CODE,
869890 );
870- $node = node_load($entity->nid);
871- if ($node) {
872- $params['campaign_language'] = $node->language;
873- }
891+
874892 if (module_exists('dosomething_mbp')) {
875893 dosomething_mbp_request('campaign_reportback', $params);
876894 }
0 commit comments