How To / General

An error has occurred when pulling info from moodle

  • ArchieBA
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago - 3 years 4 months ago #1 by ArchieBA
Hi,

JM 4.1.5
PHP 8
VM VirtueMart 4.0.8 10748

Having trouble with the vm integration.

When I try to pull stuff or reload them from moodle I get an error.

There are a few errors, depending on what I am trying to do.

So joomdle --> shop --> Reload from moodle :

An error has occurred.

0 Call to undefined method Joomla\Database\Mysqli\MysqliDriver::query()

Call stack
# Function Location
1 () JROOT/plugins/joomdleshop/joomdlevirtuemart/joomdlevirtuemart.php:408
2 plgJoomdleshopJoomdlevirtuemart->onReloadCourses() JROOT/libraries/src/Plugin/CMSPlugin.php:285
3 Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}() JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:486
4 Joomla\Event\Dispatcher->dispatch() JROOT/libraries/src/Application/EventAware.php:111
5 Joomla\CMS\Application\WebApplication->triggerEvent() JROOT/administrator/components/com_joomdle/helpers/shop.php:140
6 JoomdleHelperShop::reload_courses() JROOT/administrator/components/com_joomdle/controllers/shop.php:99
7 JoomdleControllerShop->reload() JROOT/libraries/src/MVC/Controller/BaseController.php:735
8 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_joomdle/joomdle.php:28
9 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
10 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
11 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
12 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
13 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
14 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
15 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:63
16 require_once() JROOT/administrator/index.php:32


If I try to pull fro the first time:
An error has occurred.

1364 Field 'product_params' doesn't have a default value

Call stack
# Function Location
1 () JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435
2 Joomla\Database\Mysqli\MysqliStatement->execute() JROOT/libraries/vendor/joomla/database/src/DatabaseDriver.php:675
3 Joomla\Database\DatabaseDriver->execute() JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:776
4 Joomla\Database\Mysqli\MysqliDriver->insertObject() JROOT/plugins/joomdleshop/joomdlevirtuemart/joomdlevirtuemart.php:246
5 plgJoomdleshopJoomdlevirtuemart->onSellCourses() JROOT/libraries/src/Plugin/CMSPlugin.php:285
6 Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}() JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:486
7 Joomla\Event\Dispatcher->dispatch() JROOT/libraries/src/Application/EventAware.php:111
8 Joomla\CMS\Application\WebApplication->triggerEvent() JROOT/administrator/components/com_joomdle/helpers/shop.php:122
9 JoomdleHelperShop::sell_courses() JROOT/administrator/components/com_joomdle/helpers/shop.php:112
10 JoomdleHelperShop::publish_courses() JROOT/administrator/components/com_joomdle/controllers/shop.php:57
11 JoomdleControllerShop->publish() JROOT/libraries/src/MVC/Controller/BaseController.php:735
12 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_joomdle/joomdle.php:28
13 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
14 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
15 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
16 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
17 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
18 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
19 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:63
20 require_once() JROOT/administrator/index.php:32

otherwise works fine.

Any idea what I should do to fix this?

Thanks!!
Last edit: 3 years 4 months ago by ArchieBA.

Please Log in or Create an account to join the conversation.

More
3 years 4 months ago #2 by Antonio Durán
Replied by Antonio Durán on topic An error has occurred when pulling info from moodle
Hi. Thanks for the bug report.

Please download this new package:
joomdle.com/aux/plg_joomdleshop_joomdlevirtuemart_v1.3.0.zip

Test and let me know how it works.

Please Log in or Create an account to join the conversation.

  • ArchieBA
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #3 by ArchieBA
Hi,

Thanks Antonio!

So sometimes this new patch works and sometimes it doesn't. I think it depends on how the teacher in moodle has entered his stuff. I guess this new patch works when the small description is small.

So puling a new product from moodle (when it doesn't work):

An error has occurred.

1406 Data too long for column 'product_s_desc' at row 1

Call stack
# Function Location
1 () JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435
2 Joomla\Database\Mysqli\MysqliStatement->execute() JROOT/libraries/vendor/joomla/database/src/DatabaseDriver.php:675
3 Joomla\Database\DatabaseDriver->execute() JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:776
4 Joomla\Database\Mysqli\MysqliDriver->insertObject() JROOT/plugins/joomdleshop/joomdlevirtuemart/joomdlevirtuemart.php:273
5 plgJoomdleshopJoomdlevirtuemart->onSellCourses() JROOT/libraries/src/Plugin/CMSPlugin.php:285
6 Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}() JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:486
7 Joomla\Event\Dispatcher->dispatch() JROOT/libraries/src/Application/EventAware.php:111
8 Joomla\CMS\Application\WebApplication->triggerEvent() JROOT/administrator/components/com_joomdle/helpers/shop.php:122
9 JoomdleHelperShop::sell_courses() JROOT/administrator/components/com_joomdle/helpers/shop.php:112
10 JoomdleHelperShop::publish_courses() JROOT/administrator/components/com_joomdle/controllers/shop.php:57
11 JoomdleControllerShop->publish() JROOT/libraries/src/MVC/Controller/BaseController.php:735
12 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_joomdle/joomdle.php:28
13 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
14 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
15 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
16 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
17 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
18 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
19 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:63
20 require_once() JROOT/administrator/index.php:32


