get_parms("srt", "ord", "act", "p0", // base_id "str" // si act=CHGSTRUCTURE, structure en xml ); $lng = isset($session->locale)?$session->locale:GV_default_lng; if(isset($session->usr_id) && isset($session->ses_id)) { $ses_id = $session->ses_id; $usr_id = $session->usr_id; if(!$session->admin) { phrasea::headers(403); } } else{ phrasea::headers(403); } if(!($ph_session = phrasea_open_session($ses_id,$usr_id))) { phrasea::headers(403); } $conn = connection::getInstance(); if(!$conn) { phrasea::headers(500); } $parm['p0'] = (int)$parm['p0']; if($parm['p0']<=0) phrasea::headers(400); $user = user::getInstance($usr_id); if(!isset($user->_rights_sbas[$parm['p0']]) || !$user->_rights_sbas[$parm['p0']]['bas_modify_struct']) { phrasea::headers(403); } phrasea::headers(); ?>
" . p4string::MakeString(_('admin::base: structure')) . "\n"; $connbas = connection::getInstance($parm["p0"]); if($connbas) { if($parm["act"]=="CHGSTRUCTURE") { $errors = databox::get_structure_errors($parm["str"]); if(count($errors) == 0 && $domst = @DOMDocument::loadXML($parm["str"])) // simplexml_load_string($parm["str"])) { $domst->documentElement->setAttribute("modification_date", $now = date("YmdHis")); $sql = "UPDATE pref SET value='" . $conn->escape_string($parm["str"] = $domst->saveXML()) . "', updated_on='" . $now . "' WHERE prop='structure'" ; $connbas->query($sql); $cache_appbox = cache_appbox::getInstance(); $cache_appbox->delete('list_bases'); cache_databox::update($parm["p0"],'structure'); } else { $msg .= p4string::MakeString(_('admin::base: xml invalide, les changements ne seront pas appliques'), 'js') . "" ; $loadit = false; $out .= "