[[!FormIt? &hooks=`redirect,install_bash_script` &redirectTo=`20` &store=`1` &zen_inst_db_server=`[[+fi.dbserver]]` &zen_inst_db_name=`[[+fi.dbname]]` &zen_inst_db_user=`[[+fi.dbuser]]` &zen_inst_db_u_pass=`[[+fi.dbpassword]]` &customValidators=`install_validation` &validate=`dbserver:required, dbname:required, dbuser:required, dbpassword:required, custom_validation_flag:install_validation` ]] <p>Database Connection test</p> <p> </p> [[!+fi.error.error_message:notempty=` <p>[[!+fi.error.error_message]]</p> `]] <form class="form" action="[[~[[*id]]]]" method="post"> <input name="formid" type="hidden" value="zenInstall" /> <input name="custom_validation_flag" type="hidden" value="1" /> [[!+fi.error.custom_validation_flag]] <fieldset> <legend>Database Details</legend> <p> <label>Database Server</label> [[!+fi.error.dbserver]] <select id="dbserver" name="dbserver"> <option value="mysql.ourdomain.co.uk" [[!+fi.dbserver:FormItIsSelected=`mysql.ourdomain.co.uk`]]>mysql.ourdomain.co.uk</option> <option value="hotel.ourdomain.co.uk" [[!+fi.dbserver:FormItIsSelected=`hotel.ourdomain.co.uk`]]>dev-mysql.ourdomain.co.uk</option> </select></p> <p> <label>Database Name:</label> [[!+fi.error.dbname]] <input id="dbname" class="field" maxlength="40" name="dbname" size="40" type="text" value="[[!+fi.dbname]]" /> </p> <p> <label>Database Username:</label> [[!+fi.error.dbuser]] <input id="dbuser" class="field" maxlength="40" name="dbuser" size="40" type="text" value="[[!+fi.dbuser]]" /> </p> <p> <label>Database Password:</label> [[!+fi.error.dbpassword]] <input id="dbpassword" class="field" maxlength="40" name="dbpassword" size="40" type="text" value="[[!+fi.dbpassword]]" /> </p> </fieldset> <input name="submit" type="submit" value="Run Script" /> </form>
<?php $db_server = $modx->getOption('zen_inst_db_server',$scriptProperties); $db_name = $modx->getOption('zen_inst_db_name',$scriptProperties); $db_u_name = $modx->getOption('zen_inst_db_user',$scriptProperties); $db_u_pass = $modx->getOption('zen_inst_db_u_pass',$scriptProperties); $db_server=(string)$db_server; $db_u_name=(string)$db_u_name; $db_u_pass=(string)$db_u_pass; $zdb_server = ereg_replace("[^A-Za-z0-9\. ]", "", "$db_server"); echo $zdb_server; //check db $link = @ mysql_connect($db_server,$db_u_name,$db_u_pass); if (!$link) { $validator->addError('custom_validation_flag','Database Connection Problem'); echo mysql_error(); return false; }else{ mysql_close($link); } return true;