<?php
/*
* Free IT Foundation
* Free Technology Serving Knowledge
* http://www.free-it-foundation.org
*
* This file is part of Knowledge Box.
*
* Knowledge Box is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Knowledge Box is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Knowledge Box. If not, see <http://www.gnu.org/licenses/>.
*/
// restrict access
if (!KB_IS_CONTRIBUTOR)
$AppUI->redirect (KB_ACCESS_DENIED);
// retrieve id
$entry_id = (int) dPgetParam ($_POST, 'id');
// instanciate
$entry = new KBModuleEntry ();
// load record
if ($entry_id > 0 && !$entry->load ($entry_id))
{
// failed
$AppUI->setMsg ('invalidID', UI_MSG_ERROR, true);
$AppUI->redirect ();
}
// previous
$relatives = KBModuleRelative::getRelativesByEntry ($entry->getId ());
// clean up
foreach ($relatives as $relative)
$relative->delete ();
// bases
$bases = KBModuleBase::getBases ();
// iterate over bases
foreach ($bases as $base)
{
// post
$relations = $_POST ['entries_' . $base->getId ()];
// only on selected bases
if (is_array ($relations))
{
// iterate
foreach ($relations as $key)
{
// instanciate
$relative = new KBModuleRelative ();
// set
$relative->setEntryId ($entry->getId ());
$relative->setRelativeId ((int) $key);
// store
$relative->store ();
}
}
}
// ui message
$AppUI->setMsg (utf8_encode (html_entity_decode ($AppUI->_('uiRelationsResource'))) . ' ' . utf8_encode (html_entity_decode ($AppUI->_('uiResourceUpdated'))), UI_MSG_OK);
// redirect
$AppUI->redirect ('m=' . KB_MODULE . '&a=relative&id=' . $entry->getId ());
?>