function get_procedure_source($name)
{
    global $dbhandle;
    $psource = '';
    $sql = 'SELECT P.RDB$PROCEDURE_SOURCE PSOURCE' . ' FROM RDB$PROCEDURES P' . " WHERE P.RDB\$PROCEDURE_NAME='" . $name . "'";
    $res = fbird_query($dbhandle, $sql) or ib_error(__FILE__, __LINE__, $sql);
    $obj = fbird_fetch_object($res);
    if (is_object($obj)) {
        $bid = fbird_blob_open($obj->PSOURCE);
        $arr = fbird_blob_info($obj->PSOURCE);
        // $arr[2] holds the blob length
        $psource = trim(fbird_blob_get($bid, $arr[0]));
        fbird_blob_close($bid);
    }
    fbird_free_result($res);
    return $psource;
}
Пример #2
0
function get_trigger_source($name)
{
    global $dbhandle;
    $tsource = '';
    $lsql = 'SELECT RDB$TRIGGER_SOURCE AS TSOURCE' . ' FROM RDB$TRIGGERS' . " WHERE RDB\$TRIGGER_NAME='" . $name . "'";
    $res = fbird_query($dbhandle, $lsql) or ib_error(__FILE__, __LINE__, $lsql);
    $obj = fbird_fetch_object($res);
    if (is_object($obj)) {
        $bid = fbird_blob_open($obj->TSOURCE);
        $arr = fbird_blob_info($obj->TSOURCE);
        // $arr[0] holds the blob length
        $tsource = trim(fbird_blob_get($bid, $arr[0]));
        fbird_blob_close($bid);
        // discard the 'AS ' from the source-string
        $tsource = substr($tsource, 3);
    }
    fbird_free_result($res);
    return $tsource;
}
Пример #3
0
 function _BlobDecode($blob)
 {
     if (ADODB_PHPVER >= 0x5000) {
         $blob_data = fbird_blob_info($this->_connectionID, $blob);
         $blobid = fbird_blob_open($this->_connectionID, $blob);
     } else {
         $blob_data = fbird_blob_info($blob);
         $blobid = fbird_blob_open($blob);
     }
     if ($blob_data[0] > $this->maxblobsize) {
         $realblob = fbird_blob_get($blobid, $this->maxblobsize);
         while ($string = fbird_blob_get($blobid, 8192)) {
             $realblob .= $string;
         }
     } else {
         $realblob = fbird_blob_get($blobid, $blob_data[0]);
     }
     fbird_blob_close($blobid);
     return $realblob;
 }
function get_blob_content($sql)
{
    global $dbhandle;
    $res = fbird_query($dbhandle, $sql) or ib_error(__FILE__, __LINE__, $sql);
    $row = fbird_fetch_row($res);
    if ($blob_handle = @fbird_blob_open($row[0])) {
        $blob_info = fbird_blob_info($row[0]);
        $blob_length = $blob_info[0];
        $blob = fbird_blob_get($blob_handle, $blob_length);
        fbird_blob_close($blob_handle);
    } else {
        $blob = 'not a blob!';
    }
    return $blob;
}
function print_value($wt, $val, $type, $colname = NULL, $obj = NULL)
{
    if ($val === NULL) {
        $data = '<i>NULL</i>';
        $align = 'center';
    } elseif (strlen(trim($val)) == 0) {
        $data = '&nbsp;';
        $align = '';
    } elseif (in_array($type, array('CHARACTER', 'VARCHAR'))) {
        $data = htmlspecialchars(trim($val));
        $align = 'left';
    } elseif ($type != 'BLOB') {
        $data = trim($val);
        $align = 'right';
    } else {
        $inline_flag = FALSE;
        $data = '';
        if ($wt['tblob_inline'] == TRUE && $wt['blob_as'][$colname] == 'text') {
            $blob_handle = fbird_blob_open($val);
            $blob_info = fbird_blob_info($val);
            $blob_length = $blob_info[0];
            $data = htmlspecialchars(fbird_blob_get($blob_handle, $wt['tblob_chars']));
            fbird_blob_close($blob_handle);
            if ($blob_length > $wt['tblob_chars']) {
                $data .= ' ...&nbsp;';
            } else {
                $inline_flag = TRUE;
                $align = 'left';
            }
        }
        if (in_array($colname, $wt['blob_links']) && !$inline_flag) {
            $align = empty($data) ? 'center' : 'left';
            $url = url_session('showblob.php?where=' . get_where_str($obj) . '&table=' . $wt['table'] . '&col=' . $colname);
            $data .= '<i><a href="' . $url . '" target="_blank">BLOB</a></i>';
        }
        if ($data == '') {
            $align = 'center';
            $data = '<i>BLOB</i>';
        }
    }
    if (isset($wt['fks'][$colname])) {
        $link = sprintf("javascript:requestFKValues('%s', '%s', '%s')", $wt['fks'][$colname]['table'], $wt['fks'][$colname]['column'], $data);
        $data = '<a href="' . $link . '">' . $data . '</a>';
    }
    echo '<td' . (!empty($align) ? ' align="' . $align . '"' : '') . '>' . $data . '</td>';
}
Пример #6
0
function get_view_source($name)
{
    global $dbhandle;
    $vsource = '';
    $sql = 'SELECT R.RDB$VIEW_SOURCE VSOURCE' . ' FROM RDB$RELATIONS R' . " WHERE R.RDB\$RELATION_NAME='" . $name . "'";
    $res = fbird_query($dbhandle, $sql) or ib_error(__FILE__, __LINE__, $sql);
    $obj = fbird_fetch_object($res);
    if (is_object($obj)) {
        $bid = fbird_blob_open($obj->VSOURCE);
        $arr = fbird_blob_info($obj->VSOURCE);
        // $arr[0] holds the blob length
        $vsource = trim(fbird_blob_get($bid, $arr[0]));
        fbird_blob_close($bid);
    }
    fbird_free_result($res);
    return $vsource;
}