-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.cfc
65 lines (59 loc) · 1.45 KB
/
utils.cfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
component {
function init(){
this.cfpm = new cfpm();
this.request = this.cfpm.require('request');
return this;
}
function upperCaseWords(string){
return ReReplace(string,"\b(\w)","\u\1","ALL");
}
function parseQueryString(string){
var data = {};
var items = ListToArray(string, '&');
for(var item in items){
var split = ListToArray(item, '=');
data[split[1]] = split[2];
}
return data;
}
function time(time='', format=''){
if(time == ''){
return DateDiff("s", CreateDate(1970,1,1), Now());
}
if(IsValid('integer', time)){
var date = DateAdd("s", time, CreateDateTime(1970, 1, 1, 0, 0, 0));
if(format != ''){
format = format == true ? 'short' : format;
return dateTimeFormat(date, format);
}
return date;
}
if(IsValid('time', time)){
if(format != ''){
format = format == true ? 'short' : format;
return dateTimeFormat(time, format);
}
var dateTime = parseDateTime(time);
var timestamp = DateDiff("s", CreateDate(1970,1,1), dateTime);
return timestamp;
}
}
function sortArrayofStructs(array, key, order='asc'){
var keys = [];
var type = 'text';
for(var record in array){
type = isNumeric(record[key]) ? 'numeric' : type;
ArrayAppend(keys, record[key]);
}
ArraySort(keys, type, order);
var sortedArray = [];
for(var index in keys){
for(var record in array){
if(index == record[key]){
ArrayAppend(sortedArray, record);
}
}
}
return sortedArray;
}
}