def preview_page( self ): "Preview einer editierten Seite" #~ self.CGIdata.debug() # CGI-Daten holen und leere Form-Felder "einfügen" edit_page_data = self.set_default( self.CGIdata ) # CGI daten sind immer vom type str, die parent ID muß allerdings eine Zahl sein. # Ansonsten wird in MyOptionMaker.build_html_option() kein 'selected'-Eintrag gesetzt :( edit_page_data["parent"] = int( edit_page_data["parent"] ) # Preview der Seite erstellen content = "\n<h3>edit preview:</h3>\n" content += '<div id="page_edit_preview">\n' from PyLucid_system import pagerender pagerender = pagerender.pagerender( self.PyLucid ) content += pagerender.apply_markup( edit_page_data["content"], edit_page_data["markup"] ) content += "\n</div>\n" # Formular der Seite zum ändern wieder dranhängen content += self.editor_page( edit_page_data ) return content
def __init__( self ): # Alle Objekte/Klassen, die für Module/Plugins nötig sein könnten, werden # in dem Dict PyLucid_objects abgelegt. Dieses erlaubt ein vereinheitliche # Instanzierung von Modulen self.PyLucid = {} # PyLucid's Konfiguration self.config = config self.PyLucid["config"] = self.config if self.config.system.poormans_modrewrite == True: # Frühzeite überprüfung der URL self.check_request() # Speichert Nachrichten die in der Seite angezeigt werden sollen self.page_msg = sessiondata.page_msg() self.PyLucid["page_msg"] = self.page_msg # CGI Post/Get Daten self.CGIdata = sessiondata.CGIdata( self.PyLucid ) #~ self.CGIdata.debug() self.PyLucid["CGIdata"] = self.CGIdata # Anbindung an die SQL-Datenbank, mit speziellen PyLucid Methoden self.db = SQL.db() self.PyLucid["db"] = self.db # Verwaltung für Einstellungen aus der Datenbank self.preferences = preferences.preferences( self.PyLucid ) self.PyLucid["preferences"] = self.preferences tools.PyLucid = self.PyLucid self.PyLucid["tools"] = tools # Log-Ausgaben in SQL-DB self.log = SQL_logging.log( self.PyLucid ) self.PyLucid["log"] = self.log # Allgemeiner CGI Sessionhandler auf mySQL-Basis self.session = sessionhandling.sessionhandler( self.db.cursor, "%ssession_data" % self.config.dbconf["dbTablePrefix"], self.log, CookieName="PyLucid_id", #~ verbose_log = True ) self.session.page_msg = self.page_msg #~ self.session.debug() self.PyLucid["session"] = self.session # Für die Log-Einträge Informationen festhalten self.log.client_sID = self.session.ID if self.session.has_key("user"): self.log.client_user_name = self.session["user"] # Aktuelle Seite ermitteln und festlegen self.detect_page() # Überprüfe Rechte der Seite self.verify_page() # Verwaltung von erweiterungs Modulen/Plugins self.module_manager = module_manager.module_manager( self.PyLucid ) # Alle Module, die für den Modul-Manager vorbereitet wurden einlesen self.module_manager.read_module_info( "PyLucid_modules" ) #~ self.module_manager.debug() self.PyLucid["module_manager"] = self.module_manager # Zum Zusammenbau der HTML-Seiten self.pagerender = pagerender.pagerender( self.PyLucid )