Hi,

Thank you for your report. It seems like you've done a fair amount of
investigation into this already. Do you want to provide a solution and
submit it for review? Please see
https://wiki.mahara.org/wiki/Developer_Area/Contributing_Code for
getting set up with Gerrit. Alternatively, you can also attach a patch
here and we'll add it to our review system.

Thank you
Kristina

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask 
on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1905702

Title:
  Missing all PDF files in "Export your portfolio"

Status in Mahara:
  New

Bug description:
  When using "Export your portfolio" (Main Menu > Manage > Export > "All
  my data" > Generate export) sometimes the pdf files are missing

  This is due to the class PluginExportAll creating 3 new objects.
  PluginExportHtml, PluginExportLeap, PluginExportPdf, but using the
  exportdir of the object PluginExportHtml.

  htdocs/export/lib.php
  class PluginExportAll extends PluginExport {
      ...
      public function __construct
          $this->htmlexporter = new PluginExportHtml($user, $views, $artefacts, 
$progresscallback);
          $this->leapexporter = new PluginExportLeap($user, $views, $artefacts, 
$progresscallback);
          $this->pdfactive = get_field('export_installed', 'active', 'name', 
'pdf');
          if ($this->pdfactive) {
              safe_require('export', 'pdf');
              $this->pdfexporter = new PluginExportPdf($user, $views, 
$artefacts, $progresscallback);
          }
          $this->exportdir = $this->htmlexporter->get('exportdir');

  The exportdir is based on the exporttime, and is generated seperatly
  in PluginExportHtml, PluginExportLeap, PluginExportPdf through the
  parent class constructor.

  htdocs/export/lib.php
  abstract class PluginExport extends Plugin implements IPluginExport {

      public function __construct(User $user, $views, $artefacts, ...) {
      ...
          $this->exporttime = time();
      ...
          // Now set up the temporary export directories
          $this->exportdir = get_config('dataroot')
              . 'export/'
              . $this->user->get('id')  . '/'
              . $this->exporttime .  '/';

  If the exporttimes differ (by 1 second for examle), different
  exportdirs are created, the files are spread over different dirs and
  not included in the export.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1905702/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to