Version Notes
- Allow to print orders
- Allow to print invoices
- Allow to print packingslips
- Allow to print credit memos
- Allow to attach order pdf in email
- Allow to attach invoice pdf in email
- Compatible with Aschroder_SMTPPro
Download this release
Release Info
| Developer | Magento Core Team |
| Extension | Easy_PDF_Invoice |
| Version | 1.2.0.1.27 |
| Comparing to | |
| See all releases | |
Code changes from version 1.2.0.1.26 to 1.2.0.1.27
- app/code/community/VES/PdfPro/Block/Adminhtml/Version.php +2 -5
- app/code/community/VES/PdfPro/Model/Communication/Method/Soap.php +3 -1
- app/code/community/VES/PdfPro/Model/Communication/Method/Xmlrpc.php +4 -1
- app/code/community/VES/PdfPro/Model/Observer.php +13 -2
- app/code/community/VES/PdfPro/Model/PdfPro.php +1 -1
- app/code/community/VES/PdfPro/Model/Sales/Order/Creditmemo.php +297 -0
- app/code/community/VES/PdfPro/controllers/Adminhtml/NotifyController.php +31 -0
- app/code/community/VES/PdfPro/etc/config.xml +2 -0
- app/code/community/VES/PdfPro/etc/system.xml +12 -3
- app/design/adminhtml/default/default/template/ves_pdfpro/notifications.phtml +23 -0
- media/ves_pdfpro/message.txt +1 -0
- media/ves_pdfpro/version.txt +1 -0
- package.xml +4 -4
app/code/community/VES/PdfPro/Block/Adminhtml/Version.php
CHANGED
|
@@ -72,11 +72,8 @@ class VES_PdfPro_Block_Adminhtml_Version extends Mage_Adminhtml_Block_Template
|
|
| 72 |
$date = Mage::getModel('core/date')->date('Y-m-d');
|
| 73 |
$info = file_get_contents($messageFile);
|
| 74 |
$info = json_decode(base64_decode($info),true);
|
| 75 |
-
if($info['
|
| 76 |
-
|
| 77 |
-
}else{
|
| 78 |
-
$message = $info['message'];
|
| 79 |
-
}
|
| 80 |
}
|
| 81 |
return $message;
|
| 82 |
}
|
| 72 |
$date = Mage::getModel('core/date')->date('Y-m-d');
|
| 73 |
$info = file_get_contents($messageFile);
|
| 74 |
$info = json_decode(base64_decode($info),true);
|
| 75 |
+
if($info['hide']) return false;
|
| 76 |
+
$message = $info['message'];
|
|
|
|
|
|
|
|
|
|
| 77 |
}
|
| 78 |
return $message;
|
| 79 |
}
|
app/code/community/VES/PdfPro/Model/Communication/Method/Soap.php
CHANGED
|
@@ -10,7 +10,9 @@ class VES_PdfPro_Model_Communication_Method_Soap extends VES_PdfPro_Model_Commun
|
|
| 10 |
$result = $client->call($session, 'pdfpro.getPdf',array($pdfPro->encode(json_encode($data),$pdfPro->getApiKey()),$pdfPro->getApiKey(),$pdfPro->getVersion(),$type,$pdfPro->getHash(),Mage::getStoreConfig('web/unsecure/base_url')));
|
| 11 |
$result['content'] = $pdfPro->decode($result['content'],$pdfPro->getApiKey());
|
| 12 |
$client->endSession($session);
|
| 13 |
-
|
|
|
|
|
|
|
| 14 |
}
|
| 15 |
throw new Mage_Core_Exception(Mage::helper('pdfpro')->__('Your server does not support for SOAP please install SOAP or use other communication method.'));
|
| 16 |
}
|
| 10 |
$result = $client->call($session, 'pdfpro.getPdf',array($pdfPro->encode(json_encode($data),$pdfPro->getApiKey()),$pdfPro->getApiKey(),$pdfPro->getVersion(),$type,$pdfPro->getHash(),Mage::getStoreConfig('web/unsecure/base_url')));
|
| 11 |
$result['content'] = $pdfPro->decode($result['content'],$pdfPro->getApiKey());
|
| 12 |
$client->endSession($session);
|
| 13 |
+
$result = new Varien_Object($result);
|
| 14 |
+
Mage::dispatchEvent('ves_pdfpro_pdf_prepare', array('type'=>$type, 'result'=>$result, 'communication'=>'soap'));
|
| 15 |
+
return $result->getData();
|
| 16 |
}
|
| 17 |
throw new Mage_Core_Exception(Mage::helper('pdfpro')->__('Your server does not support for SOAP please install SOAP or use other communication method.'));
|
| 18 |
}
|
app/code/community/VES/PdfPro/Model/Communication/Method/Xmlrpc.php
CHANGED
|
@@ -9,6 +9,9 @@ class VES_PdfPro_Model_Communication_Method_Xmlrpc extends Varien_Object
|
|
| 9 |
$result = $client->call('call', array($session, 'pdfpro.getPdf', array($pdfPro->encode(json_encode($data),$pdfPro->getApiKey()), $pdfPro->getApiKey(),$pdfPro->getVersion(),$type,$pdfPro->getHash(),Mage::getStoreConfig('web/unsecure/base_url'))));
|
| 10 |
$result['content'] = $pdfPro->decode($result['content'],$pdfPro->getApiKey());
|
| 11 |
$client->call('endSession', array($session));
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
| 13 |
}
|
| 14 |
}
|
| 9 |
$result = $client->call('call', array($session, 'pdfpro.getPdf', array($pdfPro->encode(json_encode($data),$pdfPro->getApiKey()), $pdfPro->getApiKey(),$pdfPro->getVersion(),$type,$pdfPro->getHash(),Mage::getStoreConfig('web/unsecure/base_url'))));
|
| 10 |
$result['content'] = $pdfPro->decode($result['content'],$pdfPro->getApiKey());
|
| 11 |
$client->call('endSession', array($session));
|
| 12 |
+
|
| 13 |
+
$result = new Varien_Object($result);
|
| 14 |
+
Mage::dispatchEvent('ves_pdfpro_pdf_prepare',array('type'=>$type, 'result'=>$result, 'communication'=>'xmlrpc'));
|
| 15 |
+
return $result->getData();
|
| 16 |
}
|
| 17 |
}
|
app/code/community/VES/PdfPro/Model/Observer.php
CHANGED
|
@@ -150,6 +150,14 @@ class VES_PdfPro_Model_Observer
|
|
| 150 |
protected function _writeServerMessage(){
|
| 151 |
$messageFile = Mage::getBaseDir('media').DS.'ves_pdfpro'.DS.'message.txt';
|
| 152 |
$message = Mage::helper('pdfpro')->getServerMessage();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 153 |
$date = Mage::getModel('core/date')->date('Y-m-d');
|
| 154 |
try{
|
| 155 |
$fp = fopen($messageFile, 'w');
|
|
@@ -188,8 +196,11 @@ class VES_PdfPro_Model_Observer
|
|
| 188 |
$baseGrandTotalExclTax = $baseGrandTotal - $baseTaxAmount;
|
| 189 |
$grandTotalExclTax = $grandTotal - $taxAmount;
|
| 190 |
|
| 191 |
-
$
|
| 192 |
-
$
|
|
|
|
|
|
|
|
|
|
| 193 |
}
|
| 194 |
|
| 195 |
if($type=='item'){
|
| 150 |
protected function _writeServerMessage(){
|
| 151 |
$messageFile = Mage::getBaseDir('media').DS.'ves_pdfpro'.DS.'message.txt';
|
| 152 |
$message = Mage::helper('pdfpro')->getServerMessage();
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
if(file_exists($messageFile)){
|
| 156 |
+
$info = file_get_contents($messageFile);
|
| 157 |
+
$info = json_decode(base64_decode($info),true);
|
| 158 |
+
if($message == $info['message']) return;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
$date = Mage::getModel('core/date')->date('Y-m-d');
|
| 162 |
try{
|
| 163 |
$fp = fopen($messageFile, 'w');
|
| 196 |
$baseGrandTotalExclTax = $baseGrandTotal - $baseTaxAmount;
|
| 197 |
$grandTotalExclTax = $grandTotal - $taxAmount;
|
| 198 |
|
| 199 |
+
$order = $type=='order'?$model:$model->getOrder();
|
| 200 |
+
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
| 201 |
+
$baseCurrencyCode = $order->getBaseCurrencyCode();
|
| 202 |
+
$source->setData('base_grand_total_excl_tax', Mage::helper('pdfpro')->currency($baseGrandTotalExclTax),$baseCurrencyCode);
|
| 203 |
+
$source->setData('grand_total_excl_tax',Mage::helper('pdfpro')->currency($grandTotalExclTax),$baseCurrencyCode);
|
| 204 |
}
|
| 205 |
|
| 206 |
if($type=='item'){
|
app/code/community/VES/PdfPro/Model/PdfPro.php
CHANGED
|
@@ -80,7 +80,7 @@ class PdfPro
|
|
| 80 |
'minor' => '2',
|
| 81 |
'revision' => '0',
|
| 82 |
'patch' => '1',
|
| 83 |
-
'stability' => '
|
| 84 |
'number' => '',
|
| 85 |
);
|
| 86 |
}
|
| 80 |
'minor' => '2',
|
| 81 |
'revision' => '0',
|
| 82 |
'patch' => '1',
|
| 83 |
+
'stability' => '27',
|
| 84 |
'number' => '',
|
| 85 |
);
|
| 86 |
}
|
app/code/community/VES/PdfPro/Model/Sales/Order/Creditmemo.php
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* VES_PdfPro_Model_Sales_Order_Creditmemo
|
| 4 |
+
*
|
| 5 |
+
* @author VnEcoms Team <support@vnecoms.com>
|
| 6 |
+
* @website http://www.vnecoms.com
|
| 7 |
+
*/
|
| 8 |
+
class VES_PdfPro_Model_Sales_Order_Creditmemo extends Mage_Sales_Model_Order_Creditmemo
|
| 9 |
+
{
|
| 10 |
+
/**
|
| 11 |
+
* Send email with creditmemo data
|
| 12 |
+
*
|
| 13 |
+
* @param boolean $notifyCustomer
|
| 14 |
+
* @param string $comment
|
| 15 |
+
* @return Mage_Sales_Model_Order_Creditmemo
|
| 16 |
+
*/
|
| 17 |
+
public function sendEmail($notifyCustomer = true, $comment = '')
|
| 18 |
+
{
|
| 19 |
+
if(!Mage::getStoreConfig('pdfpro/config/enabled')) return parent::sendEmail($notifyCustomer, $comment);
|
| 20 |
+
switch(Mage::getStoreConfig('pdfpro/config/creditmemo_email_attach')){
|
| 21 |
+
case VES_PdfPro_Model_Source_Attach::ATTACH_TYPE_NO:
|
| 22 |
+
return parent::sendEmail($notifyCustomer, $comment);
|
| 23 |
+
case VES_PdfPro_Model_Source_Attach::ATTACH_TYPE_ADMIN:
|
| 24 |
+
$this->sendEmailForAdmin($notifyCustomer, $comment, true);
|
| 25 |
+
$this->sendEmailForCustomer($notifyCustomer, $comment, false);
|
| 26 |
+
return $this;
|
| 27 |
+
case VES_PdfPro_Model_Source_Attach::ATTACH_TYPE_CUSTOMER:
|
| 28 |
+
$this->sendEmailForAdmin($notifyCustomer, $comment, false);
|
| 29 |
+
$this->sendEmailForCustomer($notifyCustomer, $comment, true);
|
| 30 |
+
return $this;
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
$order = $this->getOrder();
|
| 34 |
+
$storeId = $order->getStore()->getId();
|
| 35 |
+
|
| 36 |
+
if (!Mage::helper('sales')->canSendNewCreditmemoEmail($storeId)) {
|
| 37 |
+
return $this;
|
| 38 |
+
}
|
| 39 |
+
// Get the destination email addresses to send copies to
|
| 40 |
+
$copyTo = $this->_getEmails(self::XML_PATH_EMAIL_COPY_TO);
|
| 41 |
+
$copyMethod = Mage::getStoreConfig(self::XML_PATH_EMAIL_COPY_METHOD, $storeId);
|
| 42 |
+
// Check if at least one recepient is found
|
| 43 |
+
if (!$notifyCustomer && !$copyTo) {
|
| 44 |
+
return $this;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
// Start store emulation process
|
| 48 |
+
$appEmulation = Mage::getSingleton('core/app_emulation');
|
| 49 |
+
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
|
| 50 |
+
|
| 51 |
+
try {
|
| 52 |
+
// Retrieve specified view block from appropriate design package (depends on emulated store)
|
| 53 |
+
$paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment())
|
| 54 |
+
->setIsSecureMode(true);
|
| 55 |
+
$paymentBlock->getMethod()->setStore($storeId);
|
| 56 |
+
$paymentBlockHtml = $paymentBlock->toHtml();
|
| 57 |
+
} catch (Exception $exception) {
|
| 58 |
+
// Stop store emulation process
|
| 59 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 60 |
+
throw $exception;
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
// Stop store emulation process
|
| 64 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 65 |
+
|
| 66 |
+
// Retrieve corresponding email template id and customer name
|
| 67 |
+
if ($order->getCustomerIsGuest()) {
|
| 68 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId);
|
| 69 |
+
$customerName = $order->getBillingAddress()->getName();
|
| 70 |
+
} else {
|
| 71 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE, $storeId);
|
| 72 |
+
$customerName = $order->getCustomerName();
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
$mailer = Mage::getModel('pdfpro/email_template_mailer');
|
| 76 |
+
if ($notifyCustomer) {
|
| 77 |
+
$emailInfo = Mage::getModel('core/email_info');
|
| 78 |
+
$emailInfo->addTo($order->getCustomerEmail(), $customerName);
|
| 79 |
+
if ($copyTo && $copyMethod == 'bcc') {
|
| 80 |
+
// Add bcc to customer email
|
| 81 |
+
foreach ($copyTo as $email) {
|
| 82 |
+
$emailInfo->addBcc($email);
|
| 83 |
+
}
|
| 84 |
+
}
|
| 85 |
+
$mailer->addEmailInfo($emailInfo);
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
// Email copies are sent as separated emails if their copy method is 'copy' or a customer should not be notified
|
| 89 |
+
if ($copyTo && ($copyMethod == 'copy' || !$notifyCustomer)) {
|
| 90 |
+
foreach ($copyTo as $email) {
|
| 91 |
+
$emailInfo = Mage::getModel('core/email_info');
|
| 92 |
+
$emailInfo->addTo($email);
|
| 93 |
+
$mailer->addEmailInfo($emailInfo);
|
| 94 |
+
}
|
| 95 |
+
}
|
| 96 |
+
|
| 97 |
+
// Set all required params and send emails
|
| 98 |
+
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
|
| 99 |
+
$mailer->setStoreId($storeId);
|
| 100 |
+
$mailer->setTemplateId($templateId);
|
| 101 |
+
$mailer->setTemplateParams(array(
|
| 102 |
+
'order' => $order,
|
| 103 |
+
'creditmemo' => $this,
|
| 104 |
+
'comment' => $comment,
|
| 105 |
+
'billing' => $order->getBillingAddress(),
|
| 106 |
+
'payment_html' => $paymentBlockHtml
|
| 107 |
+
)
|
| 108 |
+
);
|
| 109 |
+
|
| 110 |
+
/* Attach Invoice PDF in email */
|
| 111 |
+
$creditmemoData = Mage::getModel('pdfpro/order_creditmemo')->initCreditmemoData($this);
|
| 112 |
+
try{
|
| 113 |
+
$result = Mage::helper('pdfpro')->initPdf(array($creditmemoData),'creditmemo');
|
| 114 |
+
if($result['success']){
|
| 115 |
+
$mailer->setPdf(array('filename'=>Mage::helper('pdfpro')->getFileName('creditmemo',$this).'.pdf', 'content'=>$result['content']));
|
| 116 |
+
}else{
|
| 117 |
+
Mage::log($result['msg']);
|
| 118 |
+
}
|
| 119 |
+
}catch(Exception $e){
|
| 120 |
+
Mage::log($e->getMessage());
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
$mailer->send();
|
| 124 |
+
$this->setEmailSent(true);
|
| 125 |
+
$this->_getResource()->saveAttribute($this, 'email_sent');
|
| 126 |
+
|
| 127 |
+
return $this;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
public function sendEmailForCustomer($notifyCustomer=true,$comment='', $attachPdf = true){
|
| 131 |
+
$order = $this->getOrder();
|
| 132 |
+
$storeId = $order->getStore()->getId();
|
| 133 |
+
|
| 134 |
+
if (!Mage::helper('sales')->canSendNewCreditmemoEmail($storeId)) {
|
| 135 |
+
return $this;
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
if (!$notifyCustomer) {
|
| 139 |
+
return $this;
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
// Start store emulation process
|
| 143 |
+
$appEmulation = Mage::getSingleton('core/app_emulation');
|
| 144 |
+
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
|
| 145 |
+
|
| 146 |
+
try {
|
| 147 |
+
// Retrieve specified view block from appropriate design package (depends on emulated store)
|
| 148 |
+
$paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment())
|
| 149 |
+
->setIsSecureMode(true);
|
| 150 |
+
$paymentBlock->getMethod()->setStore($storeId);
|
| 151 |
+
$paymentBlockHtml = $paymentBlock->toHtml();
|
| 152 |
+
} catch (Exception $exception) {
|
| 153 |
+
// Stop store emulation process
|
| 154 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 155 |
+
throw $exception;
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
// Stop store emulation process
|
| 159 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 160 |
+
|
| 161 |
+
// Retrieve corresponding email template id and customer name
|
| 162 |
+
if ($order->getCustomerIsGuest()) {
|
| 163 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId);
|
| 164 |
+
$customerName = $order->getBillingAddress()->getName();
|
| 165 |
+
} else {
|
| 166 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE, $storeId);
|
| 167 |
+
$customerName = $order->getCustomerName();
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
$mailer = Mage::getModel('pdfpro/email_template_mailer');
|
| 171 |
+
if ($notifyCustomer) {
|
| 172 |
+
$emailInfo = Mage::getModel('core/email_info');
|
| 173 |
+
$emailInfo->addTo($order->getCustomerEmail(), $customerName);
|
| 174 |
+
|
| 175 |
+
$mailer->addEmailInfo($emailInfo);
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
// Set all required params and send emails
|
| 179 |
+
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
|
| 180 |
+
$mailer->setStoreId($storeId);
|
| 181 |
+
$mailer->setTemplateId($templateId);
|
| 182 |
+
$mailer->setTemplateParams(array(
|
| 183 |
+
'order' => $order,
|
| 184 |
+
'creditmemo' => $this,
|
| 185 |
+
'comment' => $comment,
|
| 186 |
+
'billing' => $order->getBillingAddress(),
|
| 187 |
+
'payment_html' => $paymentBlockHtml
|
| 188 |
+
)
|
| 189 |
+
);
|
| 190 |
+
if($attachPdf){
|
| 191 |
+
/* Attach Invoice PDF in email */
|
| 192 |
+
$creditmemoData = Mage::getModel('pdfpro/order_creditmemo')->initCreditmemoData($this);
|
| 193 |
+
try{
|
| 194 |
+
$result = Mage::helper('pdfpro')->initPdf(array($creditmemoData),'creditmemo');
|
| 195 |
+
if($result['success']){
|
| 196 |
+
$mailer->setPdf(array('filename'=>Mage::helper('pdfpro')->getFileName('creditmemo',$this).'.pdf', 'content'=>$result['content']));
|
| 197 |
+
}else{
|
| 198 |
+
Mage::log($result['msg']);
|
| 199 |
+
}
|
| 200 |
+
}catch(Exception $e){
|
| 201 |
+
Mage::log($e->getMessage());
|
| 202 |
+
}
|
| 203 |
+
}
|
| 204 |
+
$mailer->send();
|
| 205 |
+
$this->setEmailSent(true);
|
| 206 |
+
$this->_getResource()->saveAttribute($this, 'email_sent');
|
| 207 |
+
return $this;
|
| 208 |
+
}
|
| 209 |
+
|
| 210 |
+
public function sendEmailForAdmin($notifyCustomer=true,$comment='', $attachPdf = true){
|
| 211 |
+
$order = $this->getOrder();
|
| 212 |
+
$storeId = $order->getStore()->getId();
|
| 213 |
+
|
| 214 |
+
if (!Mage::helper('sales')->canSendNewCreditmemoEmail($storeId)) {
|
| 215 |
+
return $this;
|
| 216 |
+
}
|
| 217 |
+
// Get the destination email addresses to send copies to
|
| 218 |
+
$copyTo = $this->_getEmails(self::XML_PATH_EMAIL_COPY_TO);
|
| 219 |
+
$copyMethod = Mage::getStoreConfig(self::XML_PATH_EMAIL_COPY_METHOD, $storeId);
|
| 220 |
+
// Check if at least one recepient is found
|
| 221 |
+
if (!$notifyCustomer && !$copyTo) {
|
| 222 |
+
return $this;
|
| 223 |
+
}
|
| 224 |
+
|
| 225 |
+
// Start store emulation process
|
| 226 |
+
$appEmulation = Mage::getSingleton('core/app_emulation');
|
| 227 |
+
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
|
| 228 |
+
|
| 229 |
+
try {
|
| 230 |
+
// Retrieve specified view block from appropriate design package (depends on emulated store)
|
| 231 |
+
$paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment())
|
| 232 |
+
->setIsSecureMode(true);
|
| 233 |
+
$paymentBlock->getMethod()->setStore($storeId);
|
| 234 |
+
$paymentBlockHtml = $paymentBlock->toHtml();
|
| 235 |
+
} catch (Exception $exception) {
|
| 236 |
+
// Stop store emulation process
|
| 237 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 238 |
+
throw $exception;
|
| 239 |
+
}
|
| 240 |
+
|
| 241 |
+
// Stop store emulation process
|
| 242 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
| 243 |
+
|
| 244 |
+
// Retrieve corresponding email template id and customer name
|
| 245 |
+
if ($order->getCustomerIsGuest()) {
|
| 246 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId);
|
| 247 |
+
$customerName = $order->getBillingAddress()->getName();
|
| 248 |
+
} else {
|
| 249 |
+
$templateId = Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE, $storeId);
|
| 250 |
+
$customerName = $order->getCustomerName();
|
| 251 |
+
}
|
| 252 |
+
|
| 253 |
+
$mailer = Mage::getModel('pdfpro/email_template_mailer');
|
| 254 |
+
|
| 255 |
+
// Email copies are sent as separated emails if their copy method is 'copy' or a customer should not be notified
|
| 256 |
+
if ($copyTo) {
|
| 257 |
+
foreach ($copyTo as $email) {
|
| 258 |
+
$emailInfo = Mage::getModel('core/email_info');
|
| 259 |
+
$emailInfo->addTo($email);
|
| 260 |
+
$mailer->addEmailInfo($emailInfo);
|
| 261 |
+
}
|
| 262 |
+
}
|
| 263 |
+
|
| 264 |
+
// Set all required params and send emails
|
| 265 |
+
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
|
| 266 |
+
$mailer->setStoreId($storeId);
|
| 267 |
+
$mailer->setTemplateId($templateId);
|
| 268 |
+
$mailer->setTemplateParams(array(
|
| 269 |
+
'order' => $order,
|
| 270 |
+
'creditmemo' => $this,
|
| 271 |
+
'comment' => $comment,
|
| 272 |
+
'billing' => $order->getBillingAddress(),
|
| 273 |
+
'payment_html' => $paymentBlockHtml
|
| 274 |
+
)
|
| 275 |
+
);
|
| 276 |
+
|
| 277 |
+
if($attachPdf){
|
| 278 |
+
/* Attach Invoice PDF in email */
|
| 279 |
+
$creditmemoData = Mage::getModel('pdfpro/order_creditmemo')->initCreditmemoData($this);
|
| 280 |
+
try{
|
| 281 |
+
$result = Mage::helper('pdfpro')->initPdf(array($creditmemoData),'creditmemo');
|
| 282 |
+
if($result['success']){
|
| 283 |
+
$mailer->setPdf(array('filename'=>Mage::helper('pdfpro')->getFileName('creditmemo',$this).'.pdf', 'content'=>$result['content']));
|
| 284 |
+
}else{
|
| 285 |
+
Mage::log($result['msg']);
|
| 286 |
+
}
|
| 287 |
+
}catch(Exception $e){
|
| 288 |
+
Mage::log($e->getMessage());
|
| 289 |
+
}
|
| 290 |
+
}
|
| 291 |
+
|
| 292 |
+
$mailer->send();
|
| 293 |
+
$this->setEmailSent(true);
|
| 294 |
+
$this->_getResource()->saveAttribute($this, 'email_sent');
|
| 295 |
+
return $this;
|
| 296 |
+
}
|
| 297 |
+
}
|
app/code/community/VES/PdfPro/controllers/Adminhtml/NotifyController.php
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* VES_PdfPro_Adminhtml_NotifyController
|
| 4 |
+
*
|
| 5 |
+
* @author VnEcoms Team <support@vnecoms.com>
|
| 6 |
+
* @website http://www.vnecoms.com
|
| 7 |
+
*/
|
| 8 |
+
|
| 9 |
+
class VES_PdfPro_Adminhtml_NotifyController extends Mage_Adminhtml_Controller_Action
|
| 10 |
+
{
|
| 11 |
+
public function hidemessageAction(){
|
| 12 |
+
|
| 13 |
+
$messageFile = Mage::getBaseDir('media').DS.'ves_pdfpro'.DS.'message.txt';
|
| 14 |
+
if(file_exists($messageFile)){
|
| 15 |
+
$info = file_get_contents($messageFile);
|
| 16 |
+
$info = json_decode(base64_decode($info),true);
|
| 17 |
+
$info['hide'] = true;
|
| 18 |
+
$date = Mage::getModel('core/date')->date('Y-m-d');
|
| 19 |
+
try{
|
| 20 |
+
$fp = fopen($messageFile, 'w');
|
| 21 |
+
fwrite($fp, base64_encode(json_encode($info)));
|
| 22 |
+
fclose($fp);
|
| 23 |
+
}catch(Exception $e){
|
| 24 |
+
|
| 25 |
+
}
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
$result = array('error'=>false);
|
| 29 |
+
$this->getResponse()->setBody(json_encode($result));
|
| 30 |
+
}
|
| 31 |
+
}
|
app/code/community/VES/PdfPro/etc/config.xml
CHANGED
|
@@ -165,6 +165,7 @@
|
|
| 165 |
<order>VES_PdfPro_Model_Sales_Order</order>
|
| 166 |
<order_invoice>VES_PdfPro_Model_Sales_Order_Invoice</order_invoice>
|
| 167 |
<order_shipment>VES_PdfPro_Model_Sales_Order_Shipment</order_shipment>
|
|
|
|
| 168 |
</rewrite>
|
| 169 |
</sales>
|
| 170 |
</models>
|
|
@@ -234,6 +235,7 @@
|
|
| 234 |
<order_email_attach>1</order_email_attach>
|
| 235 |
<invoice_email_attach>1</invoice_email_attach>
|
| 236 |
<shipment_email_attach>1</shipment_email_attach>
|
|
|
|
| 237 |
<detect_language>1</detect_language>
|
| 238 |
<number_format>2</number_format>
|
| 239 |
<communication_method>soap</communication_method>
|
| 165 |
<order>VES_PdfPro_Model_Sales_Order</order>
|
| 166 |
<order_invoice>VES_PdfPro_Model_Sales_Order_Invoice</order_invoice>
|
| 167 |
<order_shipment>VES_PdfPro_Model_Sales_Order_Shipment</order_shipment>
|
| 168 |
+
<order_creditmemo>VES_PdfPro_Model_Sales_Order_Creditmemo</order_creditmemo>
|
| 169 |
</rewrite>
|
| 170 |
</sales>
|
| 171 |
</models>
|
| 235 |
<order_email_attach>1</order_email_attach>
|
| 236 |
<invoice_email_attach>1</invoice_email_attach>
|
| 237 |
<shipment_email_attach>1</shipment_email_attach>
|
| 238 |
+
<creditmemo_email_attach>1</creditmemo_email_attach>
|
| 239 |
<detect_language>1</detect_language>
|
| 240 |
<number_format>2</number_format>
|
| 241 |
<communication_method>soap</communication_method>
|
app/code/community/VES/PdfPro/etc/system.xml
CHANGED
|
@@ -86,7 +86,7 @@
|
|
| 86 |
<comment>If yes, customer will be able to use Easy PDF</comment>
|
| 87 |
</allow_customer_print>
|
| 88 |
<order_email_attach>
|
| 89 |
-
<label>Attach the PDF
|
| 90 |
<frontend_type>select</frontend_type>
|
| 91 |
<source_model>pdfpro/source_attach</source_model>
|
| 92 |
<sort_order>30</sort_order>
|
|
@@ -96,7 +96,7 @@
|
|
| 96 |
<comment>This option will make your checkout a bit of slower for generating the PDF file</comment>
|
| 97 |
</order_email_attach>
|
| 98 |
<invoice_email_attach>
|
| 99 |
-
<label>Attach the PDF
|
| 100 |
<frontend_type>select</frontend_type>
|
| 101 |
<source_model>pdfpro/source_attach</source_model>
|
| 102 |
<sort_order>40</sort_order>
|
|
@@ -106,7 +106,7 @@
|
|
| 106 |
<comment>This option will make your checkout a bit of slower for generating the PDF file</comment>
|
| 107 |
</invoice_email_attach>
|
| 108 |
<shipment_email_attach>
|
| 109 |
-
<label>Attach the PDF
|
| 110 |
<frontend_type>select</frontend_type>
|
| 111 |
<source_model>pdfpro/source_attach</source_model>
|
| 112 |
<sort_order>45</sort_order>
|
|
@@ -114,6 +114,15 @@
|
|
| 114 |
<show_in_website>1</show_in_website>
|
| 115 |
<show_in_store>1</show_in_store>
|
| 116 |
</shipment_email_attach>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
<detect_language>
|
| 118 |
<label>Detect language automatically by store</label>
|
| 119 |
<frontend_type>select</frontend_type>
|
| 86 |
<comment>If yes, customer will be able to use Easy PDF</comment>
|
| 87 |
</allow_customer_print>
|
| 88 |
<order_email_attach>
|
| 89 |
+
<label>Attach the Order PDF file to New Order Email</label>
|
| 90 |
<frontend_type>select</frontend_type>
|
| 91 |
<source_model>pdfpro/source_attach</source_model>
|
| 92 |
<sort_order>30</sort_order>
|
| 96 |
<comment>This option will make your checkout a bit of slower for generating the PDF file</comment>
|
| 97 |
</order_email_attach>
|
| 98 |
<invoice_email_attach>
|
| 99 |
+
<label>Attach the Invoice PDF file to Invoice Email</label>
|
| 100 |
<frontend_type>select</frontend_type>
|
| 101 |
<source_model>pdfpro/source_attach</source_model>
|
| 102 |
<sort_order>40</sort_order>
|
| 106 |
<comment>This option will make your checkout a bit of slower for generating the PDF file</comment>
|
| 107 |
</invoice_email_attach>
|
| 108 |
<shipment_email_attach>
|
| 109 |
+
<label>Attach the Shipment PDF to Shipment Email</label>
|
| 110 |
<frontend_type>select</frontend_type>
|
| 111 |
<source_model>pdfpro/source_attach</source_model>
|
| 112 |
<sort_order>45</sort_order>
|
| 114 |
<show_in_website>1</show_in_website>
|
| 115 |
<show_in_store>1</show_in_store>
|
| 116 |
</shipment_email_attach>
|
| 117 |
+
<creditmemo_email_attach>
|
| 118 |
+
<label>Attach the Creditmemo PDF to Creditmemo Email</label>
|
| 119 |
+
<frontend_type>select</frontend_type>
|
| 120 |
+
<source_model>pdfpro/source_attach</source_model>
|
| 121 |
+
<sort_order>47</sort_order>
|
| 122 |
+
<show_in_default>1</show_in_default>
|
| 123 |
+
<show_in_website>1</show_in_website>
|
| 124 |
+
<show_in_store>1</show_in_store>
|
| 125 |
+
</creditmemo_email_attach>
|
| 126 |
<detect_language>
|
| 127 |
<label>Detect language automatically by store</label>
|
| 128 |
<frontend_type>select</frontend_type>
|
app/design/adminhtml/default/default/template/ves_pdfpro/notifications.phtml
CHANGED
|
@@ -13,6 +13,28 @@
|
|
| 13 |
if(s.innerHTML.trim()=='Easy PDF'){s.addClassName('easypdf-system-tab');}
|
| 14 |
});
|
| 15 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
</script>
|
| 17 |
<?php if($this->canDisplayNotice() || $this->canDisplayNews() || $this->canDisplayDefaultApiKeyMsg()):?>
|
| 18 |
<div id="pdfpro-notifications">
|
|
@@ -37,6 +59,7 @@
|
|
| 37 |
<div class="notification-global notification-global-notice">
|
| 38 |
<strong>Easy PDF Invoice:</strong>
|
| 39 |
<?php echo $message;?>
|
|
|
|
| 40 |
</div>
|
| 41 |
<?php endif;?>
|
| 42 |
<?php endif;?>
|
| 13 |
if(s.innerHTML.trim()=='Easy PDF'){s.addClassName('easypdf-system-tab');}
|
| 14 |
});
|
| 15 |
});
|
| 16 |
+
function vesPdfProHideCurrentNotificationMessage(){
|
| 17 |
+
new Ajax.Request('<?php echo $this->getUrl('pdfpro_cp/adminhtml_notify/hidemessage');?>', {
|
| 18 |
+
onSuccess: function(transport) {
|
| 19 |
+
try {
|
| 20 |
+
if (transport.responseText.isJSON()) {
|
| 21 |
+
var response = transport.responseText.evalJSON()
|
| 22 |
+
if (response.error) {
|
| 23 |
+
alert(response.message);
|
| 24 |
+
}else{
|
| 25 |
+
$$('.notification-global-notice').each(function(s){
|
| 26 |
+
s.hide();
|
| 27 |
+
});
|
| 28 |
+
}
|
| 29 |
+
} else {
|
| 30 |
+
|
| 31 |
+
}
|
| 32 |
+
} catch (e) {
|
| 33 |
+
|
| 34 |
+
}
|
| 35 |
+
}
|
| 36 |
+
});
|
| 37 |
+
}
|
| 38 |
</script>
|
| 39 |
<?php if($this->canDisplayNotice() || $this->canDisplayNews() || $this->canDisplayDefaultApiKeyMsg()):?>
|
| 40 |
<div id="pdfpro-notifications">
|
| 59 |
<div class="notification-global notification-global-notice">
|
| 60 |
<strong>Easy PDF Invoice:</strong>
|
| 61 |
<?php echo $message;?>
|
| 62 |
+
<a style="border: 1px solid #EA7601;border-radius:7px; -moz-border-radius: 7px;-webkit-border-radius: 7px;display: block; float: right;font-size:11px; font-weight: bold;line-height: 11px; padding: 1px 3px;text-decoration: none;" href="javascript: void(0);" onclick="vesPdfProHideCurrentNotificationMessage()">x</a>
|
| 63 |
</div>
|
| 64 |
<?php endif;?>
|
| 65 |
<?php endif;?>
|
media/ves_pdfpro/message.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
eyJkYXRlIjoiMjAxMy0wNy0yMSIsIm1lc3NhZ2UiOiIgRmFzdGVyIHdpdGggbG9jYWwgUERGIHByb2Nlc3NvciAoPHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtjb2xvcjogI0ZGMDAwMDtcIj5GUkVFPFwvc3Bhbj4pIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwOlwvXC93d3cuZWFzeXBkZmludm9pY2UuY29tXC9ibG9nXC9sb2NhbC1wZGYtcHJvY2Vzc29yXC9cIj5Nb3JlIGRldGFpbDxcL2E+LiIsImhpZGUiOnRydWV9
|
media/ves_pdfpro/version.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
eyJkYXRlIjoiMjAxMy0wNy0yMSIsInZlcnNpb24iOiIxLjIuMC4xLTI2In0=
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Easy_PDF_Invoice</name>
|
| 4 |
-
<version>1.2.0.1.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL V3.0</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -16,9 +16,9 @@
|
|
| 16 |
- Allow to attach invoice pdf in email
|
| 17 |
- Compatible with Aschroder_SMTPPro</notes>
|
| 18 |
<authors><author><name>Easy PDF Invoice</name><user>auto-converted</user><email>easypdfinvoice@gmail.com</email></author></authors>
|
| 19 |
-
<date>2013-07-
|
| 20 |
-
<time>
|
| 21 |
-
<contents><target name="mageetc"><dir name="modules"><file name="VES_PdfPro.xml" hash="4b43f61fe34d6f90260b6008e52e48bd"/></dir></target><target name="magecommunity"><dir name="VES"><dir name="PdfPro"><dir name="Block"><dir name="Adminhtml"><dir name="Key"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="6ed2ab13f4e2c5c25671aacf00fe9694"/></dir><file name="Form.php" hash="46346f33119419be5ba874fa7ffd85b6"/><file name="Tabs.php" hash="cd9cf71b68f19d9af9a80e8c7898e32f"/></dir><dir name="Grid"><dir name="Renderer"><file name="Group.php" hash="892d50662567d468eb9128034de54f19"/><file name="Store.php" hash="e1f763568b9f84a58798308f83536d7b"/></dir></dir><file name="Edit.php" hash="a8798ad23b9da53d836c6947dff2e49a"/><file name="Grid.php" hash="e7987b06687d69f18000714fc38cbde4"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="fb2c17f888c8acb5dbe2574e635c77bf"/></dir><dir name="Invoice"><file name="View.php" hash="69fb3ac882ffc657d0879dac143d647e"/></dir><dir name="Shipment"><file name="View.php" hash="633822374d7cc1f9c167af3628069cb5"/></dir><file name="View.php" hash="3a94ef916cf0cc2cb15c02f2e9a3c885"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Fieldset.php" hash="d5504c92beb2bbe5597db4df2695f5b7"/></dir></dir></dir><file name="Key.php" hash="26f0bacc52c667f6efe91d96e2037865"/><file name="Version.php" hash="
|
| 22 |
<compatible/>
|
| 23 |
<dependencies/>
|
| 24 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Easy_PDF_Invoice</name>
|
| 4 |
+
<version>1.2.0.1.27</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL V3.0</license>
|
| 7 |
<channel>community</channel>
|
| 16 |
- Allow to attach invoice pdf in email
|
| 17 |
- Compatible with Aschroder_SMTPPro</notes>
|
| 18 |
<authors><author><name>Easy PDF Invoice</name><user>auto-converted</user><email>easypdfinvoice@gmail.com</email></author></authors>
|
| 19 |
+
<date>2013-07-21</date>
|
| 20 |
+
<time>09:22:25</time>
|
| 21 |
+
<contents><target name="mageetc"><dir name="modules"><file name="VES_PdfPro.xml" hash="4b43f61fe34d6f90260b6008e52e48bd"/></dir></target><target name="magecommunity"><dir name="VES"><dir name="PdfPro"><dir name="Block"><dir name="Adminhtml"><dir name="Key"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="6ed2ab13f4e2c5c25671aacf00fe9694"/></dir><file name="Form.php" hash="46346f33119419be5ba874fa7ffd85b6"/><file name="Tabs.php" hash="cd9cf71b68f19d9af9a80e8c7898e32f"/></dir><dir name="Grid"><dir name="Renderer"><file name="Group.php" hash="892d50662567d468eb9128034de54f19"/><file name="Store.php" hash="e1f763568b9f84a58798308f83536d7b"/></dir></dir><file name="Edit.php" hash="a8798ad23b9da53d836c6947dff2e49a"/><file name="Grid.php" hash="e7987b06687d69f18000714fc38cbde4"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="fb2c17f888c8acb5dbe2574e635c77bf"/></dir><dir name="Invoice"><file name="View.php" hash="69fb3ac882ffc657d0879dac143d647e"/></dir><dir name="Shipment"><file name="View.php" hash="633822374d7cc1f9c167af3628069cb5"/></dir><file name="View.php" hash="3a94ef916cf0cc2cb15c02f2e9a3c885"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Fieldset.php" hash="d5504c92beb2bbe5597db4df2695f5b7"/></dir></dir></dir><file name="Key.php" hash="26f0bacc52c667f6efe91d96e2037865"/><file name="Version.php" hash="bcb615f13c91402717e1eb618ef77371"/></dir><dir name="Checkout"><dir name="Onepage"><file name="Success.php" hash="9f45ac2f4c5643f7c560f64ec6e879b9"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Items.php" hash="188d1bf570876c1ee4eb10b392826969"/></dir><dir name="Info"><file name="Buttons.php" hash="092e23b4ea0532a0b1c30155bb988500"/></dir><dir name="Invoice"><file name="Items.php" hash="af0a2e0530c243f4fc36d2b1ba85a03d"/></dir><dir name="Shipment"><file name="Items.php" hash="05ba7ea0f96dd688e32ac382de3d97aa"/></dir><file name="Info.php" hash="df3add1cad16f992c016f34bc50001da"/></dir></dir></dir><dir name="Controller"><file name="Abstract.php" hash="3e12df35a1d6741c8c682f1ee5f7d490"/></dir><dir name="Helper"><file name="Data.php" hash="6952dc093b75f410bd1ba676639b935c"/><file name="Giftmessage.php" hash="fd1f964045ff32824d8adeef45d9f353"/></dir><dir name="Model"><dir name="Communication"><dir name="Method"><file name="Abstract.php" hash="92691ba24ed56500a517a323dc37c783"/><file name="Soap.php" hash="9bebec927cd317828c226af2f84e46a4"/><file name="Xmlrpc.php" hash="9ef324fc87bfb1b2ce7e21dcd061faa4"/></dir></dir><dir name="Email"><dir name="Template"><file name="Mailer.php" hash="c0ce04b3c73aeffd55f94e180e379416"/></dir><file name="Template.php" hash="9dfdc647e61d2b156d1b1d13760ed91e"/></dir><dir name="Mysql4"><dir name="Key"><file name="Collection.php" hash="2a833ffdea395c507056fed369d3efaa"/></dir><file name="Key.php" hash="ac5b19abb5f8cb75f5d4ae7226432158"/></dir><dir name="Order"><dir name="Creditmemo"><file name="Item.php" hash="1f3e1dd032ba92d819860015cc691ec3"/></dir><dir name="Invoice"><file name="Item.php" hash="24afcd126b0f70593898f014111d638f"/></dir><dir name="Shipment"><file name="Item.php" hash="a034e50d4b48abf33dbe23da8a8ac321"/></dir><file name="Creditmemo.php" hash="9491d108e73004a66545f87f13c5e668"/><file name="Invoice.php" hash="b6c7204bd0f76c04115f14452cd5ba3f"/><file name="Item.php" hash="8ec99b4d4b29ea4e8657dea60471eda4"/><file name="Shipment.php" hash="290f501ec4695ceac86f644fb32250e5"/></dir><dir name="Processors"><file name="Easypdf.php" hash="174f02576f916c281c644933a0f26820"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><dir name="Total"><file name="Default.php" hash="f2734244f770ef8eed2e4895daaa1b4f"/></dir></dir><file name="Creditmemo.php" hash="85f996a31f32c9327c375bf164a8d235"/><file name="Invoice.php" hash="4a61a399a80f7a9153713f5111e1e1f4"/><file name="Shipment.php" hash="8eb0e36b08068d375cce61a1215a8599"/></dir><file name="Order.php" hash="16950ae3ce187c56beb4f16d842a4a93"/></dir><dir name="Source"><dir name="Communication"><file name="Method.php" hash="c62491193fdb374fdc74e52c02609194"/></dir><file name="Attach.php" hash="9fc226589336ee965aa0d5208d2dd06e"/><file name="Key.php" hash="c9ee12407a20b4fb07bd51bd0029523c"/><file name="Processor.php" hash="6a1e053c02b8e1736f0bfd942ae71434"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Easypdf.php" hash="503a34f4747cb6387ff7180e4f63b469"/></dir></dir></dir><file name="Abstract.php" hash="ac9255f2de1037adca999b56382a33a7"/><file name="Key.php" hash="8f89ec9497dd0a7ae2cf9ea71af2a910"/><file name="Observer.php" hash="57635dc88f683f760d08bd60e3f7900b"/><file name="Order.php" hash="6623bb46b0d9bfb30bc9f6293dadbc59"/><file name="PdfPro.php" hash="bc1b8171ce55f2f9270132b0e87b801e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="KeyController.php" hash="55b3292e66dfcde2ab30212175ab0c47"/><file name="NotifyController.php" hash="90b9ecb5f8ce655bcdd6f07312a27cba"/><file name="PrintController.php" hash="2b1b02a7e50a686d639f346ed5c92e53"/></dir><file name="GuestController.php" hash="1866cb205ce5eef78babd77850647275"/><file name="PrintController.php" hash="fdd65232341ae18df6ddfc267aece14f"/></dir><dir name="etc"><file name="config.xml" hash="1569461f12affb469e9e4bc194b1cc45"/><file name="system.xml" hash="a4087a0f3f0735c32fc65cdf3ff7af96"/></dir><dir name="sql"><dir name="pdfpro_setup"><file name="mysql4-install-0.1.0.php" hash="568fdc14a81905f4e98857691f765ae8"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ves_pdfpro.xml" hash="4fef100f3a87f396e539ff59fba0d9a6"/></dir><dir name="template"><dir name="ves_pdfpro"><file name="notifications.phtml" hash="12e97fce2e9f1f64c114ef9d4263fb57"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="VES_PdfPro.csv" hash="7443d2a6b55513d5287144307ac41018"/></dir><dir name="vi_VN"><file name="VES_PdfPro.csv" hash="685d513129c86897c9214d67a65f7690"/></dir><dir name="he_IL"><file name="VES_PdfPro.csv" hash="487635adff4c3a8fb47af8048e407c96"/></dir></target><target name="magemedia"><dir name="ves_pdfpro"><file name="message.txt" hash="5fc8f324533bcc4013efead8f5f6fb5f"/><file name="version.txt" hash="9f8ce2b9f602668ad6245f989d6f0c74"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="ves_pdfpro"><file name="easypdf.png" hash="8403ec067302a4bf931862ad56965459"/><file name="favicon.png" hash="55210c2ab24e77a654bec6f51922917f"/><file name="js.js" hash="5ab27f2e16b90409bf4268b9afb7488c"/><file name="styles.css" hash="e25f82a17de40e72d7cd062f9f25588b"/></dir></dir></dir></dir></target></contents>
|
| 22 |
<compatible/>
|
| 23 |
<dependencies/>
|
| 24 |
</package>
|
