isAdmin()) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } if (isset($_POST["action"])) $action=$_POST["action"]; else $action=NULL; // add new attribute definition --------------------------------------------- if ($action == "addattrdef") { /* Check if the form data comes from a trusted request */ if(!checkFormKey('addattrdef')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } $name = trim($_POST["name"]); $type = intval($_POST["type"]); $objtype = intval($_POST["objtype"]); if(isset($_POST["multiple"])) $multiple = trim($_POST["multiple"]); else $multiple = 0; $minvalues = intval($_POST["minvalues"]); $maxvalues = intval($_POST["maxvalues"]); $valueset = trim($_POST["valueset"]); $regex = trim($_POST["regex"]); if($name == '') { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_noname")); } if (is_object($dms->getAttributeDefinitionByName($name))) { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_exists")); } if($minvalues > 1 && $multiple == 0) { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_must_be_multiple")); } if($minvalues > $maxvalues) { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max")); } if($multiple && $valueset == '') { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset")); } $newAttrdef = $dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex); if (!$newAttrdef) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } $attrdefid=$newAttrdef->getID(); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_attribute'))); add_log_line("&action=addattrdef&name=".$name); } // delete attribute definition ----------------------------------------------- else if ($action == "removeattrdef") { /* Check if the form data comes from a trusted request */ if(!checkFormKey('removeattrdef')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } if (!isset($_POST["attrdefid"]) || !is_numeric($_POST["attrdefid"]) || intval($_POST["attrdefid"])<1) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef")); } $attrdefid = $_POST["attrdefid"]; $attrdef = $dms->getAttributeDefinition($attrdefid); if (!is_object($attrdef)) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef")); } if (!$attrdef->remove()) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_attribute'))); add_log_line("&action=removeattrdef&attrdefid=".$attrdefid); $attrdefid=-1; } // edit attribute definition ----------------------------------------------- else if ($action == "editattrdef") { /* Check if the form data comes from a trusted request */ if(!checkFormKey('editattrdef')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } if (!isset($_POST["attrdefid"]) || !is_numeric($_POST["attrdefid"]) || intval($_POST["attrdefid"])<1) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef")); } $attrdefid = $_POST["attrdefid"]; $attrdef = $dms->getAttributeDefinition($attrdefid); if (!is_object($attrdef)) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef")); } $name = $_POST["name"]; $type = intval($_POST["type"]); $objtype = intval($_POST["objtype"]); if(isset($_POST["multiple"])) $multiple = trim($_POST["multiple"]); else $multiple = 0; $minvalues = intval($_POST["minvalues"]); $maxvalues = intval($_POST["maxvalues"]); $valueset = trim($_POST["valueset"]); $regex = trim($_POST["regex"]); if($minvalues > 1 && $multiple == 0) { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_must_be_multiple")); } if($minvalues > $maxvalues) { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max")); } if($multiple && $valueset == '') { UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset")); } if (!$attrdef->setName($name)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setType($type)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setObjType($objtype)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setMultipleValues($multiple)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setMinValues($minvalues)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setMaxValues($maxvalues)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setValueSet($valueset)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } if (!$attrdef->setRegex($regex)) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_edit_attribute'))); add_log_line("&action=editattrdef&attrdefid=".$attrdefid); } else { UI::exitError(getMLText("admin_tools"),getMLText("unknown_command")); } header("Location:../out/out.AttributeMgr.php?attrdefid=".$attrdefid); ?>