Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo

userforms module completely broke my site - VERY CRITICAL PROBLEM


Go to End
Reply


2 Posts   1798 Views

Avatar
François

25 Posts

4 December 2008 at 6:20am

Edited: 04/12/2008 6:39am

I installed the userforms module in SS 2.3.0-rc1.

I followed instruction (hard to find by the way) in http://doc.silverstripe.com/doku.php?id=upgrading#user_defined_form

I had to install the trunk version of the module as the link to the 0.1 version doesn't work.

After having rebuild the db I created a page and assigned the "User defined form" page type to this new page.

When saving this page I got the message "Error saving...". Since that, I can not longer log in the CMS. I get the error reproduced at the end of this post.

I have completely lost access to the admin of my site!!! What can I do to retrieve it?

Even if I remove the userforms modules (only the files, not the db tables) I still get a fatal error when trying to access to cms.

I sincerely hope somebody can help me.

UPDATE:
I suspected a problem related to some i18n field (because i18n is really severely broken in SS) and I changed the Locale of my user (directly in the Member table) from "fr_FR" back to "en_US". And, voilà, I can access the CMS.

But my problem is not solved because my client doesn't speak english and want to work in french and/or german. What can I do or where can I look in the code to try to solve this problem?

[User Error] FieldSet::addFieldToTab() Tried to add a tab to object 'Tab' named 'Complétion en cours' - '' didn't exist.
GET /ss230/admin/?flush=1

Line 250 in /home/francois/workspace/labo_ss2.3.0-rc1/sapphire/forms/FieldSet.php
Source

241 					// use $title on the innermost tab only
242 					if($title && $k == count($parts)-1) {
243 						$currentPointer = new Tab($part, $title);
244 					} else {
245 						$currentPointer = new Tab($part);
246 					}
247 					$parentPointer->push($currentPointer);
248 				} else {
249 					$withName = ($parentPointer->hasMethod('Name')) ? " named '{$parentPointer->Name()}'" : null;
250 					user_error("FieldSet::addFieldToTab() Tried to add a tab to object '{$parentPointer->class}'{$withName} - '$part' didn't exist.", E_USER_ERROR);
251 				}
252 			}
253 		}
254 		
255 		return $currentPointer;
256 	}

Trace

    * FieldSet::addFieldToTab() Tried to add a tab to object 'Tab' named 'Complétion en cours' - '' didn't exist.
      Line 250 of FieldSet.php
    * FieldSet->findOrMakeTab(Root.Content.Complétion en cours...)
      Line 91 of FieldSet.php
    * FieldSet->addFieldToTab(Root.Content.Complétion en cours...,HtmlEditorField)
      Line 38 of UserDefinedForm.php
    * UserDefinedForm->getCMSFields(CMSMain)
      Line 375 of CMSMain.php
    * CMSMain->getEditForm(3)
      Line 740 of LeftAndMain.php
    * LeftAndMain->EditForm()
    * call_user_func_array(Array,Array)
      Line 551 of ViewableData.php
    * ViewableData->cachedCall(EditForm,,)
      Line 592 of ViewableData.php
    * ViewableData->hasValue(EditForm)
      Line 66 of .cache.home.francois.workspace34.labo_ss2.3.0-rc1.cms.templates.Includes.CMSMain_right.ss
    * include(/tmp/silverstripe-cache-var-www-ss230/.cache.home.francois.workspace34.labo_ss2.3.0-rc1.cms.templates.Includes.CMSMain_right.ss)
      Line 328 of SSViewer.php
    * SSViewer->process(CMSMain)
      Line 774 of ViewableData.php
    * ViewableData->renderWith(Array)
      Line 341 of LeftAndMain.php
    * LeftAndMain->Right()
    * call_user_func_array(Array,Array)
      Line 409 of ViewableData.php
    * ViewableData->XML_val(Right,,1)
      Line 114 of .cache.home.francois.workspace34.labo_ss2.3.0-rc1.cms.templates.LeftAndMain.ss
    * include(/tmp/silverstripe-cache-var-www-ss230/.cache.home.francois.workspace34.labo_ss2.3.0-rc1.cms.templates.LeftAndMain.ss)
      Line 328 of SSViewer.php
    * SSViewer->process(CMSMain)
      Line 177 of Controller.php
    * Controller->handleAction(HTTPRequest)
      Line 107 of RequestHandler.php
    * RequestHandler->handleRequest(HTTPRequest)
      Line 124 of Controller.php
    * Controller->handleRequest(HTTPRequest)
      Line 246 of Director.php
    * Director::handleRequest(HTTPRequest,Session)
      Line 106 of Director.php
    * Director::direct(/admin/)
      Line 92 of main.php

Avatar
François

25 Posts

4 December 2008 at 6:59am

to solve, temporarily, the problem:

in userforms/lang/fr_FR.php

replace:

$lang['fr_FR']['UserDefinedForm']['ONCOMPLETE'] = 'Complétion en cours...';

with:

$lang['fr_FR']['UserDefinedForm']['ONCOMPLETE'] = 'On complete';

But I think the REAL problem lies in the following code:

userforms/code/UserDefinedForm.php :

$fields->addFieldToTab("Root.Content."._t('UserDefinedForm.ONCOMPLETE','On complete'), new HtmlEditorField( "OnCompleteMessage", _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion'),3,"",_t('UserDefinedForm.ONCOMPLETEMESSAGE', $this->OnCompleteMessage), $this ) );