コード例 #1
0
ファイル: phim.class.php プロジェクト: nemiah/fheME
 function deleteMe()
 {
     if ($this->A("phimFromUserID") != Session::currentUser()->getID()) {
         Red::errorD("Sie können nur eigene Nachrichten löschen!");
     }
     parent::deleteMe();
 }
コード例 #2
0
ファイル: poolSteuerung.class.php プロジェクト: nemiah/poolPi
 function saveMe($checkUserData = true, $output = false)
 {
     $AC = anyC::get("poolSteuerung", "poolSteuerungTyp", $this->A("poolSteuerungTyp"));
     $AC->addAssocV3("poolSteuerungID", "!=", $this->getID());
     $S = $AC->n();
     if ($S !== null) {
         Red::errorD("Jeder Steuerungstyp darf maximal einmal angelegt werden.");
     }
     return parent::saveMe($checkUserData, $output);
 }
コード例 #3
0
ファイル: User.class.php プロジェクト: nemiah/projectMankind
 function newMe($checkUserData = true, $output = false)
 {
     $allowedUsers = Environment::getS("allowedUsers", null);
     if ($allowedUsers !== null and $this->A("isAdmin") == "0") {
         $AC = anyC::get("User", "isAdmin", "0");
         $AC->lCV3();
         if ($AC->numLoaded() >= $allowedUsers) {
             Red::errorD("Sie können keine weiteren Benutzer ohne Admin-Rechte anlegen. Bitte wenden Sie sich an den Support.");
         }
     }
     if (mUserdata::getGlobalSettingValue("encryptionKey") == null and Session::isUserAdminS()) {
         mUserdata::setUserdataS("encryptionKey", Util::getEncryptionKey(), "eK", -1);
     }
     $this->A->SHApassword = sha1($this->A->SHApassword);
     return parent::newMe($checkUserData, $output);
 }
コード例 #4
0
 public function categorize($KategorieID)
 {
     $bps = $this->getMyBPSData();
     $_SESSION["BPS"]->unregisterClass("CategorizerGUI");
     if ($KategorieID == 0) {
         Red::errorD($this->E033);
     }
     $c = "m" . $bps["VonClass"];
     $c = new $c();
     $id = str_replace("GUI", "", $bps["VonClass"]);
     $c->addAssocV3($id . "ID", ">=", $bps["VonID"]);
     $c->addAssocV3($id . "ID", "<=", $bps["BisID"]);
     $k = $bps["VonClass"];
     $k = new $k(-1);
     $k = $k->getCategorizerFieldName();
     $c->lCV3();
     while ($t = $c->getNextEntry()) {
         $t->changeA($k, $KategorieID);
         $t->saveMe();
     }
     #echo "error:'test: ".$c->numLoaded()."'";
 }
