summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxzilla2006-06-27 02:41:38 +0000
committerxzilla2006-06-27 02:41:38 +0000
commit5e0e29c84f01bb08272f999ba89b981cdcc07971 (patch)
treea8e51a78cf7640c47f55b65e8a5cda8009116f89
parent0a7f94f4dd78eea95bcc367588c62f8f663340f0 (diff)
Add's ability for in/out parameters as per 8.1. Allows for 0...n arguments for functions, dynamically
created. Patch from John Jay for SoC, cleaned up somewhat by me.
-rw-r--r--functions.js205
-rw-r--r--functions.php245
-rwxr-xr-xlang/english.php17
-rw-r--r--lang/recoded/english.php17
-rw-r--r--themes/default/global.css19
5 files changed, 448 insertions, 55 deletions
diff --git a/functions.js b/functions.js
new file mode 100644
index 00000000..8b53d292
--- /dev/null
+++ b/functions.js
@@ -0,0 +1,205 @@
+var g_args = 0;
+var g_no_args = new Boolean(false);
+/*
+function for adding arguments
+*/
+
+function addArg() {
+ var baseTR = baseArgTR();
+ if(document.getElementById("args_table").insertBefore(baseTR,document.getElementById("parent_add_tr"))) {
+ g_args++;
+ return baseTR;
+ }
+}
+
+function buildArgImages(orig_td) {
+ var table = document.createElement("table");
+ var tbody = document.createElement("tbody");
+ var tr = document.createElement("tr");
+ var td = document.createElement("td");
+ var img = document.createElement("img");
+ img.src="images/themes/default/RaiseArgument.png";
+ td.onmouseover=function() { this.style.cursor='pointer';this.title=g_lang_strargraise; }
+ td.onclick=function() { swapArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode.previousSibling,this.parentNode.parentNode.parentNode.parentNode.parentNode); }
+ img.className='arg_icon';
+ td.appendChild(img);
+ td.className="data1";
+ tr.appendChild(td);
+ var img = document.createElement("img");
+ var td = document.createElement("td");
+ img.src="images/themes/default/LowerArgument.png";
+ img.className='arg_icon';
+ td.appendChild(img);
+ td.className="data1";
+ td.onmouseover=function() { this.style.cursor='pointer';this.title=g_lang_strarglower; }
+ td.onclick=function() { swapArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode,this.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling); }
+ tr.appendChild(td);
+ var img = document.createElement("img");
+ var td = document.createElement("td");
+ img.src="images/themes/default/RemoveArgument.png";
+ img.title=g_lang_strargremove;
+ img.className='arg_icon';
+ td.appendChild(img);
+ td.className="data1";
+ td.onmouseover=function() { this.style.cursor='pointer';this.title='Remove'; }
+ td.onclick=function() { if(g_args>1) { if(confirm(g_lang_strargremoveconfirm)) document.getElementById("args_table").removeChild(this.parentNode.parentNode.parentNode.parentNode.parentNode);g_args--; } else {
+ if(g_no_args==false) {
+ disableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
+ this.childNodes[0].src='images/themes/default/EnableArgument.png';
+ this.childNodes[0].title=g_lang_strargenableargs;
+ this.childNodes[0].id="1st_arg_iag";
+ alert(g_lang_strargnoargs);
+ g_no_args = true;
+ g_args--;
+ } else {
+ enableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
+ this.childNodes[0].src='images/themes/default/RemoveArgument.png';
+ this.childNodes[0].title=g_lang_strargremove;
+ g_args++;
+ g_no_args = false;
+ document.getElementById("formEmptyArgs").value="0";
+ }
+ }
+ }
+ td.onmouseout=function() { }
+ if(g_args==0) {
+ td.id="1st_arg_td";
+ }
+ tr.className='arg_tr_pc';
+ tr.appendChild(td);
+ tbody.appendChild(tr);
+ table.appendChild(tbody);
+ orig_td.appendChild(table);
+ return orig_td;
+}
+
+function noArgsRebuild(tr) {
+ disableArgTR(tr);
+ var td = document.getElementById("1st_arg_td");
+ td.childNodes[0].src='images/themes/default/EnableArgument.png';
+ td.childNodes[0].title=g_lang_strargenableargs;
+ td.childNodes[0].id="1st_arg_iag";
+ g_no_args = true;
+ g_args--;
+}
+
+function swapArgTR(first,second) {
+ var tmp = null;
+ tmp = second;
+ second = first;
+ first = tmp;
+ if(first.className=='arg_tr_pc' && second.className=='arg_tr_pc') {
+ document.getElementById("args_table").insertBefore(first,second);
+ } else if(first.className=='arg_tr_pc' && second.className!='arg_tr_pc') {
+ alert(g_lang_strargnorowabove);
+ } else if(first.className!='arg_tr_pc' && second.className=='arg_tr_pc') {
+ alert(g_lang_strargnorowbelow);
+ }
+}
+
+function disableArgTR(tr) {
+ var children = (tr.childNodes);
+ for(i in children) {
+ var secondary_children = children[i].childNodes;
+ for(i2 in secondary_children) {
+ secondary_children[i2].disabled=true;
+ }
+ }
+}
+
+function enableArgTR(tr) {
+ var children = (tr.childNodes);
+ for(i in children) {
+ var secondary_children = children[i].childNodes;
+ for(i2 in secondary_children) {
+ secondary_children[i2].disabled=false;
+ }
+ }
+}
+
+function RebuildArgTR(mode,arg_name,arg_type,arg_array) {
+ var tr = document.createElement("tr");
+ var td = document.createElement("td");
+ var modes_select = buildSelect("formArgModes[]",g_main_modes,mode);
+ modes_select.style.width='100%';
+ td.appendChild(modes_select);
+ tr.appendChild(td);
+ var arg_txt = document.createElement("input");
+ arg_txt.type='text';
+ arg_txt.name='formArgName[]';
+ arg_txt.style.width='100%';
+ arg_txt.value=arg_name;
+ var td = document.createElement("td");
+ td.appendChild(arg_txt);
+ tr.appendChild(td);
+ var td = document.createElement("td");
+ td.appendChild(buildSelect("formArgType[]",g_main_types,arg_type));
+ if(arg_array==true) {
+ var szArr = "[]";
+ } else {
+ var szArr = "";
+ }
+ td.appendChild(buildSelect("formArgArray[]",new Array("","[]"),szArr));
+ tr.appendChild(td);
+ var td = document.createElement("td");
+ td = buildArgImages(td);
+ td.className="data3";
+ tr.className='arg_tr_pc';
+ tr.appendChild(td);
+ if(document.getElementById("args_table").insertBefore(tr,document.getElementById("parent_add_tr"))) {
+ g_args++;
+ }
+}
+
+function buildSelect(name,options,selected) {
+ var s = document.createElement('select');
+ for(i=0;i<options.length;i++) {
+ var o = document.createElement('option');
+ o.value=options[i];
+ o.text=options[i];
+ if(options[i].toLowerCase()==selected.toLowerCase()) {
+ o.selected="selected";
+ }
+ s.appendChild(o);
+ }
+ s.name=name;
+ return s;
+}
+
+function baseArgTR() {
+ if(g_no_args==false) {
+ var tr = document.createElement("tr");
+ var td = document.createElement("td");
+ var txt = document.createElement("input");
+ tr.className='arg_tr_pc';
+ td.className='data3';
+ td.innerHTML = g_modes_select;
+ tr.appendChild(td);
+ txt.type='text';
+ txt.name='formArgName[]';
+ txt.style.width='100%';
+ txt.value=g_name;
+ var td = document.createElement("td");
+ td.className='data3';
+ td.appendChild(txt);
+ tr.appendChild(td);
+ var td = document.createElement("td");
+ td.className='data3';
+ td.innerHTML = g_types_select;
+ tr.appendChild(td);
+ var td = document.createElement("td");
+ td = buildArgImages(td);
+ td.className="data3";
+ tr.appendChild(td);
+ if(g_args==0) {
+ tr.id="1st_arg_tr";
+ }
+ return tr;
+ } else {
+ var p_tr = document.getElementById("1st_arg_tr");
+ enableArgTR(p_tr.childNodes[4]);
+ document.getElementById("1st_arg_iag").src='images/themes/default/RemoveArgument.png';
+ g_args++;
+ g_no_args = false;
+ }
+}
diff --git a/functions.php b/functions.php
index 474fbc9a..6c01fa3a 100644
--- a/functions.php
+++ b/functions.php
@@ -3,7 +3,7 @@
/**
* Manage functions in a database
*
- * $Id: functions.php,v 1.54 2006/06/17 12:57:36 xzilla Exp $
+ * $Id: functions.php,v 1.55 2006/06/27 02:41:38 xzilla Exp $
*/
// Include application functions
@@ -303,7 +303,7 @@
/**
* Displays a screen where they can enter a new function
*/
- function doCreate($msg = '') {
+ function doCreate($msg = '',$szJS="") {
global $data, $misc;
global $PHP_SELF, $lang;
@@ -336,59 +336,132 @@
break;
}
$misc->printMsg($msg);
+
+ // Create string for return type list
+ $szTypes = "";
+ while (!$types->EOF) {
+ $szSelected = "";
+ if($types->f['typname'] == $_POST['formReturns']) {
+ $szSelected = " selected=\"selected\"";
+ }
+ $szTypes .= "<option value=\"". htmlspecialchars($types->f['typname']) ."\"{$szSelected}>";
+ $szTypes .= $misc->printVal($types->f['typname']) ."</option>";
+ $types->moveNext();
+ }
- echo "<form action=\"$PHP_SELF\" method=post>\n";
- echo "<table>\n";
- echo "<tr><th class=\"data required\">{$lang['strname']}</th>\n";
- echo "<th class=\"data\">{$lang['strarguments']}</th>\n";
- echo "<th class=\"data required\">{$lang['strreturns']}</th>\n";
- echo "<th class=\"data required\">{$lang['strproglanguage']}</th></tr>\n";
+ $szFunctionName = "<td class=\"data1\"><input name=\"formFunction\" size=\"16\" maxlength=\"{$data->_maxNameLen}\" value=\"".
+ htmlspecialchars($_POST['formFunction']) ."\" /></td>";
- echo "<tr><td class=\"data1\"><input name=\"formFunction\" size=\"16\" maxlength=\"{$data->_maxNameLen}\" value=\"",
- htmlspecialchars($_POST['formFunction']), "\" /></td>\n";
+ $szArguments = "<td class=\"data1\"><input name=\"formArguments\" style=\"width:100%;\" size=\"16\" value=\"".
+ htmlspecialchars($_POST['formArguments']) ."\" /></td>";
+
+ $szSetOfSelected = "";
+ $szNotSetOfSelected = "";
+ if($_POST['formSetOf'] == '') {
+ $szNotSetOfSelected = " selected=\"selected\"";
+ } else if($_POST['formSetOf'] == 'SETOF') {
+ $szSetOfSelected = " selected=\"selected\"";
+ }
+ $szReturns = "<td class=\"data1\" colspan=\"2\">";
+ $szReturns .= "<select name=\"formSetOf\">";
+ $szReturns .= "<option value=\"\"{$szNotSetOfSelected}></option>";
+ $szReturns .= "<option value=\"SETOF\"{$szSetOfSelected}>SETOF</option>";
+ $szReturns .= "</select>";
- echo "<td class=\"data1\"><input name=\"formArguments\" style=\"width:100%;\" size=\"16\" value=\"",
- htmlspecialchars($_POST['formArguments']), "\" /></td>\n";
+ $szReturns .= "<select name=\"formReturns\">".$szTypes."</select>";
- echo "<td class=\"data1\">\n";
- // Output setof option
- echo "<select name=\"formSetOf\">\n";
- echo '<option value=""', ($_POST['formSetOf'] == '') ? ' selected="selected"' : '', "></option>\n";
- echo '<option value="SETOF"', ($_POST['formSetOf'] == 'SETOF') ? ' selected="selected"' : '', ">SETOF</option>\n";
- echo "</select>\n";
+ // Create string array type selector
- // Output return type list
- echo "<select name=\"formReturns\">\n";
- while (!$types->EOF) {
- echo "<option value=\"", htmlspecialchars($types->f['typname']), "\"",
- ($types->f['typname'] == $_POST['formReturns']) ? ' selected="selected"' : '', ">",
- $misc->printVal($types->f['typname']), "</option>\n";
- $types->moveNext();
+ $szArraySelected = "";
+ $szNotArraySelected = "";
+ if($_POST['formArray'] == '') {
+ $szNotArraySelected = " selected=\"selected\"";
+ } else if($_POST['formArray'] == '[]') {
+ $szArraySelected = " selected=\"selected\"";
}
- echo "</select>\n";
-
- // Output array type selector
- echo "<select name=\"formArray\">\n";
- echo "<option value=\"\"", ($_POST['formArray'] == '') ? ' selected="selected"' : '', "></option>\n";
- echo "<option value=\"[]\"", ($_POST['formArray'] == '[]') ? ' selected="selected"' : '', ">[ ]</option>\n";
- echo "</select></td>\n";
-
- // Output language
- echo "<td class=\"data1\">";
+
+ $szReturns .= "<select name=\"formArray\">";
+ $szReturns .= "<option value=\"\"{$szNotArraySelected}></option>";
+ $szReturns .= "<option value=\"[]\"{$szArraySelected}>[ ]</option>";
+ $szReturns .= "</select>\n</td>";
+
+ // Create string for language
+ $szLanguage = "<td class=\"data1\">";
if ($fnlang == 'c' || $fnlang == 'internal') echo $_POST['formLanguage'], "<input type=\"hidden\" name=\"formLanguage\" value=\"{$_POST['formLanguage']}\" />";
else {
- echo "<select name=\"formLanguage\">\n";
+ $szLanguage .= "<select name=\"formLanguage\">";
while (!$langs->EOF) {
+ $szSelected = "";
+ if($langs->f['lanname'] == $_POST['formLanguage']) {
+ $szSelected = " selected=\"selected\"";
+ }
if (strtolower($langs->f['lanname']) != 'c' && strtolower($langs->f['lanname']) != 'internal')
- echo "<option value=\"", htmlspecialchars($langs->f['lanname']), "\"",
- ($langs->f['lanname'] == $_POST['formLanguage']) ? ' selected="selected"' : '', ">",
- $misc->printVal($langs->f['lanname']), "</option>\n";
+ $szLanguage .= "<option value=\"". htmlspecialchars($langs->f['lanname']). "\"{$szSelected}>".
+ $misc->printVal($langs->f['lanname']) ."</option>";
$langs->moveNext();
}
- echo "</select>\n";
+ $szLanguage .= "</select>\n";
}
- echo "</td></tr>\n";
-
+ $szLanguage .= "</td>";
+
+ $szJSArguments = "<tr><th class=\"data\" colspan=\"7\">{$lang['strarguments']}</th></tr>";
+ $arrayModes = array("IN","OUT","INOUT");
+ $szModes = "<select name=\"formArgModes[]\" style=\"width:100%;\">";
+ foreach($arrayModes as $pV) {
+ $szModes .= "<option value=\"{$pV}\">{$pV}</option>";
+ }
+ $szModes .= "</select>";
+ $szArgReturns = "<select name=\"formArgArray[]\">";
+ $szArgReturns .= "<option value=\"\"></option>";
+ $szArgReturns .= "<option value=\"[]\">[]</option>";
+ $szArgReturns .= "</select>";
+ if(!empty($conf['theme'])) {
+ $szImgPath = "images/themes/{$conf['theme']}";
+ } else {
+ $szImgPath = "images/themes/default";
+ }
+ if(empty($msg)) {
+ $szJSTRArg = "<script type=\"text/javascript\" >addArg();</script>\n";
+ } else {
+ $szJSTRArg = "";
+ }
+ $szJSAddTR = "<tr id=\"parent_add_tr\" onclick=\"addArg();\" onmouseover=\"this.style.cursor='pointer'\"><td align=\"right\" colspan=\"6\" class=\"data3\"><table><tr><td class=\"data3\"><img src=\"{$szImgPath}/AddArguments.png\" alt=\"Add Argument\" /></td><td class=\"data3\"><span style=\"font-size:8pt\">{$lang['strargadd']}</span></td></tr></table></td></tr>";
+
+
+ echo "<script src=\"functions.js\" type=\"text/javascript\"></script>
+ <script type=\"text/javascript\">
+ var g_types_select = '<select name=\"formArgType[]\">{$szTypes}</select>{$szArgReturns}';
+ var g_modes_select = '{$szModes}';
+ var g_name = '';
+ var g_lang_strargremove = \"". addslashes($lang["strargremove"]) ."\";
+ var g_lang_strargnoargs = \"". addslashes($lang["strargnoargs"]) ."\";
+ var g_lang_strargenableargs = \"". addslashes($lang["strargenableargs"]) ."\";
+ var g_lang_strargnorowabove = \"". addslashes($lang["strargnorowabove"]) ."\";
+ var g_lang_strargnorowbelow = \"". addslashes($lang["strargnorowbelow"]) ."\";
+ var g_lang_strargremoveconfirm = \"". addslashes($lang["strargremoveconfirm"]) ."\";
+ var g_lang_strargraise = \"". addslashes($lang["strargraise"]) ."\";
+ var g_lang_strarglower = \"". addslashes($lang["strarglower"]) ."\";
+ </script>
+ ";
+ echo "<form action=\"$PHP_SELF\" method=post><input type=\"hidden\" name=\"formEmptyArgs\" id=\"formEmptyArgs\" value=\"1\" />\n";
+ echo "<table><tbody id=\"args_table\">\n";
+ echo "<tr><th class=\"data required\">{$lang['strname']}</th>\n";
+ echo "<th class=\"data required\" colspan=\"2\">{$lang['strreturns']}</th>\n";
+ echo "<th class=\"data required\">{$lang['strproglanguage']}</th></tr>\n";
+ echo "<tr>\n";
+ echo "{$szFunctionName}\n";
+ echo "{$szReturns}\n";
+ echo "{$szLanguage}\n";
+ echo "</tr>\n";
+ echo "{$szJSArguments}\n";
+ echo "<tr>\n";
+ echo "<th class=\"data required\">{$lang['strargmode']}</th>\n";
+ echo "<th class=\"data required\">{$lang['strargname']}</th>\n";
+ echo "<th class=\"data required\" colspan=\"2\">{$lang['strargtype']}</th>\n";
+ echo "</tr>\n";
+ echo "{$szJSAddTR}\n";
+ echo $szJSTRArg;
+
if ($fnlang == 'c') {
echo "<tr><th class=\"data required\" colspan=\"2\">{$lang['strobjectfile']}</th>\n";
echo "<th class=\"data\" colspan=\"2\">{$lang['strlinksymbol']}</th></tr>\n";
@@ -423,12 +496,13 @@
}
echo "</td></tr>\n";
}
- echo "</table>\n";
+ echo "</tbody></table>\n";
echo "<p><input type=\"hidden\" name=\"action\" value=\"save_create\" />\n";
echo $misc->form;
echo "<input type=\"submit\" value=\"{$lang['strcreate']}\" />\n";
echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" /></p>\n";
echo "</form>\n";
+ echo $szJS;
}
/**
@@ -436,7 +510,7 @@
*/
function doSaveCreate() {
global $data, $lang;
-
+
$fnlang = strtolower($_POST['formLanguage']);
if ($fnlang == 'c') {
@@ -447,22 +521,93 @@
$def = $_POST['formDefinition'];
}
+ $szJS = "";
+
+ echo "<script src=\"functions.js\" type=\"text/javascript\"></script>";
+ echo "<script type=\"text/javascript\">".buildJSData()."</script>";
+ if(!empty($_POST["formArgName"])) {
+ $szJS = buildJSRows(buildFunctionArguments($_POST));
+ } else {
+ $szJS = "<script type=\"text/javascript\" src=\"functions.js\">noArgsRebuild(addArg());</script>";
+ }
+
// Check that they've given a name and a definition
- if ($_POST['formFunction'] == '') doCreate($lang['strfunctionneedsname']);
- elseif ($fnlang != 'internal' && !$def) doCreate($lang['strfunctionneedsdef']);
+ if ($_POST['formFunction'] == '') doCreate($lang['strfunctionneedsname'],$szJS);
+ elseif ($fnlang != 'internal' && !$def) doCreate($lang['strfunctionneedsdef'],$szJS);
else {
// Append array symbol to type if chosen
- $status = $data->createFunction($_POST['formFunction'], $_POST['formArguments'] ,
- $_POST['formReturns'] . $_POST['formArray'] , $def , $_POST['formLanguage'],
+ $status = $data->createFunction($_POST['formFunction'], empty($_POST["nojs"]) ? buildFunctionArguments($_POST) : $_POST["formArguments"],
+ $_POST['formReturns'] . $_POST['formArray'] , $def , $_POST['formLanguage'],
$_POST['formProperties'], $_POST['formSetOf'] == 'SETOF', false);
if ($status == 0)
doDefault($lang['strfunctioncreated']);
- else
- doCreate($lang['strfunctioncreatedbad']);
+ else {
+ doCreate($lang['strfunctioncreatedbad'],$szJS);
+ }
}
}
/**
+ * Build out the function arguments string
+ */
+ function buildFunctionArguments($arrayVars) {
+ $arrayArgs = array();
+ foreach($arrayVars["formArgName"] as $pK => $pV) {
+ $arrayArgs[] = $arrayVars["formArgModes"][$pK]." ". trim($pV) ." ". trim($arrayVars["formArgType"][$pK]) . $arrayVars["formArgArray"][$pK];
+ }
+ return implode(",",$arrayArgs);
+ }
+
+ /**
+ * Build out JS to re-create table rows for arguments
+ */
+ function buildJSRows($szArgs) {
+ $arrayModes = array("IN","OUT","INOUT");
+ $arrayArgs = explode(",",$szArgs);
+ $arrayProperArgs = array();
+ $nC = 0;
+ $szReturn = "";
+ foreach($arrayArgs as $pV) {
+ $arrayWords = explode(" ",$pV);
+ if(in_array($arrayWords[0],$arrayModes)===true) {
+ $szMode = $arrayWords[0];
+ array_shift($arrayWords);
+ }
+ $szArgName = array_shift($arrayWords);
+ if(strpos($arrayWords[count($arrayWords)-1],"[]")===false) {
+ $szArgType = implode(" ",$arrayWords);
+ $bArgIsArray = "false";
+ } else {
+ $szArgType = str_replace("[]","",implode(" ",$arrayWords));
+ $bArgIsArray = "true";
+ }
+ $arrayProperArgs[] = array($szMode,$szArgName,$szArgType,$bArgIsArray);
+ $szReturn .= "<script type=\"text/javascript\">RebuildArgTR('{$szMode}','{$szArgName}','{$szArgType}',new Boolean({$bArgIsArray}));</script>";
+ $nC++;
+ }
+ return $szReturn;
+ }
+
+
+ function buildJSData() {
+ global $data;
+ $arrayModes = array("IN","OUT","INOUT");
+ $arrayTypes = $data->getTypes(true, true, true);
+ $arrayPTypes = array();
+ $arrayPModes = array();
+ $szTypes = "";
+ foreach($arrayTypes as $pK => $pV) {
+ $arrayPTypes[] = "'{$pV['typname']}'";
+ }
+ foreach($arrayModes as $pV) {
+ $arrayPModes[] = "'{$pV}'";
+ }
+ $szTypes = "g_main_types = new Array(".implode(",",$arrayPTypes).");";
+ $szModes = "g_main_modes = new Array(".implode(",",$arrayPModes).");";
+ return $szTypes.$szModes;
+ }
+
+ /**
* Show default list of functions in the database
*/
function doDefault($msg = '') {
diff --git a/lang/english.php b/lang/english.php
index 5c9eaf2b..3b18b298 100755
--- a/lang/english.php
+++ b/lang/english.php
@@ -4,7 +4,7 @@
* English language file for phpPgAdmin. Use this as a basis
* for new translations.
*
- * $Id: english.php,v 1.189 2006/06/20 14:06:09 xzilla Exp $
+ * $Id: english.php,v 1.190 2006/06/27 02:41:38 xzilla Exp $
*/
// Language and character set
@@ -468,7 +468,6 @@
$lang['strcreatecfunction'] = 'Create C function';
$lang['strfunctionname'] = 'Function name';
$lang['strreturns'] = 'Returns';
- $lang['strarguments'] = 'Arguments';
$lang['strproglanguage'] = 'Programming language';
$lang['strfunctionneedsname'] = 'You must give a name for your function.';
$lang['strfunctionneedsdef'] = 'You must give a definition for your function.';
@@ -481,6 +480,20 @@
$lang['strfunctionupdatedbad'] = 'Function update failed.';
$lang['strobjectfile'] = 'Object File';
$lang['strlinksymbol'] = 'Link Symbol';
+ $lang['strarguments'] = 'Arguments';
+ $lang['strargname'] = 'Name';
+ $lang['strargmode'] = 'Mode';
+ $lang['strargtype'] = 'Type';
+ $lang['strargadd'] = 'Add Another Argument';
+ $lang['strargremove'] = 'Remove this argument';
+ $lang['strargnoargs'] = 'This function will not take any arguments.';
+ $lang['strargenableargs'] = 'Enable arguments being passed to this function.';
+ $lang['strargnorowabove'] = 'There needs to be a row above this row.';
+ $lang['strargnorowbelow'] = 'There needs to be a row below this row.';
+ $lang['strargraise'] = 'Move up.';
+ $lang['strarglower'] = 'Move down.';
+ $lang['strargremoveconfirm'] = 'Are you sure you want to remove this argument? This CANNOT be undone.';
+
// Triggers
$lang['strtrigger'] = 'Trigger';
diff --git a/lang/recoded/english.php b/lang/recoded/english.php
index ca70a053..367eb02a 100644
--- a/lang/recoded/english.php
+++ b/lang/recoded/english.php
@@ -4,7 +4,7 @@
* English language file for phpPgAdmin. Use this as a basis
* for new translations.
*
- * $Id: english.php,v 1.142 2006/06/20 14:06:09 xzilla Exp $
+ * $Id: english.php,v 1.143 2006/06/27 02:41:39 xzilla Exp $
*/
// Language and character set
@@ -468,7 +468,6 @@
$lang['strcreatecfunction'] = 'Create C function';
$lang['strfunctionname'] = 'Function name';
$lang['strreturns'] = 'Returns';
- $lang['strarguments'] = 'Arguments';
$lang['strproglanguage'] = 'Programming language';
$lang['strfunctionneedsname'] = 'You must give a name for your function.';
$lang['strfunctionneedsdef'] = 'You must give a definition for your function.';
@@ -481,6 +480,20 @@
$lang['strfunctionupdatedbad'] = 'Function update failed.';
$lang['strobjectfile'] = 'Object File';
$lang['strlinksymbol'] = 'Link Symbol';
+ $lang['strarguments'] = 'Arguments';
+ $lang['strargname'] = 'Name';
+ $lang['strargmode'] = 'Mode';
+ $lang['strargtype'] = 'Type';
+ $lang['strargadd'] = 'Add Another Argument';
+ $lang['strargremove'] = 'Remove this argument';
+ $lang['strargnoargs'] = 'This function will not take any arguments.';
+ $lang['strargenableargs'] = 'Enable arguments being passed to this function.';
+ $lang['strargnorowabove'] = 'There needs to be a row above this row.';
+ $lang['strargnorowbelow'] = 'There needs to be a row below this row.';
+ $lang['strargraise'] = 'Move up.';
+ $lang['strarglower'] = 'Move down.';
+ $lang['strargremoveconfirm'] = 'Are you sure you want to remove this argument? This CANNOT be undone.';
+
// Triggers
$lang['strtrigger'] = 'Trigger';
diff --git a/themes/default/global.css b/themes/default/global.css
index 9b4282f2..9029b4c5 100644
--- a/themes/default/global.css
+++ b/themes/default/global.css
@@ -1,7 +1,7 @@
/**
* Default style sheet
*
- * $Id: global.css,v 1.36 2005/11/30 21:25:33 slubek Exp $
+ * $Id: global.css,v 1.37 2006/06/27 02:41:39 xzilla Exp $
*/
/** ELEMENTS */
@@ -159,6 +159,14 @@ td.data2
font-size: smaller; /*0.8em;*/
}
+td.data3
+{
+ color: #000000;
+ background-color: #F3F3E9;
+ font-family: arial, tahoma, verdana, helvetica, sans-serif, serif;
+ font-size: smaller; /*0.8em;*/
+}
+
td.opbutton1
{
color: #000000;
@@ -370,3 +378,12 @@ pre.data
.webfx-tree-hide-root {
display: none;
}
+
+.arg_icon {
+ padding-right:5pt;
+ padding-left:5pt;
+}
+
+.arg_tr_pc {
+
+}