store() ładnie śmiga, przyszedł czas na delete().
Otóż po wywołaniu funkcji delete() rekord zostaje usunięty, ale także z niewiadomych mi przyczyn zostaję wylogowany z panelu admina. Czy ktoś już spotkał się z czymś takim, albo ma pomysł w czym jest problem?
Kod:
function updatedelete()
{
global $mainframe;
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
$iferror = 0;
for($i = 1; $_POST['h'.$i]; $i++) // jeżeli istnieje input typu hidden o nazwie 'h'.$i
{
if (isset($_POST['ch'.$i])) // jeżeli checkbox jest zaznaczony
{
$row =& JTable::getInstance('calendar', 'Table');
$row->id = JRequest::getVar('h'.$i, '0', 'post', 'string', JREQUEST_ALLOWRAW);
$row->day = (int) JRequest::getVar('day'.$i, '', 'post', 'string', JREQUEST_ALLOWRAW );
$row->month = (int) JRequest::getVar('month'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
$row->year = (int) JRequest::getVar('year'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
$row->event = JRequest::getVar('event'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
$row->group = (int) JRequest::getVar('group'.($i), '', 'post', 'string', JREQUEST_ALLOWRAW );
if( $_POST['submit'] == 'edit' )
{
if(!$row->store())
{
$iferror = 1;
}
}
if( $_POST['submit'] == 'delete' )
{
if(!$row->delete())
{
$iferror = 1;
}
}
}
}
if($iferror == 1)
{
echo "********** alert('Wystąpił błąd!'); window.history.go(-1); </script>\n";
exit();
}
else
{
if( $_POST['submit'] == 'edit' )
{
$mainframe->redirect('index.php?option=com_calendar','Edytowano poprawnie.');
}
if( $_POST['submit'] == 'delete' )
{
$mainframe->redirect('index.php?option=com_calendar','Usunięto poprawnie.');
}
}
}