Update host list permissions and data

Fixed permissions issue where the account computers view could be used to see the private details of another user's host;
Miscellaneous host detail output tweaks
This commit is contained in:
Tristan Olive 2013-03-19 15:21:21 -04:00 committed by Oliver Bock
parent 881c1b8c74
commit fe7339c19b
2 changed files with 136 additions and 54 deletions

View File

@ -632,7 +632,7 @@ function user_account_host_list_views_default_views() {
'breadcrumb' => '',
'default_argument_type' => 'current_user',
'default_argument' => '',
'validate_type' => 'numeric',
'validate_type' => 'php',
'validate_fail' => 'not found',
'break_phrase' => 0,
'not' => 0,
@ -643,6 +643,8 @@ function user_account_host_list_views_default_views() {
'validate_user_roles' => array(
2 => 0,
3 => 0,
4 => 0,
5 => 0,
),
'relationship' => 'none',
'default_options_div_prefix' => '',
@ -650,23 +652,45 @@ function user_account_host_list_views_default_views() {
'default_argument_user' => 0,
'default_argument_php' => '',
'validate_argument_node_type' => array(
'forum' => 0,
'job_post' => 0,
'news' => 0,
'page' => 0,
'profile' => 0,
'forum' => 0,
'panel' => 0,
'story' => 0,
'team' => 0,
),
'validate_argument_node_access' => 0,
'validate_argument_nid_type' => 'nid',
'validate_argument_vocabulary' => array(
1 => 0,
2 => 0,
),
'validate_argument_type' => 'tid',
'validate_argument_transform' => 0,
'validate_user_restrict_roles' => 0,
'validate_argument_php' => '',
'validate_argument_php' => 'return is_current_boinc_user($argument);
//return ($argument == $GLOBALS[\'user\']->uid) or ($argument == 60);',
'me_redirect' => 0,
'me_validate_user_argument_type' => 'uid',
'me_validate_user_roles' => array(
2 => 0,
3 => 0,
4 => 0,
5 => 0,
),
'default_taxonomy_tid_term_page' => 0,
'default_taxonomy_tid_node' => 0,
'default_taxonomy_tid_limit' => 0,
'default_taxonomy_tid_vids' => array(
1 => 0,
2 => 0,
),
'validate_argument_node_flag_name' => '*relationship*',
'validate_argument_node_flag_test' => 'flaggable',
'validate_argument_node_flag_id_type' => 'id',
'validate_argument_user_flag_name' => '*relationship*',
'validate_argument_user_flag_test' => 'flaggable',
'validate_argument_user_flag_id_type' => 'id',
'me_validate_user_restrict_roles' => 0,
),
));
$handler->override_option('access', array(
@ -857,8 +881,10 @@ function user_account_host_list_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -873,13 +899,17 @@ function user_account_host_list_views_default_views() {
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 1,
'set_precision' => FALSE,
'precision' => 0,
'decimal' => '.',
'separator' => '',
'format_plural' => 0,
'format_plural_singular' => '1',
'format_plural_plural' => '@count',
'prefix' => '',
'suffix' => '',
'exclude' => 1,
'exclude' => 0,
'id' => 'id',
'table' => 'host',
'field' => 'id',
@ -1048,7 +1078,7 @@ function user_account_host_list_views_default_views() {
$handler->override_option('items_per_page', 7);
$handler->override_option('use_pager', FALSE);
$handler->override_option('use_more', 1);
$handler->override_option('use_more_always', 0);
$handler->override_option('use_more_always', 1);
$handler->override_option('style_options', array(
'grouping' => '',
'override' => 1,

View File

@ -146,8 +146,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -159,18 +161,22 @@ function work_and_host_stats_views_default_views() {
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 1,
'empty' => 'n/a',
'hide_empty' => 0,
'empty_zero' => 0,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
$showIP = arg(2);
if ($showIP) {
echo "{$data->host_last_ip_addr}<br/>(same the last {$data->host_nsame_ip_addr} times)";
} else {
echo l(\'Show IP address\', arg(0).\'/\'.arg(1).\'/1\');
}
}
'hide_alter_empty' => 0,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
$showIP = arg(2);
if ($showIP) {
$last_ip = $data->host_last_ip_addr;
if ($last_ip) {
echo "{$data->host_last_ip_addr} (same the last {$data->host_nsame_ip_addr} times)";
}
} else {
echo l(\'Show IP address\', arg(0).\'/\'.arg(1).\'/1\');
}
}
?>',
'exclude' => 0,
'id' => 'phpcode_26',
@ -429,8 +435,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -445,8 +453,9 @@ function work_and_host_stats_views_default_views() {
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 1,
'date_format' => 'custom',
'custom_date_format' => 'j M Y G:i:s e',
'custom_date_format' => 'j M Y G:i:s T',
'exclude' => 0,
'id' => 'create_time',
'table' => 'host',
@ -460,8 +469,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -473,13 +484,17 @@ function work_and_host_stats_views_default_views() {
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'empty' => '0',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 0,
'set_precision' => 1,
'precision' => '0',
'decimal' => '.',
'separator' => ',',
'format_plural' => 0,
'format_plural_singular' => '1',
'format_plural_plural' => '@count',
'prefix' => '',
'suffix' => '',
'exclude' => 0,
@ -524,9 +539,36 @@ function work_and_host_stats_views_default_views() {
'relationship' => 'none',
),
'host_cpid' => array(
'label' => 'Cross project ID',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 1,
'exclude' => 1,
'id' => 'host_cpid',
'table' => 'host',
'field' => 'host_cpid',
'relationship' => 'none',
),
'phpcode_7' => array(
'label' => 'Cross project credit',
@ -636,12 +678,13 @@ function work_and_host_stats_views_default_views() {
'label' => 'CPU type',
'alter' => array(
'alter_text' => 1,
'text' => '[p_vendor]<br/>
[p_model]',
'text' => '[p_vendor] [p_model]',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -656,6 +699,7 @@ function work_and_host_stats_views_default_views() {
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 1,
'exclude' => 0,
'id' => 'p_model',
'table' => 'host',
@ -759,12 +803,13 @@ function work_and_host_stats_views_default_views() {
'label' => 'Operating system',
'alter' => array(
'alter_text' => 1,
'text' => '[os_name] <br/>
[os_version]',
'text' => '[os_name] [os_version]',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -779,6 +824,7 @@ function work_and_host_stats_views_default_views() {
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'hide_alter_empty' => 1,
'exclude' => 0,
'id' => 'os_version',
'table' => 'host',
@ -1539,8 +1585,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -1552,24 +1600,22 @@ function work_and_host_stats_views_default_views() {
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 1,
'empty' => '0',
'hide_empty' => 0,
'empty_zero' => 0,
'value' => '<?php
//require_boint(\'util\');
$config = get_config();
if (parse_bool($config, "show_results")) {
// Create makeshift host object for host_nresults function
$host = new stdClass();
$host->id = $data->id;
$nresults = host_nresults($host);
if ($nresults) {
$results = l($nresults, "host/{$host->id}/tasks");
} else {
$results = "0";
}
echo $results;
}
'hide_alter_empty' => 0,
'value' => '<?php
//require_boint(\'util\');
//$config = get_config();
//if (parse_bool($config, "show_results")) {
// Create makeshift host object for host_nresults function
$host = new stdClass();
$host->id = $data->id;
$nresults = host_nresults($host);
if ($nresults) {
echo l($nresults, "host/{$host->id}/tasks");
}
//}
?>',
'exclude' => 0,
'id' => 'phpcode_18',
@ -1619,8 +1665,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -1632,13 +1680,14 @@ function work_and_host_stats_views_default_views() {
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 1,
'empty' => '0',
'hide_empty' => 0,
'empty_zero' => 0,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
echo $data->host_rpc_seqno;
}
'hide_alter_empty' => 0,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
echo $data->host_rpc_seqno;
}
?>',
'exclude' => 0,
'id' => 'phpcode_2',
@ -2072,8 +2121,10 @@ function work_and_host_stats_views_default_views() {
'text' => '',
'make_link' => 0,
'path' => '',
'absolute' => 0,
'link_class' => '',
'alt' => '',
'rel' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
@ -2086,12 +2137,13 @@ function work_and_host_stats_views_default_views() {
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'hide_empty' => 1,
'empty_zero' => 0,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
echo \'[TO DO]\';
}
'hide_alter_empty' => 1,
'value' => '<?php
if (is_current_boinc_user($data->host_userid)) {
echo \'[TO DO]\';
}
?>',
'exclude' => 0,
'id' => 'phpcode_24',
@ -2243,7 +2295,7 @@ function work_and_host_stats_views_default_views() {
$handler->override_option('row_options', array(
'inline' => array(),
'separator' => '',
'hide_empty' => 1,
'hide_empty' => 0,
));
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('row_options', array());