diff --git a/dfp.module b/dfp.module index 20984c5..31b98bb 100755 --- a/dfp.module +++ b/dfp.module @@ -898,6 +898,18 @@ function dfp_token_replace($text, $tag = NULL, array $options = array()) { } /** + * Calls the Entity Modified module's entity_modified_last() function safely. + */ +function _dfp_entity_modified_last($entity_type, $entity) { + if (module_load('module', 'entity_modified') && function_exists('entity_modified_last')) { + return entity_modified_last($entity_type, $entity); + } + static $key = 1000; + watchdog(WATCHDOG_ERROR, 'DFP module failed to call the entity_modified_last function.'); + return (string)$key++; +} + +/** * Generates an identifying key for the lookup to be processed. * * @param string $text @@ -915,10 +927,10 @@ function _dfp_token_replace_make_key($text, array $data) { // be used as the cache key itself we're not limited to 255 characters but // it will be nicer on array lookups in PHP. $keys[] = sha1($text); - $keys[] = isset($data['node']->nid) ? $data['node']->nid . '-' . entity_modified_last('node', $data['node']) : NULL; - $keys[] = isset($data['user']->uid) ? $data['user']->uid . '-' . entity_modified_last('user', $data['user']) : NULL; - $keys[] = isset($data['term']->tid) ? $data['term']->tid . '-' . entity_modified_last('taxonomy_term', $data['term']) : NULL; - $keys[] = isset($data['tag']->machinename) ? $data['tag']->machinename . '-' . entity_modified_last('tag', $data['tag']) : NULL; + $keys[] = isset($data['node']->nid) ? $data['node']->nid . '-' . _dfp_entity_modified_last('node', $data['node']) : NULL; + $keys[] = isset($data['user']->uid) ? $data['user']->uid . '-' . _dfp_entity_modified_last('user', $data['user']) : NULL; + $keys[] = isset($data['term']->tid) ? $data['term']->tid . '-' . _dfp_entity_modified_last('taxonomy_term', $data['term']) : NULL; + $keys[] = isset($data['tag']->machinename) ? $data['tag']->machinename . '-' . _dfp_entity_modified_last('tag', $data['tag']) : NULL; return implode('|', array_filter($keys)); }