/**
  * handleRequest
  *
  * @return void
  */
 public function handleRequest()
 {
     $apiClient = ServiceApiClient::getInstance();
     $apiClient->requestSecretKey();
     Config::updateInstance();
     $secretKey = Config::getInstance()->QSL->CloudSearch->secret_key;
     $this->redirect($apiClient->getDashboardIframeUrl($secretKey));
 }
Example #2
0
 /**
  * init
  *
  * @return void
  */
 public function init()
 {
     if (isset(\XLite\Core\Request::getInstance()->currency_id)) {
         $currency = \XLite\Core\Database::getRepo('XLite\\Model\\Currency')->find(\XLite\Core\Request::getInstance()->currency_id);
         if ($currency) {
             $shopCurrency = \XLite\Core\Database::getRepo('XLite\\Model\\Config')->findOneBy(array('name' => 'shop_currency', 'category' => 'General'));
             \XLite\Core\Database::getRepo('XLite\\Model\\Config')->update($shopCurrency, array('value' => $currency->getCurrencyId()));
             \XLite\Core\Config::updateInstance();
         }
     }
 }
Example #3
0
 /**
  * testGetIncludedTaxList
  * 
  * @return void
  * @see    ____func_see____
  * @since  1.0.24
  */
 public function testGetIncludedTaxList()
 {
     $product = $this->getProduct();
     \XLite\Core\Config::getInstance()->Shipping->anonymous_country = 'US';
     \XLite\Core\Config::updateInstance();
     $productTaxes = $product->getIncludedTaxList();
     $this->assertTrue(is_array($productTaxes), 'Returned not an array');
     foreach ($productTaxes as $k => $v) {
         $productTaxes[$k] = number_format(round($v, 2), 2);
     }
     $this->assertEquals(array('VAT' => 4.15), $productTaxes, 'Wrong taxes returned');
 }
Example #4
0
    $values = array();
    foreach ($fields as $fieldName) {
        $values[$fieldName] = isset($booleanFields[$fieldName]) ? 'Y' === $config->{$fieldName} || 1 === (int) $config->{$fieldName} : $config->{$fieldName};
    }
    $values['dimensions'] = serialize(array($config->length, $config->width, $config->height));
    $yamlFile = __DIR__ . LC_DS . 'post_rebuild.yaml';
    \XLite\Core\Database::getInstance()->loadFixturesFromYaml($yamlFile);
    /** @var \XLite\Model\Repo\Config $repo */
    $repo = \XLite\Core\Database::getRepo('XLite\\Model\\Config');
    $category = 'CDev\\AustraliaPost';
    foreach ($values as $name => $value) {
        $repo->createOption(array('category' => $category, 'name' => $name, 'value' => $value));
    }
    foreach (array('length', 'width', 'height') as $name) {
        $option = $repo->findOneBy(array('name' => $name, 'category' => $category));
        if ($option) {
            \XLite\Core\Database::getEM()->remove($option);
        }
    }
    \XLite\Core\Database::getEM()->flush();
    \XLite\Core\Config::updateInstance();
    /** @var \XLite\Model\Repo\Shipping\Method $repo */
    $repo = \XLite\Core\Database::getRepo('XLite\\Model\\Shipping\\Method');
    $carrier = $repo->findOnlineCarrier('aupost');
    $processor = new \XLite\Module\CDev\AustraliaPost\Model\Shipping\Processor\AustraliaPost();
    if ($processor->isConfigured()) {
        $carrier->setAdded(true);
        $carrier->setEnabled(true);
    }
    \XLite\Core\Database::getEM()->flush();
};
Example #5
0
 /**
  * Parse XML of X-Payments allowed payment methods into array
  *
  * @return array
  */
 protected function getAllowedModulesList()
 {
     $xml = static::getModulesXml();
     $json = json_encode(simplexml_load_string($xml));
     $modules = json_decode($json, true);
     $list = array();
     if (isset($modules['module']) && !empty($modules['module']) && is_array($modules['module'])) {
         $modules = $modules['module'];
         foreach ($modules as $id => $module) {
             if (isset($module['name']) && isset($module['canSaveCards']) && isset($module['secure3d']) && isset($module['transactions'])) {
                 $list[$module['name']] = array('id' => $id, 'name' => $module['name'], 'secure3d' => $module['secure3d'], 'secure3dType' => self::get3DSecureType($module['secure3d']), 'canSaveCards' => $module['canSaveCards'], 'transactions' => is_array($module['transactions']) ? $module['transactions'] : array($module['transactions']), 'countries' => self::getCountries($module));
                 if (isset($module['class'])) {
                     $list[$module['name']]['class'] = $module['class'];
                 }
             }
         }
         if (!empty($list)) {
             $allowedModulesSetting = \XLite\Core\Database::getRepo('XLite\\Model\\Config')->findOneBy(array('name' => 'xpc_allowed_modules', 'category' => 'CDev\\XPaymentsConnector'));
             \XLite\Core\Database::getRepo('XLite\\Model\\Config')->update($allowedModulesSetting, array('value' => $xml));
             $allowedModulesLoadDateSetting = \XLite\Core\Database::getRepo('XLite\\Model\\Config')->findOneBy(array('name' => 'xpc_allowed_modules_load_date', 'category' => 'CDev\\XPaymentsConnector'));
             \XLite\Core\Database::getRepo('XLite\\Model\\Config')->update($allowedModulesLoadDateSetting, array('value' => \XLite\Core\Converter::time()));
             \XLite\Core\Config::updateInstance();
         }
     }
     return $list;
 }
