--- link_checker.module	2008-04-16 20:19:17.000000000 +0800
+++ link_checker.module	2008-04-17 20:06:02.000000000 +0800
@@ -30,7 +30,7 @@ function link_checker_menu($may_cache) {
 
 /**
  * Implementation of hook_perm().
-**/
+ */
 function link_checker_perm(){
   return array('administer link checker');
 }
@@ -65,16 +65,18 @@ function link_checker_admin_settings() {
 		the node will be automatically unpublished'),
 	'#default_value' => variable_get('link_checker_unpublish', NULL),
 	);
+
   //check for which nodes have link fields
-  foreach (node_get_types() as $type => $name) {
-    $fields = content_fields(NULL, $type);
-    foreach ($fields as $field) {
+  $types = array();
+  foreach (content_types() as $node_type) {
+    foreach ($node_type['fields'] as $field) {
 	  if ($field['type'] == 'link') {
 		//found a node type with a link field 
-		$types[$type] = $name->name;
+        $types[$node_type['type']] = $node_type['name'];
 	  }	
 	}
   }	
+
   $form['link_checker_node_types'] = array(
 	'#type' => 'select',
 	'#title' => t('Select the node types to check'),
@@ -89,12 +91,12 @@ function link_checker_admin_settings() {
 
 /*
  * Implementation of hook_cron 
-*/ 
-function link_checker_cron(){
+ */ 
+function link_checker_cron() {
     //only search the node types the user wants to search through
   $node_types  = variable_get('link_checker_node_types', NULL);
   foreach ($node_types as $node) {
-    $fields = content_fields(NULL, $type);
+    $fields = content_fields(NULL, $node);
     foreach ($fields as $field) {
 	  if ($field['type'] == 'link') {
         //We're at the link field type if its multiple we'll query the link table directly 
@@ -105,8 +107,8 @@ function link_checker_cron(){
    		  $max = variable_get('link_checker_batch_quantity', 10);
 	      $sql = "SELECT c.nid, c.vid, c.delta, c.$field_name as link
 				  FROM {$table_name} c 
-				  LEFT JOIN {link_checker} lc on c.nid = lc.nid && c.vid = lc.vid && c.delta = lc.delta  
-				  WHERE c.$field_name != ''
+                  LEFT JOIN {link_checker} lc on c.nid = lc.nid AND c.vid = lc.vid AND c.delta = lc.delta  
+                  WHERE c.$field_name <> ''
 				  ORDER BY lc.last_checked ASC LIMIT %d
 				";
 		  $links = db_query($sql, $max);
@@ -123,8 +125,8 @@ function link_checker_cron(){
    		  $max = variable_get('link_checker_batch_quantity', NULL);
 	      $sql = "SELECT c.nid, c.vid, c.$field_name as link
 				  FROM {$table_name} c 
-				  LEFT JOIN {link_checker} lc on c.nid = lc.nid && c.vid = lc.vid && c.$field_name = lc.field_name
-				  WHERE c.$field_name != ''
+                  LEFT JOIN {link_checker} lc on c.nid = lc.nid AND c.vid = lc.vid AND c.$field_name = lc.field_name
+                  WHERE c.$field_name <> ''
 				  ORDER BY lc.last_checked ASC LIMIT %d
 				";
 		  $links = db_query($sql, $max);
@@ -209,21 +211,21 @@ function _link_checker_check_status($lin
   //First we need to check if there is an existing row 
   $sql = "SELECT lc.nid, lc.delta, lc.vid 
 		  FROM {link_checker} lc
-		  WHERE lc.nid = %d && lc.vid = %d && lc.delta = %d && lc.field_name = '%s' LIMIT 1";
+          WHERE lc.nid = %d AND lc.vid = %d AND lc.delta = %d AND lc.field_name = '%s' LIMIT 1";
 		
   if (db_num_rows(db_query($sql, $link->nid, $link->vid, $link->delta, $link->field_name)) > 0) {
    //row exist so we'll update it.  
    $sql = "UPDATE {link_checker} lc
-			SET status = %s, last_checked = NOW()
-			WHERE lc.nid = %d && lc.vid = %d && lc.delta = %d && lc.field_name = '%s'
+            SET status = %s, last_checked = %d
+            WHERE lc.nid = %d AND lc.vid = %d AND lc.delta = %d AND lc.field_name = '%s'
 		   ";
-	db_query($sql,$status, $link->nid, $link->vid, $link->delta, $link->field_name);
+    db_query($sql,$status, time(), $link->nid, $link->vid, $link->delta, $link->field_name);
   }
   else {
 	//row doesn't exist so we'll add it in
 	$sql = "INSERT INTO {link_checker} (nid, vid, delta, last_checked, status, field_name) 
-	        VALUES (%d, %d, %d, NOW(), '%s', '%s') ";
-	db_query($sql, $link->nid, $link->vid, $link->delta, $status, $link->field_name);
+            VALUES (%d, %d, %d, %d, '%s', '%s') ";
+    db_query($sql, $link->nid, $link->vid, $link->delta, time(), $status, $link->field_name);
   }
 
   // unpublish and force the node into the moderation queue 
