planning status must be finished (and non-RS3000) // rc project => planning and design status must be validated if (($project['status'] != "afgesloten") && ((($project['type'] == "normaal") && ($project['pstatus'] == "gereed") && (is_dev("DESKTOP"))) || (($project['type'] == "rc") && (($project['pstatus'] == "gevalideerd") && ($project['ostatus'] == "gevalideerd"))))) { $users = db_fetch_project_users($project['id'], $_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], array("normaal","wbv","wbu")); if (is_array($users)) { if (is_dev("DESKTOP")) { array_push($user_projects, $project); } else { // Initial values $valid_project = 0; // Get all periods for this project $periods = db_fetch_project_periods($project['id']); // Check all active periods if (is_array($periods)) { foreach($periods as $period) { // Get "all" switching users for this period $period_users = db_fetch_project_users($period['id'], $_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "schakelen"); // "users" assigned to this period? if (is_array($period_users)) { $valid_project = 1; } } // Valid project? if ($valid_project) { // Get all project equipment and check if imei is on project $equipment = db_fetch_project_lances($project['id'], "", "", 0, array("actief"), array("actief")); if (is_array($equipment)) { $finished = 0; foreach($equipment as $item) { if (!$finished) { $item_info = db_fetch_lance($item['id'],"", 1); if ($item_info['imei'] == $_SESSION[$_PAGE_INFO['id']]['login']['imei']) { array_push($user_projects, $project); // Set flag $finished = 1; } } } } } } } } } } } // When no project and not the magazijbeheer/project root rights => redirect to main menu (or to login when RS3000) if ((empty($user_projects)) && ((!is_dev("DESKTOP")) || (!db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:projecten&projecten:d,menu:projecten:root")))) { if ((is_dev("DESKTOP")) && (db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "hoofdmenu"))) { // Redirect to main page and set project skip values unset($_SESSION[$_PAGE_INFO['id']]['login']['project']); $_SESSION[$_PAGE_INFO['id']]['login']['project']['skip'] = 1; header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=" . PAGE_MENU . ""); // Update global variables UpdateGlobals(); } else { if (!is_dev("RS3000")) { // log out $_SESSION[$_PAGE_INFO['id']]['login_info']['errormsg'] = "No projects available"; header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=" . PAGE_LOGIN . ""); } else { SendMessageRS3000(array("status='1'","message='no_projects_available'")); } } } else { if (!is_dev("RS3000")) { // Show page header print_page_header(); // Set project links and rights if (!empty($user_projects)) { for ($i = 0; $i < (sizeof($user_projects)); $i++) { if ($user_projects[$i]['status'] != "afgesloten") { $menuitems[$i] = $user_projects[$i]['naam']; $menulinks[$i] = "?id=" . $_PAGE_INFO['id'] . "&href=action/_a_project&link=page/menu&project=" . $user_projects[$i]['naam'] . "&project_id=" . $user_projects[$i]['id'] . "&page_project=" . urlencode($user_projects[$i]['id']); $menurights[$i] = valid_timestamp($user_projects[$i]['begin'], $user_projects[$i]['eind'], 0); $extra_info[$i]['text'] = ($user_projects[$i]['type'] == "normaal") ? "" : strtoupper($user_projects[$i]['type']); // Project locked? $lock = 0; if ($user_projects[$i]['type'] == "rc") { // Periods locked? if ($user_projects[$i]['sstatus'] == "vrijgegeven") { $periods = db_fetch_project_periods($user_projects[$i]['id']); if (is_array($periods)) { foreach($periods as $period) { if ($period['sstatus'] != "vrijgegeven") { // Not yet released $lock = 1; } } } } else { // Not yet released $lock = 1; } } $extra_info[$i]['icon'] = ($lock) ? "lock.png" : ""; } } // Display menu print_menu(_("Project overview"), $menuitems, $menulinks, $menurights, 1, 0, $extra_info); } // Clear menu items $menuitems = array(); $menulinks = array(); $menurights = array(); // Display menu overview menu $menuitems[] = _("Main menu"); $menulinks[] = "?id=" . $_PAGE_INFO['id'] . "&href=action/_a_project&link=page/menu&project=skip&project_id=-1"; $menurights[] = db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "hoofdmenu"); $menuitems[] = _("Service and repair");; $menulinks[] = "?id=" . $_PAGE_INFO['id'] . "&href=action/_a_project&link=page/menu_lance&action=service_repair_overview&project=skip&project_id=-1"; $menurights[] = db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen:root,menu:lansen&menu:lansen:onderhoudsrapporten,menu:lansen&productie,menu:lansen&administratie"); $menuitems[] = _("Assign equipment"); $menulinks[] = "?id=" . $_PAGE_INFO['id'] . "&href=action/_a_project&link=page/menu_project_search&action=material_overview&project=skip&project_id=-1"; $menurights[] = db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:projecten&projecten:d,menu:projecten:root"); print_menu(_("Menu overview"), $menuitems, $menulinks, $menurights); // Show page footer print_page_footer(); } else { // Get ids, names and status $project = array(); $id = array(); $locked = array(); // Sort array $users_projects = array_sort($users_projects, "naam"); foreach($user_projects as $user_project) { array_push($project, $user_project['naam']); array_push($id, $user_project['id']); // Project locked? $lock = 0; if ($user_project['type'] == "rc") { // Periods locked? if ($user_project['sstatus'] == "vrijgegeven") { $periods = db_fetch_project_periods($user_project['id']); if (is_array($periods)) { foreach($periods as $period) { if ($period['sstatus'] != "vrijgegeven") { // Not yet released $lock = 1; } } } } else { // Not yet released $lock = 1; } } array_push($locked, $lock); } // Catch CSV character if (is_array($project)) { for($i=0; $i