Example #6
0
 /**
  * Import action
  *
  * @return void
  */
 protected function doActionImport()
 {
     foreach (\XLite\Logic\Import\Importer::getImportOptionsList() as $key) {
         \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'Import', 'name' => $key, 'value' => isset(\XLite\Core\Request::getInstance()->options[$key]) ? \XLite\Core\Request::getInstance()->options[$key] : false));
     }
     \XLite\Core\Config::updateInstance();
     $dirTo = LC_DIR_VAR . \XLite\Logic\Import\Importer::getImportDir();
     if (!\Includes\Utils\FileManager::isExists($dirTo)) {
         \Includes\Utils\FileManager::mkdirRecursive($dirTo);
     }
     $filesToImport = array();
     if ($_FILES && isset($_FILES['files']) && $_FILES['files']['name'] && $_FILES['files']['name'][0] && \Includes\Utils\FileManager::isDirWriteable($dirTo)) {
         $list = glob($dirTo . LC_DS . '*');
         if ($list) {
             foreach ($list as $path) {
                 if (is_file($path)) {
                     \Includes\Utils\FileManager::deleteFile($path);
                 }
             }
         }
         $files = $_FILES['files'];
         foreach ($files['name'] as $key => $name) {
             $path = null;
             if ($name && UPLOAD_ERR_OK === $files['error'][$key]) {
                 $path = \Includes\Utils\FileManager::getUniquePath($dirTo, $name ?: $files['name'][$key]);
                 if (move_uploaded_file($files['tmp_name'][$key], $path)) {
                     if (\XLite\Core\Archive::getInstance()->isArchive($path) || 'csv' == substr(strrchr($path, '.'), 1)) {
                         $filesToImport[] = $path;
                     } else {
                         \XLite\Core\TopMessage::addError('The "{{file}}" is not CSV or archive', array('file' => $name));
                         \Includes\Utils\FileManager::deleteFile($path);
                     }
                 } else {
                     $path = null;
                 }
             }
             if (!$path) {
                 \XLite\Core\TopMessage::addError('The "{{file}}" file was not uploaded', array('file' => $name));
             }
         }
     }
     if ($filesToImport) {
         \XLite\Logic\Import\Importer::run(\XLite\Logic\Import\Importer::assembleImportOptions() + array('files' => $filesToImport));
     }
 }
Example #7
0
 public function testWrongPriority()
 {
     \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\XMLSitemap', 'name' => 'welcome_priority', 'value' => 'abc'));
     $iterator = new \XLite\Module\CDev\XMLSitemap\Logic\SitemapIterator();
     foreach ($iterator as $data) {
         $this->assertEquals('main', $data['loc']['target'], 'check loc target #1');
         $this->assertEquals(0.5, $data['priority'], 'check priority #1');
         break;
     }
     \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\XMLSitemap', 'name' => 'welcome_priority', 'value' => 2));
     $iterator = new \XLite\Module\CDev\XMLSitemap\Logic\SitemapIterator();
     foreach ($iterator as $data) {
         $this->assertEquals('main', $data['loc']['target'], 'check loc target #2');
         $this->assertEquals(0.5, $data['priority'], 'check priority #2');
         break;
     }
     \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\XMLSitemap', 'name' => 'welcome_priority', 'value' => -1));
     $iterator = new \XLite\Module\CDev\XMLSitemap\Logic\SitemapIterator();
     foreach ($iterator as $data) {
         $this->assertEquals('main', $data['loc']['target'], 'check loc target #3');
         $this->assertEquals(0.5, $data['priority'], 'check priority #3');
         break;
     }
     \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\XMLSitemap', 'name' => 'welcome_priority', 'value' => '0.43'));
     \XLite\Core\Config::updateInstance();
     $iterator = new \XLite\Module\CDev\XMLSitemap\Logic\SitemapIterator();
     foreach ($iterator as $data) {
         $this->assertEquals('main', $data['loc']['target'], 'check loc target #4');
         $this->assertEquals(0.4, $data['priority'], 'check priority #4');
         break;
     }
     \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('category' => 'CDev\\XMLSitemap', 'name' => 'welcome_priority', 'value' => 0.28));
     \XLite\Core\Config::updateInstance();
     $iterator = new \XLite\Module\CDev\XMLSitemap\Logic\SitemapIterator();
     foreach ($iterator as $data) {
         $this->assertEquals('main', $data['loc']['target'], 'check loc target #5');
         $this->assertEquals(0.3, $data['priority'], 'check priority #5');
         break;
     }
 }
