When other modules try to modify the links by adding an extra class with hook preprocess link, it will break the page because it tries to add an extra array element to a string.

From the api docs for l() function:

If element 'class' is included, it must be an array

Easy fix, in forward_node_view, change

        $links['forward_link'] = array(
          'title'      => $title,
          'href'       => 'forward',
          'html'       => $html,
          'attributes' => array('title' => variable_get('forward_email_title', t('Forward this page to a friend')), 'class' => 'forward-page'),
          'query'      => array('path' => $form_state['values']['path']),
        );

to

        $links['forward_link'] = array(
          'title'      => $title,
          'href'       => 'forward',
          'html'       => $html,
          'attributes' => array('title' => variable_get('forward_email_title', t('Forward this page to a friend')), 'class' => array('forward-page')),
          'query'      => array('path' => $form_state['values']['path']),
        );

Marking as critical because it is wrong and totally breaks your site when using other contrib modules that modify the link classes.
Its just a one line change (line 1226) but I would recommend checking other parts of the module for this.

Comments

rv0’s picture

Title: 'forward-page' should be in array » 'forward-page' class should be in array

more descriptive title

john.oltman’s picture

Assigned: Unassigned » john.oltman
Status: Needs review » Fixed

Yep, and also lines 1213 and 1217. Just committed fix to 7.x DEV branch. Could you download the DEV build once it completes and let me know if it works with your contrib module. Thanks much.

john.oltman’s picture

Assigned: john.oltman » Unassigned
Status: Fixed » Closed (fixed)
john.oltman’s picture

This is now included in official release 7.x-1.4