コード例 #5
0
ファイル: set.php プロジェクト: nemiah/projectMankind
}
$data = $_GET;
if (isset($_POST) and count($_POST) > 0) {
    $data = $_POST;
}
if (isset($data["class"]) and !$_SESSION["S"]->checkIfUserIsAllowed($data["class"])) {
    Red::errorD("Sie haben keine Berechtigung, um diese Aktion auszuführen!");
}
try {
    $className = $data["class"] . (!strstr($data["class"], "GUI") ? "GUI" : "");
    if ($data["id"] != -1) {
        $oldClass = new $className($data["id"]);
        $oldClass->loadMe();
        $A = $oldClass->getA();
        if ($A == null) {
            Red::errorD("Dieser Datensatz existiert nicht (mehr). Eventuell wurde er gelöscht.");
        }
        if (get_class($A) != "stdClass") {
            $A->fillWithAssociativeArray($data);
        } else {
            $A = Util::fillStdClassWithAssocArray($A, $data);
        }
    } else {
        $oldClass = new $className(-1);
        $A = $oldClass->newAttributes();
        if (get_class($A) != "stdClass") {
            $A->newWithAssociativeArray($data);
        } else {
            $A = Util::fillStdClassWithAssocArray($A, $data);
        }
    }
コード例 #6
0
ファイル: rme.php プロジェクト: nemiah/trinityDB
/*
$_GET["class"];  		//Class of method $_GET["method"]
$_GET["constructor"];	//Parameters to forward to constructor of $_GET["class"]
$_GET["method"];		//Method to call in $_GET["class"]
$_GET["parameters"]		//Parameters to call method $_GET["method"] with
*/
$c = $cla . "GUI";
$d = new $c($con);
$par = get_magic_quotes_gpc() ? stripslashes($par) : $par;
#$phpversion = str_replace(".","",phpversion())*1;
if (Util::phpVersionGEThen("5.1.0")) {
    $pars = explode("','", $par);
    $pars[0] = substr($pars[0], 1);
    $pars[count($pars) - 1] = substr($pars[count($pars) - 1], 0, strlen($pars[count($pars) - 1]) - 1);
    if (!method_exists($d, $met)) {
        if (!method_exists($d, "__call")) {
            Red::errorD("Die Methode {$c}::{$met} existiert nicht");
        } else {
            array_unshift($pars, $met);
            $met = "__call";
        }
    }
    $method = new ReflectionMethod($c, $met);
    try {
        $method->invokeArgs($d, $pars);
    } catch (FieldDoesNotExistException $e) {
        Red::errorUpdate($e);
    }
} else {
    eval("\$d->" . $met . "({$par});");
}
コード例 #7
0
 function handleForm($valuesAssocArray)
 {
     $this->classes();
     switch ($valuesAssocArray["action"]) {
         case "register":
             $F = new Factory("Adresse");
             $F->sA("firma", $valuesAssocArray["firma"]);
             $F->sA("strasse", $valuesAssocArray["strasse"]);
             $F->sA("nr", $valuesAssocArray["nr"]);
             $F->sA("plz", $valuesAssocArray["plz"]);
             $F->sA("ort", $valuesAssocArray["ort"]);
             $F->sA("email", $valuesAssocArray["userEmail"]);
             //from email
             $F->sA("tel", $valuesAssocArray["tel"]);
             $AdresseID = $F->store(false, false);
             $K = new Kunden();
             $Kappendix = $K->createKundeToAdresse($AdresseID, false, true);
             $Kappendix->changeA("KappendixKontonummer", $valuesAssocArray["kontonummer"]);
             $Kappendix->changeA("KappendixBLZ", $valuesAssocArray["blz"]);
             $Kappendix->changeA("KappendixSameKontoinhaber", "1");
             $KappendixID = $Kappendix->newMe(false);
             $token = sha1($AdresseID . $KappendixID . microtime());
             $F = new Factory("PDFixUser");
             $F->sA("PDFixUserAdresseID", $AdresseID);
             $F->sA("PDFixUserKappendixID", $KappendixID);
             $F->sA("PDFixUserPDFixUserDBID", "0");
             $F->sA("PDFixUserIsActive", "0");
             $F->sA("PDFixUserVorNachname", $valuesAssocArray["userVorNachname"]);
             $F->sA("PDFixUserUsername", $valuesAssocArray["userUsername"]);
             $F->sA("PDFixUserPassword", $valuesAssocArray["userPassword"]);
             $F->sA("PDFixUserEmail", $valuesAssocArray["userEmail"]);
             $F->sA("PDFixUserRate", $valuesAssocArray["zahlungsweise"]);
             $F->sA("PDFixUserRegisteredDate", time());
             $F->sA("PDFixUserToken", $token);
             $F->store(false, false);
             $mail = new htmlMimeMail5();
             $mail->setFrom("*****@*****.**");
             $mail->setSubject(utf8_decode("PDFix Registrierung ihres Mitarbeiters " . $valuesAssocArray["userVorNachname"]));
             $mail->setText(utf8_decode("Sehr geehrte Damen und Herren,\n \nSie selbst oder Ihr Mitarbeiter/Ihre Mitarbeiterin \n" . $valuesAssocArray["userVorNachname"] . " hat sich soeben bei www.pdfix.de angemeldet. \n \nDer Account wurde angelegt.\n \nIm Anhang finden Sie unsere AGB und den Softwarelizenzvertrag.\nMit der Aktivierung des Accounts werden die AGB und Nutzungsbedingungen\nannerkannt.\n\nSobald die Abbuchungserklärung bei uns eingegangen ist,\nwird der Account innerhalb 24 Std. freigeschalten und\n\"pdfix\" kann dann genutzt werden.\n \nWenn Sie die Kosten übernehmen, dann klicken Sie auf\n\n\nnachstehenden Aktivierungslink.\n\nhttp://" . $_SERVER["HTTP_HOST"] . "" . str_replace("/ubiquitous/CustomerPage/index.php", "/ubiquitous/CustomerPage/?CC=RegistrationPDFix&activate={$token}", $_SERVER["SCRIPT_NAME"]) . "\n \n\nAnsonsten klären Sie bitte die Kostenübernahme mit Ihrem Mitarbeiter ab.\n\n \nMit freundlichen Grüßen\n \nM. Tischler\nGeschäftsführer\nETS-SÜD UG (haftungsbeschränkt)\nDR. Michael Samer Ring 2a\n86609 Donauwörth\nAG Augsburg\nHRB 26204\ninfo@pdfix.de"));
             /*
             Zum Download von pdfix besuchen Sie bitte
             http://www.meine-smn.de und klicken auf \"Login\"
             
             melden Sie sich an mit:
             
             Benutzername: ".$valuesAssocArray["userUsername"]."
             Passwort: ".$valuesAssocArray["userPassword"]."
             
             Bestätigen Sie jeweils am Ende der Seiten die AGB´s und Lizenzbedingungen und
             laden \"pdfix\" down.
             
             Sobald die Abbuchungserklärung bei uns eingegangen ist,
             wird der Account innerhalb 24 Std. freigeschalten,und
             \"pdfix\" kann dann genutzt werden.
             */
             #$mail->setTextCharset("UTF-8");
             #$mail->addAttachment(new fileAttachment(Util::getRootPath()."open3A/PDFix/abbuchungserkl.pdf", "application/pdf"));
             $mail->addAttachment(new fileAttachment(Util::getRootPath() . "../download/Agbs.pdf", "application/pdf"));
             $mail->addAttachment(new fileAttachment(Util::getRootPath() . "../download/Softwarelizenzvertrag.pdf", "application/pdf"));
             if (!$mail->send(array($valuesAssocArray["userEmail"]))) {
                 //from email
                 Red::errorD("Die E-Mail konnte nicht verschickt werden, bitte versuchen Sie es erneut!");
             }
             break;
         case "activate":
             $PU = anyC::getFirst("PDFixUser", "PDFixUserToken", $valuesAssocArray["token"]);
             $PU->changeA("PDFixUserActivatedDate", time());
             $PU->changeA("PDFixUserIsActive", "1");
             $PU->changeA("PDFixUserRate", $valuesAssocArray["zahlungsweise"]);
             $PU->saveMe();
             $mail = new htmlMimeMail5();
             $mail->setFrom("*****@*****.**");
             $mail->setSubject(utf8_decode("PDFix Registrierung ihres Mitarbeiters " . $valuesAssocArray["userVorNachname"]));
             $mail->setText(utf8_decode("Sehr geehrte Damen und Herren,\n \nIhr Account wurde soeben angelegt.\n \nBenutzername: " . $PU->A("PDFixUserUsername") . "\nPasswort: " . $PU->A("PDFixUserPassword") . "\n \nSobald die Abbuchungserklärung bei uns eingegangen ist,\nwird der Account innerhalb 24 Std. freigeschalten und\n\"pdfix\" kann dann genutzt werden.\n\t\n\nMit freundlichen Grüßen\n \nM. Tischler\nGeschäftsführer\nETS-SÜD UG (haftungsbeschränkt)\nDR. Michael Samer Ring 2a\n86609 Donauwörth\nAG Augsburg\nHRB 26204\ninfo@pdfix.de"));
             /*
             Zum Download von pdfix besuchen Sie bitte
             http://www.meine-smn.de und klicken auf \"Login\"
             
             melden Sie sich an mit:
             
             Bestätigen Sie jeweils am Ende der Seiten die AGB´s und Lizenzbedingungen und
             laden \"pdfix\" down.
             */
             #$mail->setTextCharset("UTF-8");
             if (!$mail->send(array($PU->A("PDFixUserEmail")))) {
                 Red::errorD("Die E-Mail konnte nicht verschickt werden, bitte versuchen Sie es erneut!");
             }
             $Adresse = new Adresse($PU->A("PDFixUserAdresseID"));
             $mail = new htmlMimeMail5();
             $mail->setFrom("*****@*****.**");
             $mail->setSubject("PDFix Aktivierung");
             $mail->setText(utf8_decode("\nFirma: " . $Adresse->A("firma") . "\nBenutzername: " . $PU->A("PDFixUserUsername") . ""));
             #$mail->setTextCharset("UTF-8");
             if (!$mail->send(array("*****@*****.**"))) {
                 Red::errorD("Die E-Mail konnte nicht verschickt werden, bitte versuchen Sie es erneut!");
             }
             break;
     }
 }
コード例 #8
0
ファイル: WeckerGUI.class.php プロジェクト: nemiah/fheME
 public function processUpload($fileName)
 {
     $ex = explode(".", strtolower($fileName));
     $mime = null;
     if ($ex[count($ex) - 1] == "ogg") {
         $mime = "ogg";
     }
     if ($ex[count($ex) - 1] == "mp3") {
         $mime = "mp3";
     }
     if ($mime == null) {
         Red::alertD("Datei unbekannt. Bitte verwenden Sie ogg oder mp3-Dateien.");
     }
     $tempDir = Util::getTempFilename();
     unlink($tempDir);
     $tempDir = dirname($tempDir);
     $filePath = $tempDir . "/" . $fileName . ".tmp";
     echo FileStorage::getFilesDir() . $fileName;
     if (!copy($filePath, FileStorage::getFilesDir() . $fileName)) {
         Red::errorD("Der Upload ist fehlgeschlagen!");
     }
     unlink($filePath);
 }
コード例 #9
0
 public function testMail($mailfrom, $mailto)
 {
     #parse_str($data, $out);
     #print_r($out);
     if ($mailfrom == "") {
         Red::errorD("Bitte geben Sie einen Absender ein!");
     }
     if ($mailto == "") {
         Red::errorD("Bitte geben Sie einen Empfänger ein!");
     }
     try {
         $mail = new htmlMimeMail5(substr($mailfrom, stripos($mailfrom, "@") + 1));
     } catch (Exception $e) {
         die("<p style=\"padding:5px;color:red;\">Fehler beim Übergeben der E-Mail. " . $e->getMessage() . "</p>");
     }
     $mail->setFrom("phynx Mailtest <" . $mailfrom . ">");
     if (!ini_get('safe_mode')) {
         $mail->setReturnPath($mailfrom);
     }
     $mail->setSubject("phynx Mailtest");
     $mail->setText(wordwrap("Diese Nachricht wurde vom phynx Mailtester erzeugt. Ihre E-Mail-Einstellungen sind korrekt.", 80));
     $adressen = array();
     $adressen[] = $mailto;
     if ($mail->send($adressen)) {
         echo "<p style=\"padding:5px;color:green;\">E-Mail erfolgreich übergeben.</p>";
     } else {
         echo "<p style=\"padding:5px;color:red;\">Fehler beim Übergeben der E-Mail. Bitte überprüfen Sie Ihre Server-Einstellungen.<br />Fehler: " . nl2br(print_r($mail->errors, true)) . "</p>";
     }
     /*$mimeMail2 = new PHPMailer(false, substr($mailfrom, stripos($mailfrom, "@") + 1));
     		$mimeMail2->CharSet = "UTF-8";
     		$mimeMail2->Subject = "phynx Mailtest V2";
     		
     		$mimeMail2->From = $mailfrom;
     		$mimeMail2->Sender = $mailfrom;
     		$mimeMail2->FromName = "phynx Mailtest";
     		
     		$mimeMail2->Body = wordwrap("Diese Nachricht wurde vom phynx Mailtester erzeugt. Ihre E-Mail-Einstellungen sind korrekt.", 80);
     		$mimeMail2->AddAddress($mailto);
     		
     		if($mimeMail2->Send())
     			echo "<p style=\"padding:5px;color:green;\">E-Mail 2 erfolgreich übergeben.</p>";
     		else
     			echo "<p style=\"padding:5px;color:red;\">Fehler beim Übergeben der E-Mail 2. Bitte überprüfen Sie Ihre Server-Einstellungen.<br />Fehler: ".nl2br(print_r($mimeMail2->ErrorInfo, true))."</p>";*/
 }
コード例 #10
0
ファイル: loadFrame.php プロジェクト: nemiah/projectMankind
    $userHiddenPlugins = mUserdata::getHiddenPlugins();
}
if (isset($userHiddenPlugins[$_GET["p"]])) {
    Red::errorD("Sie haben keine Berechtigung, diese Seite zu betrachten!");
}
if (isset($_GET["bps"])) {
    $_SESSION["BPS"]->setByString($_GET["bps"]);
}
$_GET["p"] = str_replace("GUI", "", $_GET["p"]);
$n = $_GET["p"] . "GUI";
try {
    $b = new $n(isset($_GET["id"]) ? $_GET["id"] : "-1");
} catch (ClassNotFoundException $e) {
    Red::errorClass($n);
}
if (!PMReflector::implementsInterface($n, "iGUIHTMLMP2") and !PMReflector::implementsInterface($n, "iGUIHTML2")) {
    Red::errorD("Class {$_GET['p']}GUI needs to implement the interface iGUIHTML2 or iGUIHTMLMP2!");
}
try {
    echo $b->getHTML(isset($_GET["id"]) ? $_GET["id"] : "-1", isset($_GET["page"]) ? $_GET["page"] : 0);
} catch (TableDoesNotExistException $e) {
    Red::errorD("Die Datenbank-Tabelle (" . $e->getTable() . ") dieses Plugins wurde noch nicht angelegt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich.");
} catch (DatabaseNotSelectedException $e) {
    Red::errorD("Keine Datenbank ausgewählt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich.");
} catch (NoDBUserDataException $e) {
    Red::errorD("Die Datenbank-Zugangsdaten sind falsch. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich.");
} catch (FieldDoesNotExistException $e) {
    Red::errorUpdate();
} catch (DatabaseNotFoundException $e) {
    Red::errorD("Keine Datenbank ausgewählt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich.");
}
コード例 #11
0
ファイル: mFileGUI.class.php プロジェクト: nemiah/trinityDB
 public function processPoolUpload($dir, $fileName)
 {
     $uloadedFile = Util::getTempDir() . $fileName . ".tmp";
     if (!file_exists(FileStorage::getFilesDir() . "{$dir}")) {
         mkdir(FileStorage::getFilesDir() . "{$dir}");
     }
     if (copy($uloadedFile, FileStorage::getFilesDir() . "{$dir}/{$fileName}")) {
         unlink($uloadedFile);
     } else {
         Red::errorD("Fehler beim Upload der Datei!");
     }
 }
