public function run($args) { if (count($args) == 1) { die("./yiic benachrichtigungen_verschicken [e@mail tage]\n"); } if (count($args) >= 2) { if (is_numeric($args[0])) { $benutzerIn = BenutzerIn::model()->findByPk($args[0]); } else { $benutzerIn = BenutzerIn::model()->findByAttributes(["email" => $args[0]]); } if (!$benutzerIn) { die("BenutzerIn nicht gefunden.\n"); } /** @var BenutzerIn $benutzerIn */ $this->benachrichtigeBenutzerIn($benutzerIn, $args[1]); } else { $benutzerInnen = BenutzerIn::heuteZuBenachrichtigendeBenutzerInnen(); foreach ($benutzerInnen as $benutzerIn) { try { $this->benachrichtigeBenutzerIn($benutzerIn); } catch (Exception $e) { var_dump($e); } } } }
public function run($args) { if (count($args) != 2) { die("./yii setze_passwort E-Mail-Adresse Neues-Passwort\n"); } /** @var BenutzerIn $benutzerIn */ $benutzerIn = BenutzerIn::model()->findByAttributes(["email" => $args[0]]); if (!$benutzerIn) { echo "KeinE BenutzerIn mit dieser E-Mail-Adresse gefunden.\n"; return; } $benutzerIn->setPassword($args[1]); }
public function run($args) { if (count($args) != 2) { die("./yiic benachrichtigungen_verschicken [e@mail tage]\n"); } if (is_numeric($args[0])) { $benutzerIn = BenutzerIn::model()->findByPk($args[0]); } else { $benutzerIn = BenutzerIn::model()->findByAttributes(["email" => $args[0]]); } if (!$benutzerIn) { die("BenutzerIn nicht gefunden.\n"); } /** @var BenutzerIn $benutzerIn */ $ergebnisse = $benutzerIn->benachrichtigungsErgebnisse($args[1]); if (isset($ergebnisse["antraege"])) { foreach ($ergebnisse["antraege"] as $antr) { $antrag = $antr["antrag"]; /** @var Antrag $antrag */ echo "Antrag: " . $antrag->id . " - " . $antrag->getName() . "\n"; foreach ($antr["dokumente"] as $dok) { $dokument = $dok["dokument"]; /** @var Dokument $dokument */ echo " - Dokument: " . $dokument->id . " - " . $dokument->name_title . " - " . $dokument->getLink() . "\n"; foreach ($dok["queries"] as $qu) { /** @var RISSucheKrits $qu */ echo " - " . $qu->getTitle($dokument) . "\n"; } } } } if (isset($ergebnisse["termine"])) { foreach ($ergebnisse["termine"] as $antr) { $termin = $antr["termin"]; /** @var Termin $termin */ echo "Termin: " . $termin->id . " - " . $termin->getName() . "\n"; foreach ($antr["dokumente"] as $dok) { $dokument = $dok["dokument"]; /** @var Dokument $dokument */ echo " - Dokument: " . $dokument->id . " - " . $dokument->name_title . " - " . $dokument->getLink() . "\n"; foreach ($dok["queries"] as $qu) { /** @var RISSucheKrits $qu */ echo " - " . $qu->getTitle($dokument) . "\n"; } } } } }
/** * @param RISSucheKrits $curr_krits * @param string $code * @return array */ protected function sucheBenachrichtigungenAnmelden($curr_krits, $code) { $user = Yii::app()->getUser(); $correct_person = null; $wird_benachrichtigt = false; $do_benachrichtigung_add = AntiXSS::isTokenSet("benachrichtigung_add"); // Token ändert sich möglicherweise beim Login $do_benachrichtigung_del = AntiXSS::isTokenSet("benachrichtigung_del"); $this->performLoginActions(); if (!$user->isGuest) { /** @var BenutzerIn $ich */ $ich = BenutzerIn::model()->findByAttributes(["email" => Yii::app()->user->id]); if ($do_benachrichtigung_add) { $ich->addBenachrichtigung($curr_krits); $this->msg_ok .= 'Die Benachrichtigung wurde hinzugefügt.'; } if ($do_benachrichtigung_del) { $ich->delBenachrichtigung($curr_krits); $this->msg_ok .= 'Die Benachrichtigung wurde entfernt.'; } $wird_benachrichtigt = $ich->wirdBenachrichtigt($curr_krits); } if ($user->isGuest) { $ich = null; $eingeloggt = false; $email_angegeben = false; $email_bestaetigt = false; } else { $eingeloggt = true; /** @var BenutzerIn $ich */ if (!$ich) { $ich = BenutzerIn::model()->findByAttributes(["email" => Yii::app()->user->id]); } if ($ich->email == "") { $email_angegeben = false; $email_bestaetigt = false; } elseif ($ich->email_bestaetigt) { $email_angegeben = true; $email_bestaetigt = true; } else { $email_angegeben = true; $email_bestaetigt = false; } } return ["eingeloggt" => $eingeloggt, "email_angegeben" => $email_angegeben, "email_bestaetigt" => $email_bestaetigt, "wird_benachrichtigt" => $wird_benachrichtigt, "ich" => $ich]; }
/** * @param string $code * @return BenutzerIn|null */ public static function getByFeedCode($code) { $x = explode("-", $code); if (count($x) != 2) { return null; } /** @var BenutzerIn $benutzerIn */ $benutzerIn = BenutzerIn::model()->findByPk($x[0]); if (!$benutzerIn) { return null; } elseif ($code == $benutzerIn->getFeedCode()) { return $benutzerIn; } else { return null; } }
/** * @param string $id * @param string $code */ public function actionNeuesPasswortSetzen($id = "", $code = "") { $my_url = $this->createUrl("benachrichtigungen/NeuesPasswortSetzen", ["id" => $id, "code" => $code]); if (AntiXSS::isTokenSet("reset_password")) { /** @var null|BenutzerIn $benutzerIn */ $benutzerIn = BenutzerIn::model()->findByPk($id); if (!$benutzerIn) { $this->msg_err = "BenutzerIn nicht gefunden"; $this->render('reset_password_form', ["current_url" => $this->createUrl("benachrichtigungen/PasswortZuruecksetzen")]); return; } if ($_REQUEST["password"] != $_REQUEST["password2"]) { $this->msg_err = "Die beiden Passwörter stimmen nicht überein"; $this->render('reset_password_set_form', ["current_url" => $my_url]); return; } $ret = $benutzerIn->resetPasswordDo($code, $_REQUEST["password"]); if ($ret === true) { $this->render('reset_password_done'); } else { $this->msg_err = $ret; $this->render('reset_password_set_form', ["current_url" => $my_url]); } } else { $this->render('reset_password_set_form', ["current_url" => $my_url]); } }
/** * @return BenutzerIn|null */ public function aktuelleBenutzerIn() { $user = Yii::app()->getUser(); if ($user->isGuest) { return null; } /** @var BenutzerIn $ich */ $ich = BenutzerIn::model()->findByAttributes(["email" => Yii::app()->user->id]); return $ich; }