Sreenath T.V (
scamper) wrote in
dw_dev_training2010-06-14 07:45 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[site community profile]](https://www.dreamwidth.org/img/comm_staff.png)
Entry tags:
bug - 2278
I am just trying to fix bug-2278,i.e, Add subscribe to all comments to the community management page bugs.dwscoalition.org/show_bug.cgi. I understood that the code need to be inserted in /dw/htdocs/community/manage.bml. Code :-
$ret .= BML::ml('Actionlink', {
'link'=>"<a href='/manage/tags?authas=$user'>$ML{'.commlist.tags'}</a>"}) . " ";
$ret .= BML::ml('Actionlink', {
'link'=>"<a href='/manage/subscriptions/user?journal=$u->user'>Subscribe to all comments </a>"}) . " ";
}
$ret .= "</td><td align='center'>";
Here $u->user is used as it is used in /dw/htdocs/userinfo.bml for the same purpose. But I guess, It cannot be used since its not any global variable. If I use $user instead of $u->user, it is directed to /manage/subscriptions/user?journal= <username> But in othercase it is directed to /manage/subscriptions/user?journal=<community name>. Which is not the same.
Another doubt is "Subscribe to all comments" in the above code is working properly but other similar links are implemented as $ML{'.commlist.tags'}, etc.. So should I implement it in that way so that it will be in a standard way ? That would need a new entry in commlist which I guess is defined in /dw/htdocs/accountstatus.bml. Code :-
if ( @warn_comm_ids ) {
my $commlist = '<ul>';
$commlist .= '<li>' . $_->ljuser_display . '</li>'
foreach values %{ LJ::load_userids( @warn_comm_ids ) };
$commlist .= '</ul>';
How can I add "Subscribe to all comments" to commlist ? So that I can use it as something like $ML{'.commlist.Subscribe to all comments'}. I am not sure what I understood is correct? I could very well be wrong. Any suggestions on this will be really helpful..
no subject
"/user?journal=" . $remote->user . "'>Subscribe...
Also, to add your new translation string, you will want to define it in /community/manage.bml.text. Name it .commlist.subscribe or whatever and use $ML{} to load it as above.
no subject
no subject
no subject
But the problem is while using $remote->user, it is redirected to /manage/settings/?cat=notifications. which I think is account settings of a user. But what we need is it should be directed to /manage/subscriptions/user?journal= so that it asks for manage message settings and also this is more specific for that community. More over, this is the page redirected to when we click track link in profile page of a community.Also "subscribe to all comments" is specific for each community.I hope what I tried to describe is clear to you.
no subject
The variables in this code are really hard to read, but it looks like in the context you're working in, the community isn't available as a user object, so you'll have to load it.
There's a line a few lines below the part you're working on that reads:
my $comm = LJ::load_userid( $id );
If you were to paste that directly above your line, you should be able to access the username of the community as $comm->user, if I am reading this correctly.
Of course, you don't want to have to do the same assignment in every block, so it might make sense to move that line even further up where both blocks can access the same value.
Hope that helps!
no subject
no subject
no subject
For the other question about $ML{...} please see the wiki entry on English-stripping. The idea is to avoid displaying any literal English phrases from within the code -- they should go in .text files instead so that they can be easily changed or translated into other languages. When you add a new phrase, you'll need to create an identifier for it, and the identifier can be an abbreviation, so .commlist.suballcomments (in dw/htdocs/community/manage.bml.text) might do for example.
no subject
no subject
The case quoted above is interesting in that it is interpolating an ML string in the context of an argument being passed to a second ML string via BML::ml.
no subject
bug - 2278
no subject
no subject