public static function conduitUpdate($id) { $getConduit = DB::table('conduit_api')->where('id', '=', $id)->first(); $curlParams = array('apiPublic' => $getConduit->api_public_key, 'apiPrivate' => $getConduit->api_private_key); $curlParamString = ''; foreach ($curlParams as $key => $value) { $curlParamString .= $key . '=' . $value . '&'; } $conduit = APIController::conduitSend($getConduit->url_to_api_file, count($curlParams), $curlParamString); if ($conduit->output !== 'CONDUIT_CONNECTED') { if ($conduit->output === 'INVALID_PUB_OR_PRI') { echo 'Incorrect API keys provided for Conduit'; } else { echo 'Unknown error occurred, Conduit may be inaccessible'; } exit; } $performUpdate = $curlParamString . 'do=conduitUpdate'; $conduit = APIController::conduitSend($getConduit->url_to_api_file, 4, $performUpdate); $params = array('id' => $getConduit->id, 'conduitUri' => $getConduit->url_to_api_file); if ($conduit->output === 'CONDUIT_UPDATE_NOT_REQUIRED') { $params['updateOutput'] = 'Conduit is already up to date.'; } else { if ($conduit->output === 'CONDUIT_UPDATE_ERROR') { $params['updateOutput'] = 'Conduit failed to update - may not be able to write files.'; } else { if ($conduit->output === 'CONDUIT_UPDATE_SUCCESS') { $params['updateOutput'] = 'Conduit update successful.'; } else { $params['updateOutput'] = 'Unknown error occurred: ' . $conduit->output; } } } return ViewController::show('conduit.update', 'Conduit@' . $getConduit->url_to_api_file, $params, 'conduit'); }
}); // conduit generator Route::post('conjure', function () { return APIController::conjureConduit(); }); // conduit connection Route::get('connect/{id}', function ($id) { return APIController::conduitConnect($id); }); // conduit execute Route::post('execute/{id}', function ($id) { return APIController::conduitExecute($id); }); // conduit update Route::get('update/{id}', function ($id) { return APIController::conduitUpdate($id); }); }); // settings Route::get('/settings', function () { return SettingController::displaySettingsIndex(); }); Route::post('/settings', function () { return SettingController::displaySettingsIndex(); }); // DATABASE FUNCTIONS // database management Route::get('/manage-db/{dbName}', function ($dbName) { return DBController::fetchTablesForDatabase($dbName); }); Route::get('/drop-database/{dbName}', function ($dbName) {