This commit is contained in:
Garrett 2020-11-24 05:48:25 +00:00
parent 78f38c3d3c
commit e00deb9ad2
6 changed files with 177 additions and 25 deletions

View File

@ -1688,10 +1688,17 @@ function handleScrollLock(){
function buildInsertParent(RUSize, hUnits, vUnits, encLayoutX, encLayoutY, nestedInsert, parentHUnits, parentVUnits, parentEncLayoutX, parentEncLayoutY){
var variables = getVariables();
/*
var totalVUnits = RUSize * 2;
var flexRow = hUnits/24;
var flexCol = vUnits/totalVUnits;
console.log('hUnits: '+hUnits);
console.log('parentHUnits: '+parentHUnits);
console.log('parentEncLayoutX: '+parentEncLayoutX);
console.log('nestedInsert: '+nestedInsert);
if(nestedInsert) {
parentFlexWidth = (parentHUnits / 24) / parentEncLayoutX;
@ -1699,6 +1706,18 @@ function buildInsertParent(RUSize, hUnits, vUnits, encLayoutX, encLayoutY, neste
flexRow = parentFlexWidth * flexRow;
flexCol = parentFlexHeight * flexCol;
}
*/
if(nestedInsert) {
parentFlexWidth = (parentHUnits / 24) / parentEncLayoutX;
parentFlexHeight = (parentVUnits / (RUSize * 2)) / parentEncLayoutY;
flexRow = parentFlexWidth;
flexCol = parentFlexHeight;
} else {
var totalVUnits = RUSize * 2;
var flexRow = hUnits/24;
var flexCol = vUnits/totalVUnits;
}
var table = '';

View File

@ -757,14 +757,22 @@ function createTrunks(&$qls){
if($objATemplateType == 'walljack' or $objBTemplateType == 'walljack') {
if($objATemplateType == 'walljack') {
$portName = $qls->App->generatePortName($objBPortNameFormat, $objBPortID, $objBPortTotal);
//$objAPort = $portName.'('.$walljackPortID.')';
$objAPort = $portName;
$objBPort = $portName;
if($objBTemplateFunction == 'Endpoint') {
$objectBName = $qls->App->objectArray[$objBID]['nameString'];
$objectBNameArray = explode('.', $objectBName);
$objAPort = array_pop($objectBNameArray).$portName;
}
} else {
$portName = $qls->App->generatePortName($objAPortNameFormat, $objAPortID, $objAPortTotal);
//$objBPort = $portName.'('.$walljackPortID.')';
$objBPort = $portName;
$objAPort = $portName;
if($objATemplateFunction == 'Endpoint') {
$objectAName = $qls->App->objectArray[$objAID]['nameString'];
$objectANameArray = explode('.', $objectAName);
$objBPort = array_pop($objectANameArray).$portName;
}
}
} else {
$objAPort = $qls->App->generatePortName($objAPortNameFormat, $objAPortID, $objAPortTotal);

View File

@ -334,6 +334,8 @@ if($_SERVER['REQUEST_METHOD'] == 'POST'){
unset($qls->App);
$qls->App = new App($qls);
$portArray = buildPortArray($qls);
$debugPortArray = fopen($_SERVER['DOCUMENT_ROOT'].'/debug-portArray.json', 'w');
fwrite($debugPortArray, json_encode($portArray));
// Build Connection Array
if($connectionFileExists) {
@ -993,6 +995,9 @@ function buildImportedTrunkArray($csvLine, $csvLineNumber, $csvFilename, &$impor
$firstObjPortName = $peer['firstObjPortName'];
$firstObjPortNameHash = $peer['firstObjPortNameHash'];
$peerObjID = ($peerID == 'a') ? 'b' : 'a';
$peerObjName = $peerArray[$peerObjID]['objName'];
$peerObjNameHash = $peerArray[$peerObjID]['objNameHash'];
$peerFirstObjPortName = $peerArray[$peerObjID]['firstObjPortName'];
$peerFirstObjPortNameHash = $peerArray[$peerObjID]['firstObjPortNameHash'];
// Validate peer duplicates
@ -1005,6 +1010,9 @@ function buildImportedTrunkArray($csvLine, $csvLineNumber, $csvFilename, &$impor
$importedTrunkArray[$firstObjPortNameHash]['nameHash'] = $objNameHash;
$importedTrunkArray[$firstObjPortNameHash]['portName'] = $firstObjPortName;
$importedTrunkArray[$firstObjPortNameHash]['portNameHash'] = $firstObjPortNameHash;
$importedTrunkArray[$firstObjPortNameHash]['peerName'] = $peerObjName;
$importedTrunkArray[$firstObjPortNameHash]['peerNameHash'] = $peerObjNameHash;
$importedTrunkArray[$firstObjPortNameHash]['peerPortName'] = $peerFirstObjPortName;
$importedTrunkArray[$firstObjPortNameHash]['peerPortNameHash'] = $peerFirstObjPortNameHash;
$importedTrunkArray[$firstObjPortNameHash]['line'] = $csvLineNumber;
$importedTrunkArray[$firstObjPortNameHash]['fileName'] = $csvFilename;
@ -1858,18 +1866,105 @@ function validateImportedTrunks($qls, &$importedTrunkArray, $portArray, $importe
$walljackPortIDArray = array();
$debugObjectArray = fopen($_SERVER['DOCUMENT_ROOT'].'/debug-objectArray.json', 'w');
fwrite($debugObjectArray, json_encode($importedObjectArray));
$debugTrunkArray = fopen($_SERVER['DOCUMENT_ROOT'].'/debug-trunkArray.json', 'w');
fwrite($debugTrunkArray, json_encode($importedTrunkArray));
foreach($importedTrunkArray as &$trunk) {
$csvLine = $trunk['line'];
$csvFileName = $trunk['fileName'];
//
$peerDataArray = array(
array('peerColumn' => 'PeerA', 'nameHash' => $trunk['nameHash'], 'portNameHash' => $trunk['portNameHash']),
array('peerColumn' => 'PeerB', 'nameHash' => $trunk['peerNameHash'], 'portNameHash' => $trunk['peerPortNameHash'])
);
$portName = $trunk['portName'];
//
$portNameHash = $trunk['portNameHash'];
$peerPortName = $trunk['peerPortName'];
$peerPortNameHash = $trunk['peerPortNameHash'];
error_log('Debug (portName-portNameHash): '.$portName.'-'.$portNameHash);
foreach($peerDataArray as &$peerData) {
$peerDataFound = false;
$peerColumn = $peerData['peerColumn'];
$nameHash = $peerData['nameHash'];
$portNameHash = $peerData['portNameHash'];
if(isset($portArray[$portNameHash])) {
$peerDataFound = true;
// Collect trunk object information
$port = $portArray[$portNameHash];
$objID = $port['objID'];
$face = $port['face'];
$depth = $port['depth'];
$portID = $port['portID'];
// Store peer Info
$trunk['aObjID'] = $objID;
$trunk['aFace'] = $face;
$trunk['aDepth'] = $depth;
$trunk['aPortID'] = $portID;
//
$obj = $qls->App->objectArray[$objID];
$objTemplateID = $obj['template_id'];
$peerData['templateID'] = $objTemplateID;
$peerData['face'] = $face;
$peerData['depth'] = $depth;
} else if(isset($importedObjectArray[$nameHash])) {
$importedObj = $importedObjectArray[$nameHash];
$objID = $importedObj['id'];
$obj = $qls->App->objectArray[$objID];
$objTemplateID = $obj['template_id'];
$objTemplate = $qls->App->templateArray[$objTemplateID];
$objTemplateType = $objTemplate['templateType'];
if($objTemplateType == 'walljack') {
$peerDataFound = true;
// Create variable to track walljack portID
if(!isset($walljackPortIDArray[$nameHash])) {
$walljackPortIDArray[$nameHash] = 0;
}
// Store walljack portID
$portID = $walljackPortIDArray[$nameHash];
// Increment walljack portID
$walljackPortIDArray[$nameHash]++;
// Store peer Info
$trunk['aObjID'] = $objID;
$trunk['aFace'] = 0;
$trunk['aDepth'] = 0;
$trunk['aPortID'] = $portID;
//
$peerData['templateID'] = $objTemplateID;
$peerData['face'] = 0;
$peerData['depth'] = 0;
}
}
if(!$peerDataFound) {
$errMsg = $peerColumn.' on line '.$csvLine.' of file "'.$csvFileName.'" does not exist.';
array_push($validate->returnData['error'], $errMsg);
}
}
unset($peerData);
/*
// Store PeerA data
if(isset($portArray[$portNameHash])) {
@ -1908,6 +2003,7 @@ function validateImportedTrunks($qls, &$importedTrunkArray, $portArray, $importe
$trunk['aPortID'] = $portID;
} else {
error_log('Debug (portName-portNameHash): '.$portName.'-'.$portNameHash);
$errMsg = 'Port on line '.$csvLine.' of file "'.$csvFileName.'" does not exist.';
array_push($validate->returnData['error'], $errMsg);
}
@ -1950,15 +2046,24 @@ function validateImportedTrunks($qls, &$importedTrunkArray, $portArray, $importe
$trunk['bPortID'] = $peerPortID;
} else {
error_log('Debug (peerPortName-peerPortNameHash): '.$peerPortName.'-'.$peerPortNameHash);
$errMsg = 'Port on line '.$csvLine.' of file "'.$csvFileName.'" does not exist.';
array_push($validate->returnData['error'], $errMsg);
}
*/
if($peerDataArray[0]['templateID'] and $peerDataArray[1]['templateID']) {
if($objTemplateID and $peerTemplateID) {
$objTemplateID = $peerDataArray[0]['templateID'];
$face = $peerDataArray[0]['face'];
$depth = $peerDataArray[0]['depth'];
$peerTemplateID = $peerDataArray[1]['templateID'];
$peerFace = $peerDataArray[1]['face'];
$peerDepth = $peerDataArray[1]['depth'];
// Gather compatibility info for obj & peer
$objCompatibility = $qls->App->compatibilityArray[$objTemplateID][$face][$depth];
@ -2515,10 +2620,6 @@ function insertTemplateAdds(&$qls, &$importedTemplateArray, $importedCategoryArr
$frontImage = $template['templateFrontImage'];
$rearImage = $template['templateFrontImage'];
if(strtolower($templateName) == '24p_rj45_cat5e') {
error_log('Debug (template): '.json_encode($template));
}
$templateAttributes = array(
'templateName',
'templateCategory_id',
@ -2950,15 +3051,15 @@ function buildPortArray(&$qls){
$partitionType = $compatibility['partitionType'];
if($partitionType == 'Connectable') {
if($templateType == 'walljack') {
error_log('here1');
if(isset($qls->App->peerArray[$objID][$faceID][$depth]['peerArray'])) {
error_log('here2');
foreach($qls->App->peerArray[$objID][$faceID][$depth]['peerArray'] as $peerID => $peer) {
error_log('here3');
foreach($peer as $peerFaceID => $peerFace) {
error_log('here4');
foreach($peerFace as $peerDepth => $partition) {
error_log('here5');
$peerObj = $qls->App->objectArray[$peerID];
$peerObjName = $peerObj['nameString'];
$peerTemplateID = $peerObj['template_id'];
@ -2966,7 +3067,7 @@ function buildPortArray(&$qls){
$peerObjPortNameFormat = json_decode($peerCompatibility['portNameFormat'], true);
$peerObjPortTotal = $peerCompatibility['portTotal'];
foreach($partition as $portPair) {
error_log('here6');
$peerPortID = $portPair[1];
$portID = $portPair[0];
$peerObjPortName = $qls->App->generatePortName($peerObjPortNameFormat, $peerPortID, $peerObjPortTotal);
@ -3009,7 +3110,6 @@ function buildPortArray(&$qls){
'portName' => $portName,
'portNameString' => $objPortNameString
);
error_log('Debug (portArray portName-portNameHash): '.$objPortNameString.'-'.$portNameStringHash);
}
}
}

View File

@ -734,8 +734,12 @@ var $qls;
$query .= " {$data_type} NOT NULL";
}
if($default_value !== false) {
if($default_value === 'NULL') {
$query .= " DEFAULT ".$default_value;
} else {
$query .= " DEFAULT '".$default_value."'";
}
}
} else {
die(SQL_ALTER_QUERY_FAILED);
}

View File

@ -115,10 +115,10 @@ var $qls;
$this->qls->SQL->update('app_organization_data', array('version' => $incrementalVersion), array('id' => array('=', 1)));
// Add nested insert columns to "template" table
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentHUnits', 'int(11)', true);
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentVUnits', 'int(11)', true);
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentEncLayoutX', 'int(11)', true);
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentEncLayoutY', 'int(11)', true);
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentHUnits', 'int(11)', true, 'NULL');
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentVUnits', 'int(11)', true, 'NULL');
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentEncLayoutX', 'int(11)', true, 'NULL');
$this->qls->SQL->alter('app_object_templates', 'add', 'nestedParentEncLayoutY', 'int(11)', true, 'NULL');
// Add "objSort" column to "users" table
$this->qls->SQL->alter('users', 'add', 'objSort', 'tinyint(4)', false, 0);

View File

@ -75,6 +75,7 @@ for ($x=0; $x<$faceCount; $x++){
$hUnits = $partitionData[0]['hUnits'];
$vUnits = $partitionData[0]['vUnits'];
$minRUSize = ceil($vUnits/2);
$totalVUnits = $minRUSize * 2;
$heightNumerator = $vUnits/$totalVUnits;
$flexWidth = $hUnits/24;
@ -89,11 +90,31 @@ for ($x=0; $x<$faceCount; $x++){
$parentFlexWidth = ($nestedParentHUnits / 24) / $nestedParentEncLayoutX;
$parentFlexHeight = ($nestedParentVUnits / ($RUSize * 2)) / $nestedParentEncLayoutY;
$flexWidth = $parentFlexWidth * $flexWidth;
//$flexWidth = $parentFlexWidth * $flexWidth;
$flexWidth = $parentFlexWidth;
$flexHeight = $parentFlexHeight * $flexHeight;
}
$minRUSize = ceil($vUnits/2);
/*
if(isset($templateOrganic['nestedParentHUnits']) and isset($templateOrganic['nestedParentVUnits'])) {
$nestedParentHUnits = $templateOrganic['nestedParentHUnits'];
$nestedParentVUnits = $templateOrganic['nestedParentVUnits'];
$nestedParentEncLayoutX = $templateOrganic['nestedParentEncLayoutX'];
$nestedParentEncLayoutY = $templateOrganic['nestedParentEncLayoutY'];
$parentFlexWidth = ($nestedParentHUnits / 24) / $nestedParentEncLayoutX;
$parentFlexHeight = ($nestedParentVUnits / ($RUSize * 2)) / $nestedParentEncLayoutY;
$flexWidth = $parentFlexWidth;
$flexHeight = $parentFlexHeight;
} else {
$totalVUnits = $minRUSize * 2;
$heightNumerator = $vUnits/$totalVUnits;
$flexWidth = $hUnits/24;
$flexHeight = $heightNumerator/$templateOrganic['templateEncLayoutY'];
}
*/
//$minRUSize = ceil($vUnits/2);
// Flex Container
echo '<div class="RU'.$minRUSize.'" style="display:flex;flex-direction:row;">';