Example #1
0
 /**
  * Get promotion message
  *
  * @return string
  */
 protected function getPromotionMessage()
 {
     $addons = $this->getAddons();
     $modules = array();
     $params = array('clearCnd' => 1);
     foreach ($addons as $addon => $title) {
         if (!\Includes\Utils\Operator::checkIfClassExists('\\XLite\\Module\\' . $addon . '\\Main')) {
             $match = explode('\\', $addon);
             $mainClassFile = LC_DIR_MODULES . str_replace('\\', '/', $addon) . '/Main.php';
             if (\Includes\Utils\FileManager::isExists($mainClassFile)) {
                 // Module is installed but not enabled
                 $limit = \XLite\View\Pager\Admin\Module\Manage::getInstance()->getItemsPerPage();
                 $pageId = \XLite\Core\Database::getRepo('XLite\\Model\\Module')->getInstalledPageId($match[0], $match[1], $limit);
                 $pageParam = 'page';
                 $target = 'addons_list_installed';
             } else {
                 // Module is not installed
                 list(, $limit) = $this->getWidget(array(), '\\XLite\\View\\Pager\\Admin\\Module\\Install')->getLimitCondition()->limit;
                 $pageId = \XLite\Core\Database::getRepo('XLite\\Model\\Module')->getMarketplacePageId($match[0], $match[1], $limit);
                 $pageParam = 'pageId';
                 $target = 'addons_list_marketplace';
             }
             if (0 < $pageId) {
                 $params[$pageParam] = $pageId;
             }
             $url = $this->buildURL($target, '', $params) . '#' . $match[1];
             $modules[] = '<a href="' . $url . '">' . $title . '</a>';
         }
     }
     return 0 < count($modules) ? static::t('Install additional modules to add more product sources', array('list' => implode(', ', $modules))) : '';
 }
Example #2
0
File: Main.php Project: kingsj/core
 /**
  * Execute certain hook handler
  *
  * @return void
  */
 public function executeHookHandler()
 {
     // To cache data
     \Includes\Utils\ModulesManager::getActiveModules();
     // Walk through the "XLite/Module" directory
     foreach ($this->getModuleMainFileIterator()->getIterator() as $path => $data) {
         $dir = $path;
         $name = basename($dir = dirname($dir));
         $author = basename($dir = dirname($dir));
         $class = \Includes\Utils\ModulesManager::getClassNameByAuthorAndName($author, $name);
         if (!\Includes\Utils\Operator::checkIfClassExists($class)) {
             require_once $path;
         }
         \Includes\Utils\ModulesManager::switchModule($author, $name);
     }
     \Includes\Utils\ModulesManager::removeFile();
 }
Example #3
0
 /**
  * Get surcharge totals
  *
  * @return array
  */
 public function getSurchargeTotals()
 {
     $surcharges = array();
     $rawSurcharges = \XLite::isAdminZone() ? array_merge($this->getExcludeSurcharges(), $this->getIncludeSurcharges()) : $this->getExcludeSurcharges();
     foreach ($rawSurcharges as $surcharge) {
         $code = $surcharge->getCode();
         if (!isset($surcharges[$code])) {
             $modifierClass = $surcharge->getClass();
             $surcharges[$code] = array('name' => $surcharge->getTypeName(), 'cost' => 0, 'available' => $surcharge->getAvailable(), 'count' => 0, 'lastName' => null, 'code' => $code, 'widget' => \Includes\Utils\Operator::checkIfClassExists($modifierClass) ? $modifierClass::getWidgetClass() : \XLite\Logic\Order\Modifier\AModifier::getWidgetClass(), 'object' => $surcharge);
         }
         $surcharges[$code]['cost'] += $surcharge->getValue();
         $surcharges[$code]['count']++;
         $surcharges[$code]['lastName'] = $surcharge->getName();
         $surcharges[$code]['weight'] = $surcharge->getSortingWeight();
     }
     uasort($surcharges, function ($a, $b) {
         return $a['weight'] < $b['weight'] ? -1 : $a['weight'] > $b['weight'];
     });
     return $surcharges;
 }
Example #4
0
 /**
  * Check if we can call method from the module main class
  *
  * @return boolean
  */
 public function checkModuleMainClass()
 {
     $result = $this->isInstalled();
     if ($result && !\Includes\Utils\Operator::checkIfClassExists($this->getMainClass())) {
         if (defined('LC_MODULE_CONTROL')) {
             $path = LC_DIR_CLASSES . \Includes\Utils\Converter::getClassFile($this->getMainClass());
             if (\Includes\Utils\FileManager::isFileReadable($path)) {
                 require_once $path;
             } else {
                 $result = false;
             }
         } else {
             $result = false;
         }
     }
     return $result;
 }
Example #5
0
 /**
  * Assemble default dump surcharge
  *
  * @param string $type  Type
  * @param string $code  Code
  * @param string $class Class
  * @param string $name  Name
  *
  * @return array
  */
 protected function assembleDefaultDumpSurcharge($type, $code, $class, $name)
 {
     $surcharge = new \XLite\Model\Order\Surcharge();
     $surcharge->setType($type);
     $surcharge->setCode($code);
     $surcharge->setClass($class);
     $surcharge->setValue(0);
     $surcharge->setName($name);
     $surcharge->setOwner(static::getTemporaryOrder($this->getOrder()->getOrderId(), false) ?: $this->getOrder());
     return array('name' => $surcharge->getTypeName(), 'cost' => $surcharge->getValue(), 'available' => $surcharge->getAvailable(), 'count' => 1, 'lastName' => $surcharge->getName(), 'code' => $surcharge->getCode(), 'widget' => \Includes\Utils\Operator::checkIfClassExists($class) ? $class::getWidgetClass() : \XLite\Logic\Order\Modifier\AModifier::getWidgetClass(), 'object' => $surcharge);
 }
Example #6
0
 /**
  * Check if module is installed
  *
  * @param string $module Module actual name
  *
  * @return boolean
  */
 public static function isModuleInstalled($module)
 {
     return \Includes\Utils\Operator::checkIfClassExists(static::getClassNameByModuleName($module));
 }
Example #7
0
 /**
  * Check if we can call method from the module main class
  *
  * @return boolean
  */
 protected function checkModuleMainClass()
 {
     return $this->isInstalled() && \Includes\Utils\Operator::checkIfClassExists($this->getMainClass());
 }