Czesc mam problem z moim cmf chce zrobic zarzadzanie uzytkownikami za pomoca jquery problem polega na tym ze gdy klikne na link banujacy uzytkownika to go banuje i jest ok ale co jesli pomyle sie i kilkne przez przypadek na innego uzytkownika wtedy musze go odbanowac jako ze wszystko dzieje sie za pomoca ajax-a to linki musze zmieniac dynamicznie i z tym nie ma problemu to tez dziala ale gdy kilkne na link banuj i potem na odbanuj wykonuje akcje dla banuj.....troche to zamotane podam kod:
function banUser() {
$('.ban_user').click(function(event) {
$('#msg').empty();
var successHtml = '<div align=\"center\" style=\"padding:5px;margin:5px;background-color:#C0C0C0;border:1px solid #33ff33;\">Uzytkownik zostal zbanowany</div>';
var time = prompt("Prosze podac czas w dniach lub zostawic puste jesli nie ma byc limitu czasu.");
var login = $(this).attr('user');
var action = $('.ban_user').attr('class');
var link_id = $(this).attr('id');
var user_id = $(this).attr('user_id');
if(time != null)
{
time = time * 60*60*60;
}
$.post($('.ban_user').attr('action_delete'), { user: login, expire: time, action_type: action }, function(data, textStatus, jqXHR) {
if(textStatus == 'success') {
$("#" + link_id).text('Odbanuj'); //zmieniam na odbanuj
$("#" + link_id).attr('class', 'unban_user'); //zmieniam na odbanuj
$("#" + link_id).attr('id', 'unban_' + user_id); //zmieniam na odbanuj
$('#msg').css('display', 'block');
$('#msg').fadeIn('slow').append(successHtml);
}
});
});
}
function unbanUser() {
$('.unban_user').click(function(event) {
$('#msg').empty();
var successHtml = '<div align=\"center\" style=\"padding:5px;margin:5px;background-color:#C0C0C0;border:1px solid #33ff33;\">Uzytkownik zostal odbanowany</div>';
var login = $(this).attr('user');
var action = $('.unban_user').attr('class');
$.post($('.unban_user').attr('action_delete'), { user: login, action_type: action}, function(data, textStatus, jqXHR) {
if(textStatus == 'success') {
$('#msg').css('display', 'block');
$('#msg').fadeIn('slow').append(successHtml);
}
});
});
}
I kod html:
{@ assets type="js" path="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js" @}
{@ assets type="js" path="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" @}
{@ assets type="js" path="../components/adminPages/assets/js/userManager.js" @}
{@ js_inline @}
$(document).ready(function() {
banUser();
unbanUser();
});
{@ end @}
<?php $base = Vf_Uri_Helper::base(true); ?>
<div>
<?php if(sizeof($users) > 0): ?> <h4>Uzytkownicy</h4>
<table class="default" cellspacing="0">
<tr>
<th>id</th>
<th>uzytkownik</th>
<th>email</th>
<th>grupa</th>
<th>Akcje</th>
</tr>
<?php foreach($users as $tab): ?>
<tr>
<td>
<?php print $tab['id']; ?></td>
<td>
<?php print $tab['login']; ?></td>
<td>
<?php print $tab['email']; ?></td>
<td>
<?php print $tab['role']; ?></td>
<td>
<a style="text-decoration:none;" href="
<?php print $base; ?>Admin,Index,editUserData,
<?php print $tab['id']; ?>">Edytuj</a>
<a style="text-decoration:none;" href="
<?php print $base; ?>Admin,Index,deleteUser,
<?php print $tab['id']; ?>">Usun</a>
<?php if($tab['ban_id'] != null): ?>
<a style="text-decoration:none;" href="#" id="unban_
<?php print $tab['id']; ?>" class="unban_user" user="
<?php print $tab['login']; ?>" action_delete="
<?php print Vf_Uri_Helper
::site(false); ?>">Odbanuj</a>
<?php else: ?>
<a style="text-decoration:none;" href="#" id="ban_
<?php print $tab['id']; ?>" class="ban_user" user="
<?php print $tab['login']; ?>" action_delete="
<?php print Vf_Uri_Helper
::site(false); ?>">Banuj</a>
<?php endif; ?>
<?php if($tab['active'] == 0): ?>
<a style="text-decoration:none;" href="
<?php print $base; ?>Admin,Index,activeAccountUser,
<?php print $tab['id']; ?>">Aktywuj</a>
<?php else: ?>
<a style="text-decoration:none;" href="
<?php print $base; ?>Admin,Index,deactiveAccountUser,
<?php print $tab['id']; ?>">Dezaktywuj</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<div id="msg" style="display:none;"></div>
<div style="margin-top:10px;">
</div>
<?php if(isset($msg_remove_user)): ?> <?php print Vf_Box_Helper
::success($msg_remove_user); ?> <?php endif; ?>
<?php if(isset($error_remove_user)): ?> <?php print Vf_Box_Helper
::error($error_remove_user); ?> <?php endif; ?>
<?php else: ?>
<?php print Vf_Box_Helper
::error('Nie ma zadnych uzytkownikow.'); ?> <?php endif; ?>
</div>
Z gory dziekuje za pomoc.