public function teamsAction() { $this->checkLogin(); if ($this->request->isPost() && $this->request->hasPost("type") && $this->security->checkToken()) { $this->session->set("changeOccurred", true); $this->session->set("changeSuccessful", true); $this->session->set("teamsGenerated", false); switch ($this->request->getPost("type")) { case 'update': $team = Teams::findFirst(intval($this->request->getPost("id"))); if ($team) { $team->setUsername($this->request->getPost("user")); if ($this->request->getPost("pass") != "") { $team->setPassword($this->request->getPost("pass")); } $team->save(); } else { $this->session->set("changeSuccessful", false); } break; case 'create': $team = new Teams(); $team->setUsername($this->request->getPost("user")); $team->setPassword($this->request->getPost("pass")); if (!$team->save()) { $this->session->set("changeSuccessful", false); } break; case 'generate': $this->session->set("teamsGenerated", true); $num = intval($this->request->getPost("num")); $name = $this->request->getPost("user"); $teams = array(); $info = ""; for ($i = 0; $i < $num; $i++) { $teams[$i] = new Teams(); $teams[$i]->setUsername(str_replace("#", $i + 1, $name)); $pass = Phalcon\Text::random(Phalcon\Text::RANDOM_ALNUM, 8); $teams[$i]->setPassword($pass); $info .= $teams[$i]->getUsername() . ":" . $pass . ","; if ($teams[$i]->save() == false) { $this->session->set("changeSuccessful", false); $this->session->set("teamsGenerated", false); for ($j = 0; $j <= $i; $j++) { $teams[$j]->delete(); } break; } } $info = substr($info, 0, strlen($info) - 1); $this->session->set("generatedInfo", $info); break; case 'delete': $team = Teams::findFirst(intval($this->request->getPost("id"))); if ($team->delete() == false) { $this->session->set("changeSuccessful", false); } break; default: $this->session->set("changeSuccessful", false); break; } return $this->response->redirect("/admin/teams"); } else { if ($this->session->has("changeOccurred")) { $this->view->changeOccurred = $this->session->get("changeOccurred"); $this->session->remove("changeOccurred"); } if ($this->session->has("changeSuccessful")) { $this->view->changeSuccessful = $this->session->get("changeSuccessful"); $this->session->remove("changeSuccessful"); } if ($this->session->has("teamsGenerated")) { $this->view->teamsGenerated = $this->session->get("teamsGenerated"); $this->session->remove("teamsGenerated"); } if ($this->session->has("generatedInfo")) { $genInfo = $this->session->get("generatedInfo"); $tempArr = explode(",", $genInfo); $genTeams = array(); for ($i = 0; $i < count($tempArr); $i++) { $tempTeam = explode(":", $tempArr[$i]); $genTeams[$i] = array("username" => $tempTeam[0], "password" => $tempTeam[1]); } $this->view->genTeams = $genTeams; //die(print_r($genInfo)); $this->session->remove("generatedInfo"); } } $this->view->teams = Teams::find(); }