コード例 #12
0
ファイル: mUserdata.class.php プロジェクト: nemiah/trinityDB
 public static function checkRestrictionOrDie($restriction)
 {
     if ($_SESSION["S"]->getCurrentUser() == null) {
         return;
     }
     #throw new Exception("No user authenticated with the system!");
     if ($_SESSION["S"]->isUserAdmin()) {
         return;
     }
     $UD = new mUserdata();
     $UD->addAssocV3("wert", "=", $restriction);
     $UD->addAssocV3("UserID", "=", $_SESSION["S"]->getCurrentUser()->getID());
     $sUD = $UD->getNextEntry();
     if ($sUD != null) {
         Red::errorD("Diese Aktion ist nicht erlaubt!");
     }
 }
コード例 #13
0
ファイル: mUserdata.class.php プロジェクト: nemiah/poolPi
 public static function checkRestrictionOrDie($restriction)
 {
     if ($_SESSION["S"]->getCurrentUser() == null) {
         return;
     }
     #throw new Exception("No user authenticated with the system!");
     if ($_SESSION["S"]->isUserAdmin()) {
         return;
     }
     if (SpeedCache::inStaticCache("checkRestrictionOrDie{$restriction}")) {
         $sUD = SpeedCache::getStaticCache("checkRestrictionOrDie{$restriction}", true);
     } else {
         $UD = new mUserdata();
         $UD->addAssocV3("wert", "=", $restriction);
         $UD->addAssocV3("UserID", "=", Session::currentUser()->getID());
         $sUD = $UD->getNextEntry();
         SpeedCache::setStaticCache("checkRestrictionOrDie{$restriction}", $sUD);
     }
     if ($sUD != null) {
         Red::errorD("Diese Aktion ist nicht erlaubt!");
     }
 }