Example #8
0
File: VAT.php Project: kingsj/core
 /**
  * testProductDetailsPage
  *
  * @return void
  * @see    ____func_see____
  * @since  1.0.0
  */
 public function testProductDetailsPage()
 {
     $this->prepareTaxes();
     $product = $this->getTestProduct();
     // ====================================================
     // Switch on option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_inc_vat_label', 'category' => 'CDev\\VAT', 'value' => 'Y'));
     // Switch off option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_prices_including_vat', 'category' => 'CDev\\VAT', 'value' => 'N'));
     \XLite\Core\Config::updateInstance();
     $price = $product->getNetPrice();
     $price = number_format(round($price, 2), 2);
     // Check 'excluding VAT' text on products list
     $this->openAndWait('apparel');
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price" and contains(text(), "excluding VAT")]', 'Text "excluding VAT not found on products list page"');
     // Check 'excluding VAT' text on product details
     $this->openAndWait('store/product//product_id-' . $product->getProductId());
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li/span[@class="price product-price" and text()="$' . $price . '"]', 'Wrong product price displayed (expected $' . $price . ') #3');
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price" and contains(text(), "excluding VAT")]', 'Text "excluding VAT not found on product details page"');
     // ====================================================
     // Switch off option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_inc_vat_label', 'category' => 'CDev\\VAT', 'value' => 'N'));
     \XLite\Core\Config::updateInstance();
     // Check 'including VAT' text on products list
     $this->openAndWait('apparel');
     $this->assertElementNotPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price"]', 'Label "incl/excl VAT" unexpectedly found on products list page" #2');
     // Check 'including VAT' text on product details
     $this->openAndWait('store/product//product_id-' . $product->getProductId());
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li/span[@class="price product-price" and text()="$' . $price . '"]', 'Wrong product price displayed (expected $' . $price . ') #2');
     $this->assertElementNotPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price"]', 'Label "incl/excl VAT" unexpectedly found on product details page" #2');
     // ====================================================
     // Switch off option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_inc_vat_label', 'category' => 'CDev\\VAT', 'value' => 'Y'));
     // Switch off option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_prices_including_vat', 'category' => 'CDev\\VAT', 'value' => 'Y'));
     \XLite\Core\Config::updateInstance();
     var_dump(\XLite\Core\Config::getInstance()->CDev->VAT->display_prices_including_vat);
     // Check 'including VAT' text on products list
     $this->openAndWait('apparel');
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price" and contains(text(), "including VAT")]', 'Text "including VAT not found on products list page"');
     // Check 'including VAT' text on product details
     $this->openAndWait('store/product//product_id-' . $product->getProductId());
     $price = $product->getDisplayPrice();
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li/span[@class="price product-price" and text()="$' . $price . '"]', 'Wrong product price displayed (expected $' . $price . ')');
     $this->assertElementPresent('//ul[@class="product-price clearfix"]/li[@class="vat-price"]/span[@class="vat-note-product-price" and contains(text(), "including VAT")]', 'Text "including VAT not found on product details page"');
     // ======================================================
     // Add product to cart
     $this->click("//button[@class='bright add2cart']");
     $this->waitForLocalCondition('jQuery(".product-details .product-buttons-added .buy-more").length > 0', 100000, 'check content reloading');
     sleep(2);
     $this->clickAndWait('css=.lc-minicart .title a');
     $this->assertElementPresent("//div[@id='cart']" . "/div[@id='cart-right']" . "/ul[@class='totals']" . "/li[contains(@class, 'order-modifier CDEV.VAT')]" . "/strong[text()='VAT:']", 'VAT not found in cart totals');
 }
