- Administer blocks:
"administer blocks"
- Administer comments and comment settings:
"administer comments"
- View comments:
"access comments"
- Post comments:
"post comments"
- Skip comment approval:
"skip comment approval"
// Q sample by Jeff Cogswell | |
/*=========== | |
We want to call these three functions in sequence, one after the other: | |
First we want to call one, which initiates an ajax call. Once that | |
ajax call is complete, we want to call two. Once two's ajax call is | |
complete, we want to call three. | |
BUT, we don't want to just call our three functions in sequence, as this quick |
sub template_before_process { | |
my ($self, $args) = @_; | |
my ($file, $vars) = @$args{qw(file vars)}; | |
if($file eq 'global/header.html.tmpl') { | |
$vars->{bodyclasses} = [] unless ref($vars->{bodyclasses}); | |
my $caller = $vars->{component}->{caller}; | |
my @classes; | |
$caller =~ s/\.html\.tmpl//; # strip file extension |
@variable: Escaped to HTML using check_plain(). Use this as the default choice for anything displayed on a page on the site. | |
%variable: Escaped to HTML and formatted using drupal_placeholder(), which makes it display as <em>emphasized</em> text. | |
!variable: Inserted as is, with no sanitization or formatting. Only use this for text that has already been prepared for HTML display (for example, user-supplied text that has already been run through check_plain() previously, or is expected to contain some limited HTML tags and has already been run through filter_xss() previously). |
SELECT table_schema AS "Databases", | |
sum( data_length + index_length ) / 1024 / 1024 AS "Data Base Size in MB" | |
FROM information_schema.TABLES GROUP BY table_schema; |
find . -name \*\'s\ conflicted\ copy\ \* -exec mv -v {} ~/.Trash/ \; |