public function downloadVendorRepository($vendorSection) { $username = Mage::getStoreConfig('pulliver/lightspeed/username'); $password = Mage::getStoreConfig('pulliver/lightspeed/password'); $baseUrl = Mage::getStoreConfig('pulliver/lightspeed/base_url'); $dealerId = Mage::getStoreConfig('pulliver/lightspeed/' . $vendorSection); $requestURL = trim($baseUrl, ' /') . '/' . trim($dealerId); // 'https://int.lightspeedadp.com/lsapi/Part/76014846' $startedAt = time(); try { $remoteRawData = Mage::helper('pulliver')->pullData($requestURL, $username, $password); $timeTaken = time() - $startedAt; Vikont_Pulliver_Helper_Data::inform(sprintf('Remote inventory downloaded from %s, time=%ds, size=%dbytes', $requestURL, $timeTaken, strlen($remoteRawData))); $params = Mage::registry('pulliver_params'); if ($params->getData('dump')) { $fileSize = strlen($remoteRawData); $fileName = $this->getLocalFileName(time() . '.dump'); Mage::helper('pulliver')->saveFile($fileName, $remoteRawData); Vikont_Pulliver_Helper_Data::inform(sprintf('Downloaded data saved to file: %s size: %dbytes', $fileName, $fileSize)); } } catch (Exception $e) { Vikont_Pulliver_Helper_Data::inform(sprintf('Error downloading remote inventory from %s, size=%dbytes, error message: %s', $requestURL, strlen($remoteRawData), $e->getMessage())); } return $remoteRawData; }
public function getZip() { $dealerCode = 'TEM026'; $userName = '******'; $password = '******'; $loginUrl = 'https://www.lemansnet.com/login'; $pricingUrl = 'https://www.lemansnet.com/pricing/2013/pos'; //Log In and Retrieve Token $myToken = $this->lemans_retrieve_token($dealerCode, $userName, $password, $loginUrl); if (!empty($myToken)) { //Body Contents for Retrieving Zip File $zipRequestBody = <<<ZIPREQUESTBODY <pricing> \t<whoForDealer> \t\t<dealerCode>{$dealerCode}</dealerCode> \t</whoForDealer> \t<rememberPreferences>1</rememberPreferences> </pricing> ZIPREQUESTBODY; //Make Request for Zip File return $this->lemans_request_pricing_files($pricingUrl, $zipRequestBody, $myToken, 'text/xml'); } else { Vikont_Pulliver_Helper_Data::inform('User validation has failed and a request could not be made'); return false; exit; } }
public function downloadFile() { $requestURL = trim(Mage::getStoreConfig('pulliver/western_power/base_url'), ' /'); $username = Mage::getStoreConfig('pulliver/western_power/username'); $password = Mage::getStoreConfig('pulliver/western_power/password'); $connection = ftp_connect($requestURL); if (!$connection) { Vikont_Pulliver_Helper_Data::inform(sprintf('Could not connect to %s', $requestURL)); } if (!@ftp_login($connection, $username, $password)) { Vikont_Pulliver_Helper_Data::throwException(sprintf('Error logging to FTP %s as %s', $requestURL, $username)); } $remoteFileName = Mage::getStoreConfig('pulliver/western_power/remote_filename'); $localFileName = $this->getLocalFileName($remoteFileName, 'downloaded/'); if (file_exists($localFileName)) { @unlink($localFileName); } else { if (!file_exists($dirName = dirname($localFileName))) { mkdir($dirName, 0777, true); } } Vikont_Pulliver_Helper_Data::type("Downloading {$requestURL}/{$remoteFileName}..."); $startedAt = time(); if (!ftp_get($connection, $localFileName, $remoteFileName, FTP_BINARY)) { Vikont_Pulliver_Helper_Data::throwException(sprintf('Error downloading from FTP %s/%s to %s', $requestURL, $remoteFileName, $localFileName)); } ftp_close($connection); $timeTaken = time() - $startedAt; Vikont_Pulliver_Helper_Data::inform(sprintf('Inventory successfully downloaded from %s/%s to %s, size=%dbytes, time=%ds', $requestURL, $remoteFileName, $localFileName, filesize($localFileName), $timeTaken)); return $localFileName; }
umask(0); // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Vikont_Pulliver_Model_Log::setLogFileName('pulliver.log'); Vikont_Pulliver_Helper_Data::setSilentExceptions(false); Vikont_Pulliver_Helper_Data::inform("\nMotonation Connector started...\n"); $commonHelper = Mage::helper('pulliver'); $moduleHelper = Mage::helper('pulliver/Motonation'); $skuHelper = Mage::helper('pulliver/Sku'); try { $params = isset($argv) ? Vikont_Pulliver_Helper_Data::getCommandLineParams($argv) : new Varien_Object($_GET); if ($downloadedFileName = $params->getData('file')) { Vikont_Pulliver_Helper_Data::inform(sprintf('Skipped downloading, using local file %s', $downloadedFileName)); } else { $downloadedFileName = $moduleHelper->downloadFile(); } $update = $moduleHelper->parseFile($downloadedFileName); $outputFileName = $moduleHelper->getLocalFileName('inventory.csv'); $fileHandle = $commonHelper->openFile($outputFileName); $lineCounter = 0; foreach ($update as $itemNumber => $qty) { if ($sku = $skuHelper->getSkuByItemNumber('MT', $itemNumber)) { fputcsv($fileHandle, array($sku, $qty)); $lineCounter++; } } fclose($fileHandle); Vikont_Pulliver_Helper_Data::inform(sprintf('Successfully created file %s, %d lines processed, %d lines added', $outputFileName, count($update), $lineCounter)); } catch (Exception $e) { Mage::logException($e); Vikont_Pulliver_Helper_Data::inform($e->getMessage()); }
public function getZipFileContents($dealerCode, $userName, $password, $loginUrl, $pricingUrl) { //Log In and Retrieve Token $myToken = $this->lemans_retrieve_token($dealerCode, $userName, $password, $loginUrl); if ($myToken) { //Body Contents for Retrieving Zip File $zipRequestBody = <<<ZIPREQUESTBODY <pricing> \t<whoForDealer> \t\t<dealerCode>{$dealerCode}</dealerCode> \t</whoForDealer> \t<rememberPreferences>1</rememberPreferences> </pricing> ZIPREQUESTBODY; //Make Request for Zip File return $this->lemans_request_pricing_files($pricingUrl, $zipRequestBody, $myToken, 'text/xml'); } else { Vikont_Pulliver_Helper_Data::inform('PU error: User validation has failed and a request could not be made, message: ' . $myToken); return false; } }