Merge remote branch 'ankitg/master'
This commit is contained in:
23
db_qbe.php
23
db_qbe.php
@@ -163,6 +163,29 @@ function showColumnSelectCell($columns, $column_number, $selected = '')
|
||||
}
|
||||
|
||||
?>
|
||||
<?php if (!empty($tab_designer['link'])) {
|
||||
$tab_designer['link'] = htmlentities($tab_designer['link']);
|
||||
$tab_designer['link'] = $tab_designer['link'] . PMA_generate_common_url($url_params);
|
||||
if (! empty($tab_designer['args'])) {
|
||||
foreach ($tab_designer['args'] as $param => $value) {
|
||||
$tab_designer['link'] .= PMA_get_arg_separator('html') . urlencode($param) . '='
|
||||
. urlencode($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! empty($tab['fragment'])) {
|
||||
$tab['link'] .= $tab['fragment'];
|
||||
}
|
||||
?>
|
||||
<div class="notice">
|
||||
<span id="footnote_1">
|
||||
Switch to
|
||||
<form action="<?php echo $tab_designer['link'] ?>" method="post">
|
||||
<input type="submit" style="background-color:#FFD; border-width:0; color:#00F;
|
||||
font-size: 15px;cursor: pointer" name="query" onmouseover="this.style.color='#F00';"
|
||||
value="visual builder" onmouseout="this.style.color='#00F'"/></span>
|
||||
</form>
|
||||
</div>
|
||||
<form action="db_qbe.php" method="post">
|
||||
<fieldset>
|
||||
<table class="data" style="width: 100%;">
|
||||
|
BIN
pmd/images/and_icon.png
Normal file
BIN
pmd/images/and_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
pmd/images/or_icon.png
Normal file
BIN
pmd/images/or_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
BIN
pmd/images/query_builder.png
Normal file
BIN
pmd/images/query_builder.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
765
pmd/scripts/history.js
Normal file
765
pmd/scripts/history.js
Normal file
@@ -0,0 +1,765 @@
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @fileoverview function used in this file builds history tab and generates query.
|
||||
*
|
||||
* @requires jQuery
|
||||
* @requires moves.js
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
var history_array = []; // Global array to store history objects
|
||||
var select_field = []; // Global array to store informaation for columns which are used in select clause
|
||||
var g_index;
|
||||
|
||||
/**
|
||||
* function for panel, hides and shows toggle_container <div>,which is for history elements uses {@link JQuery}.
|
||||
*
|
||||
* @param index has value 1 or 0,decides wheter to hide toggle_container on load.
|
||||
**/
|
||||
|
||||
function panel(index) {
|
||||
if (!index) {
|
||||
$(".toggle_container").hide();
|
||||
}
|
||||
$("h2.tiger").click(function(){
|
||||
$(this).toggleClass("active").next().slideToggle("slow");
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts history_array[] first,using table name as the key and then generates the HTML code for history tab,
|
||||
* clubbing all objects of same tables together
|
||||
* This function is called whenever changes are made in history_array[]
|
||||
*
|
||||
* @uses and_or()
|
||||
* @uses history_edit()
|
||||
* @uses history_delete()
|
||||
*
|
||||
* @param {int} init starting index of unsorted array
|
||||
* @param {int} final last index of unsorted array
|
||||
*
|
||||
**/
|
||||
|
||||
function display(init,final) {
|
||||
var str,i,j,k,sto;
|
||||
// this part sorts the history array based on table name,this is needed for clubbing all object of same name together.
|
||||
for (i = init;i < final;i++) {
|
||||
sto = history_array[i];
|
||||
var temp = history_array[i].get_tab() ;//+ '.' + history_array[i].get_obj_no(); for Self JOINS
|
||||
for(j = 0;j < i;j++){
|
||||
if(temp > (history_array[j].get_tab())) {//+ '.' + history_array[j].get_obj_no())) { //for Self JOINS
|
||||
for(k = i;k > j;k--) {
|
||||
history_array[k] = history_array[k-1];
|
||||
}
|
||||
history_array[j] = sto;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// this part generates HTML code for history tab.adds delete,edit,and/or and detail features with objects.
|
||||
str =''; // string to store Html code for history tab
|
||||
for ( var i=0; i < history_array.length; i++){
|
||||
var temp = history_array[i].get_tab(); //+ '.' + history_array[i].get_obj_no(); for Self JOIN
|
||||
str += '<h2 class="tiger"><a href="#">' + temp + '</a></h2>';
|
||||
str += '<div class="toggle_container">\n';
|
||||
while((history_array[i].get_tab()) == temp) { //+ '.' + history_array[i].get_obj_no()) == temp) {
|
||||
str +='<div class="block"> <table width ="250">';
|
||||
str += '<thead><tr><td>';
|
||||
if(history_array[i].get_and_or()){
|
||||
str +='<img src="pmd/images/or_icon.png" onclick="and_or('+i+')" title="OR"/></td>';
|
||||
}
|
||||
else {
|
||||
str +='<img src="pmd/images/and_icon.png" onclick="and_or('+i+')" title="AND"/></td>';
|
||||
}
|
||||
str +='<td style="padding-left: 5px;" align="right"><img src="./themes/original/img/b_sbrowse.png" title="column name"/></td><td width="175" style="padding-left: 5px">' + history_array[i].get_column_name();
|
||||
if (history_array[i].get_type() == "GroupBy" || history_array[i].get_type() == "OrderBy") {
|
||||
str += '</td><td align="center"><img src="themes/original/img/b_info.png" title="'+detail(i)+'"/><td title="' + detail(i) +'">' + history_array[i].get_type() + '</td></td><td onmouseover="this.className=\'history_table\';" onmouseout="this.className=\'history_table2\'" onclick=history_delete('+ i +')><img src="themes/original/img/b_drop.png" title="Delete"></td></tr></thead>';
|
||||
}
|
||||
else {
|
||||
str += '</td><td align="center"><img src="themes/original/img/b_info.png" title="'+detail(i)+'"/></td><td title="' + detail(i) +'">' + history_array[i]. get_type() + '</td><td <td onmouseover="this.className=\'history_table\';" onmouseout="this.className=\'history_table2\'" onclick=history_edit('+ i +')><img src="themes/original/img/b_edit.png" title="Edit"/></td><td onmouseover="this.className=\'history_table\';" onmouseout="this.className=\'history_table2\'" onclick=history_delete('+ i +')><img src="themes/original/img/b_drop.png" title="Delete"></td></tr></thead>';
|
||||
}
|
||||
i++;
|
||||
if(i >= history_array.length) {
|
||||
break;
|
||||
}
|
||||
str += '</table></div><br/>';
|
||||
}
|
||||
i--;
|
||||
str += '</div><br/>';
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* To change And/Or relation in history tab
|
||||
*
|
||||
* @uses panel()
|
||||
*
|
||||
* @param {int} index of history_array where change is to be made
|
||||
*
|
||||
**/
|
||||
|
||||
function and_or(index) {
|
||||
if (history_array[index].get_and_or()) {
|
||||
history_array[index].set_and_or(0);
|
||||
}
|
||||
else {
|
||||
history_array[index].set_and_or(1);
|
||||
}
|
||||
var existingDiv = document.getElementById('ab');
|
||||
existingDiv.innerHTML = display(0,0);
|
||||
panel(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* To display details of obects(where,rename,Having,aggregate,groupby,orderby,having)
|
||||
*
|
||||
* @param index index of history_array where change is to be made
|
||||
*
|
||||
**/
|
||||
|
||||
function detail (index) {
|
||||
var type = history_array[index].get_type();
|
||||
var str;
|
||||
if (type == "Where") {
|
||||
str = 'Where ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery();
|
||||
}
|
||||
if (type == "Rename") {
|
||||
str = 'Rename ' + history_array[index].get_column_name() + ' To ' + history_array[index].get_obj().getrename_to();
|
||||
}
|
||||
if (type == "Aggregate") {
|
||||
str = 'Select ' + history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )';
|
||||
}
|
||||
if (type == "GroupBy") {
|
||||
str = 'GroupBy ' + history_array[index].get_column_name() ;
|
||||
}
|
||||
if (type == "OrderBy") {
|
||||
str = 'OrderBy ' + history_array[index].get_column_name() ;
|
||||
}
|
||||
if (type == "Having") {
|
||||
str = 'Having ';
|
||||
if (history_array[index].get_obj().get_operator() != 'None') {
|
||||
str += history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )';
|
||||
str += history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery();
|
||||
}
|
||||
else {
|
||||
str = 'Having ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery();
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes entry in history_array
|
||||
*
|
||||
* @uses panel()
|
||||
* @uses display()
|
||||
* @param index index of history_array[] which is to be deleted
|
||||
*
|
||||
**/
|
||||
|
||||
function history_delete(index) {
|
||||
for(var k =0 ;k < from_array.length;k++){
|
||||
if(from_array[k] == history_array[index].get_tab()){
|
||||
from_array.splice(k,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
history_array.splice(index,1);
|
||||
var existingDiv = document.getElementById('ab');
|
||||
existingDiv.innerHTML = display(0,0);
|
||||
panel(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* To show where,rename,aggregate,having forms to edit a object
|
||||
*
|
||||
* @param{int} index index of history_array where change is to be made
|
||||
*
|
||||
**/
|
||||
|
||||
function history_edit(index) {
|
||||
g_index = index;
|
||||
var type = history_array[index].get_type();
|
||||
if (type == "Where") {
|
||||
document.getElementById('eQuery').value = history_array[index].get_obj().getquery();
|
||||
document.getElementById('erel_opt').value = history_array[index].get_obj().getrelation_operator();
|
||||
document.getElementById('query_where').style.left = '530px';
|
||||
document.getElementById('query_where').style.top = '130px';
|
||||
document.getElementById('query_where').style.position = 'absolute';
|
||||
document.getElementById('query_where').style.zIndex = '9';
|
||||
document.getElementById('query_where').style.visibility = 'visible';
|
||||
}
|
||||
if (type == "Having") {
|
||||
document.getElementById('hQuery').value = history_array[index].get_obj().getquery();
|
||||
document.getElementById('hrel_opt').value = history_array[index].get_obj().getrelation_operator();
|
||||
document.getElementById('hoperator').value = history_array[index].get_obj().get_operator();
|
||||
document.getElementById('query_having').style.left = '530px';
|
||||
document.getElementById('query_having').style.top = '130px';
|
||||
document.getElementById('query_having').style.position = 'absolute';
|
||||
document.getElementById('query_having').style.zIndex = '9';
|
||||
document.getElementById('query_having').style.visibility = 'visible';
|
||||
}
|
||||
if (type == "Rename") {
|
||||
document.getElementById('query_rename_to').style.left = '530px';
|
||||
document.getElementById('query_rename_to').style.top = '130px';
|
||||
document.getElementById('query_rename_to').style.position = 'absolute';
|
||||
document.getElementById('query_rename_to').style.zIndex = '9';
|
||||
document.getElementById('query_rename_to').style.visibility = 'visible';
|
||||
}
|
||||
if (type == "Aggregate") {
|
||||
document.getElementById('query_Aggregate').style.left = '530px';
|
||||
document.getElementById('query_Aggregate').style.top = '130px';
|
||||
document.getElementById('query_Aggregate').style.position = 'absolute';
|
||||
document.getElementById('query_Aggregate').style.zIndex = '9';
|
||||
document.getElementById('query_Aggregate').style.visibility = 'visible';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Make changes in history_array when Edit button is clicked
|
||||
* checks for the type of object and then sets the new value
|
||||
* @uses panel()
|
||||
* @uses display()
|
||||
*
|
||||
* @param index index of history_array where change is to be made
|
||||
**/
|
||||
|
||||
function edit(type) {
|
||||
if (type == "Rename") {
|
||||
if (document.getElementById('e_rename').value != "") {
|
||||
history_array[g_index].get_obj().setrename_to(document.getElementById('e_rename').value);
|
||||
document.getElementById('e_rename').value = "";
|
||||
}
|
||||
document.getElementById('query_rename_to').style.visibility = 'hidden';
|
||||
}
|
||||
if (type == "Aggregate") {
|
||||
if (document.getElementById('e_operator').value != '---') {
|
||||
history_array[g_index].get_obj().set_operator(document.getElementById('e_operator').value);
|
||||
document.getElementById('e_operator').value = '---';
|
||||
}
|
||||
document.getElementById('query_Aggregate').style.visibility = 'hidden';
|
||||
}
|
||||
if (type == "Where") {
|
||||
if (document.getElementById('erel_opt').value != '--' && document.getElementById('eQuery').value !="") {
|
||||
history_array[g_index].get_obj().setquery(document.getElementById('eQuery').value);
|
||||
history_array[g_index].get_obj().setrelation_operator(document.getElementById('erel_opt').value);
|
||||
}
|
||||
document.getElementById('query_where').style.visibility = 'hidden';
|
||||
}
|
||||
if (type == "Having") {
|
||||
if (document.getElementById('hrel_opt').value != '--' && document.getElementById('hQuery').value !="") {
|
||||
history_array[g_index].get_obj().setquery(document.getElementById('hQuery').value);
|
||||
history_array[g_index].get_obj().setrelation_operator(document.getElementById('hrel_opt').value);
|
||||
history_array[g_index].get_obj().set_operator(document.getElementById('hoperator').value);
|
||||
}
|
||||
document.getElementById('query_having').style.visibility = 'hidden';
|
||||
}
|
||||
var existingDiv = document.getElementById('ab');
|
||||
existingDiv.innerHTML = display(0,0);
|
||||
panel(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* history object closure
|
||||
*
|
||||
* @param ncolumn_name name of the column on which conditions are put
|
||||
* @param nobj object details(where,rename,orderby,groupby,aggregate)
|
||||
* @param ntab table name of the column on which conditions are applied
|
||||
* @param nobj_no object no used for inner join
|
||||
* @param ntype type of object
|
||||
*
|
||||
**/
|
||||
|
||||
function history(ncolumn_name,nobj,ntab,nobj_no,ntype) {
|
||||
var and_or;
|
||||
var obj;
|
||||
var tab;
|
||||
var column_name;
|
||||
var obj_no;
|
||||
var type;
|
||||
this.set_column_name = function (ncolumn_name) {
|
||||
column_name = ncolumn_name;
|
||||
};
|
||||
this.get_column_name = function() {
|
||||
return column_name;
|
||||
};
|
||||
this.set_and_or = function(nand_or) {
|
||||
and_or = nand_or;
|
||||
};
|
||||
this.get_and_or = function() {
|
||||
return and_or;
|
||||
}
|
||||
this.get_relation = function() {
|
||||
return and_or;
|
||||
};
|
||||
this.set_obj = function(nobj) {
|
||||
obj = nobj;
|
||||
};
|
||||
this.get_obj = function() {
|
||||
return obj;
|
||||
};
|
||||
this.set_tab = function(ntab) {
|
||||
tab = ntab;
|
||||
};
|
||||
this.get_tab = function() {
|
||||
return tab;
|
||||
};
|
||||
this.set_obj_no = function(nobj_no) {
|
||||
obj_no = nobj_no;
|
||||
};
|
||||
this.get_obj_no = function() {
|
||||
return obj_no;
|
||||
};
|
||||
this.set_type = function(ntype) {
|
||||
type = ntype;
|
||||
}
|
||||
this.get_type = function() {
|
||||
return type;
|
||||
}
|
||||
this.set_obj_no(nobj_no);
|
||||
this.set_tab(ntab);
|
||||
this.set_and_or(0);
|
||||
this.set_obj(nobj);
|
||||
this.set_column_name(ncolumn_name);
|
||||
this.set_type(ntype);
|
||||
};
|
||||
|
||||
/**
|
||||
* where object closure, makes an object with all information of where
|
||||
*
|
||||
* @param nrelation_operator type of relation operator to be applied
|
||||
* @param nquery stores value of value/sub-query
|
||||
*
|
||||
**/
|
||||
|
||||
|
||||
var where = function (nrelation_operator,nquery) {
|
||||
var relation_operator;
|
||||
var query;
|
||||
this.setrelation_operator = function(nrelation_operator) {
|
||||
relation_operator = nrelation_operator;
|
||||
};
|
||||
this.setquery = function(nquery) {
|
||||
query = nquery;
|
||||
};
|
||||
this.getquery = function() {
|
||||
return query;
|
||||
};
|
||||
this.getrelation_operator = function() {
|
||||
return relation_operator;
|
||||
};
|
||||
this.setquery(nquery);
|
||||
this.setrelation_operator(nrelation_operator);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Having object closure, makes an object with all information of where
|
||||
*
|
||||
* @param nrelation_operator type of relation operator to be applied
|
||||
* @param nquery stores value of value/sub-query
|
||||
*
|
||||
**/
|
||||
|
||||
var having = function (nrelation_operator,nquery,noperator) {
|
||||
var relation_operator;
|
||||
var query;
|
||||
var operator;
|
||||
this.set_operator = function(noperator) {
|
||||
operator = noperator;
|
||||
};
|
||||
this.setrelation_operator = function(nrelation_operator) {
|
||||
relation_operator = nrelation_operator;
|
||||
};
|
||||
this.setquery = function(nquery) {
|
||||
query = nquery;
|
||||
};
|
||||
this.getquery = function() {
|
||||
return query;
|
||||
};
|
||||
this.getrelation_operator = function() {
|
||||
return relation_operator;
|
||||
};
|
||||
this.get_operator = function() {
|
||||
return operator;
|
||||
};
|
||||
this.setquery(nquery);
|
||||
this.setrelation_operator(nrelation_operator);
|
||||
this.set_operator(noperator);
|
||||
};
|
||||
|
||||
/**
|
||||
* rename object closure,makes an object with all information of rename
|
||||
*
|
||||
* @param nrename_to new name information
|
||||
*
|
||||
**/
|
||||
|
||||
var rename = function(nrename_to) {
|
||||
var rename_to;
|
||||
this.setrename_to = function(nrename_to) {
|
||||
rename_to = nrename_to;
|
||||
};
|
||||
this.getrename_to =function() {
|
||||
return rename_to;
|
||||
};
|
||||
this.setrename_to(nrename_to);
|
||||
};
|
||||
|
||||
/**
|
||||
* aggregate object closure
|
||||
*
|
||||
* @param noperator aggregte operator
|
||||
*
|
||||
**/
|
||||
|
||||
var aggregate = function(noperator) {
|
||||
var operator;
|
||||
this.set_operator = function(noperator) {
|
||||
operator = noperator;
|
||||
};
|
||||
this.get_operator = function() {
|
||||
return operator;
|
||||
};
|
||||
this.set_operator(noperator);
|
||||
};
|
||||
|
||||
/**
|
||||
* This function returns unique element from an array
|
||||
*
|
||||
* @param arraName array from which duplicate elem are to be removed.
|
||||
* @return unique array
|
||||
*/
|
||||
|
||||
function unique(arrayName) {
|
||||
var newArray=new Array();
|
||||
label:for(var i=0; i<arrayName.length;i++ )
|
||||
{
|
||||
for(var j=0; j<newArray.length;j++ )
|
||||
{
|
||||
if(newArray[j]==arrayName[i])
|
||||
continue label;
|
||||
}
|
||||
newArray[newArray.length] = arrayName[i];
|
||||
}
|
||||
return newArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function takes in array and a value as input and returns 1 if values is present in array
|
||||
* else returns -1
|
||||
*
|
||||
* @param arrayName array
|
||||
* @param value value which is to be searched in the array
|
||||
*/
|
||||
|
||||
function found(arrayName,value) {
|
||||
for(var i=0; i<arrayName.length; i++) {
|
||||
if(arrayName[i] == value) { return 1;}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is the main function for query building.
|
||||
* uses history object details for this.
|
||||
*
|
||||
* @ uses query_where()
|
||||
* @ uses query_groupby()
|
||||
* @ uses query_having()
|
||||
* @ uses query_orderby()
|
||||
*
|
||||
* @param formtitle title for the form
|
||||
* @param fadin
|
||||
*/
|
||||
|
||||
function build_query(formtitle, fadin) {
|
||||
var q_select = "SELECT ";
|
||||
var temp;
|
||||
for(i = 0;i < select_field.length; i++) {
|
||||
temp = check_aggregate(select_field[i]);
|
||||
if (temp != "") {
|
||||
q_select += temp;
|
||||
temp = check_rename(select_field[i]);
|
||||
q_select += temp + ",";
|
||||
}
|
||||
else {
|
||||
temp = check_rename(select_field[i]);
|
||||
q_select += select_field[i] + temp +",";
|
||||
}
|
||||
}
|
||||
q_select = q_select.substring(0,q_select.length - 1);
|
||||
q_select += " FROM " + query_from();
|
||||
if(query_where() != "") {
|
||||
q_select +="\n WHERE";
|
||||
q_select += query_where();
|
||||
}
|
||||
if(query_groupby() != "") { q_select += "\nGROUP BY " + query_groupby(); }
|
||||
if(query_having() != "") { q_select += "\nHAVING " + query_having(); }
|
||||
if(query_orderby() != "") { q_select += "\nORDER BY " + query_orderby(); }
|
||||
var box = document.getElementById('box');
|
||||
document.getElementById('filter').style.display='block';
|
||||
var btitle = document.getElementById('boxtitle');
|
||||
btitle.innerHTML = 'SELECT';//formtitle;
|
||||
if(fadin){
|
||||
gradient("box", 0);
|
||||
fadein("box");
|
||||
}
|
||||
else{
|
||||
box.style.display='block';
|
||||
}
|
||||
document.getElementById('textSqlquery').innerHTML = q_select;
|
||||
}
|
||||
/**
|
||||
* This function builds from clause of query
|
||||
* makes automatic joins.
|
||||
*
|
||||
* @uses unique
|
||||
* @uses add_array
|
||||
* @uses remove_array
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function query_from() {
|
||||
var i =0;
|
||||
var tab_left = [];
|
||||
var tab_used = [];
|
||||
var t_tab_used = [];
|
||||
var t_tab_left = [];
|
||||
var temp;
|
||||
var query = "";
|
||||
var quer = "";
|
||||
var parts = [];
|
||||
var t_array = [];
|
||||
t_array = from_array;
|
||||
var K = 0;
|
||||
for(i; i < history_array.length ; i++) {
|
||||
from_array.push(history_array[i].get_tab());
|
||||
}
|
||||
from_array = unique( from_array );
|
||||
tab_left = from_array;
|
||||
temp = tab_left.shift();
|
||||
quer = temp;
|
||||
tab_used.push(temp);
|
||||
// if master table (key2) matches with tab used get all keys and check if tab_left matches
|
||||
//after this check if master table (key2) matches with tab left then check if any foriegn matches with master .
|
||||
for( i =0; i<2 ; i++) {
|
||||
for (K in contr){
|
||||
for (key in contr[K]){// contr name
|
||||
for (key2 in contr[K][key]){// table name
|
||||
parts = key2.split(".");
|
||||
if(found(tab_used,parts[1]) > 0) {
|
||||
for (key3 in contr[K][key][key2]) {
|
||||
parts1 = contr[K][key][key2][key3][0].split(".");
|
||||
if(found(tab_left,parts1[1]) > 0) {
|
||||
query += "\n" + 'LEFT JOIN ';
|
||||
query += '`' + parts1[0] + '`.`' + parts1[1] + '` ON ' ;
|
||||
query += '`' + parts[1] +'`.`' + key3 + '` = ';
|
||||
query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` ';
|
||||
t_tab_left.push(parts1[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
K = 0;
|
||||
t_tab_left = unique (t_tab_left);
|
||||
tab_used = add_array(t_tab_left,tab_used);
|
||||
tab_left = remove_array(t_tab_left,tab_left);
|
||||
t_tab_left = [];
|
||||
for (K in contr) {
|
||||
for (key in contr[K]) {
|
||||
for (key2 in contr[K][key]){// table name
|
||||
parts = key2.split(".");
|
||||
if(found(tab_left,parts[1]) > 0){
|
||||
for (key3 in contr[K][key][key2]){
|
||||
parts1 = contr[K][key][key2][key3][0].split(".");
|
||||
if(found(tab_used,parts1[1]) > 0) {
|
||||
query += "\n" + 'LEFT JOIN ';
|
||||
query += '`' + parts[0] + '`.`' + parts[1] + '` ON ' ;
|
||||
query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` = ';
|
||||
query += '`' + parts[1] + '`.`' + key3 + '` ';
|
||||
t_tab_left.push(parts[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
t_tab_left = unique (t_tab_left);
|
||||
tab_used = add_array(t_tab_left,tab_used);
|
||||
tab_left = remove_array(t_tab_left,tab_left);
|
||||
t_tab_left = [];
|
||||
}
|
||||
for (k in tab_left) {
|
||||
quer += " , `" + tab_left[k] + "`";
|
||||
}
|
||||
query = quer + query;
|
||||
from_array = t_array;
|
||||
return query;
|
||||
}
|
||||
/* document.write(key3+";"); //master_field
|
||||
document.write(contr[K][key][key2][key3][0]+";"); // foreign_table
|
||||
document.write(contr[K][key][key2][key3][1]+";"); //forieign_feild */
|
||||
/**
|
||||
* This function concatenates two array
|
||||
*
|
||||
* @params add array elements of which are pushed in
|
||||
* @params arr array in which elemnets are added
|
||||
*/
|
||||
function add_array(add,arr){
|
||||
for( var i=0; i<add.length; i++){
|
||||
arr.push(add[i]);
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
/* This fucntion removes all elements present in one array from the other.
|
||||
*
|
||||
* @params rem array from which each element is removed from other array.
|
||||
* @params arr array from which elements are removed.
|
||||
*
|
||||
*/
|
||||
function remove_array(rem,arr){
|
||||
for(var i=0; i<rem.length; i++){
|
||||
for(var j=0; j<arr.length; j++)
|
||||
if(rem[i] == arr[j]) { arr.splice(j,1); }
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function builds the groupby clause from history object
|
||||
*
|
||||
*/
|
||||
|
||||
function query_groupby() {
|
||||
var i = 0;
|
||||
var str = "";
|
||||
for(i; i < history_array.length;i++) {
|
||||
if(history_array[i].get_type() == "GroupBy") { str +=history_array[i].get_column_name() + ", ";}
|
||||
}
|
||||
str = str.substr(0,str.length -1);
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function builds the Having clause from the history object.
|
||||
*
|
||||
*/
|
||||
|
||||
function query_having() {
|
||||
var i = 0;
|
||||
var and = "(";
|
||||
for(i; i < history_array.length;i++) {
|
||||
if(history_array[i].get_type() == "Having") {
|
||||
if (history_array[i].get_obj().get_operator() != 'None') {
|
||||
and += history_array[i].get_obj().get_operator() + "(" + history_array[i].get_column_name() + " ) " + history_array[i].get_obj().getrelation_operator();
|
||||
and += " " + history_array[i].get_obj().getquery() + ", " ;
|
||||
}
|
||||
else {
|
||||
and += history_array[i].get_column_name() + " " + history_array[i].get_obj().getrelation_operator() + " " + history_array[i].get_obj().getquery() + ", ";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (and =="(") { and = "" ;}
|
||||
else { and = and.substr(0,and.length -2) + ")";}
|
||||
return and;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function builds the orderby clause from the history object.
|
||||
*
|
||||
*/
|
||||
|
||||
function query_orderby() {
|
||||
var i = 0;
|
||||
var str = "" ;
|
||||
for(i; i < history_array.length;i++) {
|
||||
if(history_array[i].get_type() == "OrderBy") { str += history_array[i].get_column_name() + " , "; }
|
||||
}
|
||||
str = str.substr(0,str.length -1);
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function builds the Where clause from the history object.
|
||||
*
|
||||
*/
|
||||
|
||||
function query_where(){
|
||||
var i = 0;
|
||||
var and = "(";
|
||||
var or = "(";
|
||||
for(i; i < history_array.length;i++) {
|
||||
if(history_array[i].get_type() == "Where") {
|
||||
if(history_array[i].get_and_or() == 0) {
|
||||
and += "( " + history_array[i].get_column_name() + " " + history_array[i].get_obj().getrelation_operator() +" " + history_array[i].get_obj().getquery() + ")"; and += " AND ";
|
||||
}
|
||||
else {
|
||||
or +="( " + history_array[i].get_column_name() + " " + history_array[i].get_obj().getrelation_operator() + " " + history_array[i].get_obj().getquery() +")";
|
||||
or +=" OR " ;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( or != "(") { or = or.substring(0,(or.length - 4 )) + ")"; }
|
||||
else { or = "" ;}
|
||||
if (and !="(") {and = and.substring(0,(and.length - 5)) + ")"; }
|
||||
else {and = "" ;}
|
||||
if ( or != "" ) { and = and + " OR " + or + " )"; }
|
||||
return and;
|
||||
}
|
||||
|
||||
function check_aggregate(id_this) {
|
||||
var i = 0;
|
||||
for(i;i < history_array.length;i++) {
|
||||
var temp = '`' + history_array[i].get_tab() + '`.`' +history_array[i].get_column_name() +'`';
|
||||
if(temp == id_this && history_array[i].get_type() == "Aggregate") {
|
||||
return history_array[i].get_obj().get_operator() + '(' + id_this +')';
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function check_rename(id_this) {
|
||||
var i = 0;
|
||||
for (i;i < history_array.length;i++) {
|
||||
var temp = '`' + history_array[i].get_tab() + '`.`' +history_array[i].get_column_name() +'`';
|
||||
if(temp == id_this && history_array[i].get_type() == "Rename") {
|
||||
return " AS `" + history_array[i].get_obj().getrename_to() +"`";
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function gradient(id, level)
|
||||
{
|
||||
var box = document.getElementById(id);
|
||||
box.style.opacity = level;
|
||||
box.style.MozOpacity = level;
|
||||
box.style.KhtmlOpacity = level;
|
||||
box.style.filter = "alpha(opacity=" + level * 100 + ")";
|
||||
box.style.display="block";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
function fadein(id)
|
||||
{
|
||||
var level = 0;
|
||||
while(level <= 1){
|
||||
setTimeout( "gradient('" + id + "'," + level + ")", (level* 1000) + 10);
|
||||
level += 0.01;
|
||||
}
|
||||
}
|
||||
|
||||
function closebox()
|
||||
{
|
||||
document.getElementById('box').style.display='none';
|
||||
document.getElementById('filter').style.display='none';
|
||||
}
|
@@ -32,6 +32,8 @@ var timeoutID;
|
||||
var layer_menu_cur_click = 0;
|
||||
var step = 10;
|
||||
var old_class;
|
||||
var from_array = [];
|
||||
var downer;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -620,7 +622,6 @@ function Small_tab(t, re_load)
|
||||
var id = document.getElementById('id_tbody_' + t);
|
||||
var id_this = document.getElementById('id_hide_tbody_' + t);
|
||||
var id_t = document.getElementById(t);
|
||||
|
||||
id_t.style.width = id_t.offsetWidth + 'px';
|
||||
if (id_this.innerHTML == "v") {
|
||||
//---CROSS
|
||||
@@ -646,7 +647,6 @@ function Select_tab(t)
|
||||
//----------
|
||||
var id_t = document.getElementById(t);
|
||||
window.scrollTo(parseInt(id_t.style.left) - 300, parseInt(id_t.style.top) - 300);
|
||||
|
||||
setTimeout(function(){document.getElementById('id_zag_' + t).className = 'tab_zag';}, 800);
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -964,3 +964,181 @@ function getColorByTarget( target )
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
function Click_option(id_this,column_name,table_name)
|
||||
{
|
||||
var left = Glob_X - (document.getElementById(id_this).offsetWidth>>1);
|
||||
document.getElementById(id_this).style.left = left + 'px';
|
||||
// var top = Glob_Y - document.getElementById(id_this).offsetHeight - 10;
|
||||
document.getElementById(id_this).style.top = (screen.height / 4) + 'px';
|
||||
document.getElementById(id_this).style.visibility = "visible";
|
||||
document.getElementById('option_col_name').innerHTML = '<strong>Options For "' +column_name+ '" column</strong>';
|
||||
col_name = column_name;
|
||||
tab_name = table_name;
|
||||
}
|
||||
|
||||
function Close_option()
|
||||
{
|
||||
document.getElementById('pmd_optionse').style.visibility = "hidden";
|
||||
}
|
||||
|
||||
function Select_all(id_this,owner)
|
||||
{
|
||||
var parent= document.form1;
|
||||
downer =owner;
|
||||
var i;
|
||||
var tab = [];
|
||||
for(i = 0; i < parent.elements.length; i++) {
|
||||
if (parent.elements[i].type == "checkbox" && parent.elements[i].id.substring(0,(9 + id_this.length)) == 'select_' + id_this + '._') {
|
||||
if(document.getElementById('select_all_' + id_this).checked == true) {
|
||||
parent.elements[i].checked = true;
|
||||
parent.elements[i].disabled = true;
|
||||
var temp = '`' + id_this.substring(owner.length +1) + '`.*';
|
||||
}
|
||||
else {
|
||||
parent.elements[i].checked = false;
|
||||
parent.elements[i].disabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(document.getElementById('select_all_' + id_this).checked == true) {
|
||||
select_field.push('`' + id_this.substring(owner.length +1) + '`.*');
|
||||
tab = id_this.split(".");
|
||||
from_array.push(tab[1]);
|
||||
}
|
||||
else {
|
||||
for (i =0; i < select_field.length; i++) {
|
||||
if (select_field[i] == ('`' + id_this.substring(owner.length +1) + '`.*')) {
|
||||
select_field.splice(i,1);
|
||||
}
|
||||
}
|
||||
for(k =0 ;k < from_array.length;k++){
|
||||
if(from_array[k] == id_this){
|
||||
from_array.splice(k,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Re_load();
|
||||
}
|
||||
|
||||
function Table_onover(id_this,val,buil)
|
||||
{
|
||||
if(!val) {
|
||||
document.getElementById("id_zag_" + id_this).className="tab_zag_2";
|
||||
if(buil) {
|
||||
document.getElementById("id_zag_" + id_this + "_2").className="tab_zag_2";
|
||||
}
|
||||
}
|
||||
else {
|
||||
document.getElementById("id_zag_" + id_this).className="tab_zag";
|
||||
if(buil) {
|
||||
document.getElementById("id_zag_" + id_this + "_2").className="tab_zag";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* This function stores selected column information in select_field[]
|
||||
* In case column is checked it add else it deletes
|
||||
*
|
||||
*/
|
||||
function store_column(id_this,owner,col) {
|
||||
var i = 0;
|
||||
var k = 0;
|
||||
if (document.getElementById('select_' + owner + '.' + id_this + '._' + col).checked == true) {
|
||||
select_field.push('`' + id_this + '`.`' + col +'`');
|
||||
from_array.push(id_this);
|
||||
}
|
||||
else {
|
||||
for(i; i < select_field.length ;i++) {
|
||||
if (select_field[i] == ('`' + id_this + '`.`' + col +'`')) {
|
||||
select_field.splice(i,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(k =0 ;k < from_array.length;k++){
|
||||
if(from_array[k] == id_this){
|
||||
from_array.splice(k,1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function builds object and adds them to history_array
|
||||
* first it does a few checks on each object, then makes an object(where,rename,groupby,aggregate,orderby)
|
||||
* then a new history object is made and finally all these history objects are addded to history_array[]
|
||||
*
|
||||
* @uses where()
|
||||
* @uses history()
|
||||
* @uses aggregate()
|
||||
* @uses rename()
|
||||
* @uses panel()
|
||||
* @uses display()
|
||||
**/
|
||||
|
||||
function add_object() {
|
||||
var rel = document.getElementById('rel_opt');
|
||||
var sum = 0;
|
||||
var init = history_array.length;
|
||||
if (rel.value != '--') {
|
||||
if (document.getElementById('Query').value == "") {
|
||||
document.getElementById('hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
return;
|
||||
}
|
||||
var p = document.getElementById('Query');
|
||||
var where_obj = new where(rel.value,p.value);//make where object
|
||||
history_array.push(new history(col_name,where_obj,tab_name,h_tabs[downer + '.' + tab_name],"Where"));
|
||||
sum = sum + 1;
|
||||
rel.value = '--';
|
||||
p.value = "";
|
||||
}
|
||||
if (document.getElementById('new_name').value !="") {
|
||||
var rename_obj = new rename(document.getElementById('new_name').value);//make Rename object
|
||||
history_array.push(new history(col_name,rename_obj,tab_name,h_tabs[downer + '.' + tab_name],"Rename"));
|
||||
sum = sum + 1;
|
||||
document.getElementById('new_name').value = "" ;
|
||||
}
|
||||
if (document.getElementById('operator').value != '---') {
|
||||
var aggregate_obj = new aggregate(document.getElementById('operator').value) ;
|
||||
history_array.push(new history(col_name,aggregate_obj,tab_name,h_tabs[downer + '.' + tab_name],"Aggregate"));
|
||||
sum = sum + 1;
|
||||
document.getElementById('operator').value = '---';
|
||||
//make aggregate operator
|
||||
}
|
||||
if (document.getElementById('groupby').checked == true ) {
|
||||
history_array.push(new history(col_name,'GroupBy',tab_name,h_tabs[downer + '.' +tab_name],"GroupBy"));
|
||||
sum = sum + 1;
|
||||
document.getElementById('groupby').checked = false;
|
||||
//make groupby
|
||||
}
|
||||
if (document.getElementById('h_rel_opt').value != '--') {
|
||||
if (document.getElementById('having').value == "") {
|
||||
document.getElementById('hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
return;
|
||||
}
|
||||
var p = document.getElementById('having');
|
||||
var where_obj = new having(document.getElementById('h_rel_opt').value,p.value,document.getElementById('h_operator').value);//make where object
|
||||
history_array.push(new history(col_name,where_obj,tab_name,h_tabs[downer + '.' + tab_name],"Having"));
|
||||
sum = sum + 1;
|
||||
document.getElementById('h_rel_opt').value = '--';
|
||||
document.getElementById('h_operator').value = '---';
|
||||
p.value = ""; //make having
|
||||
}
|
||||
if (document.getElementById('orderby').checked == true) {
|
||||
history_array.push(new history(col_name,'OrderBy',tab_name,h_tabs[downer + '.' + tab_name],"OrderBy"));
|
||||
sum = sum + 1;
|
||||
document.getElementById('orderby').checked = false;
|
||||
//make orderby
|
||||
}
|
||||
document.getElementById('hint').innerHTML = sum + "object created" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
//output sum new objects created
|
||||
var existingDiv = document.getElementById('ab');
|
||||
existingDiv.innerHTML = display(init,history_array.length);
|
||||
Close_option();
|
||||
panel(0);
|
||||
}
|
||||
|
BIN
pmd/styles/default/images/minus.png
Normal file
BIN
pmd/styles/default/images/minus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
pmd/styles/default/images/plus.png
Normal file
BIN
pmd/styles/default/images/plus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
@@ -146,6 +146,23 @@ form {
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.option_tab {
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.select_all {
|
||||
vertical-align: top;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
cursor: default;
|
||||
width: 1px;
|
||||
color: #000000;
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
.small_tab {
|
||||
vertical-align: top;
|
||||
background-color: #0064ea;
|
||||
@@ -371,9 +388,195 @@ a.M_butt:hover {
|
||||
width: 153px;
|
||||
}
|
||||
|
||||
#pmd_optionse {
|
||||
position: absolute;
|
||||
left: 636px;
|
||||
top: 85px;
|
||||
z-index: 1000;
|
||||
width: 153px;
|
||||
}
|
||||
|
||||
#layer_menu_sizer {
|
||||
background-image: url(../../images/resize.png);
|
||||
cursor: nw-resize;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.panel {
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
right: 0;
|
||||
display: none;
|
||||
background: #FFF;
|
||||
border:1px solid #F5F5F5;
|
||||
width: 350 px;
|
||||
height: auto;
|
||||
padding: 30px 170px 30px 30px;
|
||||
color:#FFF;
|
||||
z-index:99;
|
||||
}
|
||||
|
||||
a.trigger{
|
||||
position: fixed;
|
||||
text-decoration: none;
|
||||
top: 60px; right: 0;
|
||||
font-size: 16px;
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
color:#fff;
|
||||
padding: 10px 40px 10px 15px;
|
||||
font-weight: 700;
|
||||
background:#333333 url(images/plus.png) 85% 55% no-repeat;
|
||||
border:1px solid #444444;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.trigger:hover{
|
||||
position: fixed;
|
||||
text-decoration: none;
|
||||
top: 60px; right: 0;
|
||||
font-size: 16px;
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
color:#080808;
|
||||
padding: 10px 40px 10px 15px;
|
||||
font-weight: 700;
|
||||
background:#fff696 url(images/plus.png) 85% 55% no-repeat;
|
||||
border:1px solid #999;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.active.trigger {
|
||||
background:#222222 url(images/minus.png) 85% 55% no-repeat;
|
||||
z-index:999;
|
||||
}
|
||||
|
||||
a.active.trigger:hover {
|
||||
background:#fff696 url(images/minus.png) 85% 55% no-repeat;
|
||||
z-index:999;
|
||||
}
|
||||
|
||||
h2.tiger{
|
||||
background-repeat: repeat-x;
|
||||
padding: 1px;
|
||||
font-weight: bold;
|
||||
font-size:14px;
|
||||
padding: 50 20 50 20px;
|
||||
margin: 0 0 5px 0;
|
||||
width: 250px;
|
||||
float: left;
|
||||
color : #333;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2.tiger a {
|
||||
background-image: url(images/Header.png);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color : #333;
|
||||
display: block;
|
||||
}
|
||||
|
||||
h2.tiger a:hover {
|
||||
color: #000;
|
||||
background-image: url(images/Header_Linked.png);
|
||||
}
|
||||
|
||||
h2.active {
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
padding: 1px;
|
||||
background-position: left bottom;
|
||||
}
|
||||
|
||||
.toggle_container {
|
||||
margin: 0 0 5px;
|
||||
padding: 0;
|
||||
border-top: 1px solid #d6d6d6;
|
||||
background: #FFF ;
|
||||
width: 250px;
|
||||
overflow: hidden;
|
||||
font-size: 1.2em;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.toggle_container .block {
|
||||
background-color: #DBE4E8;
|
||||
padding:40 15 40 15px; /*--Padding of Container--*/
|
||||
border:1px solid #999;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.history_table {
|
||||
text-align: center;
|
||||
background-color: #9999CC;
|
||||
}
|
||||
|
||||
.history_table2 {
|
||||
text-align: center;
|
||||
background-color: #DBE4E8;
|
||||
}
|
||||
|
||||
#filter {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0%;
|
||||
left: 0%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #CCA;
|
||||
z-index:10;
|
||||
opacity:0.5;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
|
||||
#box {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 20%;
|
||||
left: 30%;
|
||||
width: 500px;
|
||||
height: 220px;
|
||||
padding: 48px;
|
||||
margin:0;
|
||||
border: 1px solid black;
|
||||
background-color: white;
|
||||
z-index:101;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
#boxtitle {
|
||||
position:absolute;
|
||||
float:center;
|
||||
top:0;
|
||||
left:0;
|
||||
width:593px;
|
||||
height:20px;
|
||||
padding:0;
|
||||
padding-top:4px;
|
||||
left-padding:8px;
|
||||
margin:0;
|
||||
border-bottom:4px solid #3CF;
|
||||
background-color: #D0DCE0; //#09c;
|
||||
color:black;
|
||||
font-weight:bold;
|
||||
padding-left: 2px;
|
||||
font-family:"Times New Roman", Times, serif;
|
||||
font-size:16px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
#tblfooter {
|
||||
background-color: D3DCE3;
|
||||
float: right;
|
||||
padding-top:10px;
|
||||
color: black;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
input.btn {
|
||||
color:#333;
|
||||
font: bold 84%'trebuchet ms',helvetica,sans-serif;
|
||||
background-color: #D0DCE0;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -237,11 +237,13 @@ function get_script_tabs()
|
||||
$script_tabs =
|
||||
'<script type="text/javascript">' . "\n" .
|
||||
'// <![CDATA[' . "\n" .
|
||||
'var j_tabs = new Array();' . "\n";
|
||||
'var j_tabs = new Array();' . "\n" .
|
||||
'var h_tabs = new Array();' . "\n" ;
|
||||
for ($i = 0, $cnt = count($GLOBALS['PMD']['TABLE_NAME']); $i < $cnt; $i++) {
|
||||
$script_tabs .= "j_tabs['" . $GLOBALS['PMD_URL']['TABLE_NAME'][$i] . "'] = '"
|
||||
. (PMA_foreignkey_supported($GLOBALS['PMD']['TABLE_TYPE'][$i]) ? '1' : '0') . "';\n";
|
||||
}
|
||||
$script_tabs .="h_tabs['" . $GLOBALS['PMD_URL']['TABLE_NAME'][$i] . "'] = 1;"."\n" ;
|
||||
}
|
||||
$script_tabs .=
|
||||
'// ]]>' . "\n" .
|
||||
'</script>' . "\n";
|
||||
|
447
pmd_general.php
447
pmd_general.php
@@ -27,6 +27,7 @@ $hidden = "hidden";
|
||||
<link rel="shortcut icon" href="pmd/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" type="text/css" href="pmd/styles/<?php echo $GLOBALS['PMD']['STYLE'] ?>/style1.css" />
|
||||
<title>Designer</title>
|
||||
<script src="./js/jquery/jquery-1.4.2.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
<?php
|
||||
@@ -34,8 +35,18 @@ echo '
|
||||
var server = "' . PMA_escapeJsString($server) . '";
|
||||
var db = "' . PMA_escapeJsString($db) . '";
|
||||
var token = "' . PMA_escapeJsString($token) . '";';
|
||||
echo "\n";
|
||||
if($_REQUEST['query']) {
|
||||
echo '
|
||||
$(document).ready(function(){
|
||||
$(".trigger").click(function(){
|
||||
$(".panel").toggle("fast");
|
||||
$(this).toggleClass("active");
|
||||
return false;
|
||||
});
|
||||
});';
|
||||
}
|
||||
?>
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
<?php
|
||||
@@ -47,7 +58,8 @@ require_once './libraries/header_scripts.inc.php';
|
||||
?>
|
||||
<script src="js/messages.php<?php echo PMA_generate_common_url($params); ?>" type="text/javascript"></script>
|
||||
<script src="pmd/scripts/ajax.js" type="text/javascript"></script>
|
||||
<script src="pmd/scripts/move.js" type="text/javascript"></script>
|
||||
<script src="pmd/scripts/history.js" type="text/javascript"></script>
|
||||
<script src="pmd/scripts/move.js" type="text/javascript"></script>
|
||||
<!--[if IE]>
|
||||
<script src="pmd/scripts/iecanvas.js" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
@@ -101,8 +113,15 @@ echo $script_tabs . $script_contr . $script_display_field;
|
||||
/><a href="javascript:PDF_save();" onmousedown="return false;"
|
||||
class="M_butt" target="_self"
|
||||
><img src="pmd/images/pdf.png" alt="key" width="20" height="20"
|
||||
title="<?php echo __('Import/Export coordinates for PDF schema'); ?>" /></a>
|
||||
<a href="javascript:Top_menu_right(document.getElementById('key_Left_Right'));"
|
||||
title="<?php echo __('Import/Export coordinates for PDF schema'); ?>" /></a
|
||||
>
|
||||
<?php if($_REQUEST['query']){
|
||||
echo '<a href="#" onClick="build_query(\'SQL Query on Database\', 0)" onmousedown="return false;"
|
||||
class="M_butt" target="_self">';
|
||||
echo '<img src="pmd/images/query_builder.png" alt="key" width="20" height="20" title="';
|
||||
echo __('Build Query');
|
||||
echo '"/></a>'; }?>
|
||||
<a href="javascript:Top_menu_right(document.getElementById('key_Left_Right'));"
|
||||
onmousedown="return false;" class="M_butt last" target="_self">
|
||||
<img src="pmd/images/2rightarrow_m.png" id="key_Left_Right" alt=">"
|
||||
title="<?php echo __('Move Menu'); ?>" /></a>
|
||||
@@ -187,6 +206,13 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
">
|
||||
<thead>
|
||||
<tr>
|
||||
<?php
|
||||
if(isset($_REQUEST['query'])) {
|
||||
echo '<td class="select_all">';
|
||||
echo '<input type="checkbox" value="select_all_'.htmlspecialchars($t_n_url).'" style="margin: 0px;" ';
|
||||
echo 'id="select_all_'.htmlspecialchars($t_n_url).'" title="select all" ';
|
||||
echo 'onclick="Select_all(\''. htmlspecialchars($t_n_url) .'\',\''.htmlspecialchars($GLOBALS['PMD_OUT']["OWNER"][$i]).'\')"></td>';
|
||||
}?>
|
||||
<td class="small_tab" onmouseover="this.className='small_tab2';"
|
||||
onmouseout="this.className='small_tab';"
|
||||
id="id_hide_tbody_<?php echo $t_n_url ?>"
|
||||
@@ -204,15 +230,21 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
onclick="Start_tab_upd('<?php echo $GLOBALS['PMD_URL']["TABLE_NAME_SMALL"][$i]; ?>');">
|
||||
<img src="pmd/images/exec_small.png" alt="" /></td>
|
||||
<td nowrap="nowrap" id="id_zag_<?php echo $t_n_url ?>" class="tab_zag"
|
||||
onmousedown="cur_click=document.getElementById('<?php echo $t_n_url ?>');"
|
||||
onmouseover="this.className = 'tab_zag_2'"
|
||||
onmouseout="this.className = 'tab_zag'">
|
||||
onmousedown="cur_click=document.getElementById('<?php echo $t_n_url ?>');"/
|
||||
onmouseover="Table_onover('<?php echo $t_n_url ?>',0,<?php echo (isset($_REQUEST['query'])? 1 : 0 )?> )"
|
||||
onmouseout="Table_onover('<?php echo $t_n_url ?>',1,<?php echo (isset($_REQUEST['query']) ? 1 : 0 )?>)">
|
||||
<span class='owner'>
|
||||
<?php
|
||||
echo $GLOBALS['PMD_OUT']["OWNER"][$i];
|
||||
echo '.</span>';
|
||||
echo $GLOBALS['PMD_OUT']["TABLE_NAME_SMALL"][$i];
|
||||
?></td>
|
||||
<?php
|
||||
if(isset($_REQUEST['query'])) {
|
||||
echo '<td class="tab_zag" onmouseover="Table_onover(\''.htmlspecialchars($t_n_url).'\',0,1)" id="id_zag_'.htmlspecialchars($t_n_url).'_2"';
|
||||
echo 'onmousedown="cur_click=document.getElementById(\''.htmlspecialchars($t_n_url).'\');"';
|
||||
echo 'onmouseout="Table_onover(\''.htmlspecialchars($t_n_url).'\',1,1)">';
|
||||
}?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="id_tbody_<?php echo $t_n_url ?>"
|
||||
@@ -243,6 +275,14 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
echo (isset($tables_all_keys[$t_n.".".$tab_column[$t_n]["COLUMN_NAME"][$j]]) ? 1 : 0);
|
||||
}
|
||||
?>)">
|
||||
<?php
|
||||
if(isset($_REQUEST['query'])) {
|
||||
echo '<td class="select_all">';
|
||||
echo '<input value="'.htmlspecialchars($t_n_url).urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]).'"';
|
||||
echo 'type="checkbox" id="select_'.htmlspecialchars($t_n_url).'._'.urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]).'" ';
|
||||
echo 'style="margin: 0px;" title="select_'.urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]).'" ';
|
||||
echo 'onclick="store_column(\''.urlencode($GLOBALS['PMD_OUT']["TABLE_NAME_SMALL"][$i]).'\',\''.htmlspecialchars($GLOBALS['PMD_OUT']["OWNER"][$i]).'\',\''.urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]).'\')"></td>';
|
||||
}?>
|
||||
<td width="10px" colspan="3"
|
||||
id="<?php echo $t_n_url.".".urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]) ?>">
|
||||
<div style="white-space:nowrap">
|
||||
@@ -276,6 +316,14 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<?php
|
||||
if(isset($_REQUEST['query'])) {
|
||||
//$temp = $GLOBALS['PMD_OUT']["OWNER"][$i].'.'.$GLOBALS['PMD_OUT']["TABLE_NAME_SMALL"][$i];
|
||||
echo '<td class="small_tab_pref" onmouseover="this.className=\'small_tab_pref2\';"';
|
||||
echo 'onmouseout="this.className=\'small_tab_pref\';"';
|
||||
echo 'onclick="Click_option(\'pmd_optionse\',\''.urlencode($tab_column[$t_n]["COLUMN_NAME"][$j]).'\',\''.$GLOBALS['PMD_OUT']["TABLE_NAME_SMALL"][$i].'\')" >';
|
||||
echo '<img src="pmd/images/exec_small.png" title="options" alt="" /></td> ';
|
||||
} ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
@@ -390,6 +438,391 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="pmd_optionse" style="visibility:<?php echo $hidden ?>;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="frams1" width="10px"></td>
|
||||
<td class="frams5" width="99%" ></td>
|
||||
<td class="frams2" width="10px"><div class="bor"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams8"></td>
|
||||
<td class="input_tab">
|
||||
<table width="168" border="0" align="center" cellpadding="2" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" rowspan="2" id="option_col_name" nowrap="nowrap" align="center"></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="where">
|
||||
<tr><td align="center" nowrap="nowrap"><b>Where</b></td></tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Relation operator</td>
|
||||
<td width="102"><select name="rel_opt" id="rel_opt">
|
||||
<option value="--" selected="selected"> -- </option>
|
||||
<option value="=" > = </option>
|
||||
<option value=">"> > </option>
|
||||
<option value="<"> < </option>
|
||||
<option value=">="> >= </option>
|
||||
<option value="<="> <= </option>
|
||||
<option value="NOT"> NOT </option>
|
||||
<option value="IN"> IN </option>
|
||||
<option value="EXCEPT"> Except </option>
|
||||
<option value="NOT IN"> Not In </option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap">Value/<br />Subquery</td>
|
||||
<td><textarea id="Query" value="" cols="18"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align="center" nowrap="nowrap"><b>Rename To</b></td></tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">New Name</td>
|
||||
<td width="102"><input type="text" value="" id="new_name"/></td>
|
||||
</tr>
|
||||
<tr><td align="center" nowrap="nowrap"><b>Aggregate</b></td></tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Operator</td>
|
||||
<td width="102"><select name="operator" id="operator">
|
||||
<option value="---" selected="selected">---</option>
|
||||
<option value="sum" > Sum </option>
|
||||
<option value="min"> Min </option>
|
||||
<option value="max"> Max </option>
|
||||
<option value="avg"> Avg </option>
|
||||
<option value="count"> Count </option>
|
||||
</select>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" width="58" align="center"><b>Group By</b></td>
|
||||
<td><input type="checkbox" value="groupby" id="groupby"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" width="58" align="center"><b>Order By</b></td>
|
||||
<td><input type="checkbox" value="orderby" id="orderby"/></td>
|
||||
</tr>
|
||||
<tr><td align="center" nowrap="nowrap"><b>Having</b></td></tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Operator</td>
|
||||
<td width="102"><select name="h_operator" id="h_operator">
|
||||
<option value="---" selected="selected">---</option>
|
||||
<option value="None" > None </option>
|
||||
<option value="sum" > Sum </option>
|
||||
<option value="min"> Min </option>
|
||||
<option value="max"> Max </option>
|
||||
<option value="avg"> Avg </option>
|
||||
<option value="count"> Count </option>
|
||||
</select>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Relation operator</td>
|
||||
<td width="102"><select name="h_rel_opt" id="h_rel_opt">
|
||||
<option value="--" selected="selected"> -- </option>
|
||||
<option value="=" > = </option>
|
||||
<option value=">"> > </option>
|
||||
<option value="<"> < </option>
|
||||
<option value=">="> >= </option>
|
||||
<option value="<="> <= </option>
|
||||
<option value="NOT"> NOT </option>
|
||||
<option value="IN"> IN </option>
|
||||
<option value="EXCEPT"> Except </option>
|
||||
<option value="NOT IN"> Not In </option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Value/<br/>subQuery</td>
|
||||
<td width="102"><textarea id="having" value="" cols="18"></textarea></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap">
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('OK'); ?>" onclick="add_object()" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="Close_option()" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td class="frams6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams4"><div class="bor"></div></td>
|
||||
<td class="frams7"></td>
|
||||
<td class="frams3"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_rename_to" style="visibility:<?php echo $hidden ?>;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="frams1" width="10px"></td>
|
||||
<td class="frams5" width="99%" ></td>
|
||||
<td class="frams2" width="10px"><div class="bor"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams8"></td>
|
||||
<td class="input_tab">
|
||||
<table width="168" border="0" align="center" cellpadding="2" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap"><strong>Rename To</strong></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="rename_to">
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">New Name</td>
|
||||
<td width="102">
|
||||
<input type="text" value="" id="e_rename"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap">
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Rename')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_rename_to').style.visibility = 'hidden';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td class="frams6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams4"><div class="bor"></div></td>
|
||||
<td class="frams7"></td>
|
||||
<td class="frams3"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_having" style="visibility:<?php echo $hidden ?>;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="frams1" width="10px"></td>
|
||||
<td class="frams5" width="99%" ></td>
|
||||
<td class="frams2" width="10px"><div class="bor"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams8"></td>
|
||||
<td class="input_tab">
|
||||
<table width="168" border="0" align="center" cellpadding="2" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap"><strong>Having</strong></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="rename_to">
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Operator</td>
|
||||
<td width="102"><select name="hoperator" id="hoperator">
|
||||
<option value="---" selected="selected">---</option>
|
||||
<option value="None" > None </option>
|
||||
<option value="sum" > Sum </option>
|
||||
<option value="min"> Min </option>
|
||||
<option value="max"> Max </option>
|
||||
<option value="avg"> Avg </option>
|
||||
<option value="count"> Count </option>
|
||||
</select>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Opeartor</td>
|
||||
<td width="102"><select name="hrel_opt" id="hrel_opt">
|
||||
<option value="--" selected="selected"> -- </option>
|
||||
<option value="=" > = </option>
|
||||
<option value=">"> > </option>
|
||||
<option value="<"> < </option>
|
||||
<option value=">="> >= </option>
|
||||
<option value="<="> <= </option>
|
||||
<option value="NOT"> NOT </option>
|
||||
<option value="IN"> IN </option>
|
||||
<option value="EXCEPT"> Except </option>
|
||||
<option value="NOT IN"> Not In </option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap">Value/<br />Subquery</td>
|
||||
<td><textarea id="hQuery" value="" cols="18"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap">
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Having')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_having').style.visibility = 'hidden';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td class="frams6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams4"><div class="bor"></div></td>
|
||||
<td class="frams7"></td>
|
||||
<td class="frams3"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_Aggregate" style="visibility:<?php echo $hidden ?>;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="frams1" width="10px"></td>
|
||||
<td class="frams5" width="99%" ></td>
|
||||
<td class="frams2" width="10px"><div class="bor"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams8"></td>
|
||||
<td class="input_tab">
|
||||
<table width="168" border="0" align="center" cellpadding="2" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap"><strong>Aggregate</strong></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Operator</td>
|
||||
<td width="102">
|
||||
<select name="operator" id="e_operator">
|
||||
<option value="---" selected="selected">---</option>
|
||||
<option value="sum" > Sum </option>
|
||||
<option value="min"> Min </option>
|
||||
<option value="max"> Max </option>
|
||||
<option value="avg"> Avg </option>
|
||||
<option value="avg"> Count </option>
|
||||
</select>
|
||||
</td></tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap">
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Aggregate')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_Aggregate').style.visibility = 'hidden';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td class="frams6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams4"><div class="bor"></div></td>
|
||||
<td class="frams7"></td>
|
||||
<td class="frams3"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_where" style="visibility:<?php echo $hidden ?>;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="frams1" width="10px"></td>
|
||||
<td class="frams5" width="99%" ></td>
|
||||
<td class="frams2" width="10px"><div class="bor"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams8"></td>
|
||||
<td class="input_tab">
|
||||
<table width="168" border="0" align="center" cellpadding="2" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap"><strong>Where</strong></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="rename_to">
|
||||
<tr>
|
||||
<td width="58" nowrap="nowrap">Opeartor</td>
|
||||
<td width="102"><select name="erel_opt" id="erel_opt">
|
||||
<option value="--" selected="selected"> -- </option>
|
||||
<option value="=" > = </option>
|
||||
<option value=">"> > </option>
|
||||
<option value="<"> < </option>
|
||||
<option value=">="> >= </option>
|
||||
<option value="<="> <= </option>
|
||||
<option value="NOT"> NOT </option>
|
||||
<option value="IN"> IN </option>
|
||||
<option value="EXCEPT"> Except </option>
|
||||
<option value="NOT IN"> Not In </option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap">Value/<br />Subquery</td>
|
||||
<td><textarea id="eQuery" value="" cols="18"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" align="center" nowrap="nowrap">
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Where')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_where').style.visibility = 'hidden';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td class="frams6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="frams4"><div class="bor"></div></td>
|
||||
<td class="frams7"></td>
|
||||
<td class="frams3"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php
|
||||
if($_REQUEST['query']) {
|
||||
echo '<div class="panel">';
|
||||
echo '<div style="clear:both;"></div>';
|
||||
echo '<div id="ab"></div>';
|
||||
echo '<div style="clear:both;"></div>';
|
||||
echo '</div>';
|
||||
echo '<a class="trigger" href="#">History</a>';
|
||||
echo '<div id="filter"></div>';
|
||||
echo '<div id="box">';
|
||||
echo '<span id="boxtitle"></span>';
|
||||
echo '<form method="post" action="pmd_general" target="_parent">';
|
||||
echo '<textarea cols="80" name="sql_query" id="textSqlquery" rows="15"></textarea><div id="tblfooter">';
|
||||
echo ' <input type="submit" name="submit_sql" class="btn">';
|
||||
echo ' <input type="button" name="cancel" value="Cancel" onClick="closebox()" class="btn">';
|
||||
echo '</div></p>';
|
||||
echo '</form></div>';
|
||||
|
||||
} ?>
|
||||
|
||||
|
||||
<!-- cache images -->
|
||||
<img src="pmd/images/2leftarrow_m.png" width="0" height="0" alt="" />
|
||||
<img src="pmd/images/rightarrow1.png" width="0" height="0" alt="" />
|
||||
|
Reference in New Issue
Block a user