Example #9
0
 /**
  * Create new option / Update option value
  *
  * @param array $data Option data in the following format
  *
  * @return void
  * @throws \Exception
  */
 public function createOption($data)
 {
     // Array of allowed fields and flag required/optional
     $fields = array('category' => 1, 'name' => 1, 'value' => 1, 'type' => 0, 'orderby' => 0);
     $errorFields = array();
     foreach ($fields as $field => $required) {
         if (isset($data[$field])) {
             $fields[$field] = $data[$field];
         } elseif ($required) {
             $errorFields[] = $field;
         }
     }
     if (!empty($errorFields)) {
         throw new \Exception('createOptions() failed: The following required fields are missed: ' . implode(', ', $errorFields));
     }
     if (isset($fields['type']) && !$this->isValidOptionType($fields['type'])) {
         throw new \Exception('createOptions() failed: Wrong option type: ' . $type);
     }
     $option = $this->findOneBy(array('name' => $fields['name'], 'category' => $fields['category']));
     // Existing option: unset key fields
     if ($option) {
         $option->setValue($fields['value']);
     } else {
         // Create a new option
         $option = new \XLite\Model\Config();
         $option->map($fields);
         \XLite\Core\Database::getEM()->persist($option);
     }
     \XLite\Core\Database::getEM()->flush();
     \XLite\Core\Config::updateInstance();
 }
Example #10
0
 /**
  * Change storefront activity
  *
  * @param boolean $status Activity status OPTIONAL
  *
  * @return void
  */
 protected function changeStorefrontActivity($status = true)
 {
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('category' => 'Internal', 'name' => 'shop_closed', 'value' => true === $status ? 'N' : 'Y'));
     \XLite\Core\Config::updateInstance();
 }
Example #11
0
 /**
  * Get config
  * 
  * @return \XLite\Core\Config
  */
 protected function getConfig()
 {
     \XLite\Core\Config::updateInstance();
     return \XLite\Core\Config::getInstance();
 }
Example #12
0
File: ATax.php Project: kingsj/core
 /**
  * prepareData 
  * 
  * @return void
  * @see    ____func_see____
  * @since  1.0.24
  */
 public static function prepareData()
 {
     // Prepare tax
     $taxes = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->findAll();
     if (!empty($taxes)) {
         \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->deleteInBatch($taxes);
         $taxes = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->findAll();
     }
     $tax = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->insert(array('enabled' => true));
     $taxes = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->findAll();
     // Prepare memberships
     $memberships = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->findAll();
     if (!empty($memberships)) {
         \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->deleteInBatch($memberships);
     }
     foreach (self::$memberships as $m) {
         $newMembership = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->insert($m);
     }
     $memberships = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->findAll();
     // Prepare zones
     $zones = \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->findAll();
     foreach ($zones as $k => $z) {
         if ($z->getIsDefault()) {
             unset($zones[$k]);
         }
     }
     if (!empty($zones)) {
         \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->deleteInBatch($zones);
     }
     foreach (self::$zones as $z) {
         $newZone = \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->insert(array('zone_name' => $z['zone_name']));
         $zel = array();
         foreach ($z['zone_elements'] as $ze) {
             $zel[] = \XLite\Core\Database::getRepo('XLite\\Model\\ZoneElement')->insert(array_merge($ze, array('zone' => $newZone)));
         }
         \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->update($newZone, array('zone_elements' => $zel));
     }
     $zones = \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->findAll();
     $tax->setVATZone($zones[1]);
     $tax->setVATMembership(null);
     // $memberships[0]);
     $tax->setName('VAT');
     // Switch on option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_inc_vat_label', 'category' => 'CDev\\VAT', 'value' => 'Y'));
     // Switch on option 'Display "inc/ex VAT" labels next to prices'
     \XLite\Core\Database::getRepo('\\XLite\\Model\\Config')->createOption(array('name' => 'display_prices_including_vat', 'category' => 'CDev\\VAT', 'value' => 'Y'));
     \XLite\Core\Config::updateInstance();
     // Prepare product classes
     $classes = \XLite\Core\Database::getRepo('XLite\\Model\\ProductClass')->findAll();
     if (!empty($classes)) {
         \XLite\Core\Database::getRepo('XLite\\Model\\ProductClass')->deleteInBatch($classes);
     }
     foreach (self::$classes as $c) {
         \XLite\Core\Database::getRepo('XLite\\Model\\ProductClass')->insert($c);
     }
     $classes = \XLite\Core\Database::getRepo('XLite\\Model\\ProductClass')->findAll();
     // Prepare tax rates
     $taxRates = array();
     foreach (self::$taxRates as $tr) {
         $trExt = array();
         if (isset($tr['zone'])) {
             $trExt['zone'] = $zones[$tr['zone']];
         }
         if (isset($tr['membership'])) {
             $trExt['membership'] = $memberships[$tr['membership']];
         }
         if (isset($tr['productClass'])) {
             $trExt['productClass'] = $classes[$tr['productClass']];
         }
         $trExt['tax'] = $taxes[0];
         $newTaxRate = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax\\Rate')->insert(array('value' => $tr['value'], 'type' => $tr['type'], 'position' => $tr['position']));
         \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax\\Rate')->update($newTaxRate, $trExt);
         $taxRates[] = $newTaxRate;
     }
     \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->update($taxes[0], array('rates' => $taxRates));
     if (self::$showDebugInfo) {
         // Check the data structure
         $taxes = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->findAll();
         var_dump(array('taxes count: ' => count($taxes)));
         $memberships = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->findAll();
         $ms = array();
         foreach ($memberships as $m) {
             $ms[] = array('id' => $m->getMembershipId(), 'name' => $m->getName());
         }
         var_dump(array('memberships' => $ms));
         $zones = \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->findAll();
         $zs = array();
         foreach ($zones as $z) {
             $zelements = $z->getZoneElements();
             $ze = array();
             foreach ($zelements as $zel) {
                 $ze[] = sprintf('%s: %s', $zel->getElementValue(), $zel->getElementType());
             }
             $zs[] = array('name' => $z->getZoneName(), 'elements' => implode(', ', $ze));
         }
         var_dump(array('zones' => $zs));
         $classes = \XLite\Core\Database::getRepo('XLite\\Model\\ProductClass')->findAll();
         $cs = array();
         foreach ($classes as $c) {
             $cs[] = array('name' => $c->getName());
         }
         var_dump(array('product_classes' => $cs));
         $taxes = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->findAll();
         $ts = array();
         foreach ($taxes as $t) {
             $ts['id'] = $t->getId();
             $ts['enabled'] = $t->getEnabled();
             $taxRates = $t->getRates();
             $trs = array();
             foreach ($taxRates as $tr) {
                 $trs[] = sprintf('%f%c: membership: %s; zone: %s; class: %s', $tr->getValue(), $tr->getType(), $tr->getMembership() ? $tr->getMembership()->getName() : 'n/a', $tr->getZone() ? $tr->getZone()->getZoneName() : 'n/a', $tr->getProductClass() ? $tr->getProductClass()->getName() : 'n/a');
             }
             $ts['rates'] = $trs;
         }
         var_dump($ts);
     }
 }
