} if (strpos($tt[0], '*') !== false) { $rights .= "'Preceding privilege'"; } if ($rights == "") { continue; } $rights = substr($rights, 0, strlen($rights) - 1); $sql .= "(SELECT '" . ($t[0] != '' ? $t[0] : 'PUBLIC') . "', '" . ($t[0] != '' ? $t[0] : 'PUBLIC') . "', '" . $rights . "', '" . $tt[1] . "')"; } $rs->moveNext(); } if ($sql == "") { $sql = "SELECT 1 FROM " . $lstParams['view'] . " WHERE 1=2"; } list_process($db, $lstParams, $sql); break; case "viewPriv::lst_del_records": $sql = ""; $ids = split(',', $lstParams['req_ids']); foreach ($ids as $k => $v) { $sql .= "REVOKE ALL PRIVILEGES ON " . $lstParams['view'] . " FROM {$v};\\n"; } print "top.execCommand(\"" . $sql . "\", 'top.elements.viewPriv.output();');"; break; case "viewPrivAdd::edit_get_data": $sql = "SELECT null"; edit_process($db, $lstParams, $sql); break; case "viewPrivAdd::edit_field_list": $sql = "SELECT 'PUBLIC', 'PUBLIC'\n\t\t\t\tUNION ALL\n\t\t\t\t(SELECT usename, usename FROM pg_user ORDER BY usename)\n\t\t\t\tUNION ALL\n\t\t\t\t(SELECT 'GROUP ' || groname, 'GROUP: ' || groname FROM pg_group ORDER BY groname)";
$_SESSION['tmp_sql'] = "EXPLAIN ANALYZE " . $sql; $rs = $db->execute("EXPLAIN ANALYZE " . $sql); if (!is_array($db->res_fields)) { print "<script>\n\t\t\t\t\twindow.onload = pload;\n\t\t\t\t\tfunction pload() {\n\t\t\t\t\t\tparent.document.getElementById('display').innerHTML = '<div style=\"padding: 10px; color: red;\">" . $db->res_errMsg . "</div>';\n\t\t\t\t\t}\n\t\t\t\t</script>"; die; } else { print "<script>\n\t\t\t\t\t\t\twindow.onload = pload;\n\t\t\t\t\t\t\tfunction pload() {"; } // -- list $fields = $db->res_fields; print "top.elements.execData.columns = [];\n"; foreach ($fields as $k => $v) { print "top.elements.execData.addColumn('{$v}', '', 'Text', '');\n"; } // output list print "top.elements.execData.output();"; print "} </script>"; die; break; } } // -- list edit class functions switch ($lstParams['req_name'] . "::" . $lstParams['req_cmd']) { case "execData::lst_get_data": $sql = $_SESSION['tmp_sql']; list_process($db, $lstParams, $sql, "SELECT 50"); break; default: print "alert('List command is not recognized: " . $lstParams['req_name'] . "::" . $lstParams['req_cmd'] . "');"; break; }