コード例 #14
0
ファイル: FileGUI.class.php プロジェクト: nemiah/trinityDB
 public function rename($newName)
 {
     try {
         $result = parent::rename($newName);
     } catch (Exception $e) {
         Red::errorD($e->getMessage());
     }
     if ($result === false) {
         $r = basename($this->getID());
     } else {
         $r = basename($result);
     }
     $ext = Util::ext($r);
     echo str_replace(".{$ext}", "<span style=\"color:grey;\">.{$ext}</span>", $r);
 }
コード例 #15
0
 public function testMail($mailfrom, $mailto)
 {
     #parse_str($data, $out);
     #print_r($out);
     if ($mailfrom == "") {
         Red::errorD("Bitte geben Sie einen Absender ein!");
     }
     if ($mailto == "") {
         Red::errorD("Bitte geben Sie einen Empfänger ein!");
     }
     $mail = new htmlMimeMail5();
     $mail->setFrom("phynx Mailtest <" . $mailfrom . ">");
     if (!ini_get('safe_mode')) {
         $mail->setReturnPath($mailfrom);
     }
     $mail->setSubject("phynx Mailtest");
     $mail->setText(wordwrap("Diese Nachricht wurde vom phynx Mailtester erzeugt. Ihre E-Mail-Einstellungen sind korrekt.", 80));
     $adressen = array();
     $adressen[] = $mailto;
     if ($mail->send($adressen)) {
         echo "<p style=\"padding:5px;color:green;\">E-Mail erfolgreich übergeben.</p>";
     } else {
         echo "<p style=\"padding:5px;color:red;\">Fehler beim Übergeben der E-Mail. Bitte überprüfen Sie Ihre Server-Einstellungen.<br />Fehler: " . nl2br(print_r($mail->errors, true)) . "</p>";
     }
 }
