コード例 #1
0
 echo '<table border="0">';
 echo sprintf('<tr>
                   <th>%s</th>
                   <th>&nbsp;</th>
                   <th>&nbsp;</th>
                   <th>%s</th>
                   <th>%s</th>
             </tr>', $strName, $strType, $strRoutineReturnType);
 $ct = 0;
 $delimiter = '//';
 foreach ($routines as $routine) {
     // information_schema (at least in MySQL 5.0.45)
     // does not return the routine parameters
     // so we rely on PMA_DBI_get_procedure_or_function_def() which
     // uses SHOW CREATE
     $definition = 'DROP ' . $routine['ROUTINE_TYPE'] . ' ' . PMA_backquote($routine['SPECIFIC_NAME']) . $delimiter . "\n" . PMA_DBI_get_procedure_or_function_def($db, $routine['ROUTINE_TYPE'], $routine['SPECIFIC_NAME']) . "\n";
     //if ($routine['ROUTINE_TYPE'] == 'PROCEDURE') {
     //    $sqlUseProc  = 'CALL ' . $routine['SPECIFIC_NAME'] . '()';
     //} else {
     //    $sqlUseProc = 'SELECT ' . $routine['SPECIFIC_NAME'] . '()';
     /* this won't get us far: to really use the function
        i'd need to know how many parameters the function needs and then create
        something to ask for them. As i don't see this directly in
        the table i am afraid that requires parsing the ROUTINE_DEFINITION
        and i don't really need that now so i simply don't offer
        a method for running the function*/
     //}
     if ($routine['ROUTINE_TYPE'] == 'PROCEDURE') {
         $sqlDropProc = 'DROP PROCEDURE ' . PMA_backquote($routine['SPECIFIC_NAME']);
     } else {
         $sqlDropProc = 'DROP FUNCTION ' . PMA_backquote($routine['SPECIFIC_NAME']);
コード例 #2
0
     $procedure_names = PMA_DBI_get_procedures_or_functions($db, 'PROCEDURE');
     if ($procedure_names) {
         foreach ($procedure_names as $procedure_name) {
             PMA_DBI_select_db($db);
             $tmp_query = PMA_DBI_get_procedure_or_function_def($db, 'PROCEDURE', $procedure_name);
             // collect for later display
             $GLOBALS['sql_query'] .= "\n" . $tmp_query;
             PMA_DBI_select_db($newname);
             PMA_DBI_query($tmp_query);
         }
     }
     $function_names = PMA_DBI_get_procedures_or_functions($db, 'FUNCTION');
     if ($function_names) {
         foreach ($function_names as $function_name) {
             PMA_DBI_select_db($db);
             $tmp_query = PMA_DBI_get_procedure_or_function_def($db, 'FUNCTION', $function_name);
             // collect for later display
             $GLOBALS['sql_query'] .= "\n" . $tmp_query;
             PMA_DBI_select_db($newname);
             PMA_DBI_query($tmp_query);
         }
     }
 }
 // go back to current db, just in case
 PMA_DBI_select_db($db);
 // Duplicate the bookmarks for this db (done once for each db)
 if ($db != $newname) {
     $get_fields = array('user', 'label', 'query');
     $where_fields = array('dbase' => $db);
     $new_fields = array('dbase' => $newname);
     PMA_Table::duplicateInfo('bookmarkwork', 'bookmark', $get_fields, $where_fields, $new_fields);
コード例 #3
0
ファイル: sql.php プロジェクト: findlakes/XSS-Platform
 /**
  * Outputs database footer
  *
  * @param   string      Database name
  *
  * @return  bool        Whether it suceeded
  *
  * @access  public
  */
 function PMA_exportDBFooter($db)
 {
     global $crlf;
     $result = TRUE;
     if (isset($GLOBALS['sql_constraints'])) {
         $result = PMA_exportOutputHandler($GLOBALS['sql_constraints']);
         unset($GLOBALS['sql_constraints']);
     }
     if (PMA_MYSQL_INT_VERSION >= 50000 && isset($GLOBALS['sql_structure']) && isset($GLOBALS['sql_procedure_function'])) {
         $procs_funcs = '';
         $delimiter = '$$';
         $procedure_names = PMA_DBI_get_procedures_or_functions($db, 'PROCEDURE');
         $function_names = PMA_DBI_get_procedures_or_functions($db, 'FUNCTION');
         if ($procedure_names || $function_names) {
             $procs_funcs .= $crlf . 'DELIMITER ' . $delimiter . $crlf;
         }
         if ($procedure_names) {
             $procs_funcs .= PMA_exportComment() . PMA_exportComment($GLOBALS['strProcedures']) . PMA_exportComment();
             foreach ($procedure_names as $procedure_name) {
                 if (!empty($GLOBALS['sql_drop_table'])) {
                     $procs_funcs .= 'DROP PROCEDURE ' . PMA_backquote($procedure_name) . $delimiter . $crlf;
                 }
                 $procs_funcs .= PMA_DBI_get_procedure_or_function_def($db, 'PROCEDURE', $procedure_name) . $delimiter . $crlf . $crlf;
             }
         }
         if ($function_names) {
             $procs_funcs .= PMA_exportComment() . PMA_exportComment($GLOBALS['strFunctions']) . PMA_exportComment();
             foreach ($function_names as $function_name) {
                 if (!empty($GLOBALS['sql_drop_table'])) {
                     $procs_funcs .= 'DROP FUNCTION ' . PMA_backquote($function_name) . $delimiter . $crlf;
                 }
                 $procs_funcs .= PMA_DBI_get_procedure_or_function_def($db, 'FUNCTION', $function_name) . $delimiter . $crlf . $crlf;
             }
         }
         if ($procedure_names || $function_names) {
             $procs_funcs .= 'DELIMITER ;' . $crlf;
         }
         if (!empty($procs_funcs)) {
             $result = PMA_exportOutputHandler($procs_funcs);
         }
     }
     return $result;
 }
コード例 #4
0
ファイル: sql.php プロジェクト: BGCX261/zhss-svn-to-git
 /**
  * Outputs database footer
  *
  * @param   string      Database name
  *
  * @return  bool        Whether it suceeded
  *
  * @access  public
  */
 function PMA_exportDBFooter($db)
 {
     global $crlf, $comment_marker;
     $result = TRUE;
     if (isset($GLOBALS['sql_constraints'])) {
         $result = PMA_exportOutputHandler($GLOBALS['sql_constraints']);
         unset($GLOBALS['sql_constraints']);
     }
     if (PMA_MYSQL_INT_VERSION >= 50000) {
         $procs_funcs = '';
         $procedure_names = PMA_DBI_get_procedures_or_functions($db, 'PROCEDURE');
         if ($procedure_names) {
             $delimiter = '$$';
             $procs_funcs = $crlf . $comment_marker . $crlf . $comment_marker . $GLOBALS['strProcedures'] . $crlf . $comment_marker . $crlf . $comment_marker . 'DELIMITER ' . $delimiter . $crlf . $comment_marker . $crlf;
             foreach ($procedure_names as $procedure_name) {
                 $procs_funcs .= PMA_DBI_get_procedure_or_function_def($db, 'PROCEDURE', $procedure_name) . $delimiter . $crlf . $crlf;
             }
             $procs_funcs .= $comment_marker . $crlf . $comment_marker . 'DELIMITER ;' . $crlf . $comment_marker . $crlf;
         }
         $function_names = PMA_DBI_get_procedures_or_functions($db, 'FUNCTION');
         if ($function_names) {
             $procs_funcs .= $comment_marker . $GLOBALS['strFunctions'] . $crlf . $comment_marker . $crlf . $crlf;
             foreach ($function_names as $function_name) {
                 $procs_funcs .= PMA_DBI_get_procedure_or_function_def($db, 'FUNCTION', $function_name) . $crlf . $crlf;
             }
         }
         if (!empty($procs_funcs)) {
             $result = PMA_exportOutputHandler($procs_funcs);
         }
     }
     return $result;
 }