numLS($line); $line = trim($line); $exitURL = false; if(strpos($line, "=>") !== FALSE) { $parts = explode("=>", $line); $exitURL = str_replace("UID", "{{ \$subRecord->uid }}", $parts[1]); $line = $parts[0]; } $tokens = explode("|", $line); $line = $tokens[0]; $dbTable = null; $condition = null; if(count($tokens) >= 2) { $dbTable = $tokens[1]; // check if table has loading conditions if(strpos($dbTable, ":")) { $parts = explode(":", $dbTable); $dbTable = $parts[0]; $parts = explode("=", $parts[1]); $condition = [ "field" => $parts[0], "value" => str_replace("OWN", "session('proId')" , $parts[1]) ]; } } $hasAdd = in_array("add", $tokens); $hasView = in_array("view", $tokens); $hasRemove = in_array("remove", $tokens); $icon = "user"; if(strpos($tokens[count($tokens) - 1], "icon:") === 0) { $icon = substr($tokens[count($tokens) - 1], 5); } switch($ls) { case 4: // top level controller OR top level controller action // top level controller-action if(strpos($line, "/") !== FALSE) { if(!empty($currentController)) { $parts = explode(":", $line); $line = $parts[0]; $method = explode("/", $line)[1]; $newMethod = $currentController->addMethod($method, "/" . $line); if(count($parts) > 1) { $newMethod->api = $parts[count($parts) - 1]; } // create _SINGLE_ controller if view if($method === "view") { $currentSubController = new GenController($currentRoot, $currentController->name . "_SINGLE"); $currentSubController->dbTable = $currentController->dbTable; $currentSubController->parentRoute = "/" . $line; $currentSubController->parentControllerName = $currentController->name; $currentSubController->sub = true; $newMethod->redirect = "/" . $line . "/SUB_dashboard"; } else if(strpos($method, "add_new") === 0) { $newMethod->type = 'add'; } else if(strpos($method, "remove") === 0) { $newMethod->type = 'remove'; } $currentMethod = $newMethod; } } // new top level controller else if(empty($currentController) || $line !== $currentController->name) { if(!empty($currentController)) { $currentController->save(); } $currentController = new GenController($currentRoot, $line, $icon); $currentController->dbTable = $dbTable; $currentController->condition = $condition; $currentController->hasAdd = $hasAdd; $currentController->hasView = $hasView; $currentController->hasRemove = $hasRemove; $currentMethod = $currentController->addMethod("index", "/$line"); if(!empty($currentSubController)) { $currentSubController->save(); } $currentSubType = ''; $currentSubController = new GenController(); $sideLinks[] = "
" . $currentController->snakeToTitleCase($currentController->name) . "
\n" . "\t\n