コード例 #16
0
 public function switchApplication($application)
 {
     $allowedApplications = Environment::getS("allowedApplications", null);
     if ($allowedApplications != null and !in_array($application, $allowedApplications)) {
         Red::errorD("Bitte wenden Sie sich an den Support, wenn Sie {$application} verwenden möchten");
     }
     ob_start();
     $U = new UsersGUI();
     $c = $this->getCurrentUser();
     $d = array();
     $d["loginUsername"] = $c->getA()->username;
     $d["loginSHAPassword"] = $c->getA()->SHApassword;
     $d["loginSprache"] = $c->getA()->language;
     $d["anwendung"] = $application;
     $U->doLogin($d);
     ob_end_clean();
 }
コード例 #17
0
 function deleteSingle($table, $keyName, $id)
 {
     if (strpos($id, FileStorage::getFilesDir()) === false) {
         Red::errorD("Die Datei kann wegen fehlender Berechtigung nicht gelöscht werden!");
     }
     if (is_dir($id)) {
         $fp = opendir($id);
         $i = 0;
         while (($file = readdir($fp)) !== false) {
             if ($file == ".") {
                 continue;
             }
             if ($file == "..") {
                 continue;
             }
             $i++;
         }
         closedir($fp);
         if ($i > 0) {
             Red::errorD("Das Verzeichnis kann nicht gelöscht werden, es ist nicht leer!");
         }
         rmdir($id);
     } else {
         if (!is_writable($id)) {
             Red::errorD("Die Datei kann wegen fehlender Berechtigung nicht gelöscht werden!");
         }
         unlink($id);
     }
 }
