//net-core-util
$path = function()
{
return "../../";
}
function _externLoadComponent(resolv, reject, tag)
{
fetch("core/comp/comp.php?comp="+tag+"&path="+Comp.path)
.then((response) => response.text())
.then((text) =>
{
var json = "//"+ tag + "\n"+text;
eval(json);
if(newStyle)
{
var div = document.createElement("DIV");
div.innerHTML = "";
document.body.appendChild(div);
}
resolv(comp)
})
.catch((error) => reject(error));
}
async function api(path, data)
{
var headers = new Headers({ 'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8' });
var request = data? {request :JSON.stringify(data)}:{};
var params =
{
method: 'post',
body: new URLSearchParams(request),
headers: headers
}
var post = await fetch(path,params);
var result = {};
var res_text = "";
try
{
res_text = await post.text();
result = res_text?JSON.parse(res_text):{};
} catch (error)
{
result = {};
result.error = error
result.text = res_text;
}
return result;
}
function getLength(input)
{
return (input && typeof input == "object")? Object.keys(input).length:0;
}
function getDatetimeString()
{
var d = new Date();
var year = d.getFullYear();
var month = ("0"+(d.getMonth()+1)).slice(-2)
var day = ("0" + d.getDate()).slice(-2);
var hours = ("0" + d.getHours()).slice(-2);
var mins = ("0" + d.getMinutes()).slice(-2);
var secs = ("0" + d.getSeconds()).slice(-2);
return year + "-" + month + "-" + day + " " + hours + ":" + mins + ":" +secs;
}
function filterObj(obj,...keys)
{
if(!obj || isEmpty(obj)) return {};
console.log(keys);
var clone = deepCopy(obj);
var output = {};
if(keys)
{
for(var key in keys)
{
var obj_key = keys[key];
output[obj_key] = clone[obj_key]
}
}
return output;
}
function deepCopy(inObj)
{
var outObj, value, key;
if (typeof inObj !== "object" || inObj === null)
{
return inObj;
}
// Create an array or object to hold the values
outObj = Array.isArray(inObj) ? [] : {}
for (key in inObj)
{
value = inObj[key]
// Recursively (deep) copy for nested objects, including arrays
outObj[key] = deepCopy(value)
}
return outObj
}
function isEmpty(obj)
{
if(!obj)return true;
if(obj.constructor === Object && Object.keys(obj).length === 0) return true;
if(obj.constructor === Array && obj.length === 0) return true;
return false;
}
function getKeys(obj)
{
if(!obj)return [];
if(obj.constructor === Object) return Object.keys(obj);
if(obj.constructor === Array) return obj.keys();
}
function mergeDeep(target, source)
{
let output = Object.assign({}, target);
if (isObject(target) && isObject(source))
{
Object.keys(source).forEach(key =>
{
if (isObject(source[key]))
{
if (!(key in target)) Object.assign(output, { [key]: source[key] });
else output[key] = mergeDeep(target[key], source[key]);
}
else
{
Object.assign(output, { [key]: source[key] });
}
});
}
return output;
}
function isObject(item)
{
return (item && typeof item === 'object' && !Array.isArray(item));
}
var Util=
{
getAuthData(user)
{
var auth_data = {};
var result = "";
var characters = "0123456789101112131415ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var charactersLength = characters.length;
for (var i = 0; i < 34; i++)
{
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
auth_data.auth_hash = result;
var date_time_created = this.formatDateTime(new Date());
auth_data.auth_created = date_time_created;
var login_date = new Date();
login_date.setDate(login_date.getDate());
var date_time_login = this.formatDateTime(login_date);
auth_data.auth_logged_in = date_time_login;
auth_data.auth_deleted = 0;
auth_data.user_id = user.id;
return auth_data;
},
getData(api)
{
var res = api.response||{};
return res.data || {};
},
setTableAction(table,action,request)
{
request =request|| {};
request.table = table;
request.action = action;
return request;
},
formatDateTime(date)
{
var dd = String(date.getDate()).padStart(2, '0');
var mm = String(date.getMonth() + 1).padStart(2, '0');
var yyyy = date.getFullYear();
var time = date.toString().split(' ')[4];
date = yyyy + '-' + mm + '-' + dd + ' ' + time;
return date;
},
validateEmail(email_address)
{
var error = true;
var mail_format = /[^@]+@[^.]+\.[^.]+/g;
if (!email_address.match(mail_format))
{
error = false;
}
return error;
},
isNumber(num)
{
var valid_chars = "0123456789";
var is_number = true;
var char;
for (i = 0; i < num.length && is_number == true; i++)
{
char = num.charAt(i);
if (valid_chars.indexOf(char) == -1) is_number = false;
}
return is_number;
}
}
//net-core-comp
Comp = function(){}
Comp.initMain = function(comp,input_data)
{
this.vue = new Vue
({
el:"#main",
data:
{
comp:"",
compProps:null,
},
created()
{
Comp.Load(this,comp,input_data);
},
methods:
{
vFire(comp,event_name,data)
{
var parms = {};
parms.data = data;
parms.path = this.getCompPath(comp);
this.$emit(event_name,parms);
}
,
vHook(comp,event_name,call,fire_path)
{
if(!this.hooks) this.hooks = {};
var hook = {}
hook.event_name = event_name;
hook.call = call;
hook.path = fire_path;
this.hooks[this.getCompPath(comp)] = hook;
var event = this._events[event_name];
if(!event)
{
this.$on(event_name,e=>
{
for(var path in this.hooks)
{
var hook = this.hooks[path];
if(hook.event_name == event_name)
{
var canHook = true;
if(hook.path && e.path != hook.path)canHook = false;
if(canHook && hook.call && typeof hook.call == "function") hook.call(e);
}
}
});
}
},
isEmpty(val)
{
return isEmpty(val);
},
debug(val)
{
console.log("debug",val);
return "test!";
},
getCompPath(comp)
{
var path = comp.$vnode.tag;
return path.substring(16, path.length);
}
}
});
}
Comp.vFire = function(comp,event_name,data)
{
this.vue.vFire(comp,event_name,data);
}
Comp.vHook = function(comp,event_name,call,fire_path)
{
this.vue.vHook(comp,event_name,call,fire_path);
}
Comp.setPath = function(path)
{
this.path = path;
}
Comp.Load = function(comp,comp_path,comp_data)
{
if(!comp) console.info("No Comp");
if(comp_path.substr(0,1)=="/") comp_path = "net"+comp_path.replace(/\//g,"-");
comp.comp = comp_path;
if(!comp_data) comp_data = {};
comp.compProps = comp_data;
}
//net-main
window.onload = async function()
{
Comp.setPath($path());
Comp.initMain("/comp/home_main");
// Comp.initMain("/comp/coming_soon");
await api("./data/db_init.php");
}
window.unload = async function()
{
window.localStorage.removeItem("competition");
}
async function comp_api(data={})
{
return await api("./core/db/api.php",data)||{};
}
//net-main-methods-auth
var Auth =
{
save(data)
{
var auth_data = DB.save("auth",data);
return auth_data;
},
deleteAuth(data)
{
DB.deleteAuth("auth",data);
},
getAuthFromAuthHash(data)
{
var auth_data = DB.getAuthFromAuthHash("auth",data);
return auth_data;
}
}
//net-main-methods-client
var Client =
{
save(data)
{
var client_data = DB.save("client",data);
return client_data;
},
edit(data)
{
var client_data = DB.edit("client",data);
return client_data;
},
getClientIdFromUserId(data)
{
var client_id = DB.fetchClientId("user_client", data);
return client_id;
},
getClientIdFromOrderId(data)
{
var client_id = DB.getClientIdFromOrderId("client_order", data);
return client_id;
},
getClientFromClientId(data)
{
var client_data = DB.fetchClientFromClientId("client", data);
return client_data;
},
fetchClientFromEmail(email)
{
var client_data = DB.fetchClientFromClientEmail("client", email);
return client_data;
}
}
//net-main-methods-client_order_link
var ClientOrderLink =
{
save(order_id, client_id)
{
var client_order_link = {};
client_order_link.order_id = order_id;
client_order_link.client_id = client_id;
console.log(client_order_link)
var client_data = DB.save("client_order", client_order_link);
return client_data;
}
}
//net-main-methods-contact_us
var ContactUs =
{
save(data)
{
var contact_us = DB.save("contact_us",data);
return contact_us;
}
}
//net-main-methods-db
var DB =
{
async setlink(table,parent_id,child_type,child_id,data,id)
{
request = Util.setTableAction(table,"update");
request.data ={};
request.data.parent_id = parent_id;
request.data.child_type = child_type;
request.data.child_id = child_id;
if(data)request.data.data = JSON.stringify(data);
if(id)request.data.id = id;
return await comp_api(request);
},
async getLinks(table,parent,parent_id,child_type,child_id,request)
{
request = Util.setTableAction(table,"list",request);
request.join = "INNER JOIN "+child_type+" ON "+child_type+".id = child_id ";
request.join += "INNER JOIN "+parent+" ON "+parent+".id = parent_id ";
if(child_type)request.where = "WHERE child_type = '"+child_type+"' ";
if(parent_id)request.where += "WHERE parent_id="+parent_id+" ";
if(child_id)request.where += "WHERE child_id = "+child_id;
return Util.getData(await comp_api(request)||{});
},
async removeLinks(table,client_id,child)
{
if(!client_id && isEmpty(child)) return {};
request = Util.setTableAction(table,"delete");
request.data = {}
if(!isEmpty(child))
{
request.data.where = "WHERE child_id = " +child.id+" ";
request.data.where += "WHERE child_type = '" +child.type+"' ";
}
else if(client_id)request.data.where = "WHERE client_id = " +client_id;
return request.data.where ? await comp_api(request):{};
},
async save(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"update");
request.data = data;
var save_data = Util.getData(await comp_api(request));
return save_data;
},
async edit(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"edit_address");
request.data = data;
var save_data = Util.getData(await comp_api(request));
return save_data;
},
async fetchUser(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"select_user");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async fetchClientId(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"select_client_id");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async getUserIdFromClientId(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"get_user_id_from_client_id");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async getClientIdFromOrderId(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"get_client_id_from_order_id");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async fetchClientFromClientId(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"select_client_from_client_id");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async fetchClientFromClientEmail(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"select_client_from_client_email");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async getAuthFromAuthHash(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"select_auth_from_auth_hash");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async getUserFromUserId(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"get_user_from_user_id");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async deleteAuth(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"delete_auth");
request.data = data;
var save_data = Util.getData(await comp_api(request));
return save_data;
},
async getOrderFromOrderNumber(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"get_order_from_order_number");
request.data = data;
var user_fetch = Util.getData(await comp_api(request));
return user_fetch;
},
async editOrder(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"edit_order");
request.data = data;
var edit_data = Util.getData(await comp_api(request));
return edit_data;
},
async getOrders(table,data)
{
if(!data) return {};
request = Util.setTableAction(table,"get_orders");
request.data = data;
var order_fetch = Util.getData(await comp_api(request));
return order_fetch;
},
}
//net-main-methods-order
var Order =
{
save(order, date, order_number, pickup_date, pic_del, order_cancelled, payment_type)
{
var order_data = {};
order_data.data = JSON.stringify(order);
order_data.date_order = date;
order_data.order_number = order_number;
order_data.pic_del_date = pickup_date;
order_data.pic_del = pic_del;
order_data.order_cancelled = order_cancelled;
order_data.payment_type = payment_type;
var order_data = DB.save("order_info",order_data);
return order_data;
},
getOrderFromOrderNumber(data)
{
var client_id = DB.getOrderFromOrderNumber("order_info", data);
return client_id;
},
cancelOrder(order_number, order_cancelled)
{
var order_data = {};
order_data.order_cancelled = order_cancelled
order_data.order_number = order_number;
var order_data = DB.editOrder("order_info",order_data);
return order_data;
},
getOrders(from_date, to_date)
{
var order_data = {};
order_data.from_date = from_date;
order_data.to_date = to_date;
var order = DB.getOrders("order_info",order_data);
return order;
}
}
//net-main-methods-user
var User =
{
save(data)
{
var user_data = DB.save("user",data);
return user_data;
},
getUserFromUserId(data)
{
var user_data = DB.getUserFromUserId("user",data);
return user_data;
},
getUserIdFromClientId(data)
{
var client_id = DB.getUserIdFromClientId("user_client", data);
return client_id;
},
}
//net-main-methods-user_link_client
var UserLinkClient =
{
save(user_id, client_id)
{
var user_link_client = {};
user_link_client.user_id = user_id;
user_link_client.client_id = client_id;
var client_data = DB.save("user_client", user_link_client);
return client_data;
}
}
//net-main-methods-user_login
var UserLogin =
{
fetchUser(data)
{
var user_data = DB.fetchUser("user",data);
return user_data;
}
}