refactor newsletter module and disable prepare/user templates
This commit is contained in:
@@ -1,67 +1 @@
|
||||
<script type="text/javascript" src="/libraries/ckeditor/ckeditor.js"></script>
|
||||
<script type="text/javascript" src="/libraries/ckeditor/adapters/jquery.js"></script>
|
||||
<?
|
||||
global $db;
|
||||
ob_start();
|
||||
?>
|
||||
<?= \Html::input(
|
||||
array(
|
||||
'label' => 'Nazwa',
|
||||
'name' => 'name',
|
||||
'id' => 'name',
|
||||
'value' => $this -> email_template['name'],
|
||||
'inline' => true,
|
||||
'readonly' => $this -> email_template['is_admin'] ? true : false
|
||||
)
|
||||
);?>
|
||||
<?= \Html::textarea(
|
||||
array(
|
||||
'label' => 'Treść',
|
||||
'name' => 'text',
|
||||
'id' => 'text',
|
||||
'value' => $this ->email_template['text'],
|
||||
'inline' => true
|
||||
)
|
||||
);?>
|
||||
|
||||
<?
|
||||
$out = ob_get_clean();
|
||||
$grid = new \gridEdit;
|
||||
$grid -> id = 'email-templates-edit';
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> include_plugins = true;
|
||||
$grid -> title = 'Edycja szablonu newslettera';
|
||||
$grid -> fields = [
|
||||
[
|
||||
'db' => 'id',
|
||||
'type' => 'hidden',
|
||||
'value' => $this -> email_template['id']
|
||||
]
|
||||
];
|
||||
$grid -> external_code = $out;
|
||||
$grid -> actions = [
|
||||
'save' => [
|
||||
'url' => '/admin/newsletter/template_save/',
|
||||
'back_url' => $this -> email_template['is_admin'] ? '/admin/newsletter/email_templates_admin/' : '/admin/newsletter/email_templates_user/'
|
||||
],
|
||||
'cancel' => [
|
||||
'url' => $this -> email_template['is_admin'] ? '/admin/newsletter/email_templates_admin/' : '/admin/newsletter/email_templates_user/'
|
||||
]
|
||||
];
|
||||
$grid -> persist_edit = true;
|
||||
$grid -> id_param = 'id';
|
||||
|
||||
echo $grid -> draw();
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
$( function()
|
||||
{
|
||||
disable_menu();
|
||||
|
||||
$( '#text' ).ckeditor(
|
||||
{
|
||||
toolbar : 'MyTool',
|
||||
height:'350'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?= \Tpl::view('components/form-edit', ['form' => $this->form]); ?>
|
||||
@@ -1,28 +1 @@
|
||||
<?php
|
||||
global $gdb;
|
||||
|
||||
$grid = new \grid( 'pp_newsletter_templates' );
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> order = [ 'column' => 'name', 'type' => 'ASC' ];
|
||||
$grid -> where = [ 'is_admin' => 1 ];
|
||||
$grid -> columns_view = [
|
||||
[
|
||||
'name' => 'Lp.',
|
||||
'th' => [ 'class' => 'g-lp' ],
|
||||
'td' => [ 'class' => 'g-center' ],
|
||||
'autoincrement' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Nazwa',
|
||||
'db' => 'name',
|
||||
'php' => 'echo "<a href=\'/admin/newsletter/email_template_edit/id=[id]\'>[name]</a>";',
|
||||
'sort' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Edytuj',
|
||||
'action' => [ 'type' => 'edit', 'url' => '/admin/newsletter/email_template_edit/id=[id]' ],
|
||||
'th' => [ 'class' => 'g-center', 'style' => 'width: 70px;' ],
|
||||
'td' => [ 'class' => 'g-center' ]
|
||||
]
|
||||
];
|
||||
echo $grid -> draw();
|
||||
<?= \Tpl::view('components/table-list', ['list' => $this->viewModel]); ?>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
global $gdb;
|
||||
|
||||
$grid = new \grid( 'pp_newsletter_templates' );
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> order = [ 'column' => 'name', 'type' => 'ASC' ];
|
||||
$grid -> where = [ 'is_admin' => 0 ];
|
||||
$grid -> columns_view = [
|
||||
[
|
||||
'name' => 'Lp.',
|
||||
'th' => [ 'class' => 'g-lp' ],
|
||||
'td' => [ 'class' => 'g-center' ],
|
||||
'autoincrement' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Nazwa',
|
||||
'db' => 'name',
|
||||
'php' => 'echo "<a href=\'/admin/newsletter/email_template_edit/id=[id]\'>[name]</a>";',
|
||||
'sort' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Edytuj',
|
||||
'action' => [ 'type' => 'edit', 'url' => '/admin/newsletter/email_template_edit/id=[id]' ],
|
||||
'th' => [ 'class' => 'g-center', 'style' => 'width: 70px;' ],
|
||||
'td' => [ 'class' => 'g-center' ]
|
||||
],
|
||||
[
|
||||
'name' => 'Usuń',
|
||||
'action' => [ 'type' => 'delete', 'url' => '/admin/newsletter/email_template_delete/id=[id]' ],
|
||||
'th' => [ 'class' => 'g-center', 'style' => 'width: 70px;' ],
|
||||
'td' => [ 'class' => 'g-center' ]
|
||||
]
|
||||
];
|
||||
$grid -> buttons = [
|
||||
[
|
||||
'label' => 'Dodaj szablon',
|
||||
'url' => '/admin/newsletter/email_template_edit/',
|
||||
'icon' => 'fa-plus-circle',
|
||||
'class' => 'btn-success'
|
||||
]
|
||||
];
|
||||
echo $grid -> draw();
|
||||
@@ -1,30 +1 @@
|
||||
<?php
|
||||
global $gdb;
|
||||
|
||||
$grid = new \grid( 'pp_newsletter' );
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> order = [ 'column' => 'email', 'type' => 'ASC' ];
|
||||
$grid -> search = [
|
||||
[ 'name' => 'Email', 'db' => 'email', 'type' => 'text' ]
|
||||
];
|
||||
$grid -> columns_view = [
|
||||
[
|
||||
'name' => 'Lp.',
|
||||
'th' => [ 'class' => 'g-lp' ],
|
||||
'td' => [ 'class' => 'g-center' ],
|
||||
'autoincrement' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Email',
|
||||
'db' => 'email',
|
||||
'sort' => true
|
||||
],
|
||||
[
|
||||
'name' => 'Potwierdzony',
|
||||
'db' => 'status',
|
||||
'sort' => true,
|
||||
'replace' => [ 'array' => [ 0 => '<span style="color: #FF0000;">nie</span>', 1 => 'tak' ] ]
|
||||
]
|
||||
];
|
||||
$grid -> actions = [ 'delete' => true ];
|
||||
echo $grid -> draw();
|
||||
<?= \Tpl::view('components/table-list', ['list' => $this->viewModel]); ?>
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
<?
|
||||
global $db;
|
||||
|
||||
ob_start();
|
||||
?>
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-4 control-label">Zakres dat:</label>
|
||||
<div class="col-lg-8">
|
||||
<div class="input-group">
|
||||
<input type="text" id="dates" name="dates" data="search-column:date_add;search-type:date_range" class="form-control date-range require" value="">
|
||||
<span class="input-group-addon cursor date-range-icon">
|
||||
<i class="fa fa-calendar"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-12 control-label">lub / i</label>
|
||||
</div>
|
||||
<?
|
||||
$templates[''] = '---- szablon ----';
|
||||
if ( is_array( $this -> templates ) ): foreach ( $this -> templates as $template ):
|
||||
$templates[ $template['id'] ] = $template['name'];
|
||||
endforeach; endif;
|
||||
?>
|
||||
<?= \Html::select(
|
||||
array(
|
||||
'label' => 'Szablon',
|
||||
'name' => 'template',
|
||||
'id' => 'template',
|
||||
'values' => $templates,
|
||||
'value' => $this -> templates['id']
|
||||
));?>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-12 control-label">Podgląd:</label>
|
||||
<div class="col-12">
|
||||
<div id="newsletter-preview"></div>
|
||||
</div>
|
||||
</div>
|
||||
<?
|
||||
$out = ob_get_clean();
|
||||
|
||||
$grid = new \gridEdit;
|
||||
$grid -> id = 'newsletter-prepare';
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> include_plugins = true;
|
||||
$grid -> title = 'Wysyłka newslettera - przygotowanie';
|
||||
$grid -> default_buttons = false;
|
||||
$grid -> external_code = $out;
|
||||
$grid -> buttons = [
|
||||
[
|
||||
'label' => 'Wyślij newsletter',
|
||||
'class' => 'btn-success',
|
||||
'icon' => 'fa-send',
|
||||
'js' => 'send_newsletter();'
|
||||
]
|
||||
];
|
||||
echo $grid -> draw();
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function send_newsletter()
|
||||
{
|
||||
var dates = $( '#dates' ).val();
|
||||
var template = $('#template').val();
|
||||
|
||||
if ( !dates && !template )
|
||||
$.prompt( 'Proszę wybrać zakres dat lub szablon.', { title: 'Błąd' } );
|
||||
|
||||
$( '#fg-newsletter-prepare' ).submit();
|
||||
return false;
|
||||
}
|
||||
|
||||
$( function()
|
||||
{
|
||||
$( '#fg-newsletter-prepare' ).attr( 'action', '/admin/newsletter/send/' );
|
||||
|
||||
$( 'body' ).on( 'change', '#dates', function()
|
||||
{
|
||||
var dates = $( this ).val();
|
||||
var template = $('#template').val();
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
cache: false,
|
||||
url: '/admin/ajax.php',
|
||||
data: {
|
||||
a: 'newsletter-preview',
|
||||
dates: dates,
|
||||
template: template
|
||||
},
|
||||
beforeSend: function()
|
||||
{
|
||||
$( '#overlay' ).show();
|
||||
},
|
||||
success: function( response )
|
||||
{
|
||||
$( '#overlay' ).hide();
|
||||
$( '#newsletter-preview' ).html( response );
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$( 'body' ).on( 'change', '#template', function()
|
||||
{
|
||||
var dates = $( '#dates' ).val();
|
||||
var template = $( this ).val();
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
type: 'POST',
|
||||
cache: false,
|
||||
url: '/admin/ajax.php',
|
||||
data: {
|
||||
a: 'newsletter-preview',
|
||||
template: template,
|
||||
dates: dates
|
||||
},
|
||||
beforeSend: function()
|
||||
{
|
||||
$( '#overlay' ).show();
|
||||
},
|
||||
success: function( response )
|
||||
{
|
||||
$( '#overlay' ).hide();
|
||||
$( '#newsletter-preview' ).html( response );
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -1,41 +0,0 @@
|
||||
<div style="border-bottom: 1px solid #ccc;">
|
||||
<?= $this -> settings['newsletter_header'] ? $this -> settings['newsletter_header'] : '<p style="text-align: center;">--- brak zdefiniowanego nagłówka ---</p>';?>
|
||||
</div>
|
||||
<div style="border-bottom: 1px solid #ccc; padding: 10px 0 0 0;">
|
||||
<? if ( is_array( $this -> template ) ):?>
|
||||
<div style="padding: 10px; background: #F1F1F1; margin-bottom: 10px">
|
||||
<?=$this -> template['text']?>
|
||||
</div>
|
||||
<? endif;?>
|
||||
<? if ( is_array( $this -> articles ) ):?>
|
||||
<? foreach ( $this -> articles as $article ):?>
|
||||
<? $article['language']['seo_link'] ? $url = $article['language']['seo_link'] : $url = 'a-' . $article['id'] . '-' . \S::seo( $article['language']['title'] );?>
|
||||
<div style="padding: 10px; background: #F1F1F1; margin-bottom: 10px">
|
||||
<?
|
||||
$article['language']['seo_link'] ? $url = $article['language']['seo_link'] : $url = 'a-' . $article['id'] . '-' . \S::seo( $article['language']['title'] );
|
||||
?>
|
||||
<a href="http://<?= $_SERVER['SERVER_NAME'];?>/<?= $url;?>" title="<?= $article['language']['title'];?>" style="margin-bottom: 10px; display: block; font-size: 14px; color: #5b7fb1; font-weight: 600;">
|
||||
<?= $article['language']['title'];?>
|
||||
</a>
|
||||
<div>
|
||||
<?
|
||||
if ( $article['language']['entry'] )
|
||||
echo $article['language']['entry'];
|
||||
else
|
||||
echo $article['language']['text'];
|
||||
?>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
<? endforeach;?>
|
||||
<? else:?>
|
||||
<? if ( $this -> dates ):?>
|
||||
<div style="padding: 10px; background: #F1F1F1; margin-bottom: 10px; text-align: center;">
|
||||
--- brak artykułów w danym okresie ---
|
||||
</div>
|
||||
<? endif;?>
|
||||
<? endif;?>
|
||||
</div>
|
||||
<div style="border-bottom: 1px solid #ccc; padding: 10px 0 0 0;">
|
||||
<?= $this -> settings['newsletter_footer'] ? $this -> settings['newsletter_footer'] : '<p style="text-align: center;">--- brak zdefiniowanej stopki ---</p>';?>
|
||||
</div>
|
||||
@@ -1,51 +1 @@
|
||||
<script type="text/javascript" src="/libraries/ckeditor/ckeditor.js"></script>
|
||||
<script type="text/javascript" src="/libraries/ckeditor/adapters/jquery.js"></script>
|
||||
<script type="text/javascript">
|
||||
$( function()
|
||||
{
|
||||
$( 'textarea' ).ckeditor(
|
||||
{
|
||||
toolbar : 'MyTool',
|
||||
height: '150'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?
|
||||
global $db;
|
||||
|
||||
ob_start();
|
||||
|
||||
echo \Html::textarea(
|
||||
array(
|
||||
'label' => 'Nagłówek',
|
||||
'name' => 'newsletter_header',
|
||||
'id' => 'newsletter_header',
|
||||
'value' => $this -> settings['newsletter_header'],
|
||||
'inline' => true
|
||||
)
|
||||
);
|
||||
echo \Html::textarea(
|
||||
array(
|
||||
'label' => 'Stopka',
|
||||
'name' => 'newsletter_footer',
|
||||
'id' => 'newsletter_footer',
|
||||
'value' => $this -> settings['newsletter_footer'],
|
||||
'inline' => true
|
||||
)
|
||||
);
|
||||
|
||||
$out = ob_get_clean();
|
||||
|
||||
$grid = new \gridEdit;
|
||||
$grid -> id = 'settings-edit';
|
||||
$grid -> gdb_opt = $gdb;
|
||||
$grid -> include_plugins = true;
|
||||
$grid -> title = 'Edycja ustawień';
|
||||
$grid -> actions = [
|
||||
'save' => [ 'url' => '/admin/newsletter/settings_save/', 'back_url' => '/admin/newsletter/settings/' ],
|
||||
];
|
||||
$grid -> external_code = $out;
|
||||
echo $grid -> draw();
|
||||
?>
|
||||
<script>CKEDITOR.dtd.$removeEmpty['span'] = false;</script>
|
||||
<style type="text/css">#g-edit-cancel { display: none; }</style>
|
||||
<?= \Tpl::view('components/form-edit', ['form' => $this->form]); ?>
|
||||
@@ -89,9 +89,7 @@
|
||||
Newsletter
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/admin/newsletter/prepare/"><img src="/admin/layout/icon/icon-menu/package(1).svg">Wysyłka - przygotowanie</a></li>
|
||||
<li><a href="/admin/newsletter/emails_list/"><img src="/admin/layout/icon/icon-menu/bx-at.svg">Baza emaili</a></li>
|
||||
<li><a href="/admin/newsletter/email_templates_user/"><img src="/admin/layout/icon/icon-menu/template(1).svg">Szablony użytkownika</a></li>
|
||||
<li><a href="/admin/newsletter/email_templates_admin/"><img src="/admin/layout/icon/icon-menu/template.svg">Szablony administracyjne</a></li>
|
||||
<li><a href="/admin/newsletter/settings/"><img src="/admin/layout/icon/icon-menu/baseline-settings.svg">Ustawienia</a></li>
|
||||
</ul>
|
||||
@@ -274,4 +272,4 @@
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user