コード例 #18
0
ファイル: tinyMCEGUI.class.php プロジェクト: nemiah/poolPi
 public function processAttachmentUpload($filesDir, $fileName)
 {
     $uloadedFile = Util::getTempDir() . $fileName . ".tmp";
     if (copy($uloadedFile, FileStorage::getFilesDir() . "{$filesDir}/{$fileName}")) {
         unlink($uloadedFile);
     } else {
         Red::errorD("Fehler beim Upload der Datei!");
     }
 }
コード例 #19
0
ファイル: Users.class.php プロジェクト: nemiah/poolPi
 public function doLogin($ps)
 {
     $validUntil = Environment::getS("validUntil", null);
     if ($validUntil != null and $validUntil < time()) {
         Red::errorD("Diese Version ist abgelaufen. Bitte wenden Sie sich an den Support.");
     }
     if (!is_array($ps)) {
         parse_str($ps, $p);
     } else {
         $p = $ps;
     }
     #if($p["loginPassword"] == ";;;-1;;;") return 0;
     $this->doLogout();
     $_SESSION["DBData"] = $_SESSION["S"]->getDBData();
     try {
         $U = $this->getUser($p["loginUsername"], $p["loginSHAPassword"], $p["loginPWEncrypted"]);
         if ($U === null) {
             return 0;
         }
         if (get_class($U) == "phynxAltLogin") {
             $p["anwendung"] = $U->A("UserApplication");
         }
         if ($U->A("allowedApplications") != null and is_array($U->A("allowedApplications")) and !in_array($p["anwendung"], $U->A("allowedApplications"))) {
             return 0;
         }
         $AC = anyC::get("Userdata", "name", "loginTo" . ((isset($p["isCustomerPage"]) and $p["isCustomerPage"]) ? "customerPage" : $p["anwendung"]));
         $AC->addAssocV3("UserID", "=", $U->getID());
         $UD = $AC->n();
         if ($UD != null and $UD->A("wert") == "0") {
             return 0;
         }
         /*$AC = anyC::get("Userdata", "name", "loginToApplication");
         		$AC->addAssocV3("UserID", "=", $U->getID());
         		$UD = $AC->n();
         		if($UD != null AND $UD->A("wert") == "0")
         			return 0;*/
         $UA = $U->getA();
     } catch (Exception $e) {
         if ($p["loginUsername"] == "Admin" and $p["loginSHAPassword"] == "4e7afebcfbae000b22c7c85e5560f89a2a0280b4") {
             #"Admin"){
             $tu = new User(-1);
             $UA = $tu->newAttributes();
             $UA->name = "Installations-Benutzer";
             $UA->username = "******";
             $UA->password = "******";
             if ($p["loginSprache"] != "default") {
                 $UA->language = $p["loginSprache"];
             }
             $UA->isAdmin = 1;
             $U = new User(-1);
             $U->setA($UA);
         } else {
             return -2;
         }
     }
     if ($p["loginSprache"] != "default") {
         $U->changeA("language", $p["loginSprache"]);
     }
     if (strtolower($U->getA()->username) != strtolower($p["loginUsername"])) {
         return 0;
     }
     $_SESSION["S"]->setLoggedInUser($U);
     $_SESSION["S"]->initApp($p["anwendung"]);
     if (isset($_COOKIE["phynx_customer"])) {
         $_SESSION["phynx_customer"] = $_COOKIE["phynx_customer"];
     }
     #if($_SESSION["S"]->checkIfUserLoggedIn()) die("Beim Einloggen ist ein Fehler aufgetreten.\nBitte drücken Sie F5 (aktualisieren) und melden Sie sich erneut an.");
     return 1;
 }
