update 3983453
This commit is contained in:
112
.gitignore
vendored
Normal file
112
.gitignore
vendored
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
#.env
|
||||||
|
#.env.test
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
#dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and *not* Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
._.DS_Store
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
# RewriteCond %{REQUEST_FILENAME} !-d
|
# RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
# RewriteRule . /portal/admin/index.php [L]
|
# RewriteRule . /portal/admin/index.php [L]
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
Options -Indexes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,8 +31,11 @@
|
|||||||
let gen_nam = "d"+self.app.utils.randomGenerator(12) + "." + file.name.split('.').pop();
|
let gen_nam = "d"+self.app.utils.randomGenerator(12) + "." + file.name.split('.').pop();
|
||||||
let content_type = self.getMimiType(file.name);
|
let content_type = self.getMimiType(file.name);
|
||||||
// let urlparams = `/portal/admin/core/api/php/request.php?getdoc=true&ref=${ref_num}&name=${gen_nam}&content_type=${content_type}`;
|
// let urlparams = `/portal/admin/core/api/php/request.php?getdoc=true&ref=${ref_num}&name=${gen_nam}&content_type=${content_type}`;
|
||||||
let urlparams = `/portal/api/data/downloads?getdoc=true&ref=${ref_num}&name=${gen_nam}&content_type=${content_type}`;
|
let urlparams = `?getdoc=true&ref=${ref_num}&name=${gen_nam}&content_type=${content_type}`;
|
||||||
let doc_url = self.app.extra.config.managed_domain.Address + urlparams;
|
let doc_url = `https://api.${self.app.extra.config.managed_domain.Domain}/v1/data/downloads${urlparams}`;
|
||||||
|
let doc_url2 = `${self.app.extra.config.managed_domain.Address2}/portal/admin/core/api/php/request.php${urlparams}`;
|
||||||
|
// https://www.appfactory.studio/portal/api/data/downloads?getdoc=true&ref=doc888072803282&name=djnUwMIfNWmiK.png&content_type=image/png
|
||||||
|
// https://api.appfactory.studio/v1/data/downloads?getdoc=true&ref=doc888072803282&name=djnUwMIfNWmiK.png&content_type=image/png
|
||||||
|
|
||||||
let fileobj = self._NewFileObject(
|
let fileobj = self._NewFileObject(
|
||||||
file.name,
|
file.name,
|
||||||
@@ -40,8 +43,9 @@
|
|||||||
file.size,
|
file.size,
|
||||||
file.type,
|
file.type,
|
||||||
new Date().toLocaleString(),
|
new Date().toLocaleString(),
|
||||||
"/mnt/"+self.app.extra.config.managed_domain.SystemUser+"/modules/documents",
|
"/mnt/node1/"+self.app.extra.config.managed_domain.SystemUser+"/modules/documents",
|
||||||
doc_url,
|
doc_url,
|
||||||
|
doc_url2,
|
||||||
ref_num,
|
ref_num,
|
||||||
catogery,
|
catogery,
|
||||||
jsondata);
|
jsondata);
|
||||||
@@ -81,6 +85,8 @@
|
|||||||
req.open("POST", requesturl);
|
req.open("POST", requesturl);
|
||||||
req.send(formData);
|
req.send(formData);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -88,7 +94,7 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_NewFileObject: function(on,gn,fs,ft,ud,loc,url,ref,cat,jsondata){
|
_NewFileObject: function(on,gn,fs,ft,ud,loc,url,url2,ref,cat,jsondata){
|
||||||
return {
|
return {
|
||||||
"original_name": on,
|
"original_name": on,
|
||||||
"generated_name": gn,
|
"generated_name": gn,
|
||||||
@@ -97,6 +103,7 @@
|
|||||||
"upload_date": ud,
|
"upload_date": ud,
|
||||||
"directory": loc,
|
"directory": loc,
|
||||||
"url": url,
|
"url": url,
|
||||||
|
"url2": url2,
|
||||||
"reference_num": ref,
|
"reference_num": ref,
|
||||||
"catagory": cat,
|
"catagory": cat,
|
||||||
"json": jsondata
|
"json": jsondata
|
||||||
@@ -220,6 +227,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
getDocumentUrl(document,managed_domain){
|
||||||
|
let url = document.url;
|
||||||
|
if(window.location.href.includes(managed_domain.Domain)){
|
||||||
|
url = document.url;
|
||||||
|
}else{
|
||||||
|
url = document.url2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
})(function(bootstrap) {
|
})(function(bootstrap) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function init(app){
|
function init(app){
|
||||||
app.extra.current.documents = {};
|
app.extra.current.documents = {};
|
||||||
AFSSpinner.showFullScreen(true);
|
AFSSpinner.showFullScreen(true);
|
||||||
@@ -20,6 +21,7 @@
|
|||||||
app.extra.extras.RequestDocuments(100,function(documents){
|
app.extra.extras.RequestDocuments(100,function(documents){
|
||||||
if(app.extra.documents==undefined){ app.extra.documents = documents; }
|
if(app.extra.documents==undefined){ app.extra.documents = documents; }
|
||||||
|
|
||||||
|
app.extra.instances.documents.setDocuments(documents);
|
||||||
AFSSpinner.showFullScreen(false);
|
AFSSpinner.showFullScreen(false);
|
||||||
_init(app);
|
_init(app);
|
||||||
},app.extra.documents,true,app);
|
},app.extra.documents,true,app);
|
||||||
@@ -32,7 +34,8 @@
|
|||||||
function append_files(documents,app){
|
function append_files(documents,app){
|
||||||
let ids = [];
|
let ids = [];
|
||||||
let rowsHtml = "";
|
let rowsHtml = "";
|
||||||
for (let i = 0; i < documents.length; i++) {
|
// for (let i = 0; i < documents.length; i++) {
|
||||||
|
for (let i = documents.length - 1; i >= 0; i--) {
|
||||||
const index = i;
|
const index = i;
|
||||||
const document = documents[i];
|
const document = documents[i];
|
||||||
const id = "m"+app.utils.randomGenerator(12);
|
const id = "m"+app.utils.randomGenerator(12);
|
||||||
@@ -70,7 +73,7 @@
|
|||||||
console.log(params);
|
console.log(params);
|
||||||
AFSSpinner.showFullScreen(false);
|
AFSSpinner.showFullScreen(false);
|
||||||
modal.toggle();
|
modal.toggle();
|
||||||
let documents = app.extra.documents;
|
let documents = app.extra.instances.documents.files; // app.extra.documents;
|
||||||
append_files(documents,app);
|
append_files(documents,app);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -126,10 +129,11 @@
|
|||||||
|
|
||||||
function displayImageEditor(app){
|
function displayImageEditor(app){
|
||||||
// Image editor
|
// Image editor
|
||||||
|
let url = app.extra.instances.documents.getDocumentUrl(app.extra.current.documents.document.obj, app.extra.config.managed_domain);
|
||||||
var imageEditor = new tui.ImageEditor('#tui-image-editor-container2', {
|
var imageEditor = new tui.ImageEditor('#tui-image-editor-container2', {
|
||||||
includeUI: {
|
includeUI: {
|
||||||
loadImage: {
|
loadImage: {
|
||||||
path: app.extra.current.documents.document.obj.url, //'img/sampleImage2.png',
|
path: url, //'img/sampleImage2.png',
|
||||||
name: 'SampleImage',
|
name: 'SampleImage',
|
||||||
},
|
},
|
||||||
// theme: blackTheme, // or whiteTheme
|
// theme: blackTheme, // or whiteTheme
|
||||||
@@ -150,7 +154,7 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// console.log(app.extra.current.documents);
|
||||||
if(app.utils.imageExists(app.extra.current.documents.document.obj.url)){
|
if(app.utils.imageExists(app.extra.current.documents.document.obj.url)){
|
||||||
if(app.utils.isFileType("image",app.extra.current.documents.document.obj.generated_name)){
|
if(app.utils.isFileType("image",app.extra.current.documents.document.obj.generated_name)){
|
||||||
// console.log(imageExists(app.extra.current.documents.document.obj.url));
|
// console.log(imageExists(app.extra.current.documents.document.obj.url));
|
||||||
@@ -163,12 +167,6 @@
|
|||||||
$("#document_status_message").text("File missing!");
|
$("#document_status_message").text("File missing!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
console.log(app.extra.current.documents.document);
|
|
||||||
// console.log(imageEditor);
|
|
||||||
// console.log(tui);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function UpdateDocuments(action,mydocument,app,cb){
|
function UpdateDocuments(action,mydocument,app,cb){
|
||||||
@@ -210,7 +208,7 @@
|
|||||||
<th class="w-1"></th>
|
<th class="w-1"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody id="documents_table_body">
|
||||||
${rows}
|
${rows}
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -264,99 +262,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
$("#_______add_document_btn12121").on("click",function(e){
|
|
||||||
e.preventDefault();
|
|
||||||
let modal = new bootstrap.Modal("#modal_upload_document");
|
|
||||||
modal.toggle();
|
|
||||||
|
|
||||||
$("#modal_upload_new_file_btn").off();
|
|
||||||
$("#modal_upload_new_file_btn").on("click",function(e){
|
|
||||||
e.preventDefault();
|
|
||||||
AFSSpinner.showFullScreen(true);
|
|
||||||
|
|
||||||
let file = $('#modal_document_file_upload_input').prop('files')[0];
|
|
||||||
|
|
||||||
let fileobj = NewFileObject(
|
|
||||||
file.name,
|
|
||||||
"d"+app.utils.randomGenerator(12) + "." + file.name.split('.').pop(),
|
|
||||||
file.size,
|
|
||||||
file.type,
|
|
||||||
new Date().toLocaleString(),
|
|
||||||
"/mnt/"+app.extra.config.managed_domain.SystemUser+"/modules/documents",
|
|
||||||
"none");
|
|
||||||
|
|
||||||
console.log(file);
|
|
||||||
console.log(fileobj);
|
|
||||||
app.extra.config.configurations.documents[0].json.files.push(fileobj);
|
|
||||||
|
|
||||||
UploadDocument(file, fileobj, app, function(resp){
|
|
||||||
console.log(resp);
|
|
||||||
let senddata2 = {
|
|
||||||
configurations_update: true,
|
|
||||||
mysql_id: app.extra.config.configurations.documents[0].json.mysql_id,
|
|
||||||
data: JSON.stringify(app.extra.config.configurations.documents[0].json)
|
|
||||||
}
|
|
||||||
$.post(app.extra.url,senddata2,function(resp2){
|
|
||||||
AFSSpinner.showFullScreen(false);
|
|
||||||
console.log(resp2);
|
|
||||||
RemoveModal(modal);
|
|
||||||
|
|
||||||
append_files(app);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
//
|
|
||||||
|
|
||||||
// var form_data = new FormData();
|
|
||||||
// form_data.append('file', file_data);
|
|
||||||
// console.log(file_data);
|
|
||||||
|
|
||||||
|
|
||||||
// let fi = document.getElementById('modal_document_file_upload_input');
|
|
||||||
// const fsize = fi.files.item(0).size;
|
|
||||||
// const file = Math.round((fsize / 1024));
|
|
||||||
// // The size of the file.
|
|
||||||
// if (file >= 4096) {
|
|
||||||
// console.log("yes");
|
|
||||||
// }else{
|
|
||||||
// console.log("no");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// $.ajax({
|
|
||||||
// url: app.extra.url + "?upload=true", // <-- point to server-side PHP script
|
|
||||||
// dataType: 'text', // <-- what to expect back from the PHP script, if anything
|
|
||||||
// cache: false,
|
|
||||||
// contentType: false,
|
|
||||||
// processData: false,
|
|
||||||
// data: form_data,
|
|
||||||
// type: 'post',
|
|
||||||
// success: function(php_script_response){
|
|
||||||
// alert(php_script_response); // <-- display response from the PHP script, if any
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// RemoveModal(modal);
|
|
||||||
// let senddata = {
|
|
||||||
// configurations_update:true,
|
|
||||||
// mysql_id: app.extra.config.configurations.documents[0].mysql_id,
|
|
||||||
// data: JSON.stringify(app.extra.config.configurations.documents[0])
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $.post(app.extra.url,senddata,function(resp){
|
|
||||||
// console.log(resp);
|
|
||||||
// });
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -391,53 +296,10 @@
|
|||||||
$('body').css("overflow","");
|
$('body').css("overflow","");
|
||||||
$('body').css("padding-right","");
|
$('body').css("padding-right","");
|
||||||
}
|
}
|
||||||
function NewFileObject(on,gn,fs,ft,ud,loc,url){
|
|
||||||
return {
|
|
||||||
"original_name": on,
|
|
||||||
"generated_name": gn,
|
|
||||||
"file_size": fs,
|
|
||||||
"file_type": ft,
|
|
||||||
"upload_date": ud,
|
|
||||||
"location": loc,
|
|
||||||
"url": url
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// deprecated - used in afsdocuments
|
|
||||||
function UploadDocument(file,obj,app,cb){
|
|
||||||
|
|
||||||
let formData = new FormData();
|
|
||||||
// these values are switched
|
|
||||||
let datauploadUrl = "datauploadUrl";//sponsorship.json.request.dataupload;
|
|
||||||
let fileuploadUrl = "fileuploadUrl";//sponsorship.json.request.fileupload;
|
|
||||||
formData.append(fileuploadUrl, file);
|
|
||||||
formData.append(datauploadUrl, JSON.stringify(obj));
|
|
||||||
|
|
||||||
let req = new XMLHttpRequest();
|
|
||||||
req.addEventListener('progress', function(e) {
|
|
||||||
var done = e.position || e.loaded, total = e.totalSize || e.total;
|
|
||||||
// console.log('---progress: ' + (Math.floor(done/total*1000)/10) + '%');
|
|
||||||
}, false);
|
|
||||||
if ( req.upload ) {
|
|
||||||
// self.upload_in_progress = true;
|
|
||||||
req.upload.onprogress = function(e) {
|
|
||||||
var done = e.position || e.loaded, total = e.totalSize || e.total;
|
|
||||||
// console.log(' req.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%');
|
|
||||||
};
|
|
||||||
}
|
|
||||||
req.onreadystatechange = function(e) {
|
|
||||||
if ( 4 == this.readyState ) {
|
|
||||||
// console.log(e.target.responseText)
|
|
||||||
if(cb!=undefined){
|
|
||||||
cb(e.target.responseText,e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let requesturl = app.extra.url;// afsconfig.managed_domain.Address + "/" + sponsorship.json.request.url
|
|
||||||
req.open("POST", requesturl);
|
|
||||||
req.send(formData);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init,
|
init,
|
||||||
|
|||||||
@@ -679,6 +679,10 @@ function getSubdomain2($dboverride = false) {
|
|||||||
}
|
}
|
||||||
$subdomain = str_replace("\n", "", $subdomain);
|
$subdomain = str_replace("\n", "", $subdomain);
|
||||||
$subdomain = trim($subdomain, " ");
|
$subdomain = trim($subdomain, " ");
|
||||||
|
|
||||||
|
if($subdomain!="www" || $subdomain!="www15"){
|
||||||
|
$subdomain = "www";
|
||||||
|
}
|
||||||
return $subdomain;
|
return $subdomain;
|
||||||
}
|
}
|
||||||
function get_subdomain_managed_domain_new_way($subdomain,$dboverride = false){
|
function get_subdomain_managed_domain_new_way($subdomain,$dboverride = false){
|
||||||
@@ -8341,6 +8345,8 @@ function admin_documents_delete_document(){
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// rrrrr
|
||||||
function api_data_downloads(){
|
function api_data_downloads(){
|
||||||
// if (Input::get('getdoc')) {
|
// if (Input::get('getdoc')) {
|
||||||
$subdomain = getSubdomain2();
|
$subdomain = getSubdomain2();
|
||||||
@@ -8357,6 +8363,8 @@ function api_data_downloads(){
|
|||||||
$content_type = Input::get("content_type");
|
$content_type = Input::get("content_type");
|
||||||
$content_type = ($content_type) ? $content_type : "image/$ext";
|
$content_type = ($content_type) ? $content_type : "image/$ext";
|
||||||
$filename = $fileDir . $file;
|
$filename = $fileDir . $file;
|
||||||
|
|
||||||
|
// https://api.appfactory.studio/v1/data/downloads?getdoc=true&ref=doc888072803282&name=djnUwMIfNWmiK.png&content_type=image/png
|
||||||
if (file_exists($filename))
|
if (file_exists($filename))
|
||||||
{
|
{
|
||||||
header('Content-Description: File Transfer');
|
header('Content-Description: File Transfer');
|
||||||
@@ -8374,7 +8382,9 @@ function api_data_downloads(){
|
|||||||
die();
|
die();
|
||||||
}else{
|
}else{
|
||||||
// echo $filename;
|
// echo $filename;
|
||||||
echo "";
|
// echo "no file $subdomain $filename ";
|
||||||
|
|
||||||
|
// EchoJsonObject($managed_domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
// }
|
// }
|
||||||
@@ -8448,7 +8458,8 @@ function handleUploadFile(){
|
|||||||
"file_type" => $data2["file_type"],
|
"file_type" => $data2["file_type"],
|
||||||
"upload_date" => $data2["upload_date"],
|
"upload_date" => $data2["upload_date"],
|
||||||
"directory" => $data2["directory"],
|
"directory" => $data2["directory"],
|
||||||
"url" => $data2["url"]
|
"url" => $data2["url"],
|
||||||
|
"url2" => $data2["url2"]
|
||||||
));
|
));
|
||||||
// {
|
// {
|
||||||
// "success" : 1,
|
// "success" : 1,
|
||||||
|
|||||||
@@ -128,10 +128,14 @@ CREATE TABLE IF NOT EXISTS documents (
|
|||||||
upload_date VARCHAR(255) NULL,
|
upload_date VARCHAR(255) NULL,
|
||||||
directory VARCHAR(255) NULL,
|
directory VARCHAR(255) NULL,
|
||||||
url VARCHAR(255) NULL,
|
url VARCHAR(255) NULL,
|
||||||
|
url2 VARCHAR(255) NULL,
|
||||||
jsontext MEDIUMTEXT,
|
jsontext MEDIUMTEXT,
|
||||||
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
|
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- ALTER TABLE documents CREATE COLUMN url2 VARCHAR(255) NULL;
|
||||||
|
|
||||||
|
|
||||||
-- Forms
|
-- Forms
|
||||||
CREATE TABLE IF NOT EXISTS forms (
|
CREATE TABLE IF NOT EXISTS forms (
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
|||||||
@@ -272,18 +272,18 @@ function run_install()
|
|||||||
chmod 775 -R /home/$systemuser/
|
chmod 775 -R /home/$systemuser/
|
||||||
|
|
||||||
mkdir -p /home/$systemuser/gitfolder/
|
mkdir -p /home/$systemuser/gitfolder/
|
||||||
if [ -d "${basedirectory}/www/.vscode" ]; then
|
# if [ -d "${basedirectory}/www/.vscode" ]; then
|
||||||
mv ${basedirectory}/www/.vscode /home/$systemuser/gitfolder/
|
# mv ${basedirectory}/www/.vscode /home/$systemuser/gitfolder/
|
||||||
fi
|
# fi
|
||||||
if [ -f "${basedirectory}/www/.gitignore" ]; then
|
# if [ -f "${basedirectory}/www/.gitignore" ]; then
|
||||||
mv ${basedirectory}/www/.gitignore /home/$systemuser/gitfolder/
|
# mv ${basedirectory}/www/.gitignore /home/$systemuser/gitfolder/
|
||||||
fi
|
# fi
|
||||||
if [ -d "${basedirectory}/www/.git" ]; then
|
# if [ -d "${basedirectory}/www/.git" ]; then
|
||||||
mv ${basedirectory}/www/.git /home/$systemuser/gitfolder/
|
# mv ${basedirectory}/www/.git /home/$systemuser/gitfolder/
|
||||||
fi
|
# fi
|
||||||
if [ -f "${basedirectory}/www/README.md" ]; then
|
# if [ -f "${basedirectory}/www/README.md" ]; then
|
||||||
mv ${basedirectory}/www/README.md /home/$systemuser/gitfolder/
|
# mv ${basedirectory}/www/README.md /home/$systemuser/gitfolder/
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# TODO_1: Should I be using type.txt
|
# TODO_1: Should I be using type.txt
|
||||||
echo $subdomain > ${basedirectory}/www/portal/type.txt
|
echo $subdomain > ${basedirectory}/www/portal/type.txt
|
||||||
@@ -353,34 +353,6 @@ function run_mysql_database()
|
|||||||
basedirectory="/home/$systemuser/websites"
|
basedirectory="/home/$systemuser/websites"
|
||||||
log2="/mnt/node1/appfactorystudio/logs/remote_logger2.log"
|
log2="/mnt/node1/appfactorystudio/logs/remote_logger2.log"
|
||||||
|
|
||||||
# sleep 5
|
|
||||||
# echo "" &>> $log2
|
|
||||||
# echo "===== mysql_password" &>> $log2
|
|
||||||
# echo "$mysql_password" &>> $log2
|
|
||||||
|
|
||||||
# echo "" &>> $log2
|
|
||||||
# echo "===== CONFIG_JSON" &>> $log2
|
|
||||||
# echo "$CONFIG_JSON" &>> $log2
|
|
||||||
|
|
||||||
# echo "" 2>&1 >> $log2
|
|
||||||
# echo "===== MAIN_DIR" &>> $log2
|
|
||||||
# echo "$MAIN_DIR" &>> $log2
|
|
||||||
|
|
||||||
# echo "" 2>&1 >> $log2
|
|
||||||
# echo "===== db_username" &>> $log2
|
|
||||||
# echo "$db_username" &>> $log2
|
|
||||||
|
|
||||||
# echo "" 2>&1 >> $log2
|
|
||||||
# echo "===== db_name" &>> $log2
|
|
||||||
# echo "$db_name" &>> $log2
|
|
||||||
|
|
||||||
# if [ -d "/home/${systemuser}/websites/www/portal/" ]; then
|
|
||||||
# echo "DOES EXIST NOW 1 - $systemuser" &>> $log2
|
|
||||||
# else
|
|
||||||
# echo "DOES NOT EXIST NOW 2 - $systemuser" &>> $log2
|
|
||||||
# fi
|
|
||||||
|
|
||||||
|
|
||||||
mysql -p"${mysql_password}" -u root -e "CREATE DATABASE IF NOT EXISTS ${db_name}"; 2>&1 >> $log2
|
mysql -p"${mysql_password}" -u root -e "CREATE DATABASE IF NOT EXISTS ${db_name}"; 2>&1 >> $log2
|
||||||
mysql -p"${mysql_password}" -u root -e "CREATE USER '${db_username}'@'localhost' IDENTIFIED BY '${db_password}'"; 2>&1 >> $log2
|
mysql -p"${mysql_password}" -u root -e "CREATE USER '${db_username}'@'localhost' IDENTIFIED BY '${db_password}'"; 2>&1 >> $log2
|
||||||
mysql -p"${mysql_password}" -u root -e "GRANT ALL ON ${db_name}.* TO '${db_username}'@'localhost'"; 2>&1 >> $log2
|
mysql -p"${mysql_password}" -u root -e "GRANT ALL ON ${db_name}.* TO '${db_username}'@'localhost'"; 2>&1 >> $log2
|
||||||
|
|||||||
@@ -1,3 +1,79 @@
|
|||||||
|
|
||||||
|
########## BEGIN RECOMMENDED RULES (COMMENT OUT OR UNCOMMENT AS NEEDED) ##########
|
||||||
|
|
||||||
|
### htaccess (https://github.com/delight-im/htaccess)
|
||||||
|
### Copyright (c) delight.im (https://www.delight.im/)
|
||||||
|
### Licensed under the MIT License (https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
Header set Access-Control-Allow-Origin "*"
|
||||||
|
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
|
||||||
|
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
|
||||||
|
|
||||||
|
<IfModule mod_autoindex.c>
|
||||||
|
|
||||||
|
# Turn off directory listings for folders without default documents
|
||||||
|
Options -Indexes
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_negotiation.c>
|
||||||
|
|
||||||
|
# Disable 'MultiViews' implicit filename pattern matches
|
||||||
|
Options -MultiViews
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Serve "text/plain" and "text/html" documents as UTF-8 by default
|
||||||
|
AddDefaultCharset utf-8
|
||||||
|
|
||||||
|
# Disable "ETag" headers so that browsers rely on the "Cache-Control" and "Expires" headers
|
||||||
|
FileETag None
|
||||||
|
|
||||||
|
<ifModule mod_headers.c>
|
||||||
|
|
||||||
|
# Enable HTTP Strict Transport Security (HSTS) with a duration of six months (Uncomment 1 line below)
|
||||||
|
# Header set Strict-Transport-Security max-age=15778800
|
||||||
|
|
||||||
|
</ifModule>
|
||||||
|
|
||||||
|
|
||||||
|
<ifModule mod_rewrite.c>
|
||||||
|
# Force 'www' (i.e. prefix the "bare" domain and all subdomains with 'www' through permanent redirects) (Uncomment 6 lines below)
|
||||||
|
# RewriteCond %{HTTP_HOST} !^$
|
||||||
|
# RewriteCond %{HTTP_HOST} !^www\. [NC]
|
||||||
|
# RewriteCond %{HTTPS}s ^on(s)|
|
||||||
|
# # RewriteCond %{REQUEST_SCHEME} ^http(s)|
|
||||||
|
# # RewriteCond %{SERVER_PORT}s ^443(s)|
|
||||||
|
# RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||||
|
|
||||||
|
# Force HTTPS (Uncomment 4 lines below)
|
||||||
|
# RewriteCond %{HTTPS} off
|
||||||
|
# # RewriteCond %{REQUEST_SCHEME} http
|
||||||
|
# # RewriteCond %{SERVER_PORT} !443
|
||||||
|
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Prevent access to non-minified CSS and JS (Uncomment 3 lines below)
|
||||||
|
# <FilesMatch "(?<!.min)\.(css|js)$">
|
||||||
|
# Require all denied
|
||||||
|
# </FilesMatch>
|
||||||
|
|
||||||
|
# Show a custom error document for "404 Not Found" errors (Uncomment 1 line below)
|
||||||
|
# ErrorDocument 404 /notFound.html
|
||||||
|
|
||||||
|
# Announce contact information for security issues (Uncomment 2 lines below)
|
||||||
|
# Header set X-Vulnerability-Disclosure "https://www.example.com/security"
|
||||||
|
# Header set X-Security-Contact "security@example.com"
|
||||||
|
|
||||||
|
########## END RECOMMENDED RULES ##########
|
||||||
|
|
||||||
|
########## BEGIN CUSTOM RULES (YOUR OWN RULES GO HERE) ##########
|
||||||
|
|
||||||
|
# Add your rules here ...
|
||||||
|
|
||||||
|
########## END CUSTOM RULES ##########
|
||||||
|
|
||||||
<IfModule mod_rewrite.c>
|
<IfModule mod_rewrite.c>
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||||
@@ -7,3 +83,32 @@
|
|||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
RewriteRule . /v1/data/index.php [L]
|
RewriteRule . /v1/data/index.php [L]
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header set Access-Control-Allow-Origin "*"
|
||||||
|
|
||||||
|
|
||||||
|
# Prevent clickjacking (forbids framing by third-party sites)
|
||||||
|
Header set X-Frame-Options sameorigin
|
||||||
|
|
||||||
|
# Prevent content sniffing (MIME sniffing)
|
||||||
|
Header set X-Content-Type-Options nosniff
|
||||||
|
|
||||||
|
# Attempt to enable XSS filters in browsers, if available, and block reflected XSS
|
||||||
|
Header set X-XSS-Protection "1; mode=block"
|
||||||
|
|
||||||
|
# Cache media files for a month
|
||||||
|
<FilesMatch "\.(js|css|jpg|jpeg|png|svg|webp|gif|ico|ogg|mp4|webm)$">
|
||||||
|
Header set Cache-Control max-age=2629800
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# Remove response headers that provide no value but leak information
|
||||||
|
Header always unset X-Powered-By
|
||||||
|
|
||||||
|
Header unset Server
|
||||||
|
|
||||||
|
# Disable "ETag" headers so that browsers rely on the "Cache-Control" and "Expires" headers
|
||||||
|
Header unset ETag
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user