Exemple #1
0
 case 'create-schema':
     $success = true;
     $log = '';
     $data = json_decode($_REQUEST['data']['connection']);
     $dbUser = $data->user;
     $dbPass = $data->password;
     $dbHost = $data->host;
     $dbName = $data->name;
     $dbConnection = mysqli_connect($dbHost, $dbUser, $dbPass) or $success = false;
     if ($success) {
         $sql = "CREATE DATABASE IF NOT EXISTS `" . $dbName . "`";
         $result = mysqli_query($dbConnection, $sql) or $success = false;
         if ($success) {
             mysqli_select_db($dbConnection, $dbName) or $success = false;
             if ($success) {
                 $success = generateSchema($dbConnection, $createSchemaScript);
             }
         } else {
             $log .= mysqli_error($dbConnection);
         }
     }
     if ($success) {
         jecho($success);
         mysqli_close($dbConnection);
     } else {
         error_500($log);
     }
     break;
     /**
      *  Inserting cameras in database
      */
     //clear folder
     delFolderTree($folder, false);
 }
 //load definitions (USE CACHE)
 $dtStructs = getAllDetailTypeStructures(false);
 $dtTerms = getTerms(false);
 $ind_parentid = $dtTerms['fieldNamesToIndex']['trm_ParentTermID'];
 $ind_label = $dtTerms['fieldNamesToIndex']['trm_Label'];
 $ind_descr = $dtTerms['fieldNamesToIndex']['trm_Description'];
 // $unsupported was original specification, but this will stuff up if new types are added
 $supported = array('freetext', 'blocktext', 'integer', 'date', 'year', 'boolean', 'enum', 'float', 'file', 'resource');
 //$unsupported = array('relmarker','relationtype','separator','calculated','fieldsetmarker','urlinclude','geo');
 // Note: Geos are supported, but FAIMS uses a different methodology for recording them, that is they are an implicit part of every record
 $content_a16n = null;
 //file_put_contents($folder."/project.settings", $projname." and basic information 3");
 file_put_contents($folder . "/data_schema.xml", generateSchema($projname, $rt_toexport, $rt_geoenabled));
 file_put_contents($folder . "/ui_schema.xml", generate_UI_Schema($projname, $rt_toexport, $rt_geoenabled));
 file_put_contents($folder . "/arch16N.properties", arrToProps());
 file_put_contents($folder . "/ui_logic.bsh", generate_Logic($projname, $rt_toexport, $rt_toexport_toplevel, $rt_geoenabled));
 file_put_contents($folder . "/style.css", getStyling());
 //copy("ui_logic.bsh", $folder."/ui_logic.bsh"); //this is a Java beanshell file which provides the operational  logic for the tablet interface
 //CREATE ZIPFILE
 if (file_exists($folder . ".zip")) {
     unlink($folder . ".zip");
 }
 $cmdline = "zip -r -j " . $folder . ".zip " . $folder;
 $res1 = 0;
 $output1 = exec($cmdline, $output, $res1);
 if ($res1 != 0) {
     echo "<p class='error'>Exec error code {$res1}: Unable to create zip file {$folder}.zip>&nbsp;<br>";
     echo $output;