コード例 #20
0
ファイル: DBStorage.class.php プロジェクト: nemiah/poolPi
 function saveSingle2($table, $id, $A)
 {
     #if(PHYNX_MYSQL_STRICT)
     #	$this->fixTypes($table, $A);
     $fields = PMReflector::getAttributesArray($A);
     $sql = "UPDATE {$table} SET";
     for ($i = 0; $i < count($fields); $i++) {
         $f = $fields[$i];
         #print_r($A->$f);
         #if(!is_numeric($A->$fields[$i]))
         $sql .= ($i > 0 ? "," : "") . " " . $fields[$i] . " = '" . $this->cWrite->real_escape_string($A->{$f}) . "'";
         #else $sql .= ($i > 0 ? "," : "")." ".$fields[$i]." = ".$A->$fields[$i]."";
     }
     $sql .= " WHERE " . $table . "ID = '{$id}'";
     $_SESSION["messages"]->addMessage("executing MySQL: {$sql}");
     $this->cWrite->query($sql);
     DBStorage::$queryCounter++;
     if ($this->cWrite->error and $this->cWrite->errno == 1062) {
         throw new DuplicateEntryException($this->cWrite->error);
     }
     if ($this->cWrite->error) {
         Red::errorD($this->cWrite->error);
     }
     if ($this->cWrite->error and PHYNX_USE_SYSLOG) {
         syslog(LOG_ERR, "MySQL: " . $this->cWrite->error . "(" . $this->cWrite->errno . ") in {$sql}");
     }
 }
コード例 #21
0
ファイル: CCPage.class.php プロジェクト: nemiah/fheME
 function handleForm($valuesAssocArray)
 {
     switch ($valuesAssocArray["action"]) {
         case "login":
             if (!Users::login($valuesAssocArray["benutzer"], sha1($valuesAssocArray["password"]), "open3A", "default", true)) {
                 Red::errorD("Benutzer/Passwort unbekannt");
             }
             break;
     }
 }
