Changeset 883


Ignore:
Timestamp:
01/19/08 12:33:02 (4 years ago)
Author:
bogdanpasoi@…
Message:

Open source - first draft.

Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/common/db/job.php

    r852 r883  
    9090                   `task`.`page_name` AS `task_page_name`, task.`title` AS `task_title`, 
    9191                   `task`.`hidden` AS `task_hidden`, `task`.`user_id` AS `task_owner_id`, 
     92                   `task`.`open_source` AS `task_open_source`, 
    9293                   `round`.`id` AS `round_id`, 
    9394                   `round`.`page_name` AS `round_page_name`, `round`.`title` AS `round_title`"; 
  • trunk/common/security.php

    r864 r883  
    127127        case 'grader-delete': 
    128128        case 'grader-rename': 
    129         case 'grader-download': 
    130129        case 'simple-edit': 
    131130            return 'simple-edit'; 
     
    144143        // Special actions fall through 
    145144        // FIXME: As few as possible. 
     145        case 'grader-download': 
    146146        case 'task-submit': 
    147147        case 'round-submit': 
     
    397397            return ($task['hidden'] == false && $is_running); 
    398398 
     399        case 'grader-download': 
     400            if ($task['open_tests']) { 
     401                $can_view = $task['hidden'] == false; 
     402            } else { 
     403                $can_view = false; 
     404            } 
     405            return $can_view || $is_owner || $is_admin; 
     406 
    399407        default: 
    400408            log_error('Invalid task action: '.$action); 
     
    502510    $is_task_owner = ($job['task_owner_id'] == $user['id'] && $usersec == 'helper'); 
    503511    $can_view_job = ($job['task_hidden'] == false) || $is_task_owner || $is_admin; 
     512    $can_view_source = ($job['task_open_source'] == true) || $is_task_owner || $is_owner || $is_admin; 
    504513 
    505514    // Log query response. 
     
    521530 
    522531        case 'job-download': //FIXME: this should be job-view-source, job-download is too confusing 
    523             return $can_view_job && ($is_admin || $is_owner); 
     532            return $can_view_job && $can_view_source; 
    524533 
    525534        default: 
  • trunk/common/task.php

    r852 r883  
    3838                        'name' => "Grupare teste", 
    3939 
    40                 ), 
    41                 'okfiles' => array( 
    42                         'description' => "Daca evaluator-ul foloseste fisiere .ok", 
    43                         'default' => '0', 
    44                         'type' => 'bool', 
    45                         'name' => "Foloseste .ok", 
    46                 ), 
    47                 'evaluator' => array( 
    48                         'description' => "Sursa evaluatorului. Poate fi omis pentru evaluare cu diff", 
    49                         'default' => 'eval.c', 
    50                         'type' => 'string', 
    51                         'name' => "Evaluator", 
    52                 ), 
    53         ), 
    54         'output-only' => array( 
    55                 'tests' => array( 
    56                         'description' => "Numar de teste", 
    57                         'default' => 10, 
    58                         'type' => 'integer', 
    59                         'name' => "Numar de teste", 
    60                 ), 
    61                 'testgroups' => array( 
    62                         'description' => "Descrierea gruparii testelor.", 
    63                         'default' => '1;2;3;4;5;6;7;8;9;10', 
    64                         'type' => 'string', 
    65                         'name' => "Grupare teste", 
    66                 ), 
    67                 'okfiles' => array( 
    68                         'description' => "Daca evaluator-ul foloseste fisiere .ok", 
    69                         'default' => '0', 
    70                         'type' => 'bool', 
    71                         'name' => "Foloseste .ok", 
    72                 ), 
    73                 'evaluator' => array( 
    74                         'description' => "Sursa evaluatorului. Poate fi omis pentru evaluare cu diff", 
    75                         'default' => 'eval.c', 
    76                         'type' => 'string', 
    77                         'name' => "Evaluator", 
    78                 ), 
    79         ), 
    80     ); 
     40            ), 
     41            'okfiles' => array( 
     42                    'description' => "Daca evaluator-ul foloseste fisiere .ok", 
     43                    'default' => '0', 
     44                    'type' => 'bool', 
     45                    'name' => "Foloseste .ok", 
     46            ), 
     47            'evaluator' => array( 
     48                    'description' => "Sursa evaluatorului. Poate fi omis pentru evaluare cu diff", 
     49                    'default' => 'eval.c', 
     50                    'type' => 'string', 
     51                    'name' => "Evaluator", 
     52            ), 
     53    ), 
     54    'output-only' => array( 
     55            'tests' => array( 
     56                    'description' => "Numar de teste", 
     57                    'default' => 10, 
     58                    'type' => 'integer', 
     59                    'name' => "Numar de teste", 
     60            ), 
     61            'testgroups' => array( 
     62                    'description' => "Descrierea gruparii testelor.", 
     63                    'default' => '1;2;3;4;5;6;7;8;9;10', 
     64                    'type' => 'string', 
     65                    'name' => "Grupare teste", 
     66            ), 
     67            'okfiles' => array( 
     68                    'description' => "Daca evaluator-ul foloseste fisiere .ok", 
     69                    'default' => '0', 
     70                    'type' => 'bool', 
     71                    'name' => "Foloseste .ok", 
     72            ), 
     73            'evaluator' => array( 
     74                    'description' => "Sursa evaluatorului. Poate fi omis pentru evaluare cu diff", 
     75                    'default' => 'eval.c', 
     76                    'type' => 'string', 
     77                    'name' => "Evaluator", 
     78            ), 
     79    ), 
     80); 
    8181} 
    8282 
     
    129129    if ($hidden != '0' && $hidden != '1') { 
    130130        $errors['hidden'] = 'Se accepta doar 0/1'; 
     131    } 
     132 
     133    $open_source = getattr($task, 'open_source'); 
     134    if ($open_source != '0' && $open_source != '1') { 
     135        $errors['open_source'] = 'Se accepta doar 0/1'; 
     136    } 
     137 
     138    $open_tests = getattr($task, 'open_tests'); 
     139    if ($open_tests != '0' && $open_tests != '1') { 
     140        $errors['open_tests'] = 'Se accepta doar 0/1'; 
    131141    } 
    132142 
  • trunk/smf/SSI.php

    r872 r883  
    17621762    echo '<div class="calendar">'; 
    17631763    echo '<div class="header">'; 
    1764     echo '<a href="'.IA_URL.'/forum?action=calendar">In curand..</a></div>'; 
    17651764        foreach ($return as $mday => $array) 
    17661765    { 
  • trunk/www/controllers/task.php

    r852 r883  
    4949    $values['title'] = request('title', $task['title']); 
    5050    $values['page_name'] = request('page_name', $task['page_name']); 
     51    $values['open_source'] = request('open_source', $task['open_source']); 
     52    $values['open_tests'] = request('open_tests', $task['open_tests']); 
    5153 
    5254    // Parameter values, for all possible types of tasks. 
     
    7678        $new_task['type'] = $values['type']; 
    7779        $new_task['hidden'] = $values['hidden']; 
     80        $new_task['open_source'] = $values['open_source']; 
     81        $new_task['open_tests'] = $values['open_tests']; 
    7882 
    7983        $task_errors = task_validate($new_task); 
  • trunk/www/views/task_edit.php

    r852 r883  
    5151                'default' => 'classic', 
    5252        ), 
     53        'open_source' => array( 
     54                'name' => 'Acces liber la surse', 
     55                'type' => 'bool' 
     56        ), 
     57        'open_tests' => array( 
     58                'name' => 'Acces liber la teste', 
     59                'type' => 'bool' 
     60        ), 
    5361); 
    5462 
     
    8189?> 
    8290    <fieldset> 
     91    <legend>Acces la surse si teste</legend> 
     92    <ul class="form"> 
     93        <?= view_form_field_li($form_fields['open_source'], 'open_source') ?> 
     94        <?= view_form_field_li($form_fields['open_tests'], 'open_tests') ?> 
     95    </ul> 
     96    </fieldset> 
     97 
     98    <fieldset> 
    8399    <legend>Detalii despre evaluare</legend> 
    84100    <ul class="form"> 
     
    91107    </ul> 
    92108    </fieldset> 
     109 
    93110    <div class="submit"> 
    94111        <ul class="form"> 
Note: See TracChangeset for help on using the changeset viewer.