Example #13
0
 /**
  * Save
  *
  * @param string $code Code
  *
  * @return void
  */
 protected function saveCode($code)
 {
     if ("\r\n" != PHP_EOL) {
         $code = str_replace("\r\n", PHP_EOL, $code);
     }
     $code = str_replace(chr(194) . chr(160), ' ', $code);
     $file = $this->getFileName();
     \Includes\Utils\FileManager::write($file, $code);
     if (\Includes\Utils\FileManager::isFileWriteable($file)) {
         \XLite\Core\TopMessage::addInfo('Your custom file is successfully saved');
         \Includes\Utils\FileManager::deleteFile(str_replace('custom', 'custom.min', $file));
         \XLite\Core\Database::getRepo('XLite\\Model\\Config')->createOption(array('name' => $this->getBackupName(), 'value' => $code, 'category' => 'XC\\ThemeTweaker'));
         \XLite\Core\Config::updateInstance();
         $config = \XLite\Core\Config::getInstance()->Performance;
         if ($config->aggregate_css || $config->aggregate_js) {
             \Includes\Utils\FileManager::unlinkRecursive(LC_DIR_CACHE_RESOURCES);
             \XLite\Core\TopMessage::addInfo('Aggregation cache has been cleaned');
         }
     } else {
         \XLite\Core\TopMessage::addError('The file {{file}} does not exist or is not writable.', array('file' => $file));
     }
 }
Example #14
0
 /**
  * Update module settings
  *
  * @return void
  */
 protected function doActionUpdate()
 {
     parent::doActionUpdate();
     \XLite\Core\Config::updateInstance();
     if ($this->settings->testConnection(false)) {
         $this->settings->importPaymentMethods();
     }
     $page = $this->settings->isPageValid(\XLite\Core\Request::getInstance()->page) ? \XLite\Core\Request::getInstance()->page : $this->settings->getDefaultPage();
     $this->setReturnURL($this->buildURL('xpc', null, array('page' => $page)));
 }
Example #15
0
 /**
  * Checks if first time configuration window should be displayed
  *
  * @return boolean
  */
 public function isCredentialsRequested()
 {
     \XLite\Core\Config::updateInstance();
     return (bool) \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration()->credentials_requested;
 }