protected function display() { if (Tools::isConnectedUser()) { // Admins only $session_user = UserCache::getInstance()->getUser($_SESSION['userid']); if ($session_user->isTeamMember(Config::getInstance()->getValue(Config::id_adminTeamId))) { $projectList = $this->getProjectList(false); if (isset($_POST['projectid']) && array_key_exists($_POST['projectid'], $projectList)) { $projectid = Tools::getSecurePOSTIntValue('projectid'); $_SESSION['projectid'] = $projectid; } elseif (isset($_SESSION['projectid']) && array_key_exists($_SESSION['projectid'], $projectList)) { $projectid = $_SESSION['projectid']; } else { $projectIds = array_keys($projectList); if (count($projectIds) > 0) { $projectid = $projectIds[0]; } else { $projectid = 0; } } $this->smartyHelper->assign('projects', SmartyTools::getSmartyArray($projectList, $projectid)); // display current workflow if (0 != $projectid) { $clone_projectid = Tools::getSecurePOSTIntValue('clone_projectid', 0); if ($clone_projectid == $projectid || !array_key_exists($clone_projectid, $projectList)) { $clone_projectid = 0; } $action = Tools::getSecurePOSTStringValue('action', ''); if ("cloneToProject" == $action) { #echo "Clone $projectid ---> $clone_projectid<br>"; $errMsg = Project::cloneAllProjectConfig($projectid, $clone_projectid); $this->smartyHelper->assign('msg', 'Clone to project : ' . $errMsg); } elseif ("cloneFromProject" == $action) { #echo "Clone $clone_projectid ---> $projectid<br>"; $errMsg = Project::cloneAllProjectConfig($clone_projectid, $projectid); $this->smartyHelper->assign('msg', 'Clone from project : ' . $errMsg); } unset($projectList[$projectid]); $this->smartyHelper->assign('cloneProjects', SmartyTools::getSmartyArray($projectList, $clone_projectid)); $proj = ProjectCache::getInstance()->getProject($projectid); $this->smartyHelper->assign('currentProjectId', $projectid); $this->smartyHelper->assign('defaultProjectId', $clone_projectid); $this->smartyHelper->assign('currentProjectName', $proj->getName()); $this->smartyHelper->assign('disabled', 0 == $clone_projectid); $projectsInfo = array(); $projectsInfo[] = $this->getProjectInfo($proj, "tabsProject"); if (0 != $clone_projectid) { $cproj = ProjectCache::getInstance()->getProject($clone_projectid); $this->smartyHelper->assign('defaultProjectName', $cproj->getName()); $projectsInfo[] = $this->getProjectInfo($cproj, "tabsCloneProject"); } $this->smartyHelper->assign('projectsInfo', $projectsInfo); } } } }