Add candidate and employer templates, application form, and new password functionality

- Created 'dla-kandydata.php' template for candidates with job offers and registration options.
- Developed 'dla-pracodawcy.php' template for employers detailing how Globelus works and registration for new employers.
- Implemented 'advert-apply.php' for job applications, including form validation and file upload for CVs.
- Added 'new-password.php' for users to set a new password with validation for password strength and matching.
This commit is contained in:
2025-05-24 11:51:42 +02:00
parent 4fdd906b81
commit 905c0f0d89
59 changed files with 1987 additions and 791 deletions

View File

@@ -16,7 +16,7 @@
] );?>
<div class="mini-box fluid">
<div class="title">
<?= ucfirst( $lang['moje-ogloszenia'] );?>
Twoje oferty pracy
<span class="pull-right text-danger small">
Posiadasz <?= (int)$this -> firm_points;?> pkt. <a href="/panel-pracodawcy/zakup-punktow">Doładuj konto.</a>
</span>
@@ -147,7 +147,7 @@
'td' => [ 'class' => 'g-center' ],
'db' => 'answers',
'sort' => true,
'php' => 'echo "<a href=\'/panel-pracodawcy/odpowiedzi/[id]\' class=\'btn"; if ( [answers_nondisplayed] ) echo " btn-danger "; else echo " btn-gray "; echo "pull-right\'>[answers]</a>"; '
'php' => 'echo "<a href=\'/panel-pracodawcy/odpowiedzi/[id]\' class=\'"; if ( [answers_nondisplayed] ) echo " btn-danger "; else echo " btn-gray "; echo "\'>[answers]</a>"; '
], [
'name' => 'Widoczne',
'db' => 'visible',
@@ -256,8 +256,6 @@
. 'echo "<span class=\'container-tooltip\' data-tippy-content=\'" . $title4 . "\'>" '
. '. "<a href=\'#\' class=\'advert_highlight btn btn-primary btn-sm " . $class4 . "\' advert-id=\'[id]\'>dodatkowa promocja</a>" '
. '. "</span>"; '
. 'else '
. 'echo "<a href=\'#\' class=\'advert-additional-promotion btn btn-primary btn-sm\' advert-id=\'[id]\'>dodatkowa promocja</a>"; '
//wyróżnienie - sprawdzanie czy ogłoszenie jest opublikowane
. 'if ( [disabled_by_admin] ) { '
@@ -324,24 +322,22 @@
. 'echo "<a href=\'#\' class=\'advert_main_page btn btn-primary btn-sm\' advert-id=\'[id]\'>włącz polecenie</a>"; '
. 'if ( ![disabled_by_admin] ) { '
. 'if ( \'[active_to]\' >= date( \'Y-m-d\' ) ) { '
. 'if ( [visible] ) '
. 'echo "<a href=\'#\' class=\'btn btn-sm btn-primary advert-disable\' advert-id=\'[id]\'>wyłącz ogłoszenie</a>"; '
. 'else { '
//sprawdzenie ile ktoś ma ogłoszeń
. 'if ( ' . $this -> adverts_count . ' >= ' . $globelus_settings['limit-ogloszen'] . ' ) { '
. 'if ( ' . $this -> firm_points . ' < ' . $globelus_settings['pkt-dodanie-ogloszenia-powyzej-limitu'] . ' ) { '
. 'echo "<span class=\'container-tooltip\' data-tippy-content=\'Niestety posiadasz zbyt mało punktów aby opublikować nowe ogłoszenie.\'>" '
. '. "<a href=\'#\' class=\'advert-public btn btn-primary btn-sm btn-disabled\' advert-id=\'[id]\'>publikuj</a>" '
. '. "</span>"; '
. '} else { '
. 'echo "<a href=\'#\' class=\'btn btn-sm btn-primary advert-public\' advert-id=\'[id]\'>publikuj</a>"; '
. '} '
. '} '
. 'else {'
. 'if ( [visible] ) '
. 'echo "<a href=\'#\' class=\'btn btn-sm btn-primary advert-disable\' advert-id=\'[id]\'>wyłącz ogłoszenie</a>"; '
. 'else { '
//sprawdzenie ile ktoś ma ogłoszeń
. 'if ( ' . $this -> adverts_count . ' >= ' . $globelus_settings['limit-ogloszen'] . ' ) { '
. 'if ( ' . $this -> firm_points . ' < ' . $globelus_settings['pkt-dodanie-ogloszenia-powyzej-limitu'] . ' ) { '
. 'echo "<span class=\'container-tooltip\' data-tippy-content=\'Niestety posiadasz zbyt mało punktów aby opublikować nowe ogłoszenie.\'>" '
. '. "<a href=\'#\' class=\'advert-public btn btn-primary btn-sm btn-disabled\' advert-id=\'[id]\'>publikuj</a>" '
. '. "</span>"; '
. '} else { '
. 'echo "<a href=\'#\' class=\'btn btn-sm btn-primary advert-public\' advert-id=\'[id]\'>publikuj</a>"; '
. '} '
. '} '
. 'else {'
. 'echo "<a href=\'#\' class=\'btn btn-sm btn-primary advert-public\' advert-id=\'[id]\'>publikuj</a>"; '
. '} '
. '} '
. 'echo \'<a href="/panel-pracodawcy/edytuj-ogloszenie/[id]" class="btn btn-sm btn-primary advert-edit" title="edytuj" style="font-size: 12px;">edytuj</a>\';'
. '} '
@@ -357,6 +353,10 @@
'class' => 'btn-danger multi-delete',
'label' => 'Usuń',
'url' => '/globelusFirms/multi_delete/'
], [
'class' => 'btn-primary multi-refresh',
'label' => 'Odśwież',
'url' => '/globelusFirms/multi_refresh/'
]
];
echo $grid -> draw();
@@ -371,48 +371,20 @@
<script class="footer" src="/libraries/framework/vendor/plugins/datatables/media/js/jquery.dataTables.js"></script>
<script class="footer" src="/libraries/framework/vendor/plugins/datatables/media/js/dataTables.bootstrap.js"></script>
<script class="footer" type="text/javascript">
function odmiana_slowa_ogloszenie( liczba )
{
var slowo = 'ogłoszenie';
if ( liczba == 1 ) return slowo;
if ( liczba > 1 && liczba < 5 ) return 'ogłoszenia';
if ( liczba >= 5 ) return 'ogłoszeń';
}
$( function()
{
tippy('[data-tippy-content]', {
theme: 'material'
});
$( 'body' ).on( click_event, '.advert-additional-promotion', function(e)
{
e.preventDefault();
var advert_id = $( this ).attr( 'advert-id' );
$.alert(
{
title: 'Dodatkowa promocja ogłoszenia',
icon: 'fa fa-exclamation',
content: 'Dodatkowa promocja ogłoszenia kosztuje <b><?= $globelus_settings['pkt-dodatkowa-promocja-ogloszenia'];?> punktów<\/b>, zostaną one pobrane z Twojego konta.',
closeIcon: true,
closeIconClass: 'fa fa-close',
typeAnimated: true,
animation: 'opacity',
columnClass: 'large',
theme: 'modern',
buttons:
{
cancel:
{
text: '<?= $lang['anuluj'];?>',
action: function() {}
},
confirm:
{
text: '<?= $lang['zatwierdz'];?>',
btnClass: 'btn-blue',
keys: ['enter'],
action: function()
{
document.location.href='/globelusFirms/advert_additional_promotion/advert-id=' + advert_id;
}
}
}
});
});
$( 'body' ).on( click_event, '.advert_highlight', function(e)
{
e.preventDefault();
@@ -485,6 +457,56 @@
});
});
$( 'body' ).on( click_event, '.multi-refresh', function(e)
{
e.preventDefault();
var ids = getCheckedIds( 'ogloszenia-<?= $this -> user['id'];?>' );
var points = <?= $globelus_settings['pkt-odswiezenie-ogloszenia'];?> * ids.length;
var href = $( this ).attr( 'href' );
$.alert(
{
title: 'Odświeżenie ogłoszeń',
icon: 'fa fa-exclamation',
content: 'Odświeżasz ' + ids.length + ' ' + odmiana_slowa_ogloszenie( ids.length ) + '. Z Twojego konta zostanie pobrane <b>' + points + ' punktów<\/b>.',
closeIcon: true,
closeIconClass: 'fa fa-close',
typeAnimated: true,
animation: 'opacity',
columnClass: 'large',
theme: 'modern',
buttons:
{
cancel:
{
text: '<?= $lang['anuluj'];?>',
action: function() {}
},
confirm:
{
text: '<?= $lang['zatwierdz'];?>',
btnClass: 'btn-blue',
keys: ['enter'],
action: function()
{
$.ajax({
type: 'POST',
cache: false,
url: href,
data: {
ids: ids
},
beforeSend: function() {},
success: function( data ) {
document.location.reload();
}
});
}
}
}
});
});
$( 'body' ).on( click_event, '.multi-delete', function(e)
{
var ids = getCheckedIds( 'ogloszenia-<?= $this -> user['id'];?>' );