user_has_rights() ) { // Clear old values if (is_valid_action("workorder_item_new")) { if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) { unset($_SESSION[$_PAGE_INFO['id']]['woitem_info']); unset($_SESSION[$_PAGE_INFO['id']]['woitem_doc']); $_SESSION[$_PAGE_INFO['id']]['woitem_info']['device'] = $_SESSION[$_PAGE_INFO['id']]['defaults']['s&o']['device']; } } else if( is_valid_action("workorder_item_info","workorder_item_duplicate","workorder_item_change") ) { // Check if this is a recall action if( !$_SESSION[$_PAGE_INFO['id']]['recall_counter'] ) { // get the identifier from either the command-line or the search screen if( isset($_GET['woitem_id']) ) { // set change log identifier from the URL $_SESSION[$_PAGE_INFO['id']]['woitem_id'] = decrypt($_GET['woitem_id'], "woitem_id_" . $_SESSION[$_PAGE_INFO['id']]['login']['user']['id']); } else { $_SESSION[$_PAGE_INFO['id']]['woitem_id'] = $_SESSION[$_PAGE_INFO['id']]['search']['s&o']['woitem_id']; } $woitem = db_fetch_workorder_item($_SESSION[$_PAGE_INFO['id']]['woitem_id']); if( $woitem ) { $_SESSION[$_PAGE_INFO['id']]['woitem_info'] = $woitem; // pre-fetch the documents and other uploads $_SESSION[$_PAGE_INFO['id']]['woitem_doc'] = db_fetch_files($_SESSION[$_PAGE_INFO['id']]['woitem_id'], "werkopdracht_documenten", is_valid_action("workorder_item_duplicate"), "ASC"); // duplicate the original documents if( is_valid_action("workorder_item_duplicate") ) { // zap the database identifer of the original item $_SESSION[$_PAGE_INFO['id']]['woitem_info']['id'] = "tmp_copy_" . $woitem['id']; // copy the documents $documents = $_SESSION[$_PAGE_INFO['id']]['woitem_doc']; $_SESSION[$_PAGE_INFO['id']]['woitem_doc'] = array(); foreach( $documents as $doc ) { $_SESSION[$_PAGE_INFO['id']]['woitem_doc'][] = db_duplicate_file($doc); } // clean up unset($documents); } } else { // ID not valid!!! => Redirect back to search menu header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=page/menu_woitem_search&action=" . current_action(TRUE)); } } } // Nested call? if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) { $_SESSION[$_PAGE_INFO['id']]['woitem_info']['return_action'] = $_SESSION[$_PAGE_INFO['id']]['return_action']; } // Add calendar to header $extra_header_HTML = "\n"; // Show page header $y_position = (isset($_SESSION[$_PAGE_INFO['id']]['woitem_info']['y_position'])) ? ($_SESSION[$_PAGE_INFO['id']]['woitem_info']['y_position']) : 0; print_xml_header($y_position, $extra_header_HTML); // Include info content include("menu_woitem_info_content.php"); // Show page footer print_page_footer(); } else { // Redirect page back to login page force_logout(_("No valid rights"), "No rights for menu " . $page->menu . ": " . $page->rights); } ?>