--- modules/coppa/coppa.admin.1.inc Thu Feb 24 18:09:03 2011 +++ modules/coppa/coppa.admin.inc Sat Jan 14 08:57:49 2012 @@ -48,26 +48,44 @@ */ function coppa_sign() { global $user; + $field = variable_get('coppa_dob_field', 'profile_dob'); + $type = variable_get('coppa_dob_field_type', 'profile'); $form = array( '#theme' => 'coppa_sign', ); - - $result = db_query("SELECT DISTINCT u.uid, u.name, c.status, pv.value, pv.fid - FROM {users} u, {coppa} c, {profile_fields} pf, {profile_values} pv - WHERE c.cid=u.uid AND pv.uid = u.uid AND pf.fid = pv.fid AND pf.name = 'profile_dob' AND c.pid = %d", $user->uid); - + if ($type == 'profile') { + $result = db_query("SELECT DISTINCT u.uid, u.name, c.status, pv.value, pv.fid + FROM {users} u, {coppa} c, {profile_fields} pf, {profile_values} pv + WHERE c.cid=u.uid AND pv.uid = u.uid AND pf.fid = pv.fid AND pf.name = 'profile_dob' AND c.pid = %d", $user->uid); + } + else { + // Integration with content profile (cck). + $db_info[$field] = content_database_info(content_fields($field)); + $value = $db_info[$field]['columns']['value']['column']; + $table = $db_info[$field]['table']; + $result = db_query("SELECT DISTINCT u.uid, u.name, c.status, d.$value + FROM {users} u, {coppa} c, {node} n, {" . $table . "} d + WHERE c.cid=u.uid AND n.uid=c.cid AND n.nid=d.nid AND c.pid = %d", $user->uid); + } $form['children'] = array('#tree' => TRUE); $weight = 1; while ($r = db_fetch_object($result)) { - $dob = unserialize($r->value); + if ($type == 'profile') { + $dob = unserialize($r->value); + $dob = $dob['month'] .'/'. $dob['day'] .'/'. $dob['year']; + } + else { + $dob = $r->$value; + $dob = format_date(strtotime($dob), 'custom', 'm/d/Y'); + } $coppa_needed = coppa_needed($r->uid); $coppa_comply = coppa_is_compliant($r->uid); - $form['children'][$r->uid]['tracker'] = array('#type' => 'markup', '#value' => l($r->name, 'tracker/'. $r->uid)); - $form['children'][$r->uid]['dob'] = array('#type' => 'markup', '#value' => $dob['month'] .'/'. $dob['day'] .'/'. $dob['year']); + $form['children'][$r->uid]['tracker'] = array('#type' => 'markup', '#value' => l($r->name, 'user/'. $r->uid)); + $form['children'][$r->uid]['dob'] = array('#type' => 'markup', '#value' => $dob); if ($coppa_needed && !$coppa_comply) { // we need to render the field unchecked $checked = 0;