return (strpos($description, 'FIXME') !== false);
}
-# replace every character in $str with " "
-function to_nbsp($matches) {
- return str_repeat(' ', strlen($matches[0]) * 2);
-}
-
# encode as html, make it display newlines and leading spaces
function enc_htmlbrtab($str) {
$str = enc_htmlbr($str);
- $str = preg_replace_callback("|^ *|m", to_nbsp, $str);
+ $space_to_nbsp = create_function('$matches', 'return str_repeat(\' \', strlen($matches[0]) * 2);');
+ $str = preg_replace_callback("|^ *|m", $space_to_nbsp, $str);
return $str;
}
$state = TASK_DRAFT;
} elseif(isset($_REQUEST['save_bug'])) {
$state = TASK_BUG;
+ } elseif(isset($_REQUEST['save_price_no_tiny']) && logged_in_as_contractor()) {
+ $state = TASK_NEEDS_GO_AHEAD;
} elseif(isset($_REQUEST['save_price']) && logged_in_as_contractor()) {
$tiny_agreement = db_get_value('people', 'tiny_agreement', 'where id=%i', $client_id);
- if($price < $tiny_agreement) {
+ if($price <= $tiny_agreement) {
$state = TASK_QUEUED;
} else {
$state = TASK_NEEDS_GO_AHEAD;
$client_id = logged_in();
if(logged_in_as_contractor() && $_REQUEST['client_id']) {
$client_id = format_int($_REQUEST['client_id']);
+ } else {
+ # if client entered the task, no price is set
+ $price = 0;
}
- db_insert('tasks', 'client_id,title,url,description,state,paid', $client_id, $title, $url, $description, $state, $paid);
+ db_insert('tasks', 'client_id,title,url,description,state,paid,price', $client_id, $title, $url, $description, $state, $paid, $price);
message('Task saved.');
}
if($GLOBALS['tasks_form_recipient'] != "fixme@example.com") {
} else {
tem_show('normal_instructions');
}
- tem_show('normal_submits');
+ if(logged_in_as_contractor()) {
+ tem_show('contractor_submits');
+ switch($state) {
+ case TASK_DRAFT:
+ case TASK_NEEDS_CLARIFICATION:
+ case TASK_NEEDS_QUOTE:
+ case TASK_NEEDS_GO_AHEAD:
+ case TASK_QUEUED:
+ case TASK_BUG:
+ tem_show('price_field');
+ }
+ } else {
+ tem_show('normal_submits');
+ }
}
}