Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
form_question_type_tickbox_list_edit_fns.inc
1 <?php
18 require_once dirname(__FILE__).'/../../form_question/form_question_edit_fns.inc';
19 
20 
33 {
34 
35 
41  {
42  $this->Form_Question_Edit_Fns();
43 
44  }//end constructor
45 
46 
57  function paintDefault(&$asset, &$o, $prefix)
58  {
59  if (!$asset->writeAccess('attributes')) return FALSE;
60 
61  $options = $asset->getOptions();
62  $multiple = (get_class($asset) == 'Form_Question_Type_Tickbox_List') ? TRUE : FALSE;
63  $defaults = $asset->attr('default');
64 
65  foreach ($options as $ref => $option) {
66  if (!trim($option)) continue;
67 
68  $type = ($multiple) ? 'check_box' : 'radio_button';
69  $name = $prefix.'default[]';
70 
71  $checked = (in_array($ref, $defaults)) ? TRUE : FALSE;
72  $type($name, $ref, $checked, '', 'id="'.$prefix.'default'.$ref.'"');
73  label($option, $prefix.'default'.$ref);
74  echo '<br />';
75  }
76 
77  return TRUE;
78 
79  }//end paintDefault()
80 
81 
92  function processDefault(&$asset, &$o, $prefix)
93  {
94  if (isset($_POST[$prefix.'default']) && $_POST[$prefix.'default'][0] == 'none') {
95  $asset->setAttrValue('default', Array());
96  }
97  else if (isset($_POST[$prefix.'default'])) {
98  if (!$asset->setAttrValue('default', $_POST[$prefix.'default'])) {
99  return FALSE;
100  }
101  // if nothing has been submitted, then nothing has been selected, so blank all defaults out
102  } else {
103  $asset->setAttrValue('default', Array());
104  }
105  $asset->saveAttributes();
106 
107  return TRUE;
108 
109  }//end processDefault()
110 
111 
122  function paintOptions(&$asset, &$o, $prefix)
123  {
124  $write_access = $asset->writeAccess('attributes');
125  require_once(SQ_ATTRIBUTES_PATH.'/option_list/option_list.inc');
126  $option_list = new Asset_Attribute_Option_List(0, $asset->attr('options'));
127  $option_list->paint($prefix.'_option_list', !$write_access, FALSE);
128 
129  }//end paintOptions()
130 
131 
142  function processOptions(&$asset, &$o, $prefix)
143  {
144  if (isset($_POST[$prefix.'_option_list_options'])) {
145  require_once(SQ_ATTRIBUTES_PATH.'/option_list/option_list.inc');
146  $option_list = new Asset_Attribute_Option_List(0, $asset->attr('options'));
147  $option_list->process($prefix.'_option_list', FALSE);
148 
149  $asset->setAttrValue('options', $option_list->value);
150  $asset->saveAttributes();
151  }//end if
152 
153  }//end processOptions()
154 
155 
156 }//end class
157 ?>