When I reload a product from moodle:

An error has occurred.

1406 Data too long for column 'product_s_desc' at row 1

Call stack
# Function Location
1 () JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435
2 Joomla\Database\Mysqli\MysqliStatement->execute() JROOT/libraries/vendor/joomla/database/src/DatabaseDriver.php:675
3 Joomla\Database\DatabaseDriver->execute() JROOT/plugins/joomdleshop/joomdlevirtuemart/joomdlevirtuemart.php:408
4 plgJoomdleshopJoomdlevirtuemart->onReloadCourses() JROOT/libraries/src/Plugin/CMSPlugin.php:285
5 Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}() JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:486
6 Joomla\Event\Dispatcher->dispatch() JROOT/libraries/src/Application/EventAware.php:111
7 Joomla\CMS\Application\WebApplication->triggerEvent() JROOT/administrator/components/com_joomdle/helpers/shop.php:140
8 JoomdleHelperShop::reload_courses() JROOT/administrator/components/com_joomdle/controllers/shop.php:99
9 JoomdleControllerShop->reload() JROOT/libraries/src/MVC/Controller/BaseController.php:735
10 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_joomdle/joomdle.php:28
11 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
12 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
13 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
14 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
15 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
16 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
17 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:63
18 require_once() JROOT/administrator/index.php:32


Thanks!!

Please Log in or Create an account to join the conversation.

More
3 years 4 months ago #4 by Antonio Durán
Replied by Antonio Durán on topic An error has occurred when pulling info from moodle
Thanks for the feedback. I have uploaded a new package, please download it again.
joomdle.com/aux/plg_joomdleshop_joomdlevirtuemart_v1.3.0.zip

Please Log in or Create an account to join the conversation.

  • ArchieBA
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #5 by ArchieBA
Hi Antonio,

Thanks! The fast reply is appreciated!

It works more frequently but still get the occasional error:

An error has occurred.

1406 Data too long for column 'product_s_desc' at row 1

Call stack
# Function Location
1 () JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:435
2 Joomla\Database\Mysqli\MysqliStatement->execute() JROOT/libraries/vendor/joomla/database/src/DatabaseDriver.php:675
3 Joomla\Database\DatabaseDriver->execute() JROOT/plugins/joomdleshop/joomdlevirtuemart/joomdlevirtuemart.php:408
4 plgJoomdleshopJoomdlevirtuemart->onReloadCourses() JROOT/libraries/src/Plugin/CMSPlugin.php:285
5 Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}() JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:486
6 Joomla\Event\Dispatcher->dispatch() JROOT/libraries/src/Application/EventAware.php:111
7 Joomla\CMS\Application\WebApplication->triggerEvent() JROOT/administrator/components/com_joomdle/helpers/shop.php:140
8 JoomdleHelperShop::reload_courses() JROOT/administrator/components/com_joomdle/controllers/shop.php:99
9 JoomdleControllerShop->reload() JROOT/libraries/src/MVC/Controller/BaseController.php:735
10 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/administrator/components/com_joomdle/joomdle.php:28
11 require_once() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:69
12 Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
13 Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:389
14 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
15 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
16 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:278
17 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:63
18 require_once() JROOT/administrator/index.php:32

Please Log in or Create an account to join the conversation.

More
3 years 4 months ago #6 by Antonio Durán
Replied by Antonio Durán on topic An error has occurred when pulling info from moodle
That's weird... I added code to cut the description data when it was longer than 2000 chars.
I tested locally creating a course with a long description: before the fix, I could reproduce the problem. After the fix it worked fine.

Can you check your VM products_en_gb (or your language) table to see the definition of the product_s_desc field? Mine is set to 2000 chars.

You can also post (o send me by email) the description of the course that gives you problems, so I can test locally with the same data.

Please Log in or Create an account to join the conversation.

  • ArchieBA
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago - 3 years 4 months ago #7 by ArchieBA
Thanks!

Email sent

EDIT: forgot to add, yes the limit is 2000 in my DB also.

Thanks
Last edit: 3 years 4 months ago by ArchieBA.

Please Log in or Create an account to join the conversation.