--- 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;
