<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
    <head>
 
        <title>MySQL StructMagic - Demo</title>
 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
        <meta name="copyright" content="Copyright Alen Pokos, 2008." />
 
        <meta name="author" content="Alen Pokos" />
 
        <meta name="email" content="[email protected]" />
 
        <meta name="Rating" content="Restricted" />
 
        <meta name="Robots" content="NOINDEX,NOFOLLOW" />
 
    </head>
 
    
 
    <body>
 
        <h1>MySQL StructMagic Demo - <a href="http://ghosap.com">Ghosap.com</a></h1>
 
        <?php
 
            //include class file
 
            require('class_mySqlStructMagic.php');
 
            
 
            //connection variables
 
            $mysql_server='localhost';
 
            $mysql_username='root';
 
            $mysql_password='password';
 
            $mysql_database='myDatabase';
 
            
 
            $mysql_connection = mysql_connect($mysql_server, $mysql_username, $mysql_password);
 
        ?>
 
        <form method="post" action="demo.php#result">
 
            <input type="hidden" name="action" value="exportXml" />
 
            <fieldset>
 
                <legend>Export database to XML</legend>
 
                <label>Filename * : </label><input type="text" name="filename" value="<?php echo $mysql_database.'_'.date("Ymd").'.xml'; ?>" /><br />
 
                <input type="submit" value="Export" /><br />
 
                <sub>* Leave empty to output the database XML</sub>
 
            </fieldset>
 
        </form>
 
        <br />
 
        <form method="post" action="demo.php#result">
 
            <input type="hidden" name="action" value="exportPhp" />
 
            <fieldset>
 
                <legend>Export database to Php</legend>
 
                <label>Var Name * : </label><input type="text" name="varname" value="<?php echo $mysql_database; ?>" /><br />
 
                <label>Filename ** : </label><input type="text" name="filename" value="<?php echo $mysql_database.'_'.date("Ymd").'.php'; ?>" /><br />
 
                <input type="submit" value="Export" /><br />
 
                <sub>* If empty, defaults to 'database'</sub><br />
 
                <sub>** Leave empty to output the database php code</sub>
 
            </fieldset>
 
        </form>
 
        <br />
 
        <form method="post" action="demo.php#result">
 
            <input type="hidden" name="action" value="getDiffSql" />
 
            <fieldset>
 
                <legend>Get difference sql from exported to current</legend>
 
                <label>Var Name * : </label><input type="text" name="varname" value="<?php echo $mysql_database; ?>" /><br />
 
                <label>Filename ** : </label><input type="text" name="filename" /><br />
 
                <input type="submit" value="Show" /><br />
 
                <sub>* Var name used with php export, empty to let program handle it</sub><br />
 
                <sub>** File where export was made</sub>
 
            </fieldset>
 
        </form>
 
        <br />
 
        <form method="post" action="demo.php#result">
 
            <fieldset id="result">
 
                <legend>Result of selected operation</legend>
 
                <pre>
 
                <?php
 
                    //init object
 
                    $dbStructMagic = new mySqlStructMagic($mysql_connection, $mysql_database);
 
                    
 
                    echo "Active database : $mysql_database  \n\n";
 
                    
 
                    switch($_POST['action'])
 
                    {
 
                        case 'exportXml':
 
                            echo "ExportXml : \n";
 
                            $filename = ( empty($_POST['filename']) ) ? false : $_POST['filename'] ;
 
                            $status = $dbStructMagic->exportXtml($filename);
 
                            print_r( ( $status === true ) ? "Operation successfull, saved to $filename" : htmlspecialchars($status) );
 
                        break;
 
                        case 'exportPhp':
 
                            echo "ExportPhp : \n";
 
                            $filename = ( empty($_POST['filename']) ) ? false : $_POST['filename'] ;
 
                            $varname = ( empty($_POST['varname']) ) ? false : $_POST['varname'] ;
 
                            $status = $dbStructMagic->exportPhp($varname, $filename);
 
                            print_r( ( $status === true ) ? "Operation successfull, saved to $filename" : htmlspecialchars($status) );
 
                        break;
 
                        case 'getDiffSql':
 
                            echo "Get Difference Sql : \n";
 
                            $filename = ( empty($_POST['filename']) ) ? false : $_POST['filename'] ;
 
                            $varname = ( empty($_POST['varname']) ) ? false : $_POST['varname'] ;
 
                            $dbStructMagic->importPhp($varname,$filename);
 
                            $diff = $dbStructMagic->getDiffSql();
 
                            if( empty($diff) )
 
                            {
 
                                echo "Database up to date with source";
 
                            }
 
                            else
 
                            {
 
                                $iCnt=1;
 
                                foreach($diff as $label=>$command)
 
                                {
 
                                    ?><br /><label><?php echo $label; ?></label><br /><?php if(!empty($command)){ ?><textarea rows="5" cols="125"  name="queries[<?php echo $iCnt; ?>]"><?php echo $command; ?></textarea><br /><input type="checkbox" name="selects[<?php echo $iCnt; ?>]" value="<?php echo $iCnt; ?>" />Select<?php } ?><br /><?php
 
                                    $iCnt ++;
 
                                }
 
                                ?><input type="hidden" name="action" value="executeSql" /><?php
 
                                ?><br /><input type="submit" value="Execute selected queries" /><?php
 
                            }
 
                        break;
 
                        case 'executeSql':
 
                            //open mysql connection
 
                            mysql_connect($mysql_server,$mysql_username,$mysql_password);
 
                            mysql_select_db($mysql_database);
 
                            
 
                            if( !is_array($_POST['selects']) )
 
                            {
 
                                $_POST['selects'] = array($_POST['selects']);
 
                            }
 
                            foreach($_POST['selects'] as $iCnt)
 
                            {
 
                                if( empty($_POST['queries'][$iCnt]) )
 
                                {
 
                                    continue;
 
                                }
 
                                $status = @mysql_query(stripslashes($_POST['queries'][$iCnt]));
 
                                if(!$status)
 
                                {
 
                                    echo "<br/>Failed : ".stripslashes($_POST['queries'][$iCnt]).", Reason : ".mysql_error()." <br />";
 
                                }
 
                                else
 
                                {
 
                                    echo "<br/>Ok : ".stripslashes($_POST['queries'][$iCnt])." <br />";
 
                                }
 
                            }
 
                        break;
 
                        default:
 
                            echo "No operation selected";
 
                    }
 
                    $dbStructMagic->endClean();
 
                ?>
 
                </pre>
 
            </fieldset>
 
        </form>
 
        <p>
 
            <a href="http://ghosap.com">Alen Pokos</a> © 2008, version 0.8, build 01082008
 
        </p>
 
    </body>
 
</html>
 
 |