$upd_query .= ' ON DELETE ' . $on_delete; } if ($on_update != 'nix') { $upd_query .= ' ON UPDATE ' . $on_update; } PMA_DBI_try_query($upd_query) or PMD_return_new(0, __('Error: Relation not added.')); PMD_return_new(1, __('FOREIGN KEY relation added')); } // internal (pmadb) relation } else { if ($GLOBALS['cfgRelation']['relwork'] == false) { PMD_return_new(0, _('General relation features') . ':' . _('Disabled')); } else { // no need to recheck if the keys are primary or unique at this point, // this was checked on the interface part $q = 'INSERT INTO ' . PMA_backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_backquote($cfgRelation['relation']) . '(master_db, master_table, master_field, foreign_db, foreign_table, foreign_field)' . ' values(' . '\'' . PMA_sqlAddslashes($db) . '\', ' . '\'' . PMA_sqlAddslashes($T2) . '\', ' . '\'' . PMA_sqlAddslashes($F2) . '\', ' . '\'' . PMA_sqlAddslashes($db) . '\', ' . '\'' . PMA_sqlAddslashes($T1) . '\',' . '\'' . PMA_sqlAddslashes($F1) . '\')'; if (PMA_query_as_controluser($q, false, PMA_DBI_QUERY_STORE)) { PMD_return_new(1, __('Internal relation added')); } else { PMD_return_new(0, __('Error: Relation not added.')); } } } function PMD_return_new($b, $ret) { global $db, $T1, $F1, $T2, $F2; header("Content-Type: text/xml; charset=utf-8"); //utf-8 .$_GLOBALS['charset'] header("Cache-Control: no-cache"); die('<root act="relation_new" return="' . $ret . '" b="' . $b . '" DB1="' . urlencode($db) . '" T1="' . urlencode($T1) . '" F1="' . urlencode($F1) . '" DB2="' . urlencode($db) . '" T2="' . urlencode($T2) . '" F2="' . urlencode($F2) . '"></root>'); }
$upd_query .= ' ON DELETE ' . $on_delete; } if ($on_update != 'nix') { $upd_query .= ' ON UPDATE ' . $on_update; } PMA_DBI_try_query($upd_query) or PMD_return_new(0, 'strErrorRelationAdded'); PMD_return_new(1, 'strForeignKeyRelationAdded'); } // internal (pmadb) relation } else { if ($GLOBALS['cfgRelation']['relwork'] == false) { PMD_return_new(0, 'strGeneralRelationFeat:strDisabled'); } else { // no need to recheck if the keys are primary or unique at this point, // this was checked on the interface part $q = 'INSERT INTO ' . PMA_backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_backquote($cfgRelation['relation']) . '(master_db, master_table, master_field, foreign_db, foreign_table, foreign_field)' . ' values(' . '\'' . PMA_sqlAddslashes($db) . '\', ' . '\'' . PMA_sqlAddslashes($T2) . '\', ' . '\'' . PMA_sqlAddslashes($F2) . '\', ' . '\'' . PMA_sqlAddslashes($db) . '\', ' . '\'' . PMA_sqlAddslashes($T1) . '\',' . '\'' . PMA_sqlAddslashes($F1) . '\')'; if (PMA_query_as_controluser($q, false, PMA_DBI_QUERY_STORE)) { PMD_return_new(1, 'strInternalRelationAdded'); } else { PMD_return_new(0, 'strErrorRelationAdded'); } } } function PMD_return_new($b, $ret) { global $db, $T1, $F1, $T2, $F2; header("Content-Type: text/xml; charset=utf-8"); //utf-8 .$_GLOBALS['charset'] header("Cache-Control: no-cache"); die('<root act="relation_new" return="' . $ret . '" b="' . $b . '" DB1="' . urlencode($db) . '" T1="' . urlencode($T1) . '" F1="' . urlencode($F1) . '" DB2="' . urlencode($db) . '" T2="' . urlencode($T2) . '" F2="' . urlencode($F2) . '"></root>'); }