if (isset($params['parents'])) {
if (is_array($params['parents'])) {
foreach ($params['parents'] as $parent => $dc) {
- if (!CRM_Utils_Type::validate('integer', $parent, FALSE)) {
+ if (!CRM_Utils_Type::validate($parent, 'Integer', FALSE)) {
unset($params['parents'][$parent]);
}
}
}
else {
- if (!CRM_Utils_Type::validate('integer', $params['parents'], FALSE)) {
+ if (!CRM_Utils_Type::validate($params['parents'], 'Integer', FALSE)) {
unset($params['parents']);
}
}
if (!empty($params['parents'])) {
foreach ($params['parents'] as $parentId => $dnc) {
- if (CRM_Utils_Type::validate('Integer', $parentId, FALSE)) {
+ if (CRM_Utils_Type::validate($parentId, 'Integer', FALSE)) {
if ($parentId && !CRM_Contact_BAO_GroupNesting::isParentChild($parentId, $group->id)) {
CRM_Contact_BAO_GroupNesting::add($parentId, $group->id);
}
$this->assertEquals(1, $result['values']['is_active']['api.default']);
}
+ public function testIllegalParentsParams() {
+ $params = array(
+ 'title' => 'Test illegal Group',
+ 'domain_id' => 1,
+ 'description' => 'Testing illegal Parents params',
+ 'is_active' => 1,
+ 'parents' => "(SELECT api_key FROM civicrm_contact where id = 1)",
+ );
+ $this->callAPISuccess('group', 'create', $params);
+ $group1 = $this->callAPISuccess('group', 'get', array(
+ 'title' => 'Test illegal Group',
+ 'parents' => array('IS NOT NULL' => 1),
+ ));
+ $this->assertEquals(0, $group1['count']);
+ $params['title'] = 'Test illegal Group 2';
+ $params['parents'] = array();
+ $params['parents'][$this->_groupID] = 'test Group';
+ $params['parents']["(SELECT api_key FROM civicrm_contact where id = 1)"] = "Test";
+ $group2 = $this->callAPISuccess('group', 'create', $params);
+ $this->assertEquals(count($group2['values'][$group2['id']]['parents']), 1);
+ }
+
}