Location: PHPKode > projects > Knowledge Box > knowledgebox/wizard/execute_relative.php
<?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 ());

?>
Return current item: Knowledge Box