EMtest not working after upgrading from 1.90 to 1.92

Mehr
4 Jahre 4 Monate her #93972 von nomikon
nomikon erstellte das Thema EMtest not working after upgrading from 1.90 to 1.92
Hello.

We are trying to upgrade from a functional 1.90+ Build 9642 to a recent version. We are using PHP 5.4.12 and PostgreSQL 9.2.3.

The first attempt to go directly from 1.90 to 2.00 failed with a "CDbCommand failed to execute the SQL statement: SQLSTATE" error. If I'm right, this problem was already solved, but anyway, after reading some messages in this forum we did another attempt going first into a fresh 1.92-build120919.

At first glance, this time the upgrade was fine. However, after reading the hints for 1.92 page, I was trying to do the EMtest action, but all I get is a blank page. No PHP errors at all. (BTW, using the direct command admin/admin.php?action=EMtest&subaction=upgrade_conditions2relevance I get the same blank result).

Going deeper at the code I've noted that I'm being redirected to 'access_denied.php' file, so it seems I'm not authorized to do that EMtest action, even being the owner of that survey. In fact, looking at the 'Survey permissions' page there are no users at all. I would say my own name should be there... What should I do about this issue?

After that, the reason for which the page is blank seems related to the 'exit' call at the end of the switch logic in admin/admin.php. Then, after including the content of access_denied.php file, the script halts there with no futher action, leaving the page blank:
    elseif ($action == 'EMtest') {
        switch ($subaction) {
            ...
            default:
                if(bHasSurveyPermission($surveyid,'surveycontent','read')) {
                    include('../classes/expressions/test/test.php');
                }
                else {
                    include('access_denied.php');
                }
                break;
        }
        exit; // <<<=== That exit blocks showing the page content
    }

Of course, commenting that 'exit' I get the error page, at least, although the main authorization issue remains.

Finally, if I go into a question and choose the "QA" icon (Survey logic file for current question group) I get another error with the text: "Invalid question - probably missing sub-questions or language-specific settings for language es".

Given that we need the EM features and group logic only available in >1.92, what would the better route to follow from here? Staying in 1.92 and trying to solve the above issues? Re-upgrading to 2.00...? Any other hints about these problems?

Regards,
NK.

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 4 Monate her #93999 von nomikon
nomikon antwortete auf das Thema: EMtest not working after upgrading from 1.90 to 1.92
More details about the EMtest permissions issue: the problem arises because the survey ID is lost in the call to admin.php?action=EMtest. I can choose the survey in the menu, edit the general survey sttings and so on, but when I choose EMtest, the survey ID dissapear, $surveyid variable in admin.php goes NULL, so the SQL query in bHasSurveyPermission() function fails because of that sid = 0:

SELECT read_p FROM "lime_survey_permissions"
WHERE sid=0 AND uid = 99 and permission='surveycontent';

Any ideas?

NK.

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 4 Monate her #94024 von nomikon
nomikon antwortete auf das Thema: EMtest not working after upgrading from 1.90 to 1.92 (Updated)
Well, it seems that EMtest functions are available only to admins, so I enter as a LS admin and now get the EMtest menu. However, just after the EMtest Suite table or after executing any option I get another error:

Fatal error: Call to undefined function showadminmenu() in /usr/local/www/limesurvey-1.92-120919/admin/admin.php on line 682

From this it looks as the 'html.php' file is not being included before the call to showadminmenu(). Not a great problem, anyway, so long as the EMtest is running.

Anyway, the important issue is: We have some hundreds of surveys currently running in LS 1.90+ so we can't take any risks about those data, but, on the other hand, a lot of new surveys will require the EM features.

If 192plus-build12091 looks a bit buggy yet, and the direct upgrade from 1.90 to 2.00 fails with that "CDbCommand failed to execute the SQL statement: SQLSTATE" error, what would be the safest upgrade path to move from 1.90+ into 2.00 series?

Thanks in advance,
NK.

Bitte Anmelden um der Konversation beizutretten.

Haben Sie schon bei unserer Kundenumfrage mitgemacht?

Verpassen Sie nicht Ihre Chance auf tolle Preise.

Klicken sie hier um teilzunehmen:

Jetzt starten

Jetzt loslegen!

Melden Sie sich jetzt an, und erstellen Sie in wenigen Minuten Ihre erste Umfrage.

Account einrichten