Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
form_question_rule_type_file_type_edit_fns.inc
1 <?php
18 require_once dirname(__FILE__).'/../../form_question_rule/form_question_rule_edit_fns.inc';
19 require_once SQ_SYSTEM_ROOT.'/core/attributes/option_list/option_list.inc';
20 
33 {
34 
35 
41  {
43 
44  }//end constructor
45 
46 
47  function paintRule(&$asset, &$o, $prefix, $rule_data, $write_access)
48  {
49  $operator_list = $asset->getOperators();
50 
51  if (!$write_access) {
52  $o->openField(translate('core_form_rule_details'));
53  echo translate('core_form_rule_file_type_edit_'.(array_get_index($rule_data, 'operator', 1) ? 'true' : 'false'), $rule_data['value']);
54  $o->closeField();
55 
56  } else {
57 
58  $o->openField(translate('operator'));
59  // list of operators
60  combo_box($prefix.'[operator]', $operator_list, false, array_get_index($rule_data, 'operator', 1));
61  $o->closeField();
62 
63  $o->openField(translate('core_form_rule_file_type_ext_list'));
64  // give a text box to write the comparison value in
65  $option_list = new Asset_Attribute_Option_List(0, array_get_index($rule_data, 'value', ''));
66  $option_list->paint($prefix.'_value');
67 
68  $o->closeField();
69  // check mime type?
70  $o->openField(translate('core_form_rule_file_type_enforce_check_mime'));
71  check_box($prefix.'[check_mime]', TRUE, array_get_index($rule_data, 'check_mime', FALSE));
72  $o->closeField();
73 
74  $o->sectionNote(translate('core_form_rule_file_type_note'));
75  }
76 
77  return $write_access;
78 
79  }//end paintRule()
80 
81 
88  function processRule(&$asset, &$o, $prefix, &$rule_data)
89  {
90  if (!isset($_POST[$prefix])) return false;
91 
92  $operator = array_get_index($_POST[$prefix], 'operator', null);
93  $comparison = trim(implode("\r\n", array_get_index($_POST, str_replace(':', '_', $prefix).'_value_options', Array())));
94  $check_mime = array_get_index($_POST[$prefix], 'check_mime', FALSE);
95 
96  $rule_data['operator'] = $operator;
97  $rule_data['value'] = $comparison;
98  $rule_data['check_mime'] = $check_mime;
99 
100  return true;
101 
102  }//end processRule()
103 
104 
105 }//end class
106 ?>