191 function prepareAttributes() { 192 193 // Keep a copy of original attributes, in sorted order 194 foreach($this->m_attribIndexList as $attribute) { 195 $this->m_originalAttributes[] = &$this->getAttribute($attribute['name']); 196 } 197 198 // Remove all existing attributes for node. 199 $this->m_attribList = NULL; 200 $this->m_attribIndexList = NULL; 201 202 // Add 15 attributes using our own naming scheme. 203 for($i = 0; $i < count($this->m_originalAttributes); $i++) { 204 $formAttribute = $this->m_originalAttributes[$i]; 205 $originalName = $formAttribute->fieldName(); 206 207 for($j = 0; $j < 15; $j++) { 208 $newName = "form_input_{$j}_{$originalName}"; 209 $formAttribute->m_name = $newName; 210 211 if ($originalName == 'projectid') { 212 $formAttribute->m_dependees = array(); 213 $formAttribute->addDependee("form_input_{$j}_phaseid"); 214 } else if ($originalName == "phaseid") { 215 $formAttribute->m_dependees = array(); 216 $formAttribute->addDependee("form_input_{$j}_activityid"); 217 } 218 219 220 $this->add($formAttribute); 221 } 222 }