3){ $start = strpos($line, " - "); // There could be some unprintables at the beginning of the line so fine the location of the % if ($start !== false) { $tag = drupal_substr($line, $start - 2, 2); $value = trim(drupal_substr($line, $start+4)); }else{ $value = $line; } } if ( $line_len > 3) { // if this is not a blank line switch ($tag) { case 'ER': if (empty($node_array[$node_id]['title'])) $node_array[$node_id]['title'] = t("Untitled"); $incite = false; break; case 'TY': $node_id = array_push($node_array, $node_template) - 1; $node_array[$node_id]['biblio_contributors'] = array(); $incite = true; switch ($value) { case "ART": // art work $node_array[$node_id]['biblio_type'] = 112; break; case "COMP": // computer program $node_array[$node_id]['biblio_type'] = 113; break; case "ADVS": //Audiovisual material $node_array[$node_id]['biblio_type'] = 114; break; case "HEAR": // Hearing $node_array[$node_id]['biblio_type'] = 115; break; case "CASE": // Case $node_array[$node_id]['biblio_type'] = 116; break; case "BILL": // Bill / resolution $node_array[$node_id]['biblio_type'] = 117; break; case "JOUR": // journal $node_array[$node_id]['biblio_type'] = 102; break; case "CONF": // conference proceedings $node_array[$node_id]['biblio_type'] = 103; break; case "NEWS": // newspaper $node_array[$node_id]['biblio_type'] = 105; break; case "MGZN": // magazine article $node_array[$node_id]['biblio_type'] = 106; break; case "ICOMM": // internet communication $node_array[$node_id]['biblio_type'] = 107; break; case "RPRT": // report $node_array[$node_id]['biblio_type'] = 109; break; case "MPCT": //motion picture $node_array[$node_id]['biblio_type'] = 110; break; case "BOOK": // book $node_array[$node_id]['biblio_type'] = 100; break; case "CHAP": // book chapter $node_array[$node_id]['biblio_type'] = 101; break; case "THES": // thesis $node_array[$node_id]['biblio_type'] = 108; break; case "PAT": // patent $node_array[$node_id]['biblio_type'] = 119; break; case "PCOMM": // Personal communication $node_array[$node_id]['biblio_type'] = 120; break; case "MAP": // map $node_array[$node_id]['biblio_type'] = 122; break; case "DATA": // database $node_array[$node_id]['biblio_type'] = 125; break; case "STAT": // statute $node_array[$node_id]['biblio_type'] = 125; break; case "GEN": default: $node_array[$node_id]['biblio_type'] = 129; break; // generic } break; case 'A1': case 'AU': $node_array[$node_id]['biblio_contributors'][] = array('name' => $value, 'type' => 1); break; case 'JF': $node_array[$node_id]['biblio_secondary_title'] = $value; break; case 'CY': $node_array[$node_id]['biblio_place_published'] = $value; break; case 'Y1': case 'PY': $node_array[$node_id]['biblio_year'] = ($end = strpos($value,"/"))?substr($value,0,$end):$value; $node_array[$node_id]['biblio_date'] = $value; break; case 'A2': case 'ED': $node_array[$node_id]['biblio_contributors'][] = array('name' => $value, 'type' => '2'); break; case 'PB': $node_array[$node_id]['biblio_publisher'] = $value; break; case 'T2': $node_array[$node_id]['biblio_secondary_title'] = $value; break; case 'KW': $node_array[$node_id]['biblio_keywords'] .= ($node_array[$node_id]['biblio_keywords'])?", $value":$value; break; case 'IS': case 'CP': $node_array[$node_id]['biblio_issue'] = $value; break; case 'SP': case 'EP': $node_array[$node_id]['biblio_pages'] .= ($tag == "SP")?$value:" - ".$value; break; case 'T3': $node_array[$node_id]['biblio_tertiary_title'] = $value; break; case 'TI': case 'T1': case 'CT': case 'BT': $node_array[$node_id]['title'] = $value; break; case 'UR': $node_array[$node_id]['biblio_url'] = $value; break; case 'VL': $node_array[$node_id]['biblio_volume'] = $value; break; case 'N2': $node_array[$node_id]['biblio_abst_e'] .= $value; break; case 'A3': $node_array[$node_id]['biblio_contributors'][] = array('name' => $value, 'type' => '5'); break; case 'N1': $node_array[$node_id]['biblio_notes'] .= $value; break; case 'U1': // CUSTOM 1 $node_array[$node_id]['biblio_custom1'] = $value; break; case 'U2':// CUSTOM 2 $node_array[$node_id]['biblio_custom2'] = $value; break; case 'U3':// CUSTOM 3 $node_array[$node_id]['biblio_custom3'] = $value; break; case 'U4':// CUSTOM 4 $node_array[$node_id]['biblio_custom4'] = $value; break; case 'U5':// CUSTOM 5 $node_array[$node_id]['biblio_custom5'] = $value; break; case 'SN': $node_array[$node_id]['biblio_isbn'] = $value; break; default: break; } //end switch }else{ //$incite=false; } // end if ($start !== false) } // end while return count($node_array); }