/** * Create checkboxes for updating user * @param int $userID * @return array */ private function _createCheckboxesForUpdatingUser($userID) { $roleCheckboxes = array(); // get role array $roleModel = new Admin_Model_Role(); $roleArray = $roleModel->getRoleArray(); // get customer role ID $customerRoleID = $roleModel->getCustomerRoleID(); // get roles of the user $userModel = new Admin_Model_Users(); $rolesOfUser = $userModel->getRolesOfUser($userID); // extract role_id of $roleOfUser array $roleIDs = array(); foreach ($rolesOfUser as $role) { $roleIDs[] = $role['role_id']; } // create role checkboxes foreach ($roleArray as $index => $role) { if (in_array($role['role_id'], $roleIDs)) { $roleCheckbox = $this->createElement('checkbox', (string) $role['role_id'], array('checked' => 'checked')); } else { $roleCheckbox = $this->createElement('checkbox', (string) $role['role_id'], array()); } // check if the role is customer if ($role['role_id'] == $customerRoleID) { $roleCheckbox->setAttrib('disabled', 'disabled'); } $roleCheckbox->setLabel($role['role_name']); $this->_customizeRoleCheckBox($roleCheckbox); $roleCheckboxes[] = $roleCheckbox; } return $roleCheckboxes; }