function Linkilink(&$html, $match) { $tid = SQL_ESCAPE_STRING($this->table_id); $sq = "SELECT pagename FROM {$tid}\n WHERE pagename = '{$match}'"; $rs = SQL_OneValue('pagename', $sq); if (!$rs) { $newval = '<span class="nolink">' . $match . '</span>'; } else { $newval = '<a href="?gp_page=x_docview&gppn=' . urlencode($rs) . '">' . $rs . '</a>'; } $html = str_replace('[[' . $match . ']]', $newval, $html); }
function SQL_FORMAT($t, $v, $clip = 0) { global $AG; switch ($t) { case 'mime-x': return "'" . SQL_ESCAPE_BINARY($v) . "'"; break; case "char": case "vchar": case "text": case "url": case "obj": case "cbool": case 'ssn': case 'ph12': case "gender": case 'mime-f': if ($clip > 0 && strlen($v) > $clip) { $v = substr($v, 0, $clip); } // KFD 9/10/07, one of the doctors wants all caps if (configGet('ALLCAPS') == 'Y') { $v = strtoupper($v); } return "'" . SQL_ESCAPE_STRING($v) . "'"; break; case "mime-h-f": case "mime-h": if ($clip > 0 && strlen($v) > $clip) { $v = substr($v, 0, $clip); } //return "'".SQL_ESCAPE_BINARY($v)."'"; return "'" . SQL_ESCAPE_STRING($v) . "'"; break; case "dtime": if ($v == "") { return "null"; } else { return "'" . date('r', dEnsureTS($v)) . "'"; } break; case "date": case "rdate": // A blank is sent as null to server if ($v == "") { return "null"; } if ($v == '0') { return 'null'; } // Try to detect case like 060507 if (strlen($v) == 6 && strpos($v, '/') === false && strpos($v, '-') === false) { $year = substr($v, 4); $year = $year < 20 ? '20' . $year : '19' . $year; $v = substr($v, 0, 2) . '/' . substr($v, 2, 2) . '/' . $year; $v = strtotime($v); } elseif (strlen($v) == 8 && strpos($v, '/') === false && strpos($v, '-') === false) { if (substr($v, 0, 2) == '19' || substr($v, 0, 2) == '20') { $v = substr($v, 0, 2) . '/' . substr($v, 2, 2) . '/' . substr($v, 4); } else { $v = substr($v, 4, 2) . '/' . substr($v, 6, 2) . '/' . substr($v, 0, 4); } $v = strtotime($v); } elseif (!is_numeric($v)) { // A USA prejudice, assume they will always enter m-d-y, and // convert dashes to slashes so they can use dashes if they want $v = str_replace('-', '/', $v); $parts = explode('/', $v); if (count($parts) == 2) { $parts = array($parts[0], 1, $parts[1]); } if (strlen($parts[0]) == 4) { $parts = array($parts[1], $parts[2], $parts[0]); } elseif (strlen($parts[2]) == 2) { $parts[2] = $parts[2] < 20 ? '20' . $parts[2] : '19' . $parts[2]; } $v = implode('/', $parts); $v = strtotime($v); } // Any case not handled above we conclude was a unix timestamp // already. So by now we are confident we have a unix timestamp return "'" . date('Y-m-d', $v) . "'"; break; case "money": case "numb": case "int": if ($v == "" || $v == '.') { return "0"; } else { return SQL_ESCAPE_STRING(trim($v)); } case "rtime": case "time": # KFD 7/8/08, if they returned a jquery time, # convert it to minutes since midnight if (strpos($v, 'M') !== false) { list($time, $ampm) = explode(" ", $v); list($hours, $mins) = explode(":", $time); if ($ampm == 'PM' && $hours != 12) { $hours += 12; } if ($ampm == 'AM' && $hours == 12) { $hours = 0; } return "'" . ($hours * 60 + $mins) . "'"; } else { return "'{$v}'"; } if ($v == '') { return 'null'; } return $v; //$arr = explode(":",$v); //return ($arr[0]*60) + $arr[1]; } }