Download & Extend

System message %username to real name as in template.php

Project:Actions
Version:5.x-2.5
Component:User interface
Category:support request
Priority:normal
Assigned:Unassigned
Status:active

Issue Summary

Hi,

Thank you for your wonderful module. I have a function in my template.php which converts username to the real name and it appears fine throughout my site on modules.

As a greeting message when a user logs in with :

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 18) display = "Evening ";
else if (thehour >12) display = "Afternoon  ";
else display = "Morning  ";
var greeting = ("Good " + display + " ");
document.write(greeting);
// End -->
</script> %username

the %username does not covert to real name and I see that I'm not able to insert php code only html.

Is there perhaps a way to make this work, would most appreciate any help.

Look forward to your reply.
Lilian

Comments

#1

Status:active» postponed (maintainer needs more info)

Could you please say a bit more about what this has to do with the actions module?

#2

Thank you for your super-fast reply.

When you create an Advanced Action with Actions: 'Display a message to the user'. In the 'Trigger: After a user has logged in', back in actions you are able to 'configure' the message. In the box available in Actions I've set:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 18) display = "Evening ";
else if (thehour >12) display = "Afternoon  ";
else display = "Morning  ";
var greeting = ("Good " + display + " ");
document.write(greeting);
// End -->
</script> %username

well, the %username does not covert to real name and I see that I'm not able to insert php code only html. All other modules convert the username on my site.

Is there a way to insert php or 'author name' or something similar to output first name.

Hope this more clear, and look forward to your reply.
Lilian

#3

Not sure what to say here. I've tried it with both 5.x-2.5 and HEAD and the it works fine for me. I get "Good Afternoon jvandyk". I'm running on PHP 5.2.5, Drupal 5.10. So it points to your function in template.php. What does it look like?

#4

Thank you again. That's exactly it, I do not want the username 'jvandyk' but presuming :) John van Dyk ...

In template.php as follows:

function phptemplate_username($object, $link = TRUE) {
if ( $object->uid ) {
$type = "profile";
  $sql = "SELECT nid FROM {node} WHERE uid = %d AND type = '%s'";
  $nid = db_result(db_query($sql, $object->uid, $type));
   if ( $nid ) {
   $profile = node_load($nid);
  }
}
$name = $profile->field_name[0]['value'] . ' ' . $profile->field_lastname[0]['value'] ;
if ( $name ) {
    if ( $link && user_access('access user profiles')) {
      return l($name, 'user/'. $object->uid, array('title' => t('View Member Profile.')));
    }
    else {
      return check_plain($name);
    }
}

Currently the above converts the username to full name everywhere on my site. I know that Facebook Statuses just had the same thing, yet now with their update works perfectly,

see http://drupal.org/node/307077

Do you think this is possible please John? Look forward to your reply. Lilian

#5

Status:postponed (maintainer needs more info)» fixed

Ah, yes. We should be using theme_username() there instead of $user->name. Fixed in HEAD; will appear in 5.x-2.6. Thanks!

#6

Hi John,

Hope this message finds you fabulous. John, I downloaded 5.x-2.6 but still seem to have only 'username' and not the full name as defined by the template. Is there something specific I should do .. have run update, but to no avail.

Look forward to hearing from you.
Lilian

#7

Status:fixed» active

*bump* sorry, I needed to re-open this issue. John, please see my posting above and thank you!