Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
addcpm-json
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Александр Чаплыгин
addcpm-json
Commits
cc66f538
Commit
cc66f538
authored
Nov 16, 2018
by
Александр Чаплыгин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Обработка получения данных стат. за период с пустым результатом
parent
b0b46f66
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
199 additions
and
1669 deletions
+199
-1669
styles-contacts.css
src/public/css/styles-contacts.css
+144
-0
cpatables.js
src/public/js/adm/cpatables.js
+0
-0
jquery.sortTable.js
src/public/js/adm/jquery.sortTable.js
+0
-107
jquery.table2excel.js
src/public/js/adm/jquery.table2excel.js
+0
-208
offer-page.js
src/public/js/adm/offer-page.js
+0
-0
offers.js
src/public/js/adm/offers.js
+0
-160
orders.js
src/public/js/adm/orders.js
+0
-0
partners.js
src/public/js/adm/partners.js
+0
-136
service-actions.js
src/public/js/adm/service-actions.js
+3
-65
sites.js
src/public/js/adm/sites.js
+0
-227
sites_form.js
src/public/js/adm/sites_form.js
+0
-0
skin-page.js
src/public/js/adm/skin-page.js
+0
-146
supports.js
src/public/js/adm/supports.js
+0
-88
teasers-templates.js
src/public/js/adm/teasers-templates.js
+0
-120
translations.js
src/public/js/adm/translations.js
+0
-5
users.js
src/public/js/adm/users.js
+0
-54
users_form.js
src/public/js/adm/users_form.js
+0
-258
vacancies-edit.js
src/public/js/adm/vacancies-edit.js
+0
-40
vacancies.js
src/public/js/adm/vacancies.js
+0
-35
script-feeds-stat.js
src/public/js/script-feeds-stat.js
+29
-6
SystemAction.php
src/src/App/Action/Admin/SystemAction.php
+10
-11
Cabinet.php
src/src/App/Action/User/Cabinet.php
+4
-0
StatsDays.php
src/src/App/Model/Feeds/StatsDays.php
+4
-0
cabinet-feed.phtml
src/templates/app/user/cabinet-feed.phtml
+5
-3
No files found.
src/public/css/styles-contacts.css
0 → 100644
View file @
cc66f538
/* Таблица стилей к странице контактов */
.b-content__title
{
padding
:
85px
0
25px
;
display
:
-webkit-flex
;
display
:
flex
;
height
:
260px
;
background-image
:
url('../img/bg-tittle-contact.jpg')
;
background-size
:
cover
;
background-position
:
center
;
background-repeat
:
no-repeat
;
}
.b-content__title
.wrapp
{
margin
:
auto
;
height
:
auto
;
}
.b-content__title
h1
{
text-align
:
center
;
color
:
#FFFFFF
;
margin-bottom
:
10px
;
}
.b-content__title
p
.lead
{
text-align
:
center
;
color
:
#FFFFFF
;
}
.b-content__form
{
padding
:
60px
0
90px
;
}
.b-content__form
.wrapp
{
}
.b-content__form
h2
{
color
:
#333333
;
margin-bottom
:
50px
;
}
.b-content__form-our-contacts
{
}
.b-content__form-our-contacts
li
{
position
:
relative
;
padding-top
:
0.35em
;
padding-left
:
50px
;
margin-bottom
:
35px
;
}
.b-content__form-our-contacts
li
:last-child
{
margin-bottom
:
0px
;
}
.b-content__form-our-contacts
li
:before
{
position
:
absolute
;
display
:
block
;
content
:
''
;
left
:
0
;
height
:
1.5rem
;
width
:
1.5rem
;
background-position
:
center
;
background-repeat
:
no-repeat
;
background-size
:
contain
;
border-radius
:
50%
;
}
.b-content__form-our-contacts
li
.tel
:before
{
background-image
:
url('../img/icon-telephone.svg')
;
}
.b-content__form-our-contacts
li
.email
:before
{
background-image
:
url('../img/icon-email.svg')
;
}
.b-content__form-our-contacts
li
.skype
:before
{
background-image
:
url('../img/icon-skype.svg')
;
}
.b-content__form-our-contacts
li
a
{
font-family
:
'AABebasNeue'
;
font-size
:
1.7rem
;
color
:
#333333
;
}
.b-content__form-container
{
position
:
relative
;
}
.b-content__form-container
form
h2
{
margin-bottom
:
20px
;
}
.b-content__form-container
.textarea
,
.b-content__form-container
form
textarea
{
font-weight
:
normal
;
}
.message-sent
.b-content__form-container
form
{
opacity
:
0
;
pointer-events
:
none
;
}
.b-content__form-finish
{
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
height
:
100%
;
width
:
100%
;
display
:
none
;
background
:
#FFFFFF
;
}
.b-content__form-finish-inner
{
margin-top
:
2.5rem
;
padding-top
:
115px
;
background-image
:
url('../img/bg-send-message.svg')
;
background-size
:
100px
75px
;
background-repeat
:
no-repeat
;
background-position
:
center
top
;
}
.b-content__form-finish-inner
h2
{
text-align
:
center
;
font-size
:
1.2rem
;
margin-bottom
:
10px
;
color
:
#39B54A
;
}
.b-content__form-finish-inner
p
{
text-align
:
center
;
font-size
:
1rem
;
}
@media
(
max-width
:
768px
)
{
.b-content__title
{
height
:
auto
;
}
.b-content__contact
.input.input--akira
{
width
:
100%
;
}
.b-content__contact
input
[
type
=
"submit"
]
{
width
:
100%
;
}
}
@media
(
max-width
:
550px
)
{
.b-content__title
{
padding
:
100px
10px
50px
;
}
.b-content__form
{
padding
:
30px
0
30px
;
}
.b-content__form
h2
{
text-align
:
center
;
}
.b-content__form-container
form
{
margin-top
:
50px
;
}
span
+
input
[
type
=
"submit"
]
{
margin-top
:
20px
;
}
}
\ No newline at end of file
src/public/js/adm/cpatables.js
deleted
100644 → 0
View file @
b0b46f66
This diff is collapsed.
Click to expand it.
src/public/js/adm/jquery.sortTable.js
deleted
100644 → 0
View file @
b0b46f66
;(
function
(
$
){
var
jqPluginName
=
'sortTable'
;
var
sortPlugin
=
function
(
element
,
options
)
{
var
self
=
this
;
var
config
=
$
.
extend
(
true
,
{},
$
.
fn
[
jqPluginName
].
defaults
,
options
);
config
.
context
=
element
;
config
.
$columnItems
=
$
(
config
.
columnItems
,
config
.
context
);
this
.
addDataItems
=
function
()
{
config
.
dataItems
=
[];
config
.
$itemsRows
=
$
(
config
.
itemsRows
,
config
.
context
);
var
$itemRow
;
config
.
$itemsRows
.
each
(
function
(
i
,
e
){
$itemRow
=
$
(
e
);
config
.
dataItems
.
push
({
tr
:
$itemRow
,
// строка в таблице
//trHtml: $itemRow.get(0).outerHTML,
id
:
parseInt
(
$
.
trim
(
$
(
'.item-id'
,
$itemRow
).
text
())),
timestamp
:
$
.
trim
(
$
(
'.item-timestamp'
,
$itemRow
).
text
()),
browser
:
$
.
trim
(
$
(
'.item-browser'
,
$itemRow
).
text
()),
country
:
$
.
trim
(
$
(
'.item-country'
,
$itemRow
).
text
()),
site
:
$
.
trim
(
$
(
'.item-site'
,
$itemRow
).
text
()),
offer
:
$
.
trim
(
$
(
'.item-offer'
,
$itemRow
).
text
()),
land
:
$
.
trim
(
$
(
'.item-land'
,
$itemRow
).
text
()),
status
:
$
.
trim
(
$
(
'.item-status'
,
$itemRow
).
text
()),
price
:
$
.
trim
(
$
(
'.item-price'
,
$itemRow
).
text
()),
views
:
parseInt
(
$
.
trim
(
$
(
'.item-views'
,
$itemRow
).
text
())),
clicks
:
parseInt
(
$
.
trim
(
$
(
'.item-clicks'
,
$itemRow
).
text
())),
ctr
:
parseFloat
(
$
.
trim
(
$
(
'.item-ctr'
,
$itemRow
).
text
())),
orders
:
parseInt
(
$
.
trim
(
$
(
'.item-orders'
,
$itemRow
).
text
())),
cl
:
parseFloat
(
$
.
trim
(
$
(
'.item-cl'
,
$itemRow
).
text
())),
money
:
parseFloat
(
$
.
trim
(
$
(
'.item-money'
,
$itemRow
).
text
())),
cpc
:
parseFloat
(
$
.
trim
(
$
(
'.item-cpc'
,
$itemRow
).
text
())),
cpm
:
parseFloat
(
$
.
trim
(
$
(
'.item-cpm'
,
$itemRow
).
text
())),
});
});
}
this
.
addDataItems
();
self
.
InitData
=
function
()
{
this
.
addDataItems
();
}
// Клик по названию колонки для сортировки:
config
.
$columnItems
.
click
(
function
()
{
// Сортировка в таблице
var
sortField
=
$
(
this
).
data
(
'sort'
),
sortAsc
=
$
(
this
).
attr
(
'data-sortasc'
);
$
(
this
).
attr
(
'data-sortasc'
,
-
sortAsc
);
config
.
dataItems
.
sort
(
function
(
a
,
b
)
{
if
(
sortAsc
<
0
)
{
return
(
a
[
sortField
]
>
b
[
sortField
])
?
1
:
-
1
;
}
else
{
return
(
a
[
sortField
]
<
b
[
sortField
])
?
1
:
-
1
;
}
});
// Переписываем таблицу:
var
$table
=
$
(
config
.
context
),
$tableBody
=
$
(
'tbody'
,
$table
),
//$tableBody = $table.find('tbody').first(),
$tableContent
=
$
(
'<tbody>'
);
for
(
var
i
=
0
;
i
<
config
.
dataItems
.
length
;
i
++
)
{
(
config
.
dataItems
[
i
].
tr
).
appendTo
(
$tableContent
);
}
$tableBody
.
html
(
''
).
append
(
$tableContent
.
children
());
});
config
.
context
.
data
(
jqPluginName
,
this
);
}
$
.
fn
[
jqPluginName
]
=
function
(
options
)
{
return
this
.
each
(
function
()
{
var
_this
=
$
(
this
);
if
(
!
_this
.
data
(
jqPluginName
))
{
new
sortPlugin
(
_this
,
options
);
}
});
}
$
.
fn
[
jqPluginName
].
defaults
=
{
context
:
null
,
dataItems
:
[],
itemsRows
:
'tbody tr'
,
$itemsRows
:
null
,
columnItems
:
'.sort[data-sort]'
,
$columnItems
:
null
,
}
})(
jQuery
);
src/public/js/adm/jquery.table2excel.js
deleted
100644 → 0
View file @
b0b46f66
//table2excel.js
;(
function
(
$
,
window
,
document
,
undefined
)
{
var
pluginName
=
"table2excel"
,
defaults
=
{
exclude
:
".noExl"
,
name
:
"Table2Excel"
};
// The actual plugin constructor
function
Plugin
(
element
,
options
)
{
this
.
element
=
element
;
// jQuery has an extend method which merges the contents of two or
// more objects, storing the result in the first object. The first object
// is generally empty as we don't want to alter the default options for
// future instances of the plugin
//
this
.
settings
=
$
.
extend
(
{},
defaults
,
options
);
this
.
_defaults
=
defaults
;
this
.
_name
=
pluginName
;
this
.
init
();
}
Plugin
.
prototype
=
{
init
:
function
()
{
var
e
=
this
;
var
utf8Heading
=
"<meta http-equiv=
\"
content-type
\"
content=
\"
application/vnd.ms-excel; charset=UTF-8
\"
>"
;
e
.
template
=
{
head
:
"<html xmlns:o=
\"
urn:schemas-microsoft-com:office:office
\"
xmlns:x=
\"
urn:schemas-microsoft-com:office:excel
\"
xmlns=
\"
http://www.w3.org/TR/REC-html40
\"
>"
+
utf8Heading
+
"<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets>"
,
sheet
:
{
head
:
"<x:ExcelWorksheet><x:Name>"
,
tail
:
"</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>"
},
mid
:
"</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>"
,
table
:
{
head
:
"<table>"
,
tail
:
"</table>"
},
foot
:
"</body></html>"
};
e
.
tableRows
=
[];
// get contents of table except for exclude
$
(
e
.
element
).
each
(
function
(
i
,
o
)
{
var
tempRows
=
""
;
$
(
o
).
find
(
"tr"
).
not
(
e
.
settings
.
exclude
).
each
(
function
(
i
,
p
)
{
tempRows
+=
"<tr>"
;
$
(
p
).
find
(
"td,th"
).
not
(
e
.
settings
.
exclude
).
each
(
function
(
i
,
q
)
{
// p did not exist, I corrected
var
flag
=
$
(
q
).
find
(
e
.
settings
.
exclude
);
// does this <td> have something with an exclude class
if
(
flag
.
length
>=
1
)
{
tempRows
+=
"<td> </td>"
;
// exclude it!!
}
else
{
tempRows
+=
"<td>"
+
$
(
q
).
html
()
+
"</td>"
;
}
});
tempRows
+=
"</tr>"
;
});
// exclude img tags
if
(
e
.
settings
.
exclude_img
)
{
tempRows
=
exclude_img
(
tempRows
);
}
// exclude link tags
if
(
e
.
settings
.
exclude_links
)
{
tempRows
=
exclude_links
(
tempRows
);
}
// exclude input tags
if
(
e
.
settings
.
exclude_inputs
)
{
tempRows
=
exclude_inputs
(
tempRows
);
}
e
.
tableRows
.
push
(
tempRows
);
});
e
.
tableToExcel
(
e
.
tableRows
,
e
.
settings
.
name
,
e
.
settings
.
sheetName
);
},
tableToExcel
:
function
(
table
,
name
,
sheetName
)
{
var
e
=
this
,
fullTemplate
=
""
,
i
,
link
,
a
;
e
.
format
=
function
(
s
,
c
)
{
return
s
.
replace
(
/{
(\w
+
)
}/g
,
function
(
m
,
p
)
{
return
c
[
p
];
});
};
sheetName
=
typeof
sheetName
===
"undefined"
?
"Sheet"
:
sheetName
;
e
.
ctx
=
{
worksheet
:
name
||
"Worksheet"
,
table
:
table
,
sheetName
:
sheetName
};
fullTemplate
=
e
.
template
.
head
;
if
(
$
.
isArray
(
table
)
)
{
for
(
i
in
table
)
{
//fullTemplate += e.template.sheet.head + "{worksheet" + i + "}" + e.template.sheet.tail;
fullTemplate
+=
e
.
template
.
sheet
.
head
+
sheetName
+
i
+
e
.
template
.
sheet
.
tail
;
}
}
fullTemplate
+=
e
.
template
.
mid
;
if
(
$
.
isArray
(
table
)
)
{
for
(
i
in
table
)
{
fullTemplate
+=
e
.
template
.
table
.
head
+
"{table"
+
i
+
"}"
+
e
.
template
.
table
.
tail
;
}
}
fullTemplate
+=
e
.
template
.
foot
;
for
(
i
in
table
)
{
e
.
ctx
[
"table"
+
i
]
=
table
[
i
];
}
delete
e
.
ctx
.
table
;
var
isIE
=
/*@cc_on!@*/
false
||
!!
document
.
documentMode
;
// this works with IE10 and IE11 both :)
//if (typeof msie !== "undefined" && msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // this works ONLY with IE 11!!!
if
(
isIE
)
{
if
(
typeof
Blob
!==
"undefined"
)
{
//use blobs if we can
fullTemplate
=
e
.
format
(
fullTemplate
,
e
.
ctx
);
// with this, works with IE
fullTemplate
=
[
fullTemplate
];
//convert to array
var
blob1
=
new
Blob
(
fullTemplate
,
{
type
:
"text/html"
});
window
.
navigator
.
msSaveBlob
(
blob1
,
getFileName
(
e
.
settings
)
);
}
else
{
//otherwise use the iframe and save
//requires a blank iframe on page called txtArea1
txtArea1
.
document
.
open
(
"text/html"
,
"replace"
);
txtArea1
.
document
.
write
(
e
.
format
(
fullTemplate
,
e
.
ctx
));
txtArea1
.
document
.
close
();
txtArea1
.
focus
();
sa
=
txtArea1
.
document
.
execCommand
(
"SaveAs"
,
true
,
getFileName
(
e
.
settings
)
);
}
}
else
{
var
blob
=
new
Blob
([
e
.
format
(
fullTemplate
,
e
.
ctx
)],
{
type
:
"application/vnd.ms-excel"
});
window
.
URL
=
window
.
URL
||
window
.
webkitURL
;
link
=
window
.
URL
.
createObjectURL
(
blob
);
a
=
document
.
createElement
(
"a"
);
a
.
download
=
getFileName
(
e
.
settings
);
a
.
href
=
link
;
document
.
body
.
appendChild
(
a
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
}
return
true
;
}
};
function
getFileName
(
settings
)
{
return
(
settings
.
filename
?
settings
.
filename
:
"table2excel"
);
}
// Removes all img tags
function
exclude_img
(
string
)
{
var
_patt
=
/
(\s
+alt
\s
*=
\s
*"
([^
"
]
*
)
"|
\s
+alt
\s
*=
\s
*'
([^
'
]
*
)
'
)
/i
;
return
string
.
replace
(
/<img
[^
>
]
*>/gi
,
function
myFunction
(
x
){
var
res
=
_patt
.
exec
(
x
);
if
(
res
!==
null
&&
res
.
length
>=
2
)
{
return
res
[
2
];
}
else
{
return
""
;
}
});
}
// Removes all link tags
function
exclude_links
(
string
)
{
return
string
.
replace
(
/<a
[^
>
]
*>|<
\/
a>/gi
,
""
);
}
// Removes input params
function
exclude_inputs
(
string
)
{
var
_patt
=
/
(\s
+value
\s
*=
\s
*"
([^
"
]
*
)
"|
\s
+value
\s
*=
\s
*'
([^
'
]
*
)
'
)
/i
;
return
string
.
replace
(
/<input
[^
>
]
*>|<
\/
input>/gi
,
function
myFunction
(
x
){
var
res
=
_patt
.
exec
(
x
);
if
(
res
!==
null
&&
res
.
length
>=
2
)
{
return
res
[
2
];
}
else
{
return
""
;
}
});
}
$
.
fn
[
pluginName
]
=
function
(
options
)
{
var
e
=
this
;
e
.
each
(
function
()
{
if
(
!
$
.
data
(
e
,
"plugin_"
+
pluginName
)
)
{
$
.
data
(
e
,
"plugin_"
+
pluginName
,
new
Plugin
(
this
,
options
)
);
}
});
// chain jQuery functions
return
e
;
};
})(
jQuery
,
window
,
document
);
src/public/js/adm/offer-page.js
deleted
100644 → 0
View file @
b0b46f66
This diff is collapsed.
Click to expand it.
src/public/js/adm/offers.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
var
$categoriesWrap
=
$
(
'.b-filters'
);
// Отображение категорий-подкатеорий:
$categoriesWrap
.
on
(
'change'
,
'select.data-category, select.data-subcategory'
,
function
(){
var
$this
=
$
(
this
);
if
(
$this
.
hasClass
(
'data-category'
))
{
var
catId
=
$this
.
val
(),
$subcatWrap
=
$
(
'.b-offers-list_controls-subcategory'
,
$this
.
parent
()),
$subcategory
=
$
(
'.data-subcategory'
,
$this
.
parent
()),
$options
=
$
(
'option'
,
$subcategory
);
// Показываем выбор подкатегрий:
(
catId
)
?
$subcatWrap
.
show
()
:
$subcatWrap
.
hide
();
// Устанавливаем набор подкатегрий:
$options
.
addClass
(
'hidden'
).
prop
(
'selected'
,
false
).
filter
(
'[data-parent="'
+
catId
+
'"]'
).
removeClass
(
'hidden'
);
$options
.
filter
(
'[value=""]'
).
removeClass
(
'hidden'
);
}
});
// Работа со списками:
(
function
(){
var
$selectAllItems
=
$
(
'table.offers thead tr th input.select-all'
),
$markCount
=
$
(
'.b-offers-list_controls .mark-count b'
),
$actionsWrap
=
$
(
'.b-data-item_action'
),
$actions
=
$
(
'table.offers thead tr th b.action'
),
$applyButton
=
$
(
'button.btn.btn-primary.apply'
);
// Обработка получения новых данных:
$applyButton
.
click
(
function
(){
$selectAllItems
.
prop
(
'checked'
,
false
).
change
();
});
// Клик на галочку "Выбрать все":
$selectAllItems
.
on
(
'change'
,
function
(){
var
$this
=
$
(
this
),
isSelected
=
$this
.
prop
(
'checked'
),
$tableTr
=
$
(
'table.offers tbody tr'
),
markCount
=
0
;
if
(
isSelected
)
{
$tableTr
.
each
(
function
(){
var
$trItem
=
$
(
this
);
if
(
!
$trItem
.
hasClass
(
'hidden'
)
&&
$trItem
.
is
(
':visible'
))
{
$
(
'input.is-active'
,
$trItem
).
prop
(
'checked'
,
true
);
$actionsWrap
.
show
();
$actions
.
removeClass
(
'hidden'
);
markCount
++
;
}
});
}
else
{
$tableTr
.
each
(
function
(){
$
(
'input.is-active'
,
$
(
this
)).
prop
(
'checked'
,
false
);
});
$actionsWrap
.
hide
();
$actions
.
addClass
(
'hidden'
);
}
$markCount
.
text
(
markCount
);
});
// Клик на галочку в списке:
$
(
'table.offers'
).
on
(
'change'
,
'input.is-active'
,
function
(){
var
offersIsCheched
=
false
,
markCount
=
0
;
$
(
'table.offers input.is-active'
).
each
(
function
(){
if
(
$
(
this
).
is
(
':checked'
))
{
offersIsCheched
=
true
;
markCount
++
;
}
});
if
(
offersIsCheched
)
{
$actionsWrap
.
show
();
$actions
.
removeClass
(
'hidden'
);
$selectAllItems
.
prop
(
'checked'
,
true
);
}
else
{
$selectAllItems
.
prop
(
'checked'
,
false
);
$actionsWrap
.
hide
();
$actions
.
addClass
(
'hidden'
);
}
$markCount
.
text
(
markCount
);
});
// Выбор действия с выделенными элементами:
$actions
.
on
(
'click'
,
function
(){
var
$this
=
$
(
this
),
actionType
=
$this
.
hasClass
(
'activate'
)
?
'active'
:
'disable'
,
$wrap
=
$this
.
parents
(
'.panel-body'
),
selectedOffersId
=
[];
$
(
'table tbody tr'
,
$wrap
).
each
(
function
()
{
var
$item
=
$
(
this
);
if
(
$
(
'input.is-active'
,
$item
).
is
(
':checked'
))
{
selectedOffersId
.
push
(
$item
.
data
(
'id'
));
}
});
// Запрос на изменение статуса выбранных офферов:
if
(
selectedOffersId
.
length
>
0
)
{
var
action
=
$
(
'table'
,
$wrap
).
data
(
'action'
),
method
=
'POST'
,
data
=
{
'toggle_active'
:
1
,
'is_active'
:
(
actionType
==
'active'
)
?
1
:
0
,
'id_offers'
:
selectedOffersId
,
};
$
.
ajax
(
action
,
{
type
:
method
,
data
:
data
,
success
:
function
(
data
)
{
$applyButton
.
click
();
/*
$('table tbody tr', $wrap).each(function() {
var $item = $(this);
if ($('input.is-active', $item).is(':checked')) {
switch(actionType) {
case 'active':
$item.removeClass('disabled');
break;
case 'disable':
$item.addClass('disabled');
break;
}
}
});
*/
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
}
});
})();
});
\ No newline at end of file
src/public/js/adm/orders.js
deleted
100644 → 0
View file @
b0b46f66
This diff is collapsed.
Click to expand it.
src/public/js/adm/partners.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
// Работа со списками на стр. списка партнерок:
(
function
(){
var
$selectAllItems
=
$
(
'table.partners thead tr th input.select-all'
),
$actions
=
$
(
'table.partners thead tr th b.action'
),
$applyButton
=
$
(
'button.btn.btn-primary.apply'
);
// Клик на галочку "Выбрать все":
$selectAllItems
.
on
(
'change'
,
function
(){
var
$this
=
$
(
this
),
isSelected
=
$this
.
prop
(
'checked'
),
$tableTr
=
$
(
'table.partners tbody tr'
);
if
(
isSelected
)
{
$tableTr
.
each
(
function
(){
$
(
'input.is-active'
,
$
(
this
)).
prop
(
'checked'
,
true
);
});
$actions
.
removeClass
(
'hidden'
);
}
else
{
$tableTr
.
each
(
function
(){
$
(
'input.is-active'
,
$
(
this
)).
prop
(
'checked'
,
false
);
});
$actions
.
addClass
(
'hidden'
);
}
});
// Клик на галочку в списке:
$
(
'table.partners'
).
on
(
'change'
,
'input.is-active'
,
function
(){
var
offersIsCheched
=
false
;
$
(
'table.partners input.is-active'
).
each
(
function
(){
if
(
$
(
this
).
is
(
':checked'
))
{
offersIsCheched
=
true
;
}
});
if
(
offersIsCheched
)
{
$actions
.
removeClass
(
'hidden'
);
$selectAllItems
.
prop
(
'checked'
,
true
);
}
else
{
$selectAllItems
.
prop
(
'checked'
,
false
);
$actions
.
addClass
(
'hidden'
);
}
});
// Выбор действия с выделенными элементами:
$actions
.
on
(
'click'
,
function
(){
var
$this
=
$
(
this
),
actionType
=
$this
.
hasClass
(
'activate'
)
?
'active'
:
'disable'
,
$wrap
=
$this
.
parents
(
'.panel-body'
),
selectedItemsId
=
[];
$
(
'table tbody tr'
,
$wrap
).
each
(
function
()
{
var
$item
=
$
(
this
);
if
(
$
(
'input.is-active'
,
$item
).
is
(
':checked'
))
{
selectedItemsId
.
push
(
$item
.
data
(
'id'
));
}
});
// Запрос на изменение статуса выбранных офферов:
if
(
selectedItemsId
.
length
>
0
)
{
var
action
=
$
(
'table'
,
$wrap
).
data
(
'action'
),
method
=
'POST'
,
data
=
{
'toggle_active'
:
1
,
'is_active'
:
(
actionType
==
'active'
)
?
1
:
0
,
'id_items'
:
selectedItemsId
,
};
$
.
ajax
(
action
,
{
type
:
method
,
data
:
data
,
success
:
function
(
data
)
{
document
.
location
.
reload
();
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
}
});
})();
// Клик на "Сохранить" партнёрку:
$
(
'#partner-create-form'
).
on
(
'submit'
,
function
(
e
)
{
var
formData
=
{},
action
=
$
(
this
).
attr
(
'action'
),
method
=
$
(
this
).
attr
(
'method'
);
var
vals
=
$
(
this
).
serializeArray
();
if
(
vals
.
length
)
{
for
(
var
i
in
vals
)
{
formData
[
vals
[
i
].
name
]
=
vals
[
i
].
value
;
}
}
$
.
ajax
(
action
,
{
type
:
method
,
data
:
formData
,
success
:
function
(
data
)
{
if
(
data
)
{
if
(
data
.
result
===
true
&&
data
.
redirect
)
{
document
.
location
.
href
=
data
.
redirect
;
}
if
(
data
.
result
===
false
&&
data
.
msg
)
{
$
.
showMessage
(
'error'
,
data
.
msg
);
}
}
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
return
false
;
});
});
\ No newline at end of file
src/public/js/adm/service-actions.js
View file @
cc66f538
...
@@ -7,72 +7,10 @@ $(document).ready(function () {
...
@@ -7,72 +7,10 @@ $(document).ready(function () {
action
=
$
(
this
).
attr
(
'href'
),
action
=
$
(
this
).
attr
(
'href'
),
dataRequest
;
dataRequest
;
// Стр. с
айт
ов
// Стр. с
тат. фид
ов
if
(
$
(
this
).
hasClass
(
'
add-list-sites
'
))
{
if
(
$
(
this
).
hasClass
(
'
feed-test-data
'
))
{
dataRequest
=
{
addlist
:
true
};
dataRequest
=
{
feedTestData
:
true
};
}
}
if
(
$
(
this
).
hasClass
(
'add-date-sites'
))
{
dataRequest
=
{
addDate
:
true
};
}
if
(
$
(
this
).
hasClass
(
'create-json-sites'
))
{
dataRequest
=
{
createJsonSites
:
true
};
}
if
(
$
(
this
).
hasClass
(
'create-providers-list'
))
{
dataRequest
=
{
createProvidersList
:
true
};
}
if
(
$
(
this
).
hasClass
(
'test'
))
{
//dataRequest = {url: 'http://0day.kiev.ua'};
//dataRequest = {url: 'http://ua.sinoptik.ua'};
//dataRequest = {url: 'http://bigmir.net'};
//dataRequest = {url: 'http://playboyua.com.ua'};
//dataRequest = {url: 'http://kino-live.top'};
dataRequest
=
{
url
:
'http://sinoptik.ua'
};
//dataRequest = {url: 'http://sinoptik.com.ru'};
//dataRequest = {url: 'http://censor.net.ua'};
//dataRequest = {url: 'http://korrespondent.net'};
//dataRequest = {url: 'http://soccer0010.com'};
//dataRequest = {url: 'http://soccer.ru'};
action
=
'https://addcpm.app.dev.rew.to/conf/conf.php'
;
//action = 'https://addcpm.app.dev.rew.to/conf/conf.php?dev=1';
//action = 'https://www.addcpm.com/conf/conf.php';
//action = 'https://sconf.dev.rew.to/conf/conf.php';
//action = 'https://sconf.dev.rew.to/';
//action = 'https://sconf.dev.rew.to/conf/domain.php';
//action = 'https://sconf.dev.rew.to/conf/all.php';
}
if
(
$
(
this
).
hasClass
(
'yesterday-stat'
))
{
dataRequest
=
{
yesterdayStat
:
true
};
}
// Стр. офферов
if
(
$
(
this
).
hasClass
(
'add-list-teasers'
))
{
dataRequest
=
{
addlistTeasers
:
true
};
}
if
(
$
(
this
).
hasClass
(
'edit-list-teasers'
))
{
dataRequest
=
{
editlistTeasers
:
true
};
}
if
(
$
(
this
).
hasClass
(
'create-offersnew'
))
{
dataRequest
=
{
createOffersNew
:
true
};
}
if
(
$
(
this
).
hasClass
(
'edit-json-tpl'
))
{
dataRequest
=
{
editJsonTpl
:
true
};
}
if
(
$
(
this
).
hasClass
(
'vars-tpl'
))
{
dataRequest
=
{
varsTpl
:
true
};
}
if
(
$
(
this
).
hasClass
(
'price-tpl'
))
{
dataRequest
=
{
priceTpl
:
true
};
}
if
(
$
(
this
).
hasClass
(
'rename-teasers'
))
{
dataRequest
=
{
renameTeasers
:
true
};
}
if
(
$
(
this
).
hasClass
(
'tpl-templates-table'
))
{
dataRequest
=
{
tplTemplatesTable
:
true
};
}
$
.
ajax
(
action
,
{
$
.
ajax
(
action
,
{
type
:
'POST'
,
type
:
'POST'
,
...
...
src/public/js/adm/sites.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
Number
.
prototype
.
formatMoney
=
function
(
c
,
d
,
t
){
var
n
=
this
,
c
=
isNaN
(
c
=
Math
.
abs
(
c
))
?
2
:
c
,
d
=
d
==
undefined
?
"."
:
d
,
t
=
t
==
undefined
?
","
:
t
,
s
=
n
<
0
?
"-"
:
""
,
i
=
String
(
parseInt
(
n
=
Math
.
abs
(
Number
(
n
)
||
0
).
toFixed
(
c
))),
j
=
(
j
=
i
.
length
)
>
3
?
j
%
3
:
0
;
return
s
+
(
j
?
i
.
substr
(
0
,
j
)
+
t
:
""
)
+
i
.
substr
(
j
).
replace
(
/
(\d{3})(?=\d)
/g
,
"$1"
+
t
)
+
(
c
?
d
+
Math
.
abs
(
n
-
i
).
toFixed
(
c
).
slice
(
2
)
:
""
);
};
// Исхдные данные в таблице сайтов:
var
sumTraffic
=
0
,
dataSites
=
[],
$sitesRows
=
$
(
'table.table-striped tbody tr'
),
$dataColumns
;
// Запрос данных о доходе за вчера:
var
action
=
$
(
'.btn-toolbar .btn-primary'
).
attr
(
'href'
);
$
.
ajax
(
action
,
{
type
:
'POST'
,
data
:
{
yesterdayStat
:
true
},
success
:
function
(
data
)
{
//console.log('AAA success: ', data);
if
(
data
)
{
$sitesRows
.
each
(
function
(){
var
$this
=
$
(
this
);
if
(
data
[
$this
.
data
(
'site'
)])
{
$
(
'td.money'
,
$this
).
html
(
data
[
$this
.
data
(
'site'
)].
formatMoney
(
2
));
}
});
AddDataSites
();
}
},
error
:
function
(
ajaxObj
,
textStatus
,
textError
)
{
//console.log('AAA error');
}
});
AddDataSites
();
// Клик по названию колонки для сортировки:
Array
.
prototype
.
forEach
.
call
(
document
.
querySelectorAll
(
".sort[data-sort]"
),
function
(
el
)
{
$
(
el
).
on
(
"click"
,
function
(
e
)
{
// Сортировка в таблице
var
sortField
=
$
(
this
).
data
(
'sort'
);
var
sortAsc
=
$
(
this
).
attr
(
'data-sortasc'
);
$
(
this
).
attr
(
'data-sortasc'
,
-
sortAsc
);
//console.log('AAA sortAsc = ', sortAsc);
dataSites
.
sort
(
function
(
a
,
b
)
{
if
(
sortAsc
<
0
)
{
return
(
a
[
sortField
]
>
b
[
sortField
])
?
1
:
-
1
;
}
else
{
return
(
a
[
sortField
]
<
b
[
sortField
])
?
1
:
-
1
;
}
});
// Переписываем таблицу:
var
$table
=
$
(
'#table-site'
),
$tableContent
=
$
(
'<tbody>'
),
$tableBody
=
$table
.
find
(
'tbody'
).
first
();
for
(
var
i
=
0
;
i
<
dataSites
.
length
;
i
++
)
{
var
$row
;
$row
=
$
(
'<tr data-site="'
+
dataSites
[
i
].
domain
+
'">'
).
html
(
dataSites
[
i
].
tr
);
if
(
!
dataSites
[
i
].
isVisible
)
{
$row
.
hide
();
}
$row
.
appendTo
(
$tableContent
);
}
$tableBody
.
html
(
''
).
append
(
$tableContent
.
children
());
});
});
// Клик на галочку "Сайт включен":
$
(
'#table-site'
).
on
(
'change'
,
'input.is-enabled'
,
function
(
e
)
{
var
$this
=
$
(
this
),
siteId
=
$this
.
parents
(
'tr'
).
data
(
'id'
),
$siteTr
=
$this
.
parents
(
'tr'
),
isEnabled
=
$this
.
prop
(
"checked"
),
action
=
$this
.
parents
(
'table'
).
data
(
'action'
)
+
siteId
,
method
=
'POST'
,
data
=
{
'toggle_enabled'
:
1
,
'is_enabled'
:
isEnabled
?
1
:
0
,
};
$this
.
prop
(
"disabled"
,
true
);
$
.
ajax
(
action
,
{
type
:
method
,
data
:
data
,
success
:
function
(
data
)
{
$this
.
prop
(
"disabled"
,
false
);
if
(
data
.
result
)
{
if
(
isEnabled
)
{
$siteTr
.
removeClass
(
'disabled'
);
}
else
{
$siteTr
.
addClass
(
'disabled'
);
}
}
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
$this
.
prop
(
"disabled"
,
false
);
}
});
return
false
;
});
// Клик на кнопку статистики:
/*
Array.prototype.forEach.call(document.querySelectorAll("button[data-link]"), function (el) {
$(el).on("click", function (e) {
e.stopPropagation();
document.location.href = this.getAttribute("data-link");
});
});
*/
// Выбор даты для BidStat http://t1m0n.name/air-datepicker/docs/index-ru.html
var
nowDate
=
new
Date
();
$
(
'#date-value'
).
datepicker
({
dateFormat
:
"yyyy-mm-dd"
,
autoClose
:
true
,
range
:
true
,
maxDate
:
nowDate
,
onHide
:
function
(
dp
,
animationCompleted
){
if
(
animationCompleted
)
{
selectSitesWithSelectedData
(
dp
);
}
}
}).
data
(
'datepicker'
);
function
selectSitesWithSelectedData
(
data
)
{
var
selectInterval
=
(
data
.
selectedDates
.
length
>
1
),
selectNoDate
=
(
data
.
selectedDates
.
length
==
0
);
$sitesRows
=
$
(
'table.table-striped tbody tr'
);
$sitesRows
.
each
(
function
(
i
,
e
){
$dataColumns
=
$
(
'td'
,
$
(
e
));
var
siteDateCreate
=
$
.
trim
(
$
(
'.site-create-date'
,
$dataColumns
[
4
]).
text
()),
dateSite
=
(
new
Date
(
siteDateCreate
+
' 00:00'
)).
getTime
();
if
(
selectNoDate
)
{
$
(
this
).
show
();
}
else
if
(
selectInterval
)
{
var
dateFrom
=
(
new
Date
(
data
.
selectedDates
[
0
])).
getTime
(),
dateTo
=
(
new
Date
(
data
.
selectedDates
[
1
])).
getTime
();
if
(
dateSite
>=
dateFrom
&&
dateSite
<=
dateTo
)
{
$
(
this
).
show
();
}
else
{
$
(
this
).
hide
();
}
}
else
{
var
dateSelect
=
(
new
Date
(
data
.
selectedDates
[
0
])).
getTime
();
if
(
dateSite
==
dateSelect
)
{
$
(
this
).
show
();
}
else
{
$
(
this
).
hide
();
}
}
});
AddDataSites
();
}
// Формирование данных о сайтах из таблицы
function
AddDataSites
()
{
var
$siteRow
;
//siteTraffic;
//sumTraffic = 0;
dataSites
=
[];
$sitesRows
.
each
(
function
(
i
,
e
){
$siteRow
=
$
(
e
);
dataSites
.
push
({
tr
:
$
(
e
).
html
().
replace
(
/
\s{2,}
/g
,
' '
),
id
:
$
.
trim
(
$
(
'.site-id'
,
$siteRow
).
text
()),
domain
:
$
.
trim
(
$
(
'.site-domain a'
,
$siteRow
).
text
()),
user
:
$
.
trim
(
$
(
'.user-name a'
,
$siteRow
).
text
()),
date
:
$
.
trim
(
$
(
'.site-create-date'
,
$siteRow
).
text
()),
//traffic: ($.trim($('.site-traffic', $siteRow).data('traffic')) !="") ? parseInt($.trim($('.site-traffic', $siteRow).data('traffic'))) : 0,
isVisible
:
$
(
e
).
is
(
':visible'
),
money
:
(
$
.
trim
(
$
(
'.money'
,
$siteRow
).
html
())
!=
""
)
?
parseFloat
(
$
.
trim
(
$
(
'.money'
,
$siteRow
).
html
()))
:
0
,
});
/*
siteTraffic = $.trim($('.site-traffic', $siteRow).data('traffic'));
siteTraffic = (siteTraffic != '') ? siteTraffic : 0;
sumTraffic += ($siteRow.is(':visible')) ? parseInt(siteTraffic) : 0;
*/
});
// Прописываем суммарный траффик по выбранным сайтам:
/*
sumTraffic = sumTraffic.formatMoney(0);
$('.sum-traffic span').text(sumTraffic);
*/
}
});
\ No newline at end of file
src/public/js/adm/sites_form.js
deleted
100644 → 0
View file @
b0b46f66
This diff is collapsed.
Click to expand it.
src/public/js/adm/skin-page.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
// Стиль скина
var
editor
=
ace
.
edit
(
"editor"
);
editor
.
setOptions
({
readOnly
:
true
,});
editor
.
setTheme
(
"ace/theme/chrome"
);
editor
.
session
.
setMode
(
"ace/mode/less"
);
// Стиль базового скина
var
editorBase
=
ace
.
edit
(
"editor-base"
);
editorBase
.
setOptions
({
readOnly
:
true
,});
editorBase
.
setTheme
(
"ace/theme/chrome"
);
editorBase
.
session
.
setMode
(
"ace/mode/less"
);
// Помечаем цветом поля конфига:
var
$configWrap
=
$
(
'.form-group-config'
),
$configFields
=
$
(
'input.form-control, select.form-control'
,
$configWrap
),
$sizeWidth
=
$configFields
.
filter
(
'.size.width'
),
$sizeHeight
=
$configFields
.
filter
(
'.size.height'
),
$itemsCols
=
$configFields
.
filter
(
'.items.cols'
),
$itemsRows
=
$configFields
.
filter
(
'.items.rows'
),
$logoVert
=
$configFields
.
filter
(
'.logo.vert'
),
$logoHor
=
$configFields
.
filter
(
'.logo.hor'
),
$logoInner
=
$configFields
.
filter
(
'.logo.inner'
),
$logoWidth
=
$configFields
.
filter
(
'.logo.width'
),
$logoHeight
=
$configFields
.
filter
(
'.logo.height'
),
$animationName
=
$configFields
.
filter
(
'.animation.name'
),
$animationLoopTimeout
=
$configFields
.
filter
(
'.animation.loopTimeout'
);
function
markConfigControl
(
$this
)
{
//if ($this.data('base') == $this.val() && $this.val()) {$this.addClass('from-base');}
$this
.
attr
(
'placeholder'
,
$this
.
attr
(
'data-base'
));
}
function
markAllConfigControls
()
{
$configFields
.
each
(
function
()
{
markConfigControl
(
$
(
this
));
});
}
markAllConfigControls
();
// Смена базового конфига:
$
(
'.form-control.skin-base'
).
on
(
'change'
,
function
(){
var
action
=
$configWrap
.
data
(
'action'
),
method
=
'POST'
,
data
=
{
'get_data_skin'
:
$
(
this
).
val
(),
};
$
.
ajax
(
action
,
{
type
:
method
,
data
:
data
,
success
:
function
(
data
)
{
console
.
log
(
'AAA success '
,
data
.
data
);
var
style
=
data
.
data
.
style
,
conf
=
data
.
data
.
config
;
// Устанавливаем стили в базовом редакторе:
editorBase
.
setValue
(
style
);
editorBase
.
session
.
selection
.
clearSelection
();
// Устанавливаем значения базового конфига:
$sizeWidth
.
attr
(
'data-base'
,
conf
.
size
.
width
||
''
);
$sizeHeight
.
attr
(
'data-base'
,
conf
.
size
.
height
||
''
);
$itemsCols
.
attr
(
'data-base'
,
conf
.
items
.
cols
||
''
);
$itemsRows
.
attr
(
'data-base'
,
conf
.
items
.
rows
||
''
);
$animationName
.
attr
(
'data-base'
,
conf
.
animation
.
name
||
''
);
$animationLoopTimeout
.
attr
(
'data-base'
,
conf
.
animation
.
loopTimeout
||
''
);
$logoVert
.
attr
(
'data-base'
,
conf
.
logo
.
pos
.
vert
||
''
);
$logoHor
.
attr
(
'data-base'
,
conf
.
logo
.
pos
.
hot
||
''
);
$logoInner
.
attr
(
'data-base'
,
conf
.
logo
.
pos
.
inner
||
''
);
$logoWidth
.
attr
(
'data-base'
,
conf
.
logo
.
size
.
width
||
''
);
$logoHeight
.
attr
(
'data-base'
,
conf
.
logo
.
size
.
height
||
''
);
markAllConfigControls
();
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
});
// Клик на "Редактировать", "Сохранить", "Опубликовать":
var
$editButton
=
$
(
'button.btn.btn-primary.edit'
),
$saveButton
=
$
(
'button.btn.btn-primary.save'
),
$saveControls
=
$
(
'.b-save'
),
$leftFade
=
$
(
'.b-left-fade'
);
$editButton
.
click
(
function
(){
$leftFade
.
hide
();
$saveControls
.
show
();
return
false
;
});
$saveButton
.
click
(
function
(){
var
$form
=
$
(
'#skin-create-form'
),
action
=
$form
.
attr
(
'action'
),
method
=
$form
.
attr
(
'method'
),
formData
=
new
FormData
();
console
.
log
(
'AAA saveButton '
,
action
);
$
.
ajax
(
action
,
{
type
:
method
,
data
:
formData
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
success
:
function
(
data
)
{
console
.
log
(
'AAA saveButton success'
);
return
false
;
if
(
data
)
{
if
(
data
.
result
===
true
&&
data
.
redirect
)
{
document
.
location
.
href
=
data
.
redirect
;
}
if
(
data
.
result
===
false
&&
data
.
msg
)
{
$
.
showMessage
(
'error'
,
data
.
msg
);
}
}
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
$
.
showMessage
(
'error'
,
err
);
}
});
return
false
;
});
});
\ No newline at end of file
src/public/js/adm/supports.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
Array
.
prototype
.
forEach
.
call
(
document
.
querySelectorAll
(
"button[data-delete]"
),
function
(
el
)
{
$
(
el
).
on
(
"click"
,
function
(
e
)
{
e
.
stopPropagation
();
$
.
ajax
(
this
.
getAttribute
(
"data-delete"
),
{
type
:
"POST"
,
item
:
this
,
success
:
function
(
data
)
{
console
.
log
(
data
);
if
(
data
.
result
)
{
document
.
location
.
reload
();
}
},
error
:
function
(
req
,
status
,
err
)
{
console
.
log
(
status
,
err
);
document
.
location
.
reload
();
}
});
});
});
Array
.
prototype
.
forEach
.
call
(
document
.
querySelectorAll
(
"button[data-link]"
),
function
(
el
)
{
$
(
el
).
on
(
"click"
,
function
(
e
)
{
e
.
stopPropagation
();
document
.
location
.
href
=
this
.
getAttribute
(
"data-link"
);
/*
var $this = $(this);
$.ajax({
url: $this.attr("data-link"),
type: "POST",
contentType: false,
processData: false,
data: {
manager: $this.attr("data-id")
},
successUrl: $this.attr("data-link"),
success: function(data) {
console.log('success ', data);
},
error: function (e) {
console.log('error: ', e);
}
});
*/
});
});
$
(
'#support-create-form'
).
on
(
'submit'
,
function
(
e
)
{
e
.
stopPropagation
();
var
action
=
$
(
this
).
attr
(
'action'
);
var
method
=
$
(
this
).
attr
(
'method'
);
var
formData
=
{};
var
vals
=
$
(
this
).
serializeArray
();
if
(
vals
.
length
)
{
for
(
var
i
in
vals
)
{
formData
[
vals
[
i
].
name
]
=
vals
[
i
].
value
;
}
}
$
.
ajax
(
action
,
{
type
:
method
,
data
:
formData
,
success
:
function
(
data
)
{
if
(
data
)
{
if
(
data
.
result
===
true
&&
data
.
redirect
)
{
document
.
location
.
href
=
data
.
redirect
;
}
if
(
data
.
result
===
false
&&
data
.
msg
)
{
$
.
showMessage
(
'error'
,
data
.
msg
);
}
}
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
return
false
;
});
});
src/public/js/adm/teasers-templates.js
deleted
100644 → 0
View file @
b0b46f66
(
function
(
$
)
{
$
.
extend
({
TeasersTemplates
:
{
light
:
_
.
template
(
''
+
'<% cnt = 3; %>'
+
'<% if (ads.length > cnt) ads = ads.slice(0, cnt); %>'
+
'<div class="b-light m-light_160x600 m-light_active">'
+
' <div class="b-light__inner">'
+
' <% for (var i = 0; i < ads.length; i++) { %>'
+
' <% var ad = ads[i]; %>'
+
' <% if (!ad.price.trim() || ad.price == "0") {ad.price = "";} %>'
+
' <div class="b-light-item">'
+
' <a class="b-light-item__link" href="<%=ad.link %>" data-id="<%=ad.data_id %>">'
+
' <span class="b-light-item__bg"></span>'
+
' <span class="b-light-item__title"><%=ad.title %></span>'
+
' <span class="b-light-item__image">'
+
' <img src="<%=ad.img %>" alt="<%=ad.title %>">'
+
' </span>'
+
' <% if (ad.price) { %>'
+
' <span class="b-light-item__price"><%=ad.price %></span>'
+
' <% } %>'
+
' </a>'
+
' </div>'
+
' <% } %>'
+
' </div>'
+
' </div>'
),
adaptive
:
_
.
template
(
''
+
'<% cnt = 2; %>'
+
'<% if (ads.length > cnt) ads = ads.slice(0, cnt); %>'
+
'<div class="b-adaptive m-adaptive_adaptive m-adaptive_active">'
+
' <div class="b-adaptive__inner" id="inner">'
+
' <% for (var i = 0; i < ads.length; i++) { %>'
+
' <% var ad = ads[i]; %>'
+
' <div class="b-adaptive-item" style="width: 300px; height: 298px; margin: 0px 0 4px 0;">'
+
' <a class="b-adaptive-item__link" href="<%=ad.link %>" data-id="<%=ad.data_id %>">'
+
' <span class="b-adaptive-item__title"><%=ad.title %></span>'
+
' <span class="b-adaptive-item__image" style="top: 0">'
+
' <img src="<%=ad.img %>" alt="<%=ad.title %>">'
+
' </span>'
+
' <% if (ad.price) { %>'
+
' <span class="b-adaptive-item__price"><%=ad.price %></span>'
+
' <% } %>'
+
' </a>'
+
' </div>'
+
' <% } %>'
+
' </div>'
+
'</div>'
),
static
:
_
.
template
(
''
+
'<% cnt = 4; %>'
+
'<% if (ads.length > cnt) ads = ads.slice(0, cnt); %>'
+
'<% var skin = "common" /* "common", "select-color", "select" */ %>'
+
'<div class="b-static m-static_300x600 m-static_<%=skin %>">'
+
' <div class="b-static__inner">'
+
' <% for (var i = 0; i < ads.length; i++) { %>'
+
' <% var ad = ads[i]; %>'
+
' <% if (!ad.price.trim() || ad.price == "0") { ad.price = "Купить!"; } %>'
+
' <div class="b-static-item <% if (skin !=
\'
common
\'
&& i == 0) { %>m-static_active<% } %>">'
+
' <a class="b-static-item__link" href="<%=ad.link %>" data-id="<%=ad.data_id %>">'
+
' <span class="b-static-item__title"><%=ad.title %></span>'
+
' <span class="b-static-item__image">'
+
' <img src="<%=ad.img %>" alt="<%=ad.title %>" width="200" height="200">'
+
' </span>'
+
' <span class="b-static-item__description"><%=ad.text %></span>'
+
' <span class="b-static-item__price"><%=ad.price %></span>'
+
' </a>'
+
' </div>'
+
' <% } %>'
+
' </div>'
+
' <% if (skin != "common") { %>'
+
' <div class="b-static__selectors">'
+
' <% /*for (var j = 0; j < 4; j++) {*/ %>'
+
' <% for (var j = 0; j < ads.length; j++) { %>'
+
' <% var ad = ads[j]; %>'
+
' <div class="b-static-img <% if (j == 0) { %>m-static-image_active<% } %>">'
+
' <img src="<%=ad.img %>" alt="<%=ad.title %>" width="140" height="140">'
+
' </div>'
+
' <% } %>'
+
' </div>'
+
' <% } %>'
+
'</div>'
),
contrast
:
_
.
template
(
''
+
'<% var skin = "img" %>'
+
'<% //var skin = "border" %>'
+
' <div class="b-contrast m-contrast_300x600 m-contrast_<%=skin %>">'
+
' <div class="b-contrast__inner">'
+
' <% for (var i = 0; i < 4; i++) { %>'
+
' <% if (!ad.price.trim() || ad.price == "0") { ad.price = "Купить!"; } %>'
+
' <div class="b-contrast-item">'
+
' <a class="b-contrast-item__link" href="<%=ad.link %>" data-id="<%=ad.data_id %>">'
+
' <span class="b-contrast-item__title"><%=ad.title %></span>'
+
' <span class="b-contrast-item__image">'
+
' <img src="<%=ad.img %>" alt="<%=ad.title %>" width="140" height="140">'
+
' </span>'
+
' <span class="b-contrast-item__description"><%=ad.text %></span>'
+
' <span class="b-contrast-item__price"><%=ad.price %></span>'
+
' <% if (ad.domain) { %>'
+
' <span class="b-contrast-item__domain"><%=ad.domain %></span>'
+
' <% } %>'
+
' </a>'
+
' </div>'
+
' <% } %>'
+
' </div>'
+
' </div>'
),
}
});
})(
jQuery
);
src/public/js/adm/translations.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
autosize
(
$
(
"textarea"
));
});
\ No newline at end of file
src/public/js/adm/users.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
// Array.prototype.forEach.call(document.querySelectorAll("button[data-action]"), function (el) {
// $(el).on("click", function (e) {
// location.href = this.getAttribute("data-action");
// e.stopPropagation();
// });
// });
Array
.
prototype
.
forEach
.
call
(
document
.
querySelectorAll
(
"button[data-toggle]"
),
function
(
el
)
{
$
(
el
).
on
(
"click"
,
function
(
e
)
{
e
.
stopPropagation
();
$
.
ajax
(
this
.
getAttribute
(
this
.
getAttribute
(
"data-value"
)),
{
type
:
"POST"
,
item
:
this
,
success
:
function
(
data
)
{
if
(
data
.
result
)
{
var
currentValue
=
this
.
item
.
getAttribute
(
this
.
item
.
getAttribute
(
"data-value"
));
if
(
currentValue
===
this
.
item
.
getAttribute
(
"data-hide"
))
{
this
.
item
.
setAttribute
(
"data-value"
,
"data-activate"
);
$
(
this
.
item
)
.
text
(
this
.
item
.
getAttribute
(
"data-activate-caption"
))
.
removeClass
(
"btn-danger"
);
}
else
{
this
.
item
.
setAttribute
(
"data-value"
,
"data-hide"
);
$
(
this
.
item
)
.
text
(
this
.
item
.
getAttribute
(
"data-hide-caption"
))
.
addClass
(
"btn-danger"
);
}
}
console
.
log
(
data
);
},
error
:
function
(
req
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
});
});
// Клик на кнопку статистики:
/*
Array.prototype.forEach.call(document.querySelectorAll("button[data-link]"), function (el) {
$(el).on("click", function (e) {
e.stopPropagation();
document.location.href = this.getAttribute("data-link");
});
});
*/
$
(
'.dropdown-toggle'
).
dropdown
();
});
\ No newline at end of file
src/public/js/adm/users_form.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
$
(
'#user-date-create'
).
datepicker
({
format
:
'yyyy-mm-dd'
,
language
:
$
(
'#user-date-create'
).
data
(
'language'
)
});
// Добавление названия сайта в список сайтов пользователя:
/*
var siteStatusUrl = $('#user-site').data('status-url');
$('#user-site').tokenfield()
.on('tokenfield:createdtoken', function(e){
var tokenClass = '';
$.ajax(siteStatusUrl, {
method: 'POST',
async: false,
data: {
domain: e.attrs.value
},
success: function(data) {
console.log(data);
if(data && !data.isUnique) {
tokenClass = 'bg-danger';
}
}
});
if(tokenClass !== '') {
console.log(e.relatedTarget);
$(e.relatedTarget).addClass(tokenClass);
$.showMessage('info', 'Домен уже зарегистрирован');
}
return true;
})
;
*/
// Обработка списка "Провайдеры, к кодам которых у пользователя есть доступ"
(
function
(){
// Клик на "Редактировать" для показа списка значений вместо строки:
$
(
'.form-group'
).
on
(
'click'
,
'.edit-item'
,
function
(){
var
$this
=
$
(
this
),
$wrap
=
$this
.
parents
(
'.form-group'
)[
0
],
$valuesString
=
$
(
'.values-string'
,
$wrap
),
$valuesEdit
=
$
(
'.values-edit'
,
$wrap
),
$valuesItems
=
$
(
'.values-items'
,
$wrap
),
$tempState
=
$
(
'.temp-state'
,
$wrap
);
$tempState
.
empty
();
$tempState
.
html
(
$valuesItems
.
html
());
CheckNoValues
(
$this
);
$this
.
hide
();
$valuesString
.
hide
();
$valuesEdit
.
show
();
return
false
;
});
// Клик на "Добавить" значение в список:
$
(
'.form-group'
).
on
(
'click'
,
'.add-item'
,
function
(){
var
$wrap
=
$
(
this
).
parents
(
'.form-group'
).
first
(),
$valuesItems
=
$
(
'.values-items'
,
$wrap
),
$tplInput
;
if
(
$wrap
.
hasClass
(
'code-provider'
))
{
$tplInput
=
$
(
'.code-provider-pattern .input-item'
).
clone
();
}
$valuesItems
.
append
(
$tplInput
);
CheckNoValues
(
$
(
this
));
return
false
;
});
// Клик на "Удалить" значение из списка:
$
(
'.form-group'
).
on
(
'click'
,
'.delete-input'
,
function
(){
var
$wrap
=
$
(
this
).
parents
(
'.input-item'
),
$items
=
$
(
this
).
parents
(
'.values-items'
);
$wrap
.
remove
();
CheckNoValues
(
$items
);
return
false
;
});
// Клик на "Отмена" показа списка:
$
(
'.form-group'
).
on
(
'click'
,
'.cancel-item'
,
function
(){
var
$wrap
=
$
(
this
).
parents
(
'.form-group'
).
first
(),
$edit
=
$
(
'.edit-item'
,
$wrap
),
$valuesString
=
$
(
'.values-string'
,
$wrap
),
$valuesEdit
=
$
(
'.values-edit'
,
$wrap
),
$valuesItems
=
$
(
'.values-items'
,
$wrap
),
$tempState
=
$
(
'.temp-state'
,
$wrap
);
$valuesItems
.
html
(
$tempState
.
html
());
$tempState
.
empty
();
$edit
.
show
();
$valuesString
.
show
();
$valuesEdit
.
hide
();
return
false
;
});
// Клик на "Сохранить" список значений:
$
(
'.form-group'
).
on
(
'click'
,
'.save-item'
,
function
(){
var
$wrap
=
$
(
this
).
parents
(
'.form-group'
).
first
(),
$edit
=
$
(
'.edit-item'
,
$wrap
),
$valuesString
=
$
(
'.values-string'
,
$wrap
),
$valuesEdit
=
$
(
'.values-edit'
,
$wrap
),
$valuesItems
=
$
(
'.values-items .input-item'
,
$wrap
),
$tempState
=
$
(
'.temp-state'
,
$wrap
),
dataItems
=
[];
$valuesItems
.
each
(
function
(){
var
$this
=
$
(
this
),
itemValue
=
$
(
'select'
,
$this
).
val
(),
itemText
=
$
(
"select option:selected"
,
$this
).
text
();
if
(
itemValue
)
{
dataItems
.
push
(
itemText
);
}
});
$valuesString
.
empty
();
dataItems
.
forEach
(
function
(
item
){
$valuesString
.
append
(
'<span>'
+
item
+
'</span> '
);
});
$tempState
.
empty
();
$edit
.
show
();
$valuesString
.
show
();
$valuesEdit
.
hide
();
return
false
;
});
function
CheckNoValues
(
$this
)
{
var
$wrap
=
$
(
'.values-edit'
,
$this
.
parents
(
'.form-group'
)[
0
]),
$inputItems
=
$
(
'.values-items .input-item'
,
$wrap
),
$noValues
=
$
(
'.no-values'
,
$wrap
);
if
(
$inputItems
.
length
)
{
$noValues
.
hide
();
}
else
{
$noValues
.
show
();
}
}
})();
// Поле "Доступные сайты"
var
$inputAccessSite
=
$
(
'#user-access-site'
),
delimiterAccessSite
=
';'
;
$inputAccessSite
.
tokenfield
({
delimiter
:
delimiterAccessSite
,
beautify
:
false
});
$
(
'.add-access-site'
).
click
(
function
(){
var
addSite
=
$
(
'select.access-site'
).
val
(),
listAddSites
=
$inputAccessSite
.
tokenfield
(
'getTokensList'
),
dataAddSites
=
listAddSites
.
split
(
delimiterAccessSite
);
if
(
dataAddSites
.
indexOf
(
addSite
)
==
-
1
)
{
$inputAccessSite
.
tokenfield
(
'setTokens'
,
listAddSites
+
delimiterAccessSite
+
addSite
);
}
return
false
;
});
var
busy
=
false
;
$
(
'#user-form'
).
on
(
'submit'
,
function
(){
if
(
busy
)
{
return
false
;
}
var
action
=
$
(
this
).
attr
(
'action'
);
var
method
=
$
(
this
).
attr
(
'method'
);
// Формируем массив сайтов, для которых есть доступ:
var
listAccessUsers
=
$
(
'input#user-access-site'
).
val
();
if
(
!!
listAccessUsers
)
{
var
dataAccessUsers
=
listAccessUsers
.
split
(
delimiterAccessSite
);
$
(
'input#user-access-site'
).
val
(
JSON
.
stringify
(
dataAccessUsers
));
}
// Формируем данные providers:
var
dataCodeProvider
=
[],
$codeProviderItems
=
$
(
'.form-group.code-provider .form-control.code-provider'
);
$codeProviderItems
.
each
(
function
(){
if
(
$
(
this
).
val
())
{
dataCodeProvider
.
push
(
parseInt
(
$
(
this
).
val
()));
}
});
if
(
dataCodeProvider
.
length
==
0
)
{
$
(
'input#code-provider'
).
val
(
""
);
}
else
{
$
(
'input#code-provider'
).
val
(
JSON
.
stringify
(
dataCodeProvider
));
}
var
data
=
{};
$
(
this
).
find
(
'.form-control:not(.access-site)'
).
each
(
function
(){
data
[
$
(
this
).
attr
(
'name'
)]
=
$
(
this
).
val
();
});
$
(
this
).
find
(
'input[type=checkbox]'
).
filter
(
':checked'
).
each
(
function
(){
if
(
!
data
[
$
(
this
).
attr
(
'name'
)])
{
data
[
$
(
this
).
attr
(
'name'
)]
=
[];
}
data
[
$
(
this
).
attr
(
'name'
)].
push
(
$
(
this
).
val
());
});
//console.log('AAA data = ', data);
//return false;
busy
=
true
;
$
.
ajax
(
action
,
{
type
:
method
,
data
:
data
,
success
:
function
(
data
)
{
busy
=
false
;
if
(
data
)
{
if
(
data
.
result
==
true
&&
data
.
redirect
)
{
window
.
location
.
href
=
data
.
redirect
;
}
if
(
data
.
result
==
false
&&
data
.
msg
)
{
console
.
log
(
'AAA error '
,
data
.
msg
);
$
.
showMessage
(
'error'
,
data
.
msg
);
}
}
},
error
:
function
(
ajaxObj
,
textStatus
,
textError
)
{
busy
=
false
;
}
});
return
false
;
});
});
src/public/js/adm/vacancies-edit.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
function
uidGenerator
()
{
var
S4
=
function
()
{
return
(((
1
+
Math
.
random
())
*
0x10000
)
|
0
).
toString
(
16
).
substring
(
1
);
};
return
(
S4
()
+
S4
());
}
$
(
"[data-menu]"
).
affix
({
offset
:
{
top
:
60
}
});
$
(
".b-content__knowledge"
).
on
(
"click"
,
function
(
e
,
withoutScroll
)
{
var
uid
;
var
cloned
;
var
dataAction
=
(
e
.
toElement
||
e
.
target
).
getAttribute
(
"data-action"
);
switch
(
dataAction
)
{
case
"skill-remove"
:
e
.
stopPropagation
();
$
(
e
.
toElement
).
parents
(
".b-content__knowledge-item"
).
remove
();
break
;
case
"skill-add"
:
cloned
=
$
(
".b-content__knowledge-item.hidden"
).
clone
(
true
,
true
).
toggleClass
(
"hidden"
);
uid
=
uidGenerator
();
$
(
"label[for='id-skill-new']"
,
cloned
).
attr
(
"for"
,
uid
);
$
(
"textarea#id-skill-new"
,
cloned
).
attr
(
"id"
,
uid
);
$
(
".b-content__knowledge-inner"
).
append
(
cloned
);
if
(
!
withoutScroll
)
{
$
(
"html, body"
).
animate
({
scrollTop
:
cloned
.
offset
().
top
-
30
//padding to avoid menu
},
400
);
}
break
;
}
});
});
src/public/js/adm/vacancies.js
deleted
100644 → 0
View file @
b0b46f66
$
(
document
).
ready
(
function
()
{
"use strict"
;
Array
.
prototype
.
forEach
.
call
(
document
.
querySelectorAll
(
"button[data-toggle]"
),
function
(
el
)
{
$
(
el
).
on
(
"click"
,
function
(
e
)
{
e
.
stopPropagation
();
$
.
ajax
(
this
.
getAttribute
(
this
.
getAttribute
(
"data-value"
)),
{
type
:
"POST"
,
item
:
this
,
success
:
function
(
data
)
{
if
(
data
.
result
)
{
var
currentValue
=
this
.
item
.
getAttribute
(
this
.
item
.
getAttribute
(
"data-value"
));
if
(
currentValue
===
this
.
item
.
getAttribute
(
"data-hide"
))
{
this
.
item
.
setAttribute
(
"data-value"
,
"data-activate"
);
$
(
this
.
item
)
.
text
(
this
.
item
.
getAttribute
(
"data-activate-caption"
))
.
removeClass
(
"btn-danger"
);
}
else
{
this
.
item
.
setAttribute
(
"data-value"
,
"data-hide"
);
$
(
this
.
item
)
.
text
(
this
.
item
.
getAttribute
(
"data-hide-caption"
))
.
addClass
(
"btn-danger"
);
}
}
console
.
log
(
data
);
},
error
:
function
(
req
,
status
,
err
)
{
console
.
log
(
status
,
err
);
}
});
});
});
});
\ No newline at end of file
src/public/js/script-feeds-stat.js
View file @
cc66f538
...
@@ -190,16 +190,13 @@ $(document).ready(function(){
...
@@ -190,16 +190,13 @@ $(document).ready(function(){
EnableLoadingState
(
false
);
EnableLoadingState
(
false
);
if
(
res
==
null
)
{
if
(
res
==
null
)
{
console
.
log
(
"AAA requestDataStat success res: NULL"
);
console
.
log
(
"AAA requestDataStat success res: NULL"
);
$chartStatInfo
.
show
();
ShowInfo
();
$chartStatError
.
hide
();
}
else
if
(
res
.
status
==
'Error'
)
{
}
else
if
(
res
.
status
==
'Error'
)
{
console
.
log
(
"AAA requestDataStat error"
);
console
.
log
(
"AAA requestDataStat error"
);
$chartStatError
.
show
();
ShowError
();
$chartStatInfo
.
hide
();
}
else
{
}
else
{
//console.log("AAA requestDataStat SUCCESS res: ", res);
//console.log("AAA requestDataStat SUCCESS res: ", res);
$chartStatInfo
.
hide
();
ShowChartData
();
$chartStatError
.
hide
();
periodStatsData
=
res
.
period
;
periodStatsData
=
res
.
period
;
companyStatsData
=
res
.
company
;
companyStatsData
=
res
.
company
;
...
@@ -236,4 +233,29 @@ $(document).ready(function(){
...
@@ -236,4 +233,29 @@ $(document).ready(function(){
}
}
}
}
function
ShowInfo
()
{
$chartStatInfo
.
show
();
$chartStatError
.
hide
();
$chartStat
.
hide
();
$chartTable
.
hide
();
}
function
ShowError
()
{
$chartStatError
.
show
();
$chartStatInfo
.
hide
();
$chartStat
.
hide
();
$chartTable
.
hide
();
}
function
ShowChartData
()
{
$chartStatInfo
.
hide
();
$chartStatError
.
hide
();
$chartStat
.
show
();
$chartTable
.
show
();
}
});
});
\ No newline at end of file
src/src/App/Action/Admin/SystemAction.php
View file @
cc66f538
...
@@ -26,13 +26,8 @@
...
@@ -26,13 +26,8 @@
namespace
App\Action\Admin
;
namespace
App\Action\Admin
;
use
App\Entity\Offers\OfferNew
;
use
App\Entity\Feeds\StatsDay
;
use
App\Entity\Offers\Landing
;
use
App\Entity\Feeds\Transaction
;
use
App\Entity\Offers\AddNew
;
use
App\Entity\Offers\Template
;
use
App\Entity\Teasers\Offer
;
use
App\Entity\Teasers\Partner
;
use
App\Entity\Teasers\Add
;
use
Psr\Http\Message\ResponseInterface
;
use
Psr\Http\Message\ResponseInterface
;
use
Psr\Http\Message\ServerRequestInterface
;
use
Psr\Http\Message\ServerRequestInterface
;
use
Slim\Flash\Messages
;
use
Slim\Flash\Messages
;
...
@@ -85,16 +80,20 @@ class SystemAction extends Common
...
@@ -85,16 +80,20 @@ class SystemAction extends Common
{
{
$data
=
$request
->
getParsedBody
();
$data
=
$request
->
getParsedBody
();
//
Перевести tpl в таблицу templates
:
//
Сформировать тестовые данные для статистики по фидам
:
if
(
$data
[
'
tplTemplatesTable
'
])
{
if
(
$data
[
'
feedTestData
'
])
{
return
$this
->
re
moveTplTemplatesTable
(
$request
);
return
$this
->
re
nderFeedTestData
(
$request
);
}
}
}
}
/* Системные операции */
/* Системные операции */
private
function
re
moveTplTemplatesTable
(
ServerRequestInterface
$request
)
private
function
re
nderFeedTestData
(
ServerRequestInterface
$request
)
{
{
return
new
JsonResponse
(
123
);
/** @var \App\Model\Offers $landingsModel */
/** @var \App\Model\Offers $landingsModel */
$landingsModel
=
$this
->
container
->
get
(
\App\Model\Offers\Landings
::
class
);
$landingsModel
=
$this
->
container
->
get
(
\App\Model\Offers\Landings
::
class
);
$landings
=
$landingsModel
->
findAll
();
$landings
=
$landingsModel
->
findAll
();
...
...
src/src/App/Action/User/Cabinet.php
View file @
cc66f538
...
@@ -258,6 +258,10 @@ class Cabinet extends Common
...
@@ -258,6 +258,10 @@ class Cabinet extends Common
break
;
break
;
}
}
if
(
!
$periodStats
)
{
return
new
JsonResponse
(
null
);
}
$periodStats
[
'type'
]
=
'interval'
;
$periodStats
[
'type'
]
=
'interval'
;
$periodStats
[
'report'
]
=
$report_type
;
$periodStats
[
'report'
]
=
$report_type
;
...
...
src/src/App/Model/Feeds/StatsDays.php
View file @
cc66f538
...
@@ -80,6 +80,10 @@ class StatsDays extends Common
...
@@ -80,6 +80,10 @@ class StatsDays extends Common
.
' ORDER BY EventDate desc'
;
.
' ORDER BY EventDate desc'
;
$res
=
$adapter
->
query
(
$sql
,
\Zend\Db\Adapter\Adapter
::
QUERY_MODE_EXECUTE
);
$res
=
$adapter
->
query
(
$sql
,
\Zend\Db\Adapter\Adapter
::
QUERY_MODE_EXECUTE
);
if
(
count
(
$res
)
==
0
)
{
return
null
;
}
$stats
=
array
(
$stats
=
array
(
'period'
=>
[],
'period'
=>
[],
'shows'
=>
[],
'shows'
=>
[],
...
...
src/templates/app/user/cabinet-feed.phtml
View file @
cc66f538
...
@@ -35,6 +35,7 @@ $this->headScript()
...
@@ -35,6 +35,7 @@ $this->headScript()
->
appendFile
(
'/js/script-feeds-stat-charts.js'
)
->
appendFile
(
'/js/script-feeds-stat-charts.js'
)
->
appendFile
(
'/js/script-feeds-stat-table.js'
)
->
appendFile
(
'/js/script-feeds-stat-table.js'
)
->
appendFile
(
'/js/script-feeds-stat.js'
)
->
appendFile
(
'/js/script-feeds-stat.js'
)
->
appendFile
(
'/js/adm/service-actions.js'
)
;
;
$this
->
headLink
()
$this
->
headLink
()
...
@@ -79,8 +80,7 @@ $colors_active_lines = array(
...
@@ -79,8 +80,7 @@ $colors_active_lines = array(
);
);
$data_request_link
=
$this
->
url
(
'user.cabinet'
,
[
'lang'
=>
$this
->
lang
,
'report'
=>
$report
]);
$data_request_link
=
$this
->
url
(
'user.cabinet'
,
[
'lang'
=>
$this
->
lang
,
'report'
=>
$report
]);
$system_link
=
$this
->
url
(
'adm.system.actions'
);
?>
?>
...
@@ -115,7 +115,9 @@ $data_request_link = $this->url('user.cabinet', ['lang' => $this->lang, 'report'
...
@@ -115,7 +115,9 @@ $data_request_link = $this->url('user.cabinet', ['lang' => $this->lang, 'report'
<div
class=
"wrapp"
style=
"position: relative;"
>
<div
class=
"wrapp"
style=
"position: relative;"
>
<div
class=
"b-feeds-stat_data-loading"
></div>
<div
class=
"b-feeds-stat_data-loading"
></div>
<!--
<a class="btn btn-primary service-action feed-test-data" href="
<?=
$system_link
?>
">Сформировать тестовые данные</a>
-->
<div
class=
"b-feeds-stat_controls form-group"
>
<div
class=
"b-feeds-stat_controls form-group"
>
<div
class=
"b-feeds-stat_controls-report"
>
<div
class=
"b-feeds-stat_controls-report"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment