예제 #1
0
 private function getNav($parentID, $domain)
 {
     $mNav = new anyC();
     $mNav->setCollectionOf("Navigation");
     $mNav->addAssocV3("parentID", "=", $parentID);
     $mNav->addAssocV3("DomainID", "=", $domain);
     $mNav->addOrderV3("sort");
     $mNav->lCV3();
     if ($mNav->numLoaded() == 0) {
         return;
     }
     $html = "\n\t\t<ul style=\"list-style-image:none;list-style-type:none;\" id=\"sortable_{$parentID}\">";
     while ($n = $mNav->getNextEntry()) {
         $B = new Button("Element bearbeiten", "./images/i2/edit.png");
         $B->type("icon");
         $B->onclick("contentManager.loadFrame('contentLeft','Navigation','" . $n->getID() . "');");
         $B->style("float:left;margin-right:10px;");
         $D = new Button("Element löschen", "./images/i2/delete.gif");
         $D->type("icon");
         $D->onclick("deleteClass('Navigation','" . $n->getID() . "', function() { contentManager.reloadFrameRight(); if(typeof lastLoadedLeft != 'undefined' &amp;&amp; lastLoadedLeft == '1') \$('contentLeft').update(''); },'Element und alle Unterelemente wirklich löschen?');");
         $D->style("float:right;margin-right:10px;");
         $html .= "<li id=\"NavigationElementID_" . $n->getID() . "\" style=\"" . ($n->A("hidden") == "1" ? "text-decoration:line-through;" : "") . "\">{$D}<img src=\"./images/i2/topdown.png\" class=\"navigationHandler_sortable_{$parentID}\"\" style=\"cursor:pointer;float:right;margin-right:10px;\" />{$B}" . ($n->A("name") == "" ? "&lt;kein Name&gt;" : $n->A("name")) . $this->getNav($n->getID(), $domain) . "</li>";
     }
     #
     $html .= "\n\t\t</ul>\n\t\t<script type=\"text/javascript\">Website.add('sortable_{$parentID}');</script>";
     return $html;
 }
예제 #2
0
 function getHTML($id)
 {
     $this->customize();
     #if($this->A == null AND $id != -1) $this->loadMe();
     #if($id == -1) $this->A = new UserAttributes();
     $this->loadMeOrEmpty();
     $up = new anyC();
     $up->setCollectionOf("User");
     $up->addAssocV3("password", "!=", ";;;-1;;;");
     $up->lCV3();
     if ($up->numLoaded() > 0) {
         return "\n\t\t<table>\n\t\t\t<colgroup>\n\t\t\t\t<col class=\"backgroundColor3\" />\n\t\t\t</colgroup>\n\t\t\t<tr>\n\t\t\t\t<td><input onclick=\"rme('Users','','convertPasswords','','contentManager.reloadFrameRight();');\" type=\"button\" style=\"float:right;background-image:url(./images/navi/keys.png);\" class=\"bigButton backgroundColor2\" value=\"Passwörter\nkonvertieren\" />In Ihrer Datenbank befinden sich noch unkonvertierte Passwörter.</td>\n\t\t\t</tr>\n\t\t</table>";
     }
     $this->A->password = "******";
     $gui = new HTMLGUIX($this);
     #$gui->setObject();
     $gui->name("Benutzer");
     $gui->attributes(array("name", "username", "password", "SHApassword", "language", "UserPosition", "isAdmin", "UserEmail", "UserICQ", "UserJabber", "UserSkype", "UserTel"));
     $gui->label("name", "Name");
     $gui->label("username", "Benutzername");
     $gui->label("password", "Passwort");
     $gui->label("SHApassword", "Passwort");
     $gui->label("language", "Sprache");
     $gui->label("isAdmin", "Admin-Rechte?");
     $gui->label("UserEmail", "E-Mail");
     $gui->label("UserICQ", "ICQ");
     $gui->label("UserJabber", "Jabber");
     $gui->label("UserSkype", "Skype");
     $gui->label("UserTel", "Telefon");
     $gui->type("language", "select", array("de_DE" => "Deutsch (Deutschland) €", "de_DE_EUR" => "Deutsch (Deutschland) EUR", "de_CH" => "Deutsch (Schweiz) sFr", "de_CH_CHF" => "Deutsch (Schweiz) CHF", "en_GB" => "English (United Kingdom)"));
     #$gui->setOptions("language",);
     $gui->descriptionField("SHApassword", "Zum Ändern eingeben.");
     $gui->type("password", "hidden");
     $gui->type("SHApassword", "password");
     $gui->type("isAdmin", "radio");
     $gui->descriptionField("isAdmin", "<span style=\"color:red;\">Achtung: als Admin sehen Sie nur diese Admin-Oberfläche und NICHT das Programm selbst!</span>");
     #$gui->translate($this->loadTranslation());
     $gui->space("UserEmail", isset($this->texts["Kontaktdaten"]) ? $this->texts["Kontaktdaten"] : "Kontaktdaten");
     $gui->type("isAdmin", "checkbox");
     #$gui->setOptions("isAdmin",array("1","0"),array("ja ","nein"));
     #$gui->setStandardSaveButton($this);
     $gui->customize($this->customizer);
     $mUD = new mUserdataGUI();
     $mUD->addAssocV3("UserID", "=", $this->ID);
     $mUD->addAssocV3("typ", "=", "uRest", "AND", "1");
     $mUD->addAssocV3("typ", "=", "relab", "OR", "1");
     $mUD->addAssocV3("typ", "=", "hideF", "OR", "1");
     $mUD->addAssocV3("typ", "=", "pSpec", "OR", "1");
     $mUD->addAssocV3("typ", "=", "pHide", "OR", "1");
     $html = "<div>" . $mUD->getHTML(-1) . "</div>";
     if ($id == -1) {
         $html = "<table><tr><td class=\"backgroundColor3\">Sie können Einschränkungen erst anlegen, wenn der Benutzer angelegt wurde.</td></tr></table>";
     }
     return $gui->getEditHTML() . ($this->A->isAdmin != 1 ? $html : "");
 }
예제 #3
0
 public function getHTML($id)
 {
     $allowedUsers = Environment::getS("allowedUsers", null);
     #$this->addAssocV3("UserType", "=", "0");
     $this->addOrderV3("name");
     if ($this->A == null) {
         $this->lCV3($id);
     }
     $up = new anyC();
     $up->setCollectionOf("User");
     $up->addAssocV3("password", "!=", ";;;-1;;;");
     $up->lCV3();
     if ($up->numLoaded() > 0 and $id == -1) {
         return "\n\t\t<table>\n\t\t\t<colgroup>\n\t\t\t\t<col class=\"backgroundColor3\" />\n\t\t\t</colgroup>\n\t\t\t<tr>\n\t\t\t\t<td><input onclick=\"rme('Users','','convertPasswords','','contentManager.reloadFrameRight();');\" type=\"button\" style=\"float:right;background-image:url(./images/navi/keys.png);\" class=\"bigButton backgroundColor2\" value=\"Passwörter\nkonvertieren\" />In Ihrer Datenbank befinden sich noch unkonvertierte Passwörter.</td>\n\t\t\t</tr>\n\t\t</table>";
     }
     $gui = new HTMLGUIX($this);
     $gui->screenHeight();
     $gui->name("Benutzer");
     #$gui->setCollectionOf($this->collectionOf,"Benutzer");
     $gui->parser("isAdmin", "UsersGUI::isAdminParser");
     $gui->colWidth("isAdmin", "20px");
     $gui->attributes(array("name", "username", "isAdmin"));
     /*$g = "";
     		
     		if(strstr($_SERVER["SCRIPT_FILENAME"],"demo")) {
     			$UA = $_SESSION["S"]->getCurrentUser()->getA();
     			if($UA->name != "Installations-Benutzer"){
     				$g = "In der Demo können keine Benutzer geändert werden!";
     				$gui->setIsDisplayMode(true);
     			}
     		}*/
     $TR = new HTMLTable(1);
     if ($allowedUsers !== null and $id == -1) {
         $B = new Button("", "notice", "icon");
         $B->style("float:left;margin-right:10px;");
         $TR->addRow(array($B . "Bitte beachten Sie: Sie können insgesamt {$allowedUsers} Benutzer ohne Admin-Rechte anlegen."));
     }
     if ($allowedUsers === null) {
         $B = $gui->addSideButton("Externe\nAuthentifizierung", "./plugins/Users/auth.png");
         $B->popup("", "Externe Authentifizierung", "Users", "-1", "authenticationPopup");
     }
     $gui->prepend($TR);
     $gui->customize($this->customizer);
     try {
         $AD = new LoginAD();
         $AD->getUsers();
         if ($AD->n() !== null) {
             $B = $gui->addSideButton("ActiveDirectory-\nBenutzer", "users");
         }
         $B->popup("", "ActiveDirectory-Benutzer", "Users", "-1", "ldapUsersPopup");
     } catch (Exception $e) {
     }
     return $gui->getBrowserHTML($id);
 }
예제 #4
0
 public function getHTML($id)
 {
     $allowedUsers = Environment::getS("allowedUsers", null);
     $this->addOrderV3("name");
     if ($this->A == null) {
         $this->lCV3($id);
     }
     $up = new anyC();
     $up->setCollectionOf("User");
     $up->addAssocV3("password", "!=", ";;;-1;;;");
     $up->lCV3();
     if ($up->numLoaded() > 0 and $id == -1) {
         return "\n\t\t<table>\n\t\t\t<colgroup>\n\t\t\t\t<col class=\"backgroundColor3\" />\n\t\t\t</colgroup>\n\t\t\t<tr>\n\t\t\t\t<td><input onclick=\"rme('Users','','convertPasswords','','contentManager.reloadFrameRight();');\" type=\"button\" style=\"float:right;background-image:url(./images/navi/keys.png);\" class=\"bigButton backgroundColor2\" value=\"Passwörter\nkonvertieren\" />In Ihrer Datenbank befinden sich noch unkonvertierte Passwörter.</td>\n\t\t\t</tr>\n\t\t</table>";
     }
     $T = new HTMLTable(1, "Application Server");
     $I = new HTMLInput("AppServer", "text", mUserdata::getGlobalSettingValue("AppServer", ""));
     $I->onEnter("contentManager.rmePCR('Users', '-1', 'saveAppServer', [this.value], ' ');");
     if ($allowedUsers === null) {
         $T->addRow($I . "<br /><small>Wenn Sie einen Application Server bertreiben, tragen Sie hier bitte die URL ein, um die Benutzer mit diesem Server zu authorisieren.</small>");
     }
     $gui = new HTMLGUI();
     $gui->setObject($this);
     $gui->setName("Benutzer");
     $gui->setCollectionOf($this->collectionOf, "Benutzer");
     #$gui->setObject($this);
     $gui->setParser("isAdmin", "UsersGUI::isAdminParser");
     $gui->setColWidth("isAdmin", "20px");
     #$gui->hideAttribute("password");
     #$gui->hideAttribute("SHApassword");
     #$gui->hideAttribute("language");
     $gui->setShowAttributes(array("name", "username", "isAdmin"));
     $g = "";
     if (strstr($_SERVER["SCRIPT_FILENAME"], "demo")) {
         $UA = $_SESSION["S"]->getCurrentUser()->getA();
         if ($UA->name != "Installations-Benutzer") {
             $g = "In der Demo können keine Benutzer geändert werden!";
             $gui->setIsDisplayMode(true);
         }
     }
     $TR = new HTMLTable(1);
     if ($allowedUsers !== null and $id == -1) {
         $B = new Button("", "notice", "icon");
         $B->style("float:left;margin-right:10px;");
         $TR->addRow(array($B . "Bitte beachten Sie: Sie können insgesamt {$allowedUsers} Benutzer ohne Admin-Rechte anlegen."));
     }
     $gui->customize($this->customizer);
     return $TR . $g . $gui->getBrowserHTML($id) . ($id == -1 ? $T : "");
 }
예제 #5
0
 public function exists($returnElement = false)
 {
     $AC = new anyC();
     $AC->setCollectionOf($this->className);
     foreach ($this->setAttributes as $k) {
         if ($k == $this->className . "ID") {
             continue;
         }
         $AC->addAssocV3($k, isset($this->onExistsOperator[$k]) ? $this->onExistsOperator[$k] : "=", $this->attributes->{$k});
     }
     $AC->lCV3();
     if ($AC->numLoaded() == 0) {
         return false;
     } else {
         if ($returnElement) {
             return $AC->getNextEntry();
         }
         return $AC->getNextEntry()->getID();
     }
 }
예제 #6
0
 public function update($echo = false)
 {
     $oldest = new anyC();
     $oldest->setCollectionOf("Serie");
     $oldest->addOrderV3("lastupdate", "ASC");
     $oldest->addAssocV3("status", "=", "Continuing");
     $oldest->addAssocV3("lastupdate", "<", time() - 3600 * 24 * 3);
     $oldest->setLimitV3("2");
     while ($S = $oldest->getNextEntry()) {
         $this->download($S, $echo);
     }
     $oldest = new anyC();
     $oldest->setCollectionOf("Serie");
     $oldest->addOrderV3("lastupdate", "ASC");
     $oldest->addAssocV3("status", "=", "Ended");
     $oldest->addAssocV3("lastupdate", "<", time() - 3600 * 24 * 21);
     $oldest->setLimitV3("1");
     while ($S = $oldest->getNextEntry()) {
         $this->download($S, $echo);
     }
     $oldest = new anyC();
     $oldest->setCollectionOf("Serie");
     $oldest->addOrderV3("lastupdate", "ASC");
     $oldest->addAssocV3("lastupdate", "<", time() - 3600 * 24 * 3, "AND", "1");
     $oldest->addAssocV3("status", "=", "Continuing", "AND", "1");
     $oldest->addAssocV3("lastupdate", "<", time() - 3600 * 24 * 21, "OR", "2");
     $oldest->addAssocV3("status", "=", "Ended", "AND", "2");
     $oldest->lCV3();
     return $oldest->numLoaded();
 }
예제 #7
0
    }
    if (isset($_GET["permalink"]) and $_GET["permalink"] != "") {
        $ac = new anyC();
        $ac->setCollectionOf("Seite");
        $ac->addAssocV3("permalink", "=", $_GET["permalink"]);
        $ac->addAssocV3("DomainID", "=", $domain->getID());
        $resolvedPL = $ac->getNextEntry();
        if ($resolvedPL == null) {
            header("HTTP/1.1 404 Not Found");
            emoFatalError("Die gesuchte Seite kann leider nicht gefunden werden", "Die Seite, die Sie suchen, existiert nicht (mehr).<br />Vielleicht m&ouml;chten Sie die Suche auf der <a href=\"/\">Startseite</a> fortsetzen.", "multiCMS", "./multiCMS");
            #header("Connection: close");
            #exit();
            #die("Die gew&uuml;nschte Seite existiert nicht!");
        }
        $_GET["p"] = $resolvedPL->getID();
        if ($ac->numLoaded() != 1) {
            die("der Permalink {$_GET['permalink']} ist nicht eindeutig und verweist auf " . $ac->numLoaded() . " Seiten!");
        }
    }
    if (isset($_GET["p"])) {
        $domain->setSeite($_GET["p"]);
    }
    $domain->getCMSHTML();
} catch (Exception $e) {
    switch (get_class($e)) {
        case "NoDBUserDataException":
            emoFatalError("multiCMS kann leider keine Verbindung zur Datenbank herstellen", "Es wurden noch keine Datenbankzugangsdaten eingetragen.<br />Bitte benutzen Sie das Installations-Plugin im Admin-Bereich von <a href=\"{$phpFWPath}\">multiCMS</a>", "multiCMS", $phpFWPath);
            break;
        case "TableDoesNotExistException":
            emoFatalError("multiCMS kann leider eine oder mehrere Tabellen nicht finden", "Die multiCMS Datenbank-Tabellen wurden vermutlich nicht korrekt angelegt.<br />Bitte benutzen Sie das Installations-Plugin im Admin-Bereich von <a href=\"{$phpFWPath}\">multiCMS</a>", "multiCMS", $phpFWPath);
            break;