Back to PhocacartRenderAdminjs class

Method renderImportExportItems

public static
renderImportExportItems
(mixed $url, mixed $messageBox, mixed $formId, mixed $count, mixed $successMessage, mixed $reload = 0)

Method renderImportExportItems - Source code

public static function renderImportExportItems($url, $messageBox, $formId, $count, $successMessage, $reload = 0)
{
    $document = Factory::getDocument();
    $s = array();
    $s[] = 'function phUpdateProgress(percentage){';
    $s[] = '   if(percentage > 100) {percentage = 100;}';
    $s[] = '   jQuery(\'#phProgressBar\').css(\'width\', percentage+\'%\');';
    $s[] = '   jQuery(\'#phProgressBar\').html(percentage+\'%\');';
    $s[] = '}';
    $s[] = ' ';
    $s[] = 'function phImportAllItems(e) {';
    $s[] = '   e.stopPropagation();';
    $s[] = '   e.preventDefault();';
    $s[] = '   var phMaxItems = e.data.a1;';
    // see the last but one row of this s
    $s[] = '   var phLastPage = phMaxItems;';
    $s[] = '   var phItemCount = 1;';
    $s[] = '   var phMessageBoxId 	= \'#' . $messageBox . '\';';
    $s[] = '   var formId			= \'#' . $formId . '\';';
    $s[] = '   function phGetNextItem() {';
    $s[] = '      phCurrentItemCount = phItemCount;';
    $s[] = '      if (phItemCount <= phMaxItems) {';
    $s[] = '          jQuery.ajax({';
    $s[] = '             url: \'' . $url . '\' + \'&p=\' + phItemCount + \'&lp=\' + phLastPage,';
    $s[] = '             method: \'GET\',';
    $s[] = '             async: true,';
    $s[] = '             success: function(data) {';
    $s[] = '                if (data.status == 1) {';
    $s[] = '                   ++phItemCount;';
    $s[] = '                   phUpdateProgress(Math.round((phItemCount/phMaxItems)*100));';
    $s[] = '                   if (phMaxItems > phCurrentItemCount) {';
    $s[] = '	                  phGetNextItem();';
    $s[] = '                   }';
    $s[] = '                }';
    $s[] = ' ';
    $s[] = '                if (phMaxItems == phCurrentItemCount) {';
    $s[] = '                   jQuery(".circle").addClass("circle-active");';
    $s[] = '                   jQuery(phMessageBoxId).html(\'<div class="alert alert-dismissible fade show">' . $successMessage . '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="' . Text::_('COM_PHOCACART_CLOSE', true) . '"></button></div>\');';
    if ($reload == 1) {
        // TO DO enable
        $s[] = '	           window.setTimeout(function () {document.location.reload();}, 1000);';
        $s[] = self::renderOverlay();
    }
    $s[] = '			    }';
    $s[] = '             }';
    // end success
    $s[] = '          });';
    // end ajax
    $s[] = '	   }';
    $s[] = '   }';
    $s[] = '   phGetNextItem();';
    $s[] = '}';
    $s[] = ' ';
    $s[] = 'jQuery(document).ready(function(){';
    $s[] = '	jQuery(\'#' . $formId . '\').on(\'submit\',{a1: ' . (int) $count . '}, phImportAllItems);';
    $s[] = '})';
    $document->addScriptDeclaration(implode("\n", $s));
}