diff --git a/wiki-lenny/share/action.edit.orig.py b/wiki-lenny/local/action/edit.py similarity index 100% rename from wiki-lenny/share/action.edit.orig.py rename to wiki-lenny/local/action/edit.py diff --git a/wiki-lenny/share/action.newaccount.py b/wiki-lenny/local/action/newaccount.py similarity index 100% rename from wiki-lenny/share/action.newaccount.py rename to wiki-lenny/local/action/newaccount.py diff --git a/wiki-lenny/share/action.edit.py b/wiki-lenny/share/action.edit.py deleted file mode 100644 index c07f183c..00000000 --- a/wiki-lenny/share/action.edit.py +++ /dev/null @@ -1,187 +0,0 @@ -# -*- coding: iso-8859-1 -*- -""" - MoinMoin - edit a page - - This either calls the text or the GUI page editor. - - @copyright: 2000-2004 Juergen Hermann , - 2006 MoinMoin:ThomasWaldmann - @license: GNU GPL, see COPYING for details. -""" -from MoinMoin import wikiutil -from MoinMoin.Page import Page - -def execute(pagename, request): - """ edit a page """ - _ = request.getText - - if 'button_preview' in request.form and 'button_spellcheck' in request.form: - # multiple buttons pressed at once? must be some spammer/bot - request.makeForbidden403() - request.surge_protect(kick_him=True) # get rid of him - return - - if not request.user.may.write(pagename): - request.theme.add_msg(_('You are not allowed to edit this page.'), "error") - Page(request, pagename).send_page() - return - - valideditors = ['text', 'gui', ] - editor = '' - if request.user.valid: - editor = request.user.editor_default - if editor not in valideditors: - editor = request.cfg.editor_default - - editorparam = request.form.get('editor', [editor])[0] - if editorparam == "guipossible": - lasteditor = editor - elif editorparam == "textonly": - editor = lasteditor = 'text' - else: - editor = lasteditor = editorparam - - if request.cfg.editor_force: - editor = request.cfg.editor_default - - # if it is still nothing valid, we just use the text editor - if editor not in valideditors: - editor = 'text' - - rev = request.rev or 0 - savetext = request.form.get('savetext', [None])[0] - comment = request.form.get('comment', [u''])[0] - category = request.form.get('category', [None])[0] - rstrip = int(request.form.get('rstrip', ['0'])[0]) - trivial = int(request.form.get('trivial', ['0'])[0]) - - if 'button_switch' in request.form: - if editor == 'text': - editor = 'gui' - else: # 'gui' - editor = 'text' - - # load right editor class - if editor == 'gui': - from MoinMoin.PageGraphicalEditor import PageGraphicalEditor - pg = PageGraphicalEditor(request, pagename) - else: # 'text' - from MoinMoin.PageEditor import PageEditor - pg = PageEditor(request, pagename) - - # is invoked without savetext start editing - if savetext is None or 'button_load_draft' in request.form: - pg.sendEditor() - return - - # did user hit cancel button? - cancelled = 'button_cancel' in request.form - - if request.cfg.edit_ticketing: - ticket = request.form.get('ticket', [''])[0] - if not wikiutil.checkTicket(request, ticket): - request.theme.add_msg(_('Please use the interactive user interface to use action %(actionname)s!') % {'actionname': 'edit' }, "error") - pg.send_page() - return - - from MoinMoin.error import ConvertError - try: - if lasteditor == 'gui': - # convert input from Graphical editor - format = request.form.get('format', ['wiki'])[0] - if format == 'wiki': - converter_name = 'text_html_text_moin_wiki' - else: - converter_name = 'undefined' # XXX we don't have other converters yet - convert = wikiutil.importPlugin(request.cfg, "converter", converter_name, 'convert') - savetext = convert(request, pagename, savetext) - - # IMPORTANT: normalize text from the form. This should be done in - # one place before we manipulate the text. - savetext = pg.normalizeText(savetext, stripspaces=rstrip) - except ConvertError: - # we don't want to throw an exception if user cancelled anyway - if not cancelled: - raise - - if cancelled: - pg.sendCancel(savetext or "", rev) - pagedir = pg.getPagePath(check_create=0) - import os - if not os.listdir(pagedir): - os.removedirs(pagedir) - return - - comment = wikiutil.clean_input(comment) - - # Add category - - # TODO: this code does not work with extended links, and is doing - # things behind your back, and in general not needed. Either we have - # a full interface for categories (add, delete) or just add them by - # markup. - - if category and category != _(''): # opera 8.5 needs this - # strip trailing whitespace - savetext = savetext.rstrip() - - # Add category separator if last non-empty line contains - # non-categories. - lines = [line for line in savetext.splitlines() if line] - if lines: - - #TODO: this code is broken, will not work for extended links - #categories, e.g ["category hebrew"] - categories = lines[-1].split() - - if categories: - confirmed = wikiutil.filterCategoryPages(request, categories) - if len(confirmed) < len(categories): - # This was not a categories line, add separator - savetext += u'\n----\n' - - # Add new category - if savetext and savetext[-1] != u'\n': - savetext += ' ' - savetext += category + u'\n' # Should end with newline! - - # Preview, spellcheck or spellcheck add new words - if ('button_preview' in request.form or - 'button_spellcheck' in request.form or - 'button_newwords' in request.form): - pg.sendEditor(preview=savetext, comment=comment) - - # Preview with mode switch - elif 'button_switch' in request.form: - pg.sendEditor(preview=savetext, comment=comment, staytop=1) - - # Save new text - else: - try: - from MoinMoin.security.textcha import TextCha - if not TextCha(request).check_answer_from_form(): - raise pg.SaveError(_('TextCha: Wrong answer! Go back and try again...')) - savemsg = pg.saveText(savetext, rev, trivial=trivial, comment=comment) - except pg.EditConflict, e: - msg = e.message - - # Handle conflict and send editor - pg.set_raw_body(savetext, modified=1) - - pg.mergeEditConflict(rev) - # We don't send preview when we do merge conflict - pg.sendEditor(msg=msg, comment=comment) - return - - except pg.SaveError, msg: - # msg contains a unicode string - savemsg = unicode(msg) - - # Send new page after save or after unsuccessful conflict merge. - request.reset() - pg = Page(request, pagename) - - # sets revision number to default for further actions - request.rev = 0 - request.theme.add_msg(savemsg, "info") - pg.send_page() diff --git a/wiki-lenny/share/action.newaccount.orig.py b/wiki-lenny/share/action.newaccount.orig.py deleted file mode 100644 index 43641049..00000000 --- a/wiki-lenny/share/action.newaccount.orig.py +++ /dev/null @@ -1,195 +0,0 @@ -# -*- coding: iso-8859-1 -*- -""" - MoinMoin - create account action - - @copyright: 2007 MoinMoin:JohannesBerg - @license: GNU GPL, see COPYING for details. -""" - -from MoinMoin import user, wikiutil, util -from MoinMoin.Page import Page -from MoinMoin.widget import html -from MoinMoin.security.textcha import TextCha -from MoinMoin.auth import MoinAuth - - -_debug = False - -def _create_user(request): - _ = request.getText - form = request.form - - if request.request_method != 'POST': - return - - if not TextCha(request).check_answer_from_form(): - return _('TextCha: Wrong answer! Go back and try again...') - - # Create user profile - theuser = user.User(request, auth_method="new-user") - - # Require non-empty name - try: - theuser.name = form['name'][0] - except KeyError: - return _("Empty user name. Please enter a user name.") - - # Don't allow creating users with invalid names - if not user.isValidName(request, theuser.name): - return _("""Invalid user name {{{'%s'}}}. -Name may contain any Unicode alpha numeric character, with optional one -space between words. Group page name is not allowed.""", wiki=True) % wikiutil.escape(theuser.name) - - # Name required to be unique. Check if name belong to another user. - if user.getUserId(request, theuser.name): - return _("This user name already belongs to somebody else.") - - # try to get the password and pw repeat - password = form.get('password1', [''])[0] - password2 = form.get('password2', [''])[0] - - # Check if password is given and matches with password repeat - if password != password2: - return _("Passwords don't match!") - if not password: - return _("Please specify a password!") - - pw_checker = request.cfg.password_checker - if pw_checker: - pw_error = pw_checker(theuser.name, password) - if pw_error: - return _("Password not acceptable: %s") % pw_error - - # Encode password - if password and not password.startswith('{SHA}'): - try: - theuser.enc_password = user.encodePassword(password) - except UnicodeError, err: - # Should never happen - return "Can't encode password: %s" % str(err) - - # try to get the email, for new users it is required - email = wikiutil.clean_input(form.get('email', [''])[0]) - theuser.email = email.strip() - if not theuser.email and 'email' not in request.cfg.user_form_remove: - return _("Please provide your email address. If you lose your" - " login information, you can get it by email.") - - # Email should be unique - see also MoinMoin/script/accounts/moin_usercheck.py - if theuser.email and request.cfg.user_email_unique: - if user.get_by_email_address(request, theuser.email): - return _("This email already belongs to somebody else.") - - # save data - theuser.save() - - if form.has_key('create_and_mail'): - theuser.mailAccountData() - - result = _("User account created! You can use this account to login now...") - if _debug: - result = result + util.dumpFormData(form) - return result - - -def _create_form(request): - _ = request.getText - url = request.page.url(request) - ret = html.FORM(action=url) - ret.append(html.INPUT(type='hidden', name='action', value='newaccount')) - lang_attr = request.theme.ui_lang_attr() - ret.append(html.Raw('
' % lang_attr)) - tbl = html.TABLE(border="0") - ret.append(tbl) - ret.append(html.Raw('
')) - - row = html.TR() - tbl.append(row) - row.append(html.TD().append(html.STRONG().append( - html.Text(_("Name"))))) - cell = html.TD() - row.append(cell) - cell.append(html.INPUT(type="text", size="36", name="name")) - cell.append(html.Text(' ' + _("(Use FirstnameLastname)"))) - - row = html.TR() - tbl.append(row) - row.append(html.TD().append(html.STRONG().append( - html.Text(_("Password"))))) - row.append(html.TD().append(html.INPUT(type="password", size="36", - name="password1"))) - - row = html.TR() - tbl.append(row) - row.append(html.TD().append(html.STRONG().append( - html.Text(_("Password repeat"))))) - row.append(html.TD().append(html.INPUT(type="password", size="36", - name="password2"))) - - row = html.TR() - tbl.append(row) - row.append(html.TD().append(html.STRONG().append(html.Text(_("Email"))))) - row.append(html.TD().append(html.INPUT(type="text", size="36", - name="email"))) - - textcha = TextCha(request) - if textcha.is_enabled(): - row = html.TR() - tbl.append(row) - row.append(html.TD().append(html.STRONG().append( - html.Text(_('TextCha (required)'))))) - td = html.TD() - if textcha: - td.append(textcha.render()) - row.append(td) - - row = html.TR() - tbl.append(row) - row.append(html.TD()) - td = html.TD() - row.append(td) - td.append(html.INPUT(type="submit", name="create_only", - value=_('Create Profile'))) - if request.cfg.mail_enabled: - td.append(html.Text(' ')) - td.append(html.INPUT(type="submit", name="create_and_mail", - value="%s + %s" % (_('Create Profile'), - _('Email')))) - - return unicode(ret) - -def execute(pagename, request): - found = False - for auth in request.cfg.auth: - if isinstance(auth, MoinAuth): - found = True - break - - if not found: - # we will not have linked, so forbid access - request.makeForbidden403() - return - - page = Page(request, pagename) - _ = request.getText - form = request.form - - submitted = form.has_key('create_only') or form.has_key('create_and_mail') - - if submitted: # user pressed create button - request.theme.add_msg(_create_user(request), "dialog") - return page.send_page() - else: # show create form - request.emit_http_headers() - request.theme.send_title(_("Create Account"), pagename=pagename) - - request.write(request.formatter.startContent("content")) - - # THIS IS A BIG HACK. IT NEEDS TO BE CLEANED UP - request.write(_create_form(request)) - - request.write(request.formatter.endContent()) - - request.theme.send_footer(pagename) - request.theme.send_closing_html() -