예제 #1
0
function pli_handler($content)
{
    return '<div id="source"><pre>' . escape_it(syntax_highlight($content, "PL/I")) . '</pre></div>';
}
예제 #2
0
/**
 * Show read only properties of a function
 */
function doProperties($msg = '')
{
    global $data, $misc;
    global $lang;
    $misc->printTrail('function');
    $misc->printTitle($lang['strproperties'], 'pg.function');
    $misc->printMsg($msg);
    $funcdata = $data->getFunction($_REQUEST['function_oid']);
    if ($funcdata->recordCount() > 0) {
        // Deal with named parameters
        if ($data->hasNamedParams()) {
            $args_arr = explode(', ', $funcdata->fields['proarguments']);
            $names_arr = $data->phpArray($funcdata->fields['proargnames']);
            $args = '';
            $i = 0;
            for ($i = 0; $i < sizeof($args_arr); $i++) {
                if ($i != 0) {
                    $args .= ', ';
                }
                if (isset($names_arr[$i]) && $names_arr[$i] != '') {
                    $data->fieldClean($names_arr[$i]);
                    $args .= '"' . $names_arr[$i] . '" ';
                }
                $args .= $args_arr[$i];
            }
        } else {
            $args = $funcdata->fields['proarguments'];
        }
        // Show comment if any
        if ($funcdata->fields['procomment'] !== null) {
            echo "<p class=\"comment\">", $misc->printVal($funcdata->fields['procomment']), "</p>\n";
        }
        $funcdata->fields['proretset'] = $data->phpBool($funcdata->fields['proretset']);
        $func_full = $funcdata->fields['proname'] . "(" . $funcdata->fields['proarguments'] . ")";
        echo "<table style=\"width: 90%\">\n";
        echo "<tr><th class=\"data\">{$lang['strfunction']}</th>\n";
        echo "<th class=\"data\">{$lang['strarguments']}</th>\n";
        echo "<th class=\"data\">{$lang['strreturns']}</th>\n";
        echo "<th class=\"data\">{$lang['strproglanguage']}</th></tr>\n";
        echo "<tr><td class=\"data1\">", $misc->printVal($funcdata->fields['proname']), "</td>\n";
        echo "<td class=\"data1\">", $misc->printVal($args), "</td>\n";
        echo "<td class=\"data1\">";
        if ($funcdata->fields['proretset']) {
            echo "setof ";
        }
        echo $misc->printVal($funcdata->fields['proresult']), "</td>\n";
        echo "<td class=\"data1\">", $misc->printVal($funcdata->fields['prolanguage']), "</td></tr>\n";
        $fnlang = strtolower($funcdata->fields['prolanguage']);
        if ($fnlang == 'c') {
            echo "<tr><th class=\"data\" colspan=\"2\">{$lang['strobjectfile']}</th>\n";
            echo "<th class=\"data\" colspan=\"2\">{$lang['strlinksymbol']}</th></tr>\n";
            echo "<tr><td class=\"data1\" colspan=\"2\">", $misc->printVal($funcdata->fields['probin']), "</td>\n";
            echo "<td class=\"data1\" colspan=\"2\">", $misc->printVal($funcdata->fields['prosrc']), "</td></tr>\n";
        } else {
            if ($fnlang == 'internal') {
                echo "<tr><th class=\"data\" colspan=\"4\">{$lang['strlinksymbol']}</th></tr>\n";
                echo "<tr><td class=\"data1\" colspan=\"4\">", $misc->printVal($funcdata->fields['prosrc']), "</td></tr>\n";
            } else {
                include_once './libraries/highlight.php';
                echo "<tr><th class=\"data\" colspan=\"4\">{$lang['strdefinition']}</th></tr>\n";
                // Check to see if we have syntax highlighting for this language
                if (isset($data->langmap[$funcdata->fields['prolanguage']])) {
                    $temp = syntax_highlight(htmlspecialchars($funcdata->fields['prosrc']), $data->langmap[$funcdata->fields['prolanguage']]);
                    $tag = 'prenoescape';
                } else {
                    $temp = $funcdata->fields['prosrc'];
                    $tag = 'pre';
                }
                echo "<tr><td class=\"data1\" colspan=\"4\">", $misc->printVal($temp, $tag, array('lineno' => true, 'class' => 'data1')), "</td></tr>\n";
            }
        }
        // Display function cost options
        if ($data->hasFunctionCosting()) {
            echo "<tr><th class=\"data required\" colspan=\"4\">{$lang['strfunctioncosting']}</th></tr>\n";
            echo "<td class=\"data1\" colspan=\"2\">{$lang['strexecutioncost']}: ", $misc->printVal($funcdata->fields['procost']), " </td>";
            echo "<td class=\"data1\" colspan=\"2\">{$lang['strresultrows']}: ", $misc->printVal($funcdata->fields['prorows']), " </td>";
        }
        // Show flags
        if (is_array($data->funcprops) && sizeof($data->funcprops) > 0) {
            // Fetch an array of the function properties
            $funcprops = $data->getFunctionProperties($funcdata->fields);
            echo "<tr><th class=\"data\" colspan=\"4\">{$lang['strproperties']}</th></tr>\n";
            echo "<tr><td class=\"data1\" colspan=\"4\">\n";
            foreach ($funcprops as $v) {
                echo $misc->printVal($v), "<br />\n";
            }
            echo "</td></tr>\n";
        }
        echo "<tr><td class=\"data1\" colspan=\"5\">{$lang['strowner']}: ", htmlspecialchars($funcdata->fields['proowner']), "\n";
        echo "</td></tr>\n";
        echo "</table>\n";
    } else {
        echo "<p>{$lang['strnodata']}</p>\n";
    }
    $navlinks = array('showall' => array('attr' => array('href' => array('url' => 'functions.php', 'urlvars' => array('server' => $_REQUEST['server'], 'database' => $_REQUEST['database'], 'schema' => $_REQUEST['schema']))), 'content' => $lang['strshowallfunctions']), 'alter' => array('attr' => array('href' => array('url' => 'functions.php', 'urlvars' => array('action' => 'edit', 'server' => $_REQUEST['server'], 'database' => $_REQUEST['database'], 'schema' => $_REQUEST['schema'], 'function' => $_REQUEST['function'], 'function_oid' => $_REQUEST['function_oid']))), 'content' => $lang['stralter']), 'drop' => array('attr' => array('href' => array('url' => 'functions.php', 'urlvars' => array('action' => 'confirm_drop', 'server' => $_REQUEST['server'], 'database' => $_REQUEST['database'], 'schema' => $_REQUEST['schema'], 'function' => $func_full, 'function_oid' => $_REQUEST['function_oid']))), 'content' => $lang['strdrop']));
    $misc->printNavLinks($navlinks, 'functions-properties', get_defined_vars());
}
예제 #3
0
 fclose($fpread);
 /**
  * code highlighting
  */
 $parsedname = stripslashes($row['name']);
 $parsedname = $parsedname == '0' ? $lang['user_no_name'] : $parsedname;
 $parseddate = date($lang['dateformat'], $row['time']);
 $description = stripslashes($row['description']);
 $description = preg_replace("/\n/", "<br />\n", $description);
 $description = $description == '0' ? $lang['user_no_description'] : $description;
 $code = stripslashes(htmlspecialchars($row['code']));
 $codelang = $row['code_lang'];
 $code = preg_replace("/  /", "&nbsp; ", $code);
 $code = preg_replace("/</", "&lt;", $code);
 $code = preg_replace("/>/", "&gt;", $code);
 $code = syntax_highlight($code, $codelang);
 $code = str_replace("\t", str_repeat('&nbsp;', $row['tab_length']), $code);
 $explode = explode("\n", $code);
 $parsedcode = '';
 $i = 0;
 foreach ($explode as $value) {
     $classnumber = $i % 2;
     if (trim($value) != '') {
         $parsedcode .= "<li class=\"rowstyle" . $classnumber . "\">" . $value . "</li>\n";
     } else {
         $parsedcode .= "<li class=\"rowstyle" . $classnumber . "\">&nbsp;</li>\n";
     }
     $i++;
 }
 /**
  * replace vars - output.tpl