. */ /** * @brief Modify a structure * * * @file * @author Claire Figueras * @date $date$ * @version $Revision$ * @ingroup admin */ require "core" . DIRECTORY_SEPARATOR . "class" . DIRECTORY_SEPARATOR . "class_history.php"; $core = new core_tools(); $core->test_admin('admin_architecture', 'apps'); $core->load_lang(); $db = new Database(); $desc = ""; $id = ""; $cssStyle = "default_style"; //$fontColor = '#000000'; // Black by default $foldertypesArr = array(); $folderModuleLoaded = false; if ($core->is_module_loaded('folder') == true) { $folderModuleLoaded = true; } if (isset($_GET['id']) && ! empty($_GET['id'])) { $id = $_GET['id']; $stmt = $db->query( "SELECT doctypes_first_level_label, css_style FROM " . $_SESSION['tablename']['doctypes_first_level'] . " WHERE doctypes_first_level_id = ? ", array($id) ); $res = $stmt->fetchObject(); $desc = $res->doctypes_first_level_label; if (isset($res->css_style)) { $cssStyle = functions::show_string($res->css_style); } if ($folderModuleLoaded) { $stmt = $db->query( 'SELECT ffdl.foldertype_id, f.foldertype_label FROM ' . $_SESSION['tablename']['fold_foldertypes_doctypes_level1'] . " ffdl, " . $_SESSION['tablename']['fold_foldertypes'] . " f WHERE ffdl.doctypes_first_level_id = ? " . " and ffdl.foldertype_id = f.foldertype_id", array($id) ); //$_SESSION['m_admin']['loaded_foldertypes']= array(); while ($res = $stmt->fetchObject()) { //array_push($_SESSION['m_admin']['loaded_foldertypes'], $res->foldertype_id); array_push($foldertypesArr, $res->foldertype_id); } } } $mode = ""; if (isset($_REQUEST['mode']) && ! empty($_REQUEST['mode'])) { $mode = $_REQUEST['mode']; $_SESSION['m_admin']['mode'] = $mode; } $erreur = ""; if (isset($_REQUEST['valid'])) { if (isset($_REQUEST['desc_structure']) && ! empty($_REQUEST['desc_structure']) ) { $desc = $_REQUEST['desc_structure']; } else { $erreur .= _DESC_STRUCTURE_MISSING . "."; } if (isset($_REQUEST['css_style']) && !empty($_REQUEST['css_style'])) { $cssStyle = $_REQUEST['css_style']; } else { $erreur .= _FONT_COLOR. ' ' . _MISSING . '.'; } if ($folderModuleLoaded) { if (! isset($_REQUEST['foldertypes']) || count($_REQUEST['foldertypes']) == 0 ) { $erreur .= _FOLDERTYPE_MISSING . "."; } } if (empty($erreur)) { $stmt = $db->query( "SELECT * FROM ".$_SESSION['tablename']['doctypes_first_level'] . " WHERE doctypes_first_level_label = ? and enabled = 'Y'", array($desc) ); if ($stmt->rowCount() > 0 && $mode <> 'up') { $erreur .= _THE_STRUCTURE . ' ' . _ALREADY_EXISTS . "."; } else { if ($mode == "up") { if (isset($_REQUEST['ID_structure']) && ! empty($_REQUEST['ID_structure']) ) { $id = $_REQUEST['ID_structure']; $db->query( "UPDATE " . $_SESSION['tablename']['doctypes_first_level'] . " SET doctypes_first_level_label = ?, css_style = ? " . "WHERE doctypes_first_level_id = ? ", array($desc, $cssStyle, $id) ); if ($folderModuleLoaded) { $db->query( "DELETE FROM " . $_SESSION['tablename']['fold_foldertypes_doctypes_level1'] . " WHERE doctypes_first_level_id = ? ", array($id) ); for ($i = 0; $i < count($_REQUEST['foldertypes']); $i ++) { $db->query( "INSERT INTO " . $_SESSION['tablename']['fold_foldertypes_doctypes_level1'] . " VALUES (?, ?)", array($_REQUEST['foldertypes'][$i], $id) ); } } if ($_SESSION['history']['structureup'] == "true") { $hist = new history(); $hist->add( $_SESSION['tablename']['doctypes_first_level'], $id, "UP", 'structureup', _STRUCTURE_MODIF . " " . strtolower(_NUM) . $id . " (" . $info . ")", $_SESSION['config']['databasetype'] ); } $_SESSION['info'] .= _STRUCTURE_MODIF . " : " . $id; } else { $erreur .= _ID_STRUCTURE_PB . "."; } } else { $desc = $_REQUEST['desc_structure']; $db->query( "INSERT INTO " . $_SESSION['tablename']['doctypes_first_level'] . " ( doctypes_first_level_label, css_style) VALUES (?, ?)", array($desc, $cssStyle) ); $stmt = $db->query( "SELECT doctypes_first_level_id FROM " . $_SESSION['tablename']['doctypes_first_level'] . " WHERE doctypes_first_level_label = ?", array($desc) ); $res = $stmt->fetchObject(); $id = $res->doctypes_first_level_id; if ($folderModuleLoaded) { for ($i = 0; $i < count($_REQUEST['foldertypes']); $i ++) { $db->query( "INSERT INTO " . $_SESSION['tablename']['fold_foldertypes_doctypes_level1'] . " VALUES (?, ?)", array($_REQUEST['foldertypes'][$i], $id) ); } } if ($_SESSION['history']['structureadd'] == "true") { $hist = new history(); $hist->add( $_SESSION['tablename']['doctypes_first_level'], $id, "ADD", 'structureadd', _NEW_STRUCTURE_ADDED . " (" . $desc . ")", $_SESSION['config']['databasetype'] ); } $_SESSION['info'] .= _NEW_STRUCTURE . " : " . $desc; } } } if (empty($erreur)) { unset($_SESSION['m_admin']); ?> false) { foreach ($xml->color as $color) { array_push( $fontColors, array( 'id' => (string) $color->id, 'label' => constant($color->label), ) ); } } array_push( $fontColors, array( 'id' => 'default_style', 'label' => _DEFAULT_STYLE, ) ); function cmpColors($a, $b) { return strcmp(strtolower($a['label']), strtolower($b['label'])); } usort($fontColors, 'cmpColors'); $core->load_html(); if ($mode == "up") { $title = _STRUCTURE_MODIF; } else { $title = _NEW_STRUCTURE_ADDED; } $core->load_header($title, true, false); $time = $core->get_session_time_expire(); ?>

 

 

 


 






 



 
load_js();?>