Beispiel #1
0
 function deleteMe()
 {
     if ($this->A("phimFromUserID") != Session::currentUser()->getID()) {
         Red::errorD("Sie können nur eigene Nachrichten löschen!");
     }
     parent::deleteMe();
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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);
 }
 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()."'";
 }
Beispiel #5
0
}
$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);
        }
    }
Beispiel #6
0
/*
$_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});");
}
 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;
     }
 }
Beispiel #8
0
 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);
 }
 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>";*/
 }
Beispiel #10
0
    $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.");
}
Beispiel #11
0
 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!");
     }
 }
Beispiel #12
0
 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!");
     }
 }
Beispiel #13
0
 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!");
     }
 }
Beispiel #14
0
 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);
 }
 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>";
     }
 }
Beispiel #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();
 }
 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);
     }
 }
Beispiel #18
0
 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!");
     }
 }
Beispiel #19
0
 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;
 }
Beispiel #20
0
 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}");
     }
 }
Beispiel #21
0
 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;
     }
 }
 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;
     }
 }