144 lines
7.0 KiB
PHP
144 lines
7.0 KiB
PHP
<?php
|
|
global $gdb;
|
|
|
|
$grid = new \grid( 'pp_articles' );
|
|
$grid -> gdb_opt = $gdb;
|
|
$grid -> sql = 'SELECT *'
|
|
. 'FROM ( '
|
|
. 'SELECT '
|
|
. 'id, date_add, date_modify, status, '
|
|
. '( SELECT title FROM pp_articles_langs AS pal, pp_langs AS pl WHERE lang_id = pl.id AND article_id = pa.id AND title != \'\' ORDER BY o ASC LIMIT 1 ) AS title, '
|
|
. '( SELECT login FROM pp_users AS pu WHERE pu.id = pa.modify_by ) AS user '
|
|
. 'FROM '
|
|
. 'pp_articles AS pa WHERE status != -1 '
|
|
. ') AS q1 '
|
|
. 'WHERE '
|
|
. '1=1 [where] '
|
|
. 'ORDER BY '
|
|
. '[order_p1] [order_p2]';
|
|
$grid -> sql_count = 'SELECT '
|
|
. 'COUNT(0) FROM ( '
|
|
. 'SELECT '
|
|
. 'id, date_add, date_modify, status, '
|
|
. '( SELECT title FROM pp_articles_langs AS pal, pp_langs AS pl WHERE lang_id = pl.id AND article_id = pa.id AND title != \'\' ORDER BY o ASC LIMIT 1 ) AS title, '
|
|
. '( SELECT login FROM pp_users AS pu WHERE pu.id = pa.modify_by ) AS user '
|
|
. 'FROM '
|
|
. 'pp_articles AS pa WHERE status != -1 '
|
|
. ') AS q1 '
|
|
. 'WHERE '
|
|
. '1=1 [where] ';
|
|
$grid -> debug = true;
|
|
if ( !\S::get_session( 'gpp_articlesorder' ) )
|
|
$grid -> order = [ 'column' => 'date_add', 'type' => 'DESC' ];
|
|
$grid -> search = [
|
|
[ 'name' => 'Tytuł', 'db' => 'title', 'type' => 'text' ],
|
|
[ 'name' => 'Aktywny', 'db' => 'status', 'type' => 'select', 'replace' => [ 'array' => [ 0 => 'nie', 1 => 'tak' ] ] ],
|
|
[ 'name' => 'Data dodania', 'db' => 'date_add', 'type' => 'date_range' ],
|
|
[ 'name' => 'Data modyfikacji', 'db' => 'date_modify', 'type' => 'date_range' ]
|
|
];
|
|
$grid -> columns_view = [
|
|
[
|
|
'name' => 'Lp.',
|
|
'th' => [ 'class' => 'g-lp' ],
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'autoincrement' => true
|
|
],
|
|
[
|
|
'name' => 'Tytuł',
|
|
'db' => 'title',
|
|
'sort' => true,
|
|
'php' => 'echo "<a href=\'/admin/articles/article_edit/id=[id]\'>[title]</a>"; echo "<small class=\'text-muted\'>" . \admin\factory\Articles::article_pages( [id] ) . "</small>";'
|
|
],
|
|
[
|
|
'name' => 'Aktywny',
|
|
'db' => 'status',
|
|
'replace' => [ 'array' => [ 0 => '<span style="color: #FF0000;">nie</span>', 1 => 'tak' ] ],
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 150px;' ],
|
|
'sort' => true
|
|
],
|
|
[
|
|
'name' => 'Data dodania',
|
|
'db' => 'date_add',
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 220px;' ],
|
|
'php' => 'echo date( "Y-m-d H:i", strtotime( "[date_add]" ) );',
|
|
'sort' => true
|
|
],
|
|
[
|
|
'name' => 'Data modyfikacji',
|
|
'db' => 'date_modify',
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 220px;' ],
|
|
'php' => 'echo date( "Y-m-d H:i", strtotime( "[date_modify]" ) );',
|
|
'sort' => true
|
|
],
|
|
[
|
|
'name' => 'Modyfikowany przez',
|
|
'db' => 'user',
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 220px;' ],
|
|
], [
|
|
'name' => 'Akcja',
|
|
'td' => [ 'class' => 'g-center' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 120px;' ],
|
|
'php' => 'echo "<a href=\'#\' class=\'duplicate-article\' article-id=\'[id]\'>duplikuj</a>";'
|
|
], [
|
|
'name' => 'Edytuj',
|
|
'action' => [ 'type' => 'edit', 'url' => '/admin/articles/article_edit/id=[id]' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 70px;' ],
|
|
'td' => [ 'class' => 'g-center' ]
|
|
],
|
|
[
|
|
'name' => 'Usuń',
|
|
'action' => [ 'type' => 'delete', 'url' => '/admin/articles/article_delete/id=[id]' ],
|
|
'th' => [ 'class' => 'g-center', 'style' => 'width: 70px;' ],
|
|
'td' => [ 'class' => 'g-center' ]
|
|
]
|
|
];
|
|
$grid -> buttons = [
|
|
[
|
|
'label' => 'Dodaj artykuł',
|
|
'url' => '/admin/articles/article_edit/',
|
|
'icon' => 'fa-plus-circle',
|
|
'class' => 'btn-success'
|
|
]
|
|
];
|
|
echo $grid -> draw();
|
|
?>
|
|
<script type="text/javascript">
|
|
$( function() {
|
|
$( 'body' ).on( 'click', '.duplicate-article', function(e) {
|
|
e.preventDefault();
|
|
var article_id = $( this ).attr( 'article-id' );
|
|
$.alert(
|
|
{
|
|
title: 'Potwierdź',
|
|
content: 'Na pewno chcesz zduplikować wybrany artykuł?',
|
|
type: 'orange',
|
|
closeIcon: true,
|
|
closeIconClass: 'fa fa-close',
|
|
typeAnimated: true,
|
|
animation: 'opacity',
|
|
theme: 'modern',
|
|
columnClass: 'col-lg-8 col-lg-offset-2',
|
|
buttons: {
|
|
confirm: {
|
|
text: 'Zatwierdź',
|
|
btnClass: 'btn-blue',
|
|
keys: ['enter'],
|
|
action: function() {
|
|
document.location.href = '/admin/articles/duplicate_article/id=' + article_id;
|
|
}
|
|
},
|
|
cancel:
|
|
{
|
|
text: 'Zamknij',
|
|
btnClass: 'btn-dark',
|
|
action: function() {}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
</script>
|