コード例 #22
0
 public function download(Serie $S, $echo = false)
 {
     $tab = new HTMLTable(1);
     $mirrorPath = $this->getMirror();
     $tab->addRow("Retrieving mirror list... using {$mirrorPath}");
     $serverTime = $this->getServerTime();
     $tab->addRow("Retrieving server time... {$serverTime}");
     $S->changeA("lastupdate", $serverTime);
     if ($S->A("siteID") == 0) {
         $tab->addRow("Retrieving series information...");
         $data = file_get_contents("{$mirrorPath}/api/GetSeries.php?seriesname=" . urlencode($S->A("name")) . "&language=" . $S->A("sprache"));
         if ($data === false) {
             throw new Exception("No data from {$mirrorPath}/api/GetSeries.php?seriesname=" . urlencode($S->A("name")) . "&language=" . $S->A("sprache"));
         }
         #die("DATA: $data");
         $seriesInfo = new SimpleXMLElement($data, null, false);
         $seriesID = $seriesInfo->Series->seriesid;
         $S->changeA("siteID", $seriesID);
         #$S->changeA("description", $seriesInfo->Series->Overview);
     } else {
         $seriesID = $S->A("siteID");
     }
     $tempFile = Util::getTempFilename("SerieID" . $S->getID(), "zip");
     $tab->addRow("Downloading episodes information...");
     $SZip = "{$mirrorPath}/api/{$this->apiKey}/series/{$seriesID}/all/" . $S->A("sprache") . ".zip";
     if (!copy($SZip, $tempFile)) {
         Red::errorD("The download of {$SZip} failed!");
     }
     try {
         $zip = new ZipArchive();
         if ($zip->open($tempFile) === TRUE) {
             $zip->extractTo(dirname($tempFile) . "/SerieID" . $S->getID());
             $zip->close();
             $tab->addRow("Extracting data...");
         } else {
             throw new ClassNotFoundException("");
         }
     } catch (ClassNotFoundException $e) {
         if (!Util::isWindowsHost()) {
             $commandUnzip = "unzip -o {$tempFile} -d SerieID" . $S->getID();
         } else {
             $commandUnzip = Util::getRootPath() . "trinityDB/Serien/unzip.exe -o {$tempFile} -d SerieID" . $S->getID();
         }
         $tab->addRow("Extracting data...<br />{$commandUnzip}");
         $sc = new SystemCommand();
         $sc->setCommand("cd " . dirname($tempFile) . " && {$commandUnzip}");
         $sc->execute();
     }
     $e = 0;
     $u = 0;
     $file = dirname($tempFile) . "/SerieID" . $S->getID() . "/" . $S->A("sprache") . ".xml";
     if (!file_exists($file)) {
         Red::errorD("Could not find the expected file {$file}. Please check if it was properly extracted from {$tempFile}.");
     }
     $episodesList = new SimpleXMLElement(file_get_contents($file));
     $status = $episodesList->Series->Status;
     $S->changeA("description", $episodesList->Series->Overview);
     $S->changeA("status", $status);
     $S->changeA("genre", $episodesList->Series->Genre);
     foreach ($episodesList->Episode as $k => $v) {
         $AC = anyC::get("Folge", "SerieID", $S->getID());
         $AC->addAssocV3("season", "=", $v->SeasonNumber);
         $AC->addAssocV3("episode", "=", $v->EpisodeNumber);
         $AC->lCV3();
         if ($AC->numLoaded() > 1) {
             while ($F = $AC->getNextEntry()) {
                 $F->deleteMe();
             }
         }
         $F = new Factory("Folge");
         $F->sA("SerieID", $S->getID());
         $F->sA("season", $v->SeasonNumber);
         $F->sA("episode", $v->EpisodeNumber);
         if ($E = $F->exists(true)) {
             if ($v->lastupdated == $E->A("lastupdate")) {
                 continue;
             }
             $E->changeA("name", $v->EpisodeName);
             $E->changeA("airDate", $v->FirstAired);
             $E->changeA("lastupdate", $v->lastupdated);
             $E->changeA("description", $v->Overview);
             $E->saveMe(true, false);
             $u++;
             continue;
         }
         $F->sA("episodeID", $v->id);
         $F->sA("name", $v->EpisodeName);
         $F->sA("airDate", $v->FirstAired);
         $F->sA("lastupdate", $v->lastupdated);
         $F->sA("description", $v->Overview);
         $F->sA("wanted", "1");
         $F->store(true, false);
         $e++;
     }
     $tab->addRow("Loaded {$e} episodes");
     $tab->addRow("Updated {$u} episodes");
     if (mUserdata::getGlobalSettingValue("trinityDBdlCover", "0") == "1") {
         $bannerList = new SimpleXMLElement(dirname($tempFile) . "/SerieID" . $S->getID() . "/banners.xml", null, true);
         foreach ($bannerList as $banner) {
             if ($banner->BannerType . "" == "poster") {
                 #echo $banner->BannerPath."";
                 $cover = file_get_contents("http://www.thetvdb.com/banners/" . $banner->BannerPath);
                 $temp = Util::getTempFilename("cover", "jpg");
                 file_put_contents($temp, $cover);
                 if ($S->A("dir") != "" and file_exists($S->A("dir"))) {
                     file_put_contents($S->A("dir") . "/Folder.jpg", $cover);
                 }
                 $S->changeA("cover", DBImageGUI::stringifyS("image/jpg", $temp));
                 $S->changeA("coverThumb", DBImageGUI::stringifyS("image/png", $temp, 150, 220));
                 #$S->saveMe();
                 unlink($temp);
                 $tab->addRow("Downloaded cover");
                 break;
             }
         }
     }
     $S->saveMe(true, false);
     if ($echo) {
         echo $tab;
     }
 }