sortColumn = LIB_SORT_DEFAULT; $sortCriteria->ascending = true; $numRows = 0; $numEmptyIOs = 0; $numRows = 0; $numEnclosures = 0; $numlogLibs = 0; // For filtering $llView = "All Logical Libraries"; $enclView = "All Enclosures"; // for sorting $sortBy = "Index"; // for displaying message box $errorCode = 0; $displayMessage = 0; //no // If a post, then this is a return from an operation // retrieve the results of the operation if ($_SERVER['REQUEST_METHOD'] == "POST") { $libGuid = $_REQUEST['loglibGuid']; $libName = $_REQUEST['loglibName']; $libAttrs = split(':',$_REQUEST['loglibAttrs']); $libEmType = $libAttrs[0]; $libBarcodeEnum = $libAttrs[1]; $libTotalSlots = $libAttrs[2]; $libAutoClean = $libAttrs[3]; $libBarcode = $libAttrs[4]; $libFullSlots = $libAttrs[5]; $sortCriteria->sortColumn = DRIVE_SORT_DEFAULT; $assignedDrives = get_all_drives_by_library($user, $libGuid, $sortCriteria,(int)0,(int)MEDIA_TYPE_ANY); $commandPathDrives = get_command_path_drives($user, $libGuid); // TODO: do we need to get by media type? // For now passing in LTO_1 (1) as the media type will get all drives // that support LTO1 drives. $unassignedDrives = get_available_drives_by_type($user, $sortCriteria, MEDIA_TYPE_ANY); $sortCriteria->sortColumn = 1; // Location per Drive Attributes $sortCriteria->ascending = true; $sortCriteria->filterPattern = "*"; $DriveList = get_all_drives($user, $sortCriteria); $numAllDrives = count($DriveList); $u=0; // Put all the Drives in a HASH table so we can draw them as we get to there locations for ($d=0; $d < $numAllDrives; $d++) { // if ($DriveList[$d]->name == "") { // $unassignedDrives[$u] = $DriveList[$d]; error_log(":::::::::::::::::::::::::::::::::::::::::::".$unassignedDrives[$u]->location); $u++; } } $drives = array_merge($assignedDrives, $unassignedDrives); $numDrives = count($drives); $numCPs = count($commandPathDrives); for ($i = 0; $i < $numDrives; $i++) { $drives[$i]->controlPath = 0;//false; for ($j = 0; $j < $numCPs; $j++) { // error_log("---------------------- $cpdrive == $drive->guid"); if( $commandPathDrives[$j] == $drives[$i]->guid ) { //error_log("[$i,$j] Drive".$drives[$i]->location." is a control path drive!!!!!!!!!!!!!!!!!!!!!!!!!!" ); $drives[$i]->controlPath = 1;//true; } } } } // Get necessary data from the library $counts = get_library_summary_info($user); $driveIndex = 0; // get the counts needed to display the main table $numEmptyIOs = $counts->avail_mailbox_count; $numRows = count($drives); // sort the table data based on the sortBy value $oldi = sortSlots($drives, $sortBy); // determine the attributes for the div that handles displaying and scrolling // for the main data table $divAttributes = calculateDivAttributes($llView, $enclView, $drives, $numRows, MAX_ROWS_LIB_CREATE, MAX_SIZE_LIB_CREATE); $clnSlots = get_cleaning_slots($user, $sortCriteria,(int)2); $nSlots = count($clnSlots); if( $nSlots == 0 ) //per loglib setting not supported { $autoCleanEnabled = false; } else { $autoCleanEnabled = true; } $emulationMap = get_emulation_map($user); ksort($emulationMap); $barcodeFormatMap = get_barcodeformat_map($user); ksort($barcodeFormatMap); $libs = $counts->libs; $numLogLibs = count($libs); $librarynames = ""; $libraryGuids = ""; // Gather the logical library names to use for validating changes to the logical // library name for ($l = 0; $l < $numLogLibs; $l++) { if ($l == 0) { $librarynames = $libs[$l]->name; } else { $librarynames = $librarynames. ":".$libs[$l]->name; } } ?>