getForm('create',urldecode($_GET['load'])); } else { if (isset($_GET['LSrelation']) && isset($_GET['relatedLSobject']) && isset($_GET['relatedLSobjectDN'])) { if (LSsession :: loadLSobject($_GET['relatedLSobject']) && LSsession :: loadLSclass('LSrelation')) { $obj = new $_GET['relatedLSobject'](); if ($obj -> loadData(urldecode($_GET['relatedLSobjectDN']))) { $relation = new LSrelation($obj, $_GET['LSrelation']); if ($relation -> exists()) { $attr = $relation -> getRelatedEditableAttribute(); if (isset($object -> attrs[$attr])) { $value = $relation -> getRelatedKeyValue(); if (is_array($value)) $value=$value[0]; $object -> attrs[$attr] -> data = array($value); } else { LSerror :: addErrorCode('LSrelations_06',array('relation' => $relation -> getName(),'LSobject' => $obj -> getType())); } } } else { LSerror :: addErrorCode('LSsession_24'); } } } $form = $object -> getForm('create'); } if (isset($_REQUEST['LSform_dataEntryForm'])) { $form -> applyDataEntryForm((string)$_REQUEST['LSform_dataEntryForm']); LStemplate :: assign('LSform_dataEntryForm',(string)$_REQUEST['LSform_dataEntryForm']); } LStemplate :: assign('listAvailableDataEntryForm',LSform :: listAvailableDataEntryForm($LSobject)); LStemplate :: assign('DataEntryFormLabel',_('Data entry form')); if ($form->validate()) { // Data update for LDAP object if ($object -> updateData('create')) { if (!LSerror::errorsDefined()) { LSsession :: addInfo(_("Object has been added.")); } if (isset($_REQUEST['ajax'])) { LSsession :: displayAjaxReturn ( array( 'LSredirect' => 'view.php?LSobject='.$LSobject.'&dn='.urlencode($object -> getDn()) ) ); exit(); } else { if (!LSdebugDefined()) { LSsession :: redirect('view.php?LSobject='.$LSobject.'&dn='.urlencode($object -> getDn())); } } } else { if (isset($_REQUEST['ajax'])) { LSsession :: displayAjaxReturn ( array( 'LSformErrors' => $form -> getErrors() ) ); exit(); } else { LSsession :: displayTemplate(); } } } else if (isset($_REQUEST['ajax']) && $form -> definedError()) { LSsession :: displayAjaxReturn ( array( 'LSformErrors' => $form -> getErrors() ) ); exit(); } // Define page title LStemplate :: assign('pagetitle',_('New').' : '.$object -> getLabel()); LSsession :: setTemplate('create.tpl'); $form -> display(); } else { LSerror :: addErrorCode('LSsession_11'); } } else { LSerror :: addErrorCode('LSldapObject_01'); } } else { LSerror :: addErrorCode('LSsession_12'); } } else { LSsession :: setTemplate('login.tpl'); } LSsession :: displayTemplate();