function actionSave($currentUser) { $backUrl = $this->context->getFlowScopeAttr("backUrl"); $pass = null; $user = new User(); $userErrs = array(); $user->setId($this->context->getRequestAttr("id")); $user->setUser($this->context->getRequestAttr("email")); if (!is_null($user->getUser())) { $user->setUser(trim($user->getUser())); if (strlen($user->getUser()) < 1) { $user->setUser(null); } } if (is_null($user->getUser())) { $userErrs["email"] = "field.error.empty"; } else { if (is_null($user->getId())) { $field = $this->userDao->getQUserName(); $criteria = new AndStatement(); $criteria->addStatement($field . "='" . htmlspecialchars($user->getUser()) . "'"); $exUsers = $this->userDao->find($criteria, null, 1000); if (is_array($exUsers) and count($exUsers) > 0) { $userErrs["email"] = "field.error.userExists"; } } } $active = $this->context->getRequestAttr("active"); $user->setActive($active == 1 ? true : false); if (is_null($user->getId())) { $pass = $this->generatePass(); $user->setPassword($pass); } $timeZone = new DateTimeZone("Europe/Vilnius"); $time = new DateTime("now", $timeZone); $user->setR_date($time->format("Y-m-d H:i:s")); $user->setR_user($currentUser->getId()); $this->context->setFlashScopeAttr("user", $user); $this->context->setFlashScopeAttr("userErrs", $userErrs); if (count($userErrs) >= 1) { if (!is_null($backUrl)) { header("Location: " . $backUrl); return true; } return false; } $store = $this->storeUser($user); if (!$store) { if (!is_null($backUrl)) { header("Location: " . $backUrl); return true; } return false; } if (!is_null($pass)) { $this->sendNotification($user); } $this->cancelEdit(); if (!is_null($backUrl)) { header("Location: " . $backUrl); return true; } return false; }
function find($criteria = null, $order = null, $limit = 1000, $from = 0) { $result = $this->database->query($this->buildFindQuery($criteria, $order, $limit, $from)); if (!is_null($result->getError())) { return $result->getError(); } $users = array(); while ($row = $result->fetchRow()) { $user = new User(); $value = $row[0]; $user->setId($value); $value = $row[1]; $user->setUser($value); $value = $row[2]; $user->setPassword($value); $value = $row[3]; $value = $this->database->toBoolean($value); $user->setActive($value); $value = $row[4]; $value = $this->database->toBoolean($value); $user->setAdmin($value); $value = $row[5]; $user->setR_date($value); $value = $row[6]; $user->setR_user($value); if ($order != null) { array_push($users, $user); } else { $users[$user->getId()] = $user; } } return $users; }