Version Notes
The current Auto Review Reminder emailer extension module has the following features updated :
*Updated license terms
*Updated Installation pdf file
*Updated Mail section
*Updated CrontJob
Download this release
Release Info
| Developer | Nitin Gupta |
| Extension | irzzo_autoreviewreminderemail |
| Version | 1.0.5.2 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.5.1 to 1.0.5.2
- IrzooProductsDemo_Details.pdf +0 -0
- app/code/community/MC/Mcautoreviewreminderemail/Block/OrderItems.php +0 -91
- app/code/community/MC/Mcautoreviewreminderemail/Model/Mcautoreviewreminderemail.php +60 -57
- app/code/community/MC/Mcautoreviewreminderemail/Model/Mcautoreviewreminderemailconfig.php +82 -17
- app/code/community/MC/Mcautoreviewreminderemail/controllers/ProductController.php +0 -253
- app/code/community/MC/Mcautoreviewreminderemail/etc/config.xml +1 -25
- app/code/community/MC/Mcautoreviewreminderemail/sql/mcautoreviewreminderemail_setup/{mysql4-install-1.0.5.1.php → mysql4-install-1.0.5.2.php} +0 -0
- app/design/frontend/default/default/layout/mcautoreviewreminderemail.xml +0 -37
- app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/form.phtml +0 -110
- app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/index.phtml +0 -1
- app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/loadmorereviews.phtml +0 -32
- app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/orderItems.phtml +0 -61
- package.xml +4 -4
IrzooProductsDemo_Details.pdf
ADDED
|
Binary file
|
app/code/community/MC/Mcautoreviewreminderemail/Block/OrderItems.php
DELETED
|
@@ -1,91 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/*
|
| 3 |
-
* @category Community
|
| 4 |
-
* @package MC_Mcautoreviewreminderemail
|
| 5 |
-
* @Document OrderItems.php
|
| 6 |
-
* @Created on April 11, 2012, 7:05 PM
|
| 7 |
-
* @copyright Copyright (c) 2012 Magento Complete
|
| 8 |
-
*/
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
class MC_Mcautoreviewreminderemail_Block_OrderItems extends Mage_Core_Block_Template {
|
| 12 |
-
|
| 13 |
-
private $order;
|
| 14 |
-
|
| 15 |
-
private $billingAddress;
|
| 16 |
-
|
| 17 |
-
private $orderItems;
|
| 18 |
-
|
| 19 |
-
private $reviewedItems;
|
| 20 |
-
|
| 21 |
-
public function _construct(){
|
| 22 |
-
|
| 23 |
-
$orderId = $this->getRequest()->getParam('oid');
|
| 24 |
-
|
| 25 |
-
$orderId = base64_decode($orderId);
|
| 26 |
-
|
| 27 |
-
if($orderId && is_numeric($orderId)){
|
| 28 |
-
|
| 29 |
-
$order = Mage::getModel('sales/order')->load($orderId);
|
| 30 |
-
|
| 31 |
-
if($order->getId()){
|
| 32 |
-
|
| 33 |
-
$this->order = $order;
|
| 34 |
-
|
| 35 |
-
$this->billingAddress = $order->getBillingAddress();
|
| 36 |
-
|
| 37 |
-
$this->orderItems = $order->getAllVisibleItems();
|
| 38 |
-
|
| 39 |
-
echo $collection = Mage::getModel('review/review')
|
| 40 |
-
->getCollection()
|
| 41 |
-
->addFieldToFilter('mc_mcautoreviewemailorder_id', $orderId);
|
| 42 |
-
|
| 43 |
-
if($collection){
|
| 44 |
-
|
| 45 |
-
foreach($collection as $c){
|
| 46 |
-
|
| 47 |
-
$this->reviewedItems[$c->getEntityPkValue()] = $c->getReviewId();
|
| 48 |
-
|
| 49 |
-
}
|
| 50 |
-
|
| 51 |
-
}
|
| 52 |
-
|
| 53 |
-
}
|
| 54 |
-
|
| 55 |
-
}
|
| 56 |
-
|
| 57 |
-
}
|
| 58 |
-
|
| 59 |
-
public function getOrder(){
|
| 60 |
-
|
| 61 |
-
return $this->order;
|
| 62 |
-
|
| 63 |
-
}
|
| 64 |
-
|
| 65 |
-
public function getBillingAddress(){
|
| 66 |
-
|
| 67 |
-
return $this->billingAddress;
|
| 68 |
-
|
| 69 |
-
}
|
| 70 |
-
|
| 71 |
-
public function getOrderItems(){
|
| 72 |
-
|
| 73 |
-
return $this->orderItems;
|
| 74 |
-
|
| 75 |
-
}
|
| 76 |
-
|
| 77 |
-
public function isAlreadyReviewed($productId){
|
| 78 |
-
|
| 79 |
-
$reviewId = 0;
|
| 80 |
-
|
| 81 |
-
if($this->reviewedItems && array_key_exists($productId, $this->reviewedItems)){
|
| 82 |
-
|
| 83 |
-
$reviewId = $this->reviewedItems[$productId];
|
| 84 |
-
|
| 85 |
-
}
|
| 86 |
-
|
| 87 |
-
return $reviewId;
|
| 88 |
-
|
| 89 |
-
}
|
| 90 |
-
|
| 91 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/MC/Mcautoreviewreminderemail/Model/Mcautoreviewreminderemail.php
CHANGED
|
@@ -76,44 +76,35 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 76 |
return $flag;
|
| 77 |
}
|
| 78 |
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
|
|
|
| 84 |
public function getFromMail($identity){
|
| 85 |
|
| 86 |
switch($identity)
|
| 87 |
{
|
| 88 |
case 'general':
|
| 89 |
-
|
| 90 |
-
$
|
| 91 |
-
//fetch sender name
|
| 92 |
-
$from_name = Mage::getStoreConfig('trans_email/ident_general/name');
|
| 93 |
break;
|
| 94 |
case 'sales':
|
| 95 |
-
|
| 96 |
-
$
|
| 97 |
-
//fetch sender name
|
| 98 |
-
$from_name = Mage::getStoreConfig('trans_email/ident_sales/name');
|
| 99 |
break;
|
| 100 |
case 'support':
|
| 101 |
-
|
| 102 |
-
$
|
| 103 |
-
//fetch sender name
|
| 104 |
-
$from_name = Mage::getStoreConfig('trans_email/ident_support/name');
|
| 105 |
break;
|
| 106 |
case 'custom1':
|
| 107 |
-
|
| 108 |
-
$
|
| 109 |
-
//fetch sender name
|
| 110 |
-
$from_name = Mage::getStoreConfig('trans_email/ident_custom1/name');
|
| 111 |
break;
|
| 112 |
case 'custom2':
|
| 113 |
-
|
| 114 |
-
$
|
| 115 |
-
//fetch sender name
|
| 116 |
-
$from_name = Mage::getStoreConfig('trans_email/ident_custom2/name');
|
| 117 |
break;
|
| 118 |
}
|
| 119 |
$from = array("name" => $from_name, "email" => $from_email);
|
|
@@ -127,8 +118,7 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 127 |
$tbl_History = Mage::getSingleton('core/resource')->getTableName('sales_flat_order_status_history');
|
| 128 |
$Collection = Mage::getModel('sales/order')->getCollection();
|
| 129 |
$Collection->getSelect()->join( array('addr' => Mage::getSingleton('core/resource')->getTableName('sales_flat_order_status_history')),
|
| 130 |
-
'main_table.entity_id = addr.parent_id', array('main_table.*' , 'EnititId' => 'addr.entity_id' , 'statusUpdationTime' => 'addr.created_at') );
|
| 131 |
-
|
| 132 |
return $Collection;
|
| 133 |
}
|
| 134 |
|
|
@@ -139,26 +129,23 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 139 |
* @discription: The method is mainly responcible for
|
| 140 |
*/
|
| 141 |
|
| 142 |
-
public function sendReviewLinkEmail() {
|
| 143 |
-
|
| 144 |
-
$this->
|
| 145 |
-
|
| 146 |
-
$this->
|
| 147 |
-
|
| 148 |
-
$this->
|
| 149 |
-
/* Value of admin >> configuration >> Review >> Email Subject [type(text)] */
|
| 150 |
-
$this->_email_template = Mage::getStoreConfig(self::REVIEW_MAIL_TEMPLATE, Mage::app()->getStore());
|
| 151 |
-
$this->_order_status = Mage::getStoreConfig(self::REVIEW_MAIL_ORDER_STATUS, Mage::app()->getStore());
|
| 152 |
-
$this->_identity = Mage::getStoreConfig(self::REVIEW_EMAIL_IDENTITY, Mage::app()->getStore());
|
| 153 |
$mailTemplate = Mage::getModel('core/email_template');
|
| 154 |
$template_collection = $mailTemplate->load($this->_email_template);
|
| 155 |
-
$template_data = $template_collection->getData();
|
| 156 |
-
|
| 157 |
-
|
| 158 |
|
| 159 |
-
|
|
|
|
| 160 |
$orders = $this->OrderCollection();
|
| 161 |
-
$orders->addAttributeToSort('statusUpdationTime', 'desc');
|
|
|
|
|
|
|
| 162 |
foreach ($orders->getData() as $values):
|
| 163 |
if($values['status'] == $this->_order_status):
|
| 164 |
if(!in_array($values['entity_id'], $order_entity )):
|
|
@@ -179,7 +166,8 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 179 |
$Order_numberofday = floor($datediff/(60*60*24)); // Getting number of days of order Difference
|
| 180 |
$id = $order->getCreatedAt();
|
| 181 |
$order_Id = $order->getRealOrderId();
|
| 182 |
-
|
|
|
|
| 183 |
try
|
| 184 |
{
|
| 185 |
if( ($Order_numberofday == $this->_delay || $Order_numberofday == ($this->_delay+1) ) ){
|
|
@@ -192,32 +180,34 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 192 |
{
|
| 193 |
foreach($items as $item)
|
| 194 |
{
|
| 195 |
-
$_product = Mage::getModel('catalog/product')->load($item->getProductId());
|
| 196 |
if($item)
|
| 197 |
-
{
|
| 198 |
-
|
| 199 |
-
|
|
|
|
|
|
|
| 200 |
}
|
| 201 |
}
|
| 202 |
}
|
| 203 |
//Concatanating Ordered Products name by ', '
|
| 204 |
-
$product =
|
| 205 |
-
$ReviewUrl =
|
| 206 |
-
$message = $template_data[template_text];
|
| 207 |
$message = str_replace("{{ReviewURL}}", $ReviewUrl, $message); // Replacing {{ReviewURL}} with the product review url
|
| 208 |
$message = str_replace("{{OrderNumber}}", $order_Id, $message); // Replacing {{OrderNumber}} with the Order id
|
| 209 |
$message = str_replace("{{ProductName}}", $product, $message); // Replacing {{ProductName}} with the Origenal products name
|
| 210 |
$translate = Mage::getSingleton('core/translate');
|
| 211 |
$templateId = $this->_email_template;
|
| 212 |
-
|
|
|
|
| 213 |
if(!empty($template_data)){
|
| 214 |
$templateId = $template_data['template_id'];
|
| 215 |
-
// Get Mail Subjest
|
| 216 |
-
$mailSubject = $template_data['template_subject'];
|
| 217 |
//fetch sender data from Admin end > System > Configuration > Store Email Addresses
|
| 218 |
$from = $this->getFromMail($this->_identity);
|
| 219 |
$billingAddress = $order->getBillingAddress();
|
| 220 |
-
$ReviewUrl
|
| 221 |
$mail = new Zend_Mail();
|
| 222 |
$mail->setBodyHTML($message , 'UTF-8',Zend_Mime::ENCODING_8BIT);
|
| 223 |
$mail->setFrom($from['email'], $from['name']);
|
|
@@ -229,14 +219,14 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 229 |
->setIsCustomerNotified(true);
|
| 230 |
$order->save();
|
| 231 |
}
|
| 232 |
-
}
|
| 233 |
|
| 234 |
} // End If Customer has not noitfied before
|
| 235 |
|
| 236 |
} // End if block for number of days
|
| 237 |
|
| 238 |
} // end Try block
|
| 239 |
-
|
| 240 |
{
|
| 241 |
throw new Exception( 'Something really gone wrong', 0, $e);
|
| 242 |
} // end catch block
|
|
@@ -247,4 +237,17 @@ class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemail extends Mage_
|
|
| 247 |
// end for each block
|
| 248 |
} // End if extension is not enabled
|
| 249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 250 |
}
|
| 76 |
return $flag;
|
| 77 |
}
|
| 78 |
|
| 79 |
+
/*
|
| 80 |
+
* @method getFromMail()
|
| 81 |
+
* @param $identity [string]
|
| 82 |
+
* @return $from [array]
|
| 83 |
+
* @discription:The method is mainly get the Store configuration trens_email settings.
|
| 84 |
+
*/
|
| 85 |
public function getFromMail($identity){
|
| 86 |
|
| 87 |
switch($identity)
|
| 88 |
{
|
| 89 |
case 'general':
|
| 90 |
+
$from_email = Mage::getStoreConfig('trans_email/ident_general/email');//fetch sender email
|
| 91 |
+
$from_name = Mage::getStoreConfig('trans_email/ident_general/name');//fetch sender name
|
|
|
|
|
|
|
| 92 |
break;
|
| 93 |
case 'sales':
|
| 94 |
+
$from_email = Mage::getStoreConfig('trans_email/ident_sales/email');//fetch sender email
|
| 95 |
+
$from_name = Mage::getStoreConfig('trans_email/ident_sales/name');//fetch sender name
|
|
|
|
|
|
|
| 96 |
break;
|
| 97 |
case 'support':
|
| 98 |
+
$from_email = Mage::getStoreConfig('trans_email/ident_support/email');//fetch sender email
|
| 99 |
+
$from_name = Mage::getStoreConfig('trans_email/ident_support/name');//fetch sender name
|
|
|
|
|
|
|
| 100 |
break;
|
| 101 |
case 'custom1':
|
| 102 |
+
$from_email = Mage::getStoreConfig('trans_email/ident_custom1/email');//fetch sender email
|
| 103 |
+
$from_name = Mage::getStoreConfig('trans_email/ident_custom1/name');//fetch sender name
|
|
|
|
|
|
|
| 104 |
break;
|
| 105 |
case 'custom2':
|
| 106 |
+
$from_email = Mage::getStoreConfig('trans_email/ident_custom2/email');//fetch sender email
|
| 107 |
+
$from_name = Mage::getStoreConfig('trans_email/ident_custom2/name');//fetch sender name
|
|
|
|
|
|
|
| 108 |
break;
|
| 109 |
}
|
| 110 |
$from = array("name" => $from_name, "email" => $from_email);
|
| 118 |
$tbl_History = Mage::getSingleton('core/resource')->getTableName('sales_flat_order_status_history');
|
| 119 |
$Collection = Mage::getModel('sales/order')->getCollection();
|
| 120 |
$Collection->getSelect()->join( array('addr' => Mage::getSingleton('core/resource')->getTableName('sales_flat_order_status_history')),
|
| 121 |
+
'main_table.entity_id = addr.parent_id', array('main_table.*' , 'EnititId' => 'addr.entity_id' , 'statusUpdationTime' => 'addr.created_at') );
|
|
|
|
| 122 |
return $Collection;
|
| 123 |
}
|
| 124 |
|
| 129 |
* @discription: The method is mainly responcible for
|
| 130 |
*/
|
| 131 |
|
| 132 |
+
public function sendReviewLinkEmail() {
|
| 133 |
+
$this->_enabled = Mage::getStoreConfig(self::REVIEW_MAIL_ENABLE, Mage::app()->getStore()); // Review Enable field
|
| 134 |
+
$this->_identity = Mage::getStoreConfig(self::REVIEW_EMAIL_IDENTITY, Mage::app()->getStore()); // Email Identity field
|
| 135 |
+
$this->_delay = (int) Mage::getStoreConfig(self::REVIEW_MAIL_DURATION, Mage::app()->getStore()); // Delay field
|
| 136 |
+
$this->_email_template = Mage::getStoreConfig(self::REVIEW_MAIL_TEMPLATE, Mage::app()->getStore()); // Email Subjec field
|
| 137 |
+
$this->_order_status = Mage::getStoreConfig(self::REVIEW_MAIL_ORDER_STATUS, Mage::app()->getStore()); // Order Status field
|
| 138 |
+
$this->_identity = Mage::getStoreConfig(self::REVIEW_EMAIL_IDENTITY, Mage::app()->getStore()); // Review Email field
|
|
|
|
|
|
|
|
|
|
|
|
|
| 139 |
$mailTemplate = Mage::getModel('core/email_template');
|
| 140 |
$template_collection = $mailTemplate->load($this->_email_template);
|
| 141 |
+
$template_data = $template_collection->getData();
|
|
|
|
|
|
|
| 142 |
|
| 143 |
+
// If extension is enable
|
| 144 |
+
if($this->_enabled){
|
| 145 |
$orders = $this->OrderCollection();
|
| 146 |
+
$orders->addAttributeToSort('statusUpdationTime', 'desc');
|
| 147 |
+
if(!isset($order_entity)): $order_entity = array();endif;
|
| 148 |
+
if(!isset($Status_Enityid)): $Status_Enityid = array();endif;
|
| 149 |
foreach ($orders->getData() as $values):
|
| 150 |
if($values['status'] == $this->_order_status):
|
| 151 |
if(!in_array($values['entity_id'], $order_entity )):
|
| 166 |
$Order_numberofday = floor($datediff/(60*60*24)); // Getting number of days of order Difference
|
| 167 |
$id = $order->getCreatedAt();
|
| 168 |
$order_Id = $order->getRealOrderId();
|
| 169 |
+
$product_name = array();
|
| 170 |
+
$_ReviewUrl = array();
|
| 171 |
try
|
| 172 |
{
|
| 173 |
if( ($Order_numberofday == $this->_delay || $Order_numberofday == ($this->_delay+1) ) ){
|
| 180 |
{
|
| 181 |
foreach($items as $item)
|
| 182 |
{
|
| 183 |
+
$_product = Mage::getModel('catalog/product')->load($item->getProductId());
|
| 184 |
if($item)
|
| 185 |
+
{
|
| 186 |
+
if(!$item->getData('parent_item_id')):
|
| 187 |
+
$product_name[] = $item->getName();
|
| 188 |
+
$_ReviewUrl[] = $this->generateReviewUrl($item->getProductId());
|
| 189 |
+
endif;
|
| 190 |
}
|
| 191 |
}
|
| 192 |
}
|
| 193 |
//Concatanating Ordered Products name by ', '
|
| 194 |
+
$product = implode(", ", $product_name);
|
| 195 |
+
$ReviewUrl = implode("<br/><br/>", $_ReviewUrl);
|
| 196 |
+
$message = $template_data['template_text'];
|
| 197 |
$message = str_replace("{{ReviewURL}}", $ReviewUrl, $message); // Replacing {{ReviewURL}} with the product review url
|
| 198 |
$message = str_replace("{{OrderNumber}}", $order_Id, $message); // Replacing {{OrderNumber}} with the Order id
|
| 199 |
$message = str_replace("{{ProductName}}", $product, $message); // Replacing {{ProductName}} with the Origenal products name
|
| 200 |
$translate = Mage::getSingleton('core/translate');
|
| 201 |
$templateId = $this->_email_template;
|
| 202 |
+
|
| 203 |
+
// Checking for Email Template
|
| 204 |
if(!empty($template_data)){
|
| 205 |
$templateId = $template_data['template_id'];
|
| 206 |
+
$mailSubject = $template_data['template_subject']; // Get Mail Subjest
|
|
|
|
| 207 |
//fetch sender data from Admin end > System > Configuration > Store Email Addresses
|
| 208 |
$from = $this->getFromMail($this->_identity);
|
| 209 |
$billingAddress = $order->getBillingAddress();
|
| 210 |
+
$ReviewUrl = implode("\n", $_ReviewUrl);
|
| 211 |
$mail = new Zend_Mail();
|
| 212 |
$mail->setBodyHTML($message , 'UTF-8',Zend_Mime::ENCODING_8BIT);
|
| 213 |
$mail->setFrom($from['email'], $from['name']);
|
| 219 |
->setIsCustomerNotified(true);
|
| 220 |
$order->save();
|
| 221 |
}
|
| 222 |
+
}
|
| 223 |
|
| 224 |
} // End If Customer has not noitfied before
|
| 225 |
|
| 226 |
} // End if block for number of days
|
| 227 |
|
| 228 |
} // end Try block
|
| 229 |
+
catch (Exception $e)
|
| 230 |
{
|
| 231 |
throw new Exception( 'Something really gone wrong', 0, $e);
|
| 232 |
} // end catch block
|
| 237 |
// end for each block
|
| 238 |
} // End if extension is not enabled
|
| 239 |
}
|
| 240 |
+
|
| 241 |
+
/*
|
| 242 |
+
* @method generateReviewUrl
|
| 243 |
+
* @param Product id
|
| 244 |
+
* @return ReviewUrl
|
| 245 |
+
* @discription: The method is mainly responcible for ReviewUrl
|
| 246 |
+
*/
|
| 247 |
+
|
| 248 |
+
public function generateReviewUrl ($_reviewProductId) {
|
| 249 |
+
$ReviewUrl = Mage::getUrl('review/product/list', array('id'=>$_reviewProductId));
|
| 250 |
+
return $ReviewUrl;
|
| 251 |
+
}
|
| 252 |
+
|
| 253 |
}
|
app/code/community/MC/Mcautoreviewreminderemail/Model/Mcautoreviewreminderemailconfig.php
CHANGED
|
@@ -10,33 +10,98 @@
|
|
| 10 |
|
| 11 |
class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemailconfig extends Mage_Core_Model_Config_Data
|
| 12 |
{
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
protected function _beforeSave()
|
| 15 |
{
|
| 16 |
-
$license_approval = 0;
|
| 17 |
$config_all_fields_value = $this->getFieldset_data();
|
| 18 |
if($config_all_fields_value['mcautoreviewreminderemail_enable'] == 1){
|
| 19 |
-
$
|
| 20 |
$arr = parse_url(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
|
| 21 |
-
|
| 22 |
-
|
| 23 |
$product = "Auto_Review_Reminder_Emailer";
|
| 24 |
-
$
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
|
|
|
|
|
|
|
| 37 |
return $this;
|
| 38 |
}
|
| 39 |
}
|
| 40 |
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
}
|
| 10 |
|
| 11 |
class MC_Mcautoreviewreminderemail_Model_Mcautoreviewreminderemailconfig extends Mage_Core_Model_Config_Data
|
| 12 |
{
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
/*
|
| 16 |
+
* Params : Server Config Varables
|
| 17 |
+
* Funtion: When Curl function invoke
|
| 18 |
+
*/
|
| 19 |
+
public function _curlValidation()
|
| 20 |
+
{
|
| 21 |
+
if(in_array('curl', get_loaded_extensions())):
|
| 22 |
+
return true;
|
| 23 |
+
else:
|
| 24 |
+
return false;
|
| 25 |
+
endif;
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
/*
|
| 29 |
+
* Params : Server Config Varables
|
| 30 |
+
* Funtion: When Fopen function invoke
|
| 31 |
+
*/
|
| 32 |
+
|
| 33 |
+
public function _fopenValidation()
|
| 34 |
+
{
|
| 35 |
+
if(ini_get('allow_url_fopen')):
|
| 36 |
+
return true;
|
| 37 |
+
else:
|
| 38 |
+
return false;
|
| 39 |
+
endif;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
// checking for enabling extension license key is valid or not
|
| 43 |
+
|
| 44 |
protected function _beforeSave()
|
| 45 |
{
|
|
|
|
| 46 |
$config_all_fields_value = $this->getFieldset_data();
|
| 47 |
if($config_all_fields_value['mcautoreviewreminderemail_enable'] == 1){
|
| 48 |
+
$licensekey = $this->getValue();
|
| 49 |
$arr = parse_url(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
|
| 50 |
+
$domain = $arr['host'];
|
| 51 |
+
$store_path = $arr['host'].$arr['path'];
|
| 52 |
$product = "Auto_Review_Reminder_Emailer";
|
| 53 |
+
$validUrl = 'http://irzoo.com/Extensions-Data/getinfo.php?storepath='.$store_path;
|
| 54 |
+
if (empty($licensekey)):
|
| 55 |
+
throw new Exception('Please Enter Valid License Key');endif;
|
| 56 |
+
|
| 57 |
+
$license_approval = '';
|
| 58 |
+
if ($this->_curlValidation()):
|
| 59 |
+
$license_approval = $this->_curlApproval($validUrl,$licensekey,$domain,$product);
|
| 60 |
+
elseif($this->_fopenValidation()):
|
| 61 |
+
$license_approval = $this->_fopenApproval($validUrl,$licensekey,$domain,$product);
|
| 62 |
+
else:
|
| 63 |
+
throw new Exception('Either Curl PHP Library or Allow_url_fopen setting must be Enalbled.');
|
| 64 |
+
endif;
|
| 65 |
|
| 66 |
+
if (!empty($licensekey) && $license_approval != 1):
|
| 67 |
+
throw new Exception('Please Enter Valid License Key');endif;
|
| 68 |
return $this;
|
| 69 |
}
|
| 70 |
}
|
| 71 |
|
| 72 |
|
| 73 |
+
/*
|
| 74 |
+
* Params : All Package Activation attribute
|
| 75 |
+
* Funtion: When Package Activation invoke
|
| 76 |
+
*/
|
| 77 |
+
|
| 78 |
+
public function _curlApproval($validUrl,$licensekey,$domain,$product)
|
| 79 |
+
{
|
| 80 |
+
$_curlUrl = '';
|
| 81 |
+
$_curlUrl = $validUrl."&license=".$licensekey."&domain=".$domain."&product=".$product;
|
| 82 |
+
if(isset($_curlUrl) && $_curlUrl != ''):
|
| 83 |
+
$ch = curl_init($_curlUrl);
|
| 84 |
+
curl_setopt($ch, CURLOPT_HEADER, 0);
|
| 85 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
| 86 |
+
$response = curl_exec($ch);
|
| 87 |
+
$response = (int)$response;
|
| 88 |
+
curl_close($ch);
|
| 89 |
+
endif;
|
| 90 |
+
return $response;
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
/*
|
| 94 |
+
* Params : All Package Activation attribute
|
| 95 |
+
* Funtion: When Package Activation invoke
|
| 96 |
+
*/
|
| 97 |
+
|
| 98 |
+
public function _fopenApproval($validUrl,$licensekey,$domain,$product)
|
| 99 |
+
{
|
| 100 |
+
$response = file_get_contents($validUrl."&license=".$licensekey."&domain=".$domain."&product=".$product);
|
| 101 |
+
$response = (int)$response;
|
| 102 |
+
return $response;
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
|
| 106 |
+
|
| 107 |
}
|
app/code/community/MC/Mcautoreviewreminderemail/controllers/ProductController.php
DELETED
|
@@ -1,253 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
|
| 3 |
-
/*
|
| 4 |
-
* @category Community
|
| 5 |
-
* @package MC_Mcautoreviewreminderemail
|
| 6 |
-
* @Document ProductsController.php
|
| 7 |
-
* @Created on April 11, 2012, 7:05 PM
|
| 8 |
-
* @copyright Copyright (c) 2012 Magento Complete
|
| 9 |
-
*/
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
require_once(Mage::getBaseDir() . '/app/code/core/Mage/Review/controllers/ProductController.php');
|
| 13 |
-
|
| 14 |
-
class MC_Mcautoreviewreminderemail_ProductController extends Mage_Review_ProductController {
|
| 15 |
-
|
| 16 |
-
/**
|
| 17 |
-
* Checking is order has reviewed
|
| 18 |
-
* @param numeric $orderId and numeric $productId
|
| 19 |
-
* @return boolean (true/false )
|
| 20 |
-
*/
|
| 21 |
-
|
| 22 |
-
private function isAlreadyReview($orderId, $productId){
|
| 23 |
-
|
| 24 |
-
$collection = Mage::getModel('review/review')->getCollection()
|
| 25 |
-
->addFieldToFilter('entity_pk_value', $productId)
|
| 26 |
-
->addFieldToFilter('mc_mcautoreviewemailorder_id', $orderId);
|
| 27 |
-
|
| 28 |
-
if($collection->count() > 0){
|
| 29 |
-
$store_link = Mage::getBaseUrl();
|
| 30 |
-
$errorMessage_allready = "You have already submitted review for this product.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 31 |
-
|
| 32 |
-
$errorMessage = Mage::getStoreConfig("mcautoreviewreminderemail/constant/error_message_already_submited");
|
| 33 |
-
|
| 34 |
-
Mage::getSingleton('core/session')->addError($errorMessage_allready);
|
| 35 |
-
$errorMessage_allready = '';
|
| 36 |
-
$this->_redirect("*/*/index/");
|
| 37 |
-
|
| 38 |
-
return false;
|
| 39 |
-
}
|
| 40 |
-
|
| 41 |
-
return true;
|
| 42 |
-
|
| 43 |
-
}
|
| 44 |
-
|
| 45 |
-
/**
|
| 46 |
-
* Checking is order has reviewed
|
| 47 |
-
* @param numeric $orderId and numeric $productId
|
| 48 |
-
* @return boolean (true/false )
|
| 49 |
-
*/
|
| 50 |
-
|
| 51 |
-
private function validateReviewParameters($orderId, $productId){
|
| 52 |
-
|
| 53 |
-
if (!$productId) {
|
| 54 |
-
$store_link = Mage::getBaseUrl();
|
| 55 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 56 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 57 |
-
$errorMessage_param = '';
|
| 58 |
-
$this->_redirect("*/*/index/");
|
| 59 |
-
|
| 60 |
-
return false;
|
| 61 |
-
|
| 62 |
-
}
|
| 63 |
-
|
| 64 |
-
if(!is_numeric($productId)){
|
| 65 |
-
|
| 66 |
-
$store_link = Mage::getBaseUrl();
|
| 67 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 68 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 69 |
-
$errorMessage_param = '';
|
| 70 |
-
|
| 71 |
-
$this->_redirect("*/*/index/");
|
| 72 |
-
|
| 73 |
-
return false;
|
| 74 |
-
|
| 75 |
-
}
|
| 76 |
-
|
| 77 |
-
$product = Mage::getModel('catalog/product')->load($productId);
|
| 78 |
-
|
| 79 |
-
if(!$product->getId()){
|
| 80 |
-
|
| 81 |
-
$store_link = Mage::getBaseUrl();
|
| 82 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 83 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 84 |
-
$errorMessage_param = '';
|
| 85 |
-
|
| 86 |
-
$this->_redirect("*/*/index/");
|
| 87 |
-
|
| 88 |
-
return false;
|
| 89 |
-
|
| 90 |
-
}
|
| 91 |
-
|
| 92 |
-
if (!$orderId) {
|
| 93 |
-
|
| 94 |
-
$store_link = Mage::getBaseUrl();
|
| 95 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 96 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 97 |
-
$errorMessage_param = '';
|
| 98 |
-
|
| 99 |
-
$this->_redirect("*/*/index/");
|
| 100 |
-
|
| 101 |
-
return false;
|
| 102 |
-
|
| 103 |
-
}
|
| 104 |
-
|
| 105 |
-
if(!is_numeric($orderId)){
|
| 106 |
-
|
| 107 |
-
$store_link = Mage::getBaseUrl();
|
| 108 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 109 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 110 |
-
$errorMessage_param = '';
|
| 111 |
-
|
| 112 |
-
$this->_redirect("*/*/index/");
|
| 113 |
-
|
| 114 |
-
return false;
|
| 115 |
-
|
| 116 |
-
}
|
| 117 |
-
|
| 118 |
-
$order = Mage::getModel('sales/order')->load($orderId);
|
| 119 |
-
|
| 120 |
-
if(!$order->getId()){
|
| 121 |
-
|
| 122 |
-
$store_link = Mage::getBaseUrl();
|
| 123 |
-
$errorMessage_param = "Oops, something went wrong. Please try again later.To continue shopping, visit <a href=".$store_link.">here</a>";
|
| 124 |
-
Mage::getSingleton('core/session')->addError($errorMessage_param);
|
| 125 |
-
$errorMessage_param = '';
|
| 126 |
-
$this->_redirect("*/*/index/");
|
| 127 |
-
|
| 128 |
-
return false;
|
| 129 |
-
|
| 130 |
-
}
|
| 131 |
-
|
| 132 |
-
return true;
|
| 133 |
-
|
| 134 |
-
}
|
| 135 |
-
|
| 136 |
-
/*
|
| 137 |
-
*
|
| 138 |
-
*/
|
| 139 |
-
|
| 140 |
-
public function indexAction(){
|
| 141 |
-
|
| 142 |
-
$this->loadLayout();
|
| 143 |
-
|
| 144 |
-
$this->renderLayout();
|
| 145 |
-
|
| 146 |
-
}
|
| 147 |
-
|
| 148 |
-
public function orderItemsAction(){
|
| 149 |
-
|
| 150 |
-
$this->loadLayout();
|
| 151 |
-
|
| 152 |
-
$this->renderLayout();
|
| 153 |
-
|
| 154 |
-
}
|
| 155 |
-
|
| 156 |
-
public function reviewFormAction(){
|
| 157 |
-
|
| 158 |
-
if(Mage::getSingleton('core/session')->hasData('created_review')){
|
| 159 |
-
|
| 160 |
-
Mage::getSingleton('core/session')->unsetData('created_review');
|
| 161 |
-
|
| 162 |
-
$this->_redirect("*/*/index/");
|
| 163 |
-
|
| 164 |
-
return false;
|
| 165 |
-
|
| 166 |
-
}
|
| 167 |
-
|
| 168 |
-
$productId = $this->getRequest()->getParam('id');
|
| 169 |
-
|
| 170 |
-
$orderId = base64_decode($this->getRequest()->getParam('oid'));
|
| 171 |
-
|
| 172 |
-
$flag = $this->isAlreadyReview($orderId, $productId);
|
| 173 |
-
|
| 174 |
-
if(!$flag){
|
| 175 |
-
|
| 176 |
-
return false;
|
| 177 |
-
|
| 178 |
-
}
|
| 179 |
-
|
| 180 |
-
$flag = $this->validateReviewParameters($orderId, $productId);
|
| 181 |
-
|
| 182 |
-
if(!$flag){
|
| 183 |
-
|
| 184 |
-
return false;
|
| 185 |
-
|
| 186 |
-
}
|
| 187 |
-
|
| 188 |
-
if ($product = $this->_initProduct()) {
|
| 189 |
-
|
| 190 |
-
Mage::register('productId', $product->getId());
|
| 191 |
-
|
| 192 |
-
$this->_initProductLayout($product);
|
| 193 |
-
|
| 194 |
-
$this->renderLayout();
|
| 195 |
-
|
| 196 |
-
}elseif (!$this->getResponse()->isRedirect()) {
|
| 197 |
-
|
| 198 |
-
$this->_forward('noRoute');
|
| 199 |
-
|
| 200 |
-
}
|
| 201 |
-
|
| 202 |
-
}
|
| 203 |
-
|
| 204 |
-
/**
|
| 205 |
-
* - Users logged in to the site will only be able to submit the reviews for products they purchased
|
| 206 |
-
* - Guest customers will receive an email with a link to submit their review for the product they bought
|
| 207 |
-
* - Links received by logged in customers and guests are only valid for one submission only.
|
| 208 |
-
* If the user tries to submit a review again the system will tell them that they have already
|
| 209 |
-
* submitted the review on their order
|
| 210 |
-
* - People that have not bought the particular product are not allowed to add reviews
|
| 211 |
-
*
|
| 212 |
-
* @return
|
| 213 |
-
*/
|
| 214 |
-
|
| 215 |
-
public function postAction(){
|
| 216 |
-
$orderId = trim(base64_decode($this->getRequest()->getPost('oid')));
|
| 217 |
-
if( isset($orderId) && $orderId !=''):
|
| 218 |
-
$productId = $this->getRequest()->getParam('id');
|
| 219 |
-
$orderId = base64_decode($this->getRequest()->getPost('oid'));
|
| 220 |
-
$flag = $this->validateReviewParameters($orderId, $productId);
|
| 221 |
-
if(!$flag){return false;}
|
| 222 |
-
$flag = $this->isAlreadyReview($orderId, $productId);
|
| 223 |
-
if(!$flag){ return false; }
|
| 224 |
-
$this->getRequest()->setPost('mc_mcautoreviewemailorder_id', $orderId);
|
| 225 |
-
Mage::getSingleton('core/session')->setData("created_review", 1);
|
| 226 |
-
parent::postAction();
|
| 227 |
-
else:
|
| 228 |
-
parent::postAction();
|
| 229 |
-
endif;
|
| 230 |
-
|
| 231 |
-
}
|
| 232 |
-
|
| 233 |
-
public function loadmorereviewsAction(){
|
| 234 |
-
|
| 235 |
-
$product_id = $this->getRequest()->getParam('product_id');
|
| 236 |
-
|
| 237 |
-
$reviewFrom = $this->getRequest()->getParam('reviewFrom');
|
| 238 |
-
|
| 239 |
-
$reviewTo = $this->getRequest()->getParam('reviewTo');
|
| 240 |
-
|
| 241 |
-
Mage::register('productId', $product_id);
|
| 242 |
-
|
| 243 |
-
Mage::register('reviewFrom', $reviewFrom);
|
| 244 |
-
|
| 245 |
-
Mage::register('reviewTo', $reviewTo);
|
| 246 |
-
|
| 247 |
-
$this->loadLayout();
|
| 248 |
-
|
| 249 |
-
$this->renderLayout();
|
| 250 |
-
|
| 251 |
-
}
|
| 252 |
-
|
| 253 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/MC/Mcautoreviewreminderemail/etc/config.xml
CHANGED
|
@@ -12,27 +12,9 @@
|
|
| 12 |
<config>
|
| 13 |
<modules>
|
| 14 |
<MC_Mcautoreviewreminderemail>
|
| 15 |
-
<version>1.0.5.
|
| 16 |
</MC_Mcautoreviewreminderemail>
|
| 17 |
</modules>
|
| 18 |
-
<frontend>
|
| 19 |
-
<routers>
|
| 20 |
-
<Mcautoreviewreminderemail>
|
| 21 |
-
<use>standard</use>
|
| 22 |
-
<args>
|
| 23 |
-
<module>MC_Mcautoreviewreminderemail</module>
|
| 24 |
-
<frontName>mcautoreviewreminderemail</frontName>
|
| 25 |
-
</args>
|
| 26 |
-
</Mcautoreviewreminderemail>
|
| 27 |
-
</routers>
|
| 28 |
-
<layout>
|
| 29 |
-
<updates>
|
| 30 |
-
<mcautoreviewreminderemail>
|
| 31 |
-
<file>mcautoreviewreminderemail.xml</file>
|
| 32 |
-
</mcautoreviewreminderemail>
|
| 33 |
-
</updates>
|
| 34 |
-
</layout>
|
| 35 |
-
</frontend>
|
| 36 |
<global>
|
| 37 |
<blocks>
|
| 38 |
<mcautoreviewreminderemail>
|
|
@@ -49,12 +31,6 @@
|
|
| 49 |
<class>MC_Mcautoreviewreminderemail_Helper</class>
|
| 50 |
</mcautoreviewreminderemail>
|
| 51 |
</helpers>
|
| 52 |
-
<rewrite>
|
| 53 |
-
<mc_mcautoreviewreminderemail_product>
|
| 54 |
-
<from><![CDATA[#^/review/product/#]]></from>
|
| 55 |
-
<to>/mcautoreviewreminderemail/product/</to>
|
| 56 |
-
</mc_mcautoreviewreminderemail_product>
|
| 57 |
-
</rewrite>
|
| 58 |
<resources>
|
| 59 |
<mcautoreviewreminderemail_setup>
|
| 60 |
<setup>
|
| 12 |
<config>
|
| 13 |
<modules>
|
| 14 |
<MC_Mcautoreviewreminderemail>
|
| 15 |
+
<version>1.0.5.2</version>
|
| 16 |
</MC_Mcautoreviewreminderemail>
|
| 17 |
</modules>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
<global>
|
| 19 |
<blocks>
|
| 20 |
<mcautoreviewreminderemail>
|
| 31 |
<class>MC_Mcautoreviewreminderemail_Helper</class>
|
| 32 |
</mcautoreviewreminderemail>
|
| 33 |
</helpers>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
<resources>
|
| 35 |
<mcautoreviewreminderemail_setup>
|
| 36 |
<setup>
|
app/code/community/MC/Mcautoreviewreminderemail/sql/mcautoreviewreminderemail_setup/{mysql4-install-1.0.5.1.php → mysql4-install-1.0.5.2.php}
RENAMED
|
File without changes
|
app/design/frontend/default/default/layout/mcautoreviewreminderemail.xml
DELETED
|
@@ -1,37 +0,0 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
|
| 3 |
-
<!--
|
| 4 |
-
Document : mcautoreviewreminderemail.xml
|
| 5 |
-
Created on : May 10, 2012, 3:05 PM
|
| 6 |
-
Author : Magento Complete
|
| 7 |
-
Description:
|
| 8 |
-
Purpose of the document follows.
|
| 9 |
-
-->
|
| 10 |
-
<layout version="0.1.0">
|
| 11 |
-
<mcautoreviewreminderemail_product_index>
|
| 12 |
-
<reference name="content">
|
| 13 |
-
<block type="core/template" name="review.index" template="MC/Mcautoreviewreminderemail/index.phtml" />
|
| 14 |
-
</reference>
|
| 15 |
-
</mcautoreviewreminderemail_product_index>
|
| 16 |
-
|
| 17 |
-
<mcautoreviewreminderemail_product_orderitems>
|
| 18 |
-
<reference name="content">
|
| 19 |
-
<block type="mcautoreviewreminderemail/orderItems" name="reviewsorderitems" template="MC/Mcautoreviewreminderemail/orderItems.phtml" />
|
| 20 |
-
</reference>
|
| 21 |
-
</mcautoreviewreminderemail_product_orderitems>
|
| 22 |
-
|
| 23 |
-
<review_product_reviewform>
|
| 24 |
-
<reference name="content">
|
| 25 |
-
<block type="review/form" name="product.review.form" as="review_form">
|
| 26 |
-
<action method="setTemplate"><template>MC/Mcautoreviewreminderemail/form.phtml</template></action>
|
| 27 |
-
</block>
|
| 28 |
-
</reference>
|
| 29 |
-
</review_product_reviewform>
|
| 30 |
-
|
| 31 |
-
<mcautoreviewreminderemail_product_loadmorereviews>
|
| 32 |
-
<reference name="content">
|
| 33 |
-
<block type="mcautoreviewreminderemail/loadmorereviews" output="toHtml" name="root" template="MC/Mcautoreviewreminderemail/loadmorereviews.phtml" />
|
| 34 |
-
</reference>
|
| 35 |
-
</mcautoreviewreminderemail_product_loadmorereviews>
|
| 36 |
-
|
| 37 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/form.phtml
DELETED
|
@@ -1,110 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Magento [Extension]
|
| 4 |
-
* @filename form.phtml
|
| 5 |
-
* @package MC_Mcautoreviewreminderemail
|
| 6 |
-
* @author Magento Complete
|
| 7 |
-
* @category MC
|
| 8 |
-
* @package MC_Mcautoreviewreminderemail
|
| 9 |
-
*/
|
| 10 |
-
?>
|
| 11 |
-
<div class="form-add">
|
| 12 |
-
<h2><?php echo $this->__('Write Your Own Review') ?></h2>
|
| 13 |
-
<form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
|
| 14 |
-
<input type="hidden" name="oid" value="<?php echo $this->getRequest()->getParam('oid') ?>" />
|
| 15 |
-
<fieldset>
|
| 16 |
-
<h3><?php echo $this->__("You're reviewing:"); ?> <span><?php echo $this->htmlEscape($this->getProductInfo()->getName()) ?></span></h3>
|
| 17 |
-
<?php if( $this->getRatings() && $this->getRatings()->getSize()): ?>
|
| 18 |
-
<h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4>
|
| 19 |
-
<span id="input-message-box"></span>
|
| 20 |
-
<table class="data-table" id="product-review-table">
|
| 21 |
-
<col />
|
| 22 |
-
<col width="1" />
|
| 23 |
-
<col width="1" />
|
| 24 |
-
<col width="1" />
|
| 25 |
-
<col width="1" />
|
| 26 |
-
<col width="1" />
|
| 27 |
-
<thead>
|
| 28 |
-
<tr>
|
| 29 |
-
<th> </th>
|
| 30 |
-
<th><span class="nobr"><?php echo $this->__('1 star') ?></span></th>
|
| 31 |
-
<th><span class="nobr"><?php echo $this->__('2 stars') ?></span></th>
|
| 32 |
-
<th><span class="nobr"><?php echo $this->__('3 stars') ?></span></th>
|
| 33 |
-
<th><span class="nobr"><?php echo $this->__('4 stars') ?></span></th>
|
| 34 |
-
<th><span class="nobr"><?php echo $this->__('5 stars') ?></span></th>
|
| 35 |
-
</tr>
|
| 36 |
-
</thead>
|
| 37 |
-
<tbody>
|
| 38 |
-
<?php foreach ($this->getRatings() as $_rating): ?>
|
| 39 |
-
<tr>
|
| 40 |
-
<th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th>
|
| 41 |
-
<?php foreach ($_rating->getOptions() as $_option): ?>
|
| 42 |
-
<td class="value"><input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" /></td>
|
| 43 |
-
<?php endforeach; ?>
|
| 44 |
-
</tr>
|
| 45 |
-
<?php endforeach; ?>
|
| 46 |
-
</tbody>
|
| 47 |
-
</table>
|
| 48 |
-
<input type="hidden" name="validate_rating" class="validate-rating" value="" />
|
| 49 |
-
<script type="text/javascript">decorateTable('product-review-table')</script>
|
| 50 |
-
<?php endif; ?>
|
| 51 |
-
<ul class="form-list">
|
| 52 |
-
<li>
|
| 53 |
-
<label for="nickname_field" class="required"><em>*</em><?php echo $this->__('Nickname') ?></label>
|
| 54 |
-
<div class="input-box">
|
| 55 |
-
<input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getNickname()) ?>" />
|
| 56 |
-
</div>
|
| 57 |
-
</li>
|
| 58 |
-
<li>
|
| 59 |
-
<label for="summary_field" class="required"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label>
|
| 60 |
-
<div class="input-box">
|
| 61 |
-
<input type="text" name="title" id="summary_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getTitle()) ?>" />
|
| 62 |
-
</div>
|
| 63 |
-
</li>
|
| 64 |
-
<li>
|
| 65 |
-
<label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label>
|
| 66 |
-
<div class="input-box">
|
| 67 |
-
<textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea>
|
| 68 |
-
</div>
|
| 69 |
-
</li>
|
| 70 |
-
</ul>
|
| 71 |
-
</fieldset>
|
| 72 |
-
<div class="buttons-set">
|
| 73 |
-
<button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"><span><span><?php echo $this->__('Submit Review') ?></span></span></button>
|
| 74 |
-
</div>
|
| 75 |
-
</form>
|
| 76 |
-
<script type="text/javascript">
|
| 77 |
-
//<![CDATA[
|
| 78 |
-
var dataForm = new VarienForm('review-form');
|
| 79 |
-
Validation.addAllThese(
|
| 80 |
-
[
|
| 81 |
-
['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function(v) {
|
| 82 |
-
var trs = $('product-review-table').select('tr');
|
| 83 |
-
var inputs;
|
| 84 |
-
var error = 1;
|
| 85 |
-
|
| 86 |
-
for( var j=0; j < trs.length; j++ ) {
|
| 87 |
-
var tr = trs[j];
|
| 88 |
-
if( j > 0 ) {
|
| 89 |
-
inputs = tr.select('input');
|
| 90 |
-
|
| 91 |
-
for( i in inputs ) {
|
| 92 |
-
if( inputs[i].checked == true ) {
|
| 93 |
-
error = 0;
|
| 94 |
-
}
|
| 95 |
-
}
|
| 96 |
-
|
| 97 |
-
if( error == 1 ) {
|
| 98 |
-
return false;
|
| 99 |
-
} else {
|
| 100 |
-
error = 1;
|
| 101 |
-
}
|
| 102 |
-
}
|
| 103 |
-
}
|
| 104 |
-
return true;
|
| 105 |
-
}]
|
| 106 |
-
]
|
| 107 |
-
);
|
| 108 |
-
//]]>
|
| 109 |
-
</script>
|
| 110 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/index.phtml
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
<h3>Product Review</h3>
|
|
|
app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/loadmorereviews.phtml
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Magento [Extension]
|
| 4 |
-
* @filename loadmorereviews.phtml
|
| 5 |
-
* @package MC_Mcautoreviewreminderemail
|
| 6 |
-
* @author Magento Complete
|
| 7 |
-
* @category MC
|
| 8 |
-
* @package MC_Mcautoreviewreminderemail
|
| 9 |
-
*/
|
| 10 |
-
|
| 11 |
-
$product_id = Mage::registry('productId');
|
| 12 |
-
$reviewFrom = Mage::registry('reviewFrom');
|
| 13 |
-
$reviewTo = Mage::registry('reviewTo');
|
| 14 |
-
$reviewsModel = Mage::getModel('reviews/loadmorereviews');
|
| 15 |
-
$reviewsCollection = $reviewsModel->getMoreReview($product_id,$reviewFrom,$reviewTo);
|
| 16 |
-
$htmlstr = '';
|
| 17 |
-
$obj = new Mage_Review_Block_Product_View();
|
| 18 |
-
foreach($reviewsCollection as $_review){
|
| 19 |
-
|
| 20 |
-
$htmlstr .= "<p>".nl2br($obj->htmlEscape($_review->getDetail()))."</p>";
|
| 21 |
-
$results = $reviewsModel->getRating($_review->getReviewId());
|
| 22 |
-
foreach ($results as $_vote):
|
| 23 |
-
$vote_range[] = $_vote['percent'];
|
| 24 |
-
$htmlstr .= '<li>'.$this->escapeHtml($_vote['rating_code']).'<br />';
|
| 25 |
-
$htmlstr .= "<span class=\"rating-box\" style=\"width:58%\">
|
| 26 |
-
<div class=\"rating\" style=\"width:".$_vote['percent']."%;\"></div>
|
| 27 |
-
</span></li>";
|
| 28 |
-
endforeach;
|
| 29 |
-
$htmlstr .='<span><strong>'.$obj->__("%s ", $obj->htmlEscape($_review->getNickname())) .'</strong>in'.date('F Y', strtotime($_review->getCreatedAt())).'</span>';
|
| 30 |
-
}
|
| 31 |
-
echo $htmlstr;
|
| 32 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/default/default/template/MC/Mcautoreviewreminderemail/orderItems.phtml
DELETED
|
@@ -1,61 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Magento [Extension]
|
| 4 |
-
* @filename orderItems.phtml
|
| 5 |
-
* @package MC_Mcautoreviewreminderemail
|
| 6 |
-
* @author Magento Complete
|
| 7 |
-
* @category MC
|
| 8 |
-
* @package MC_Mcautoreviewreminderemail
|
| 9 |
-
*/
|
| 10 |
-
|
| 11 |
-
$order = $this->getOrder();
|
| 12 |
-
$billingAddress = $this->getBillingAddress();
|
| 13 |
-
$items = $this->getOrderItems();
|
| 14 |
-
?>
|
| 15 |
-
|
| 16 |
-
<h3>Product Review</h3>
|
| 17 |
-
|
| 18 |
-
<?php if($order){ ?>
|
| 19 |
-
<?php if ($billingAddress) { ?>
|
| 20 |
-
<?php foreach ($items as $item) {
|
| 21 |
-
if($this->isAlreadyReviewed($item->getProductId())){?>
|
| 22 |
-
<p><?php echo $this->__('Thanks for your review.To continue shopping, visit'); ?> <a href="<?php echo Mage::getBaseUrl();?>" ><?php echo $this->__('here');?></a></p>
|
| 23 |
-
<?php } }?>
|
| 24 |
-
<p><?php echo $this->__('Your purchase information are following:');?></p>
|
| 25 |
-
<br/><br/>
|
| 26 |
-
<?php } ?>
|
| 27 |
-
|
| 28 |
-
<p>
|
| 29 |
-
<div><b><?php echo $this->__('Purchased On#');?></b> <?php echo date('F j, Y', strtotime($order->getCreatedAt())) ?></div>
|
| 30 |
-
<div><b><?php echo $this->__('Order#');?></b> <?php echo $order->getIncrementId() ?></div>
|
| 31 |
-
</p>
|
| 32 |
-
|
| 33 |
-
<?php if ($items) { ?>
|
| 34 |
-
<table width="100%">
|
| 35 |
-
<tr>
|
| 36 |
-
<td><b><?php echo $this->__('Name');?></b></td>
|
| 37 |
-
<td><b><?php echo $this->__('Qty');?></b></td>
|
| 38 |
-
<td><b><?php echo $this->__('Price');?></b></td>
|
| 39 |
-
<td> </td>
|
| 40 |
-
</tr>
|
| 41 |
-
<?php foreach ($items as $item) { ?>
|
| 42 |
-
<tr>
|
| 43 |
-
<td><?php echo $item->getName() ?></td>
|
| 44 |
-
<td><?php echo $item->getQtyOrdered() ?></td>
|
| 45 |
-
<td><?php echo $item->getPrice() ?></td>
|
| 46 |
-
<td>
|
| 47 |
-
<?php if(!$this->isAlreadyReviewed($item->getProductId())){ ?>
|
| 48 |
-
<a href="<?php echo $this->getUrl('review/product/reviewForm/id/'.$item->getProductId().'/oid/'.base64_encode($order->getId())); ?>">
|
| 49 |
-
<?php echo $this->__('Review');?>
|
| 50 |
-
</a>
|
| 51 |
-
<?php }else{ ?>
|
| 52 |
-
<p style="color:green;"><?php echo $this->__('Reviewed');?></p>
|
| 53 |
-
<?php } ?>
|
| 54 |
-
</td>
|
| 55 |
-
</tr>
|
| 56 |
-
<?php } ?>
|
| 57 |
-
</table>
|
| 58 |
-
<?php } ?>
|
| 59 |
-
<?php }else{ ?>
|
| 60 |
-
<p style="color:red;"><?php echo $this->__('Order not found.');?></p>
|
| 61 |
-
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>irzzo_autoreviewreminderemail</name>
|
| 4 |
-
<version>1.0.5.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -41,9 +41,9 @@
|
|
| 41 |
*Updated CrontJob
|
| 42 |
</notes>
|
| 43 |
<authors><author><name>Nitin Gupta</name><user>Irzoo</user><email>support@irzoo.com</email></author></authors>
|
| 44 |
-
<date>2013-
|
| 45 |
-
<time>
|
| 46 |
-
<contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="MC"><dir name="Mcautoreviewreminderemail"><dir name="
|
| 47 |
<compatible/>
|
| 48 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 49 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>irzzo_autoreviewreminderemail</name>
|
| 4 |
+
<version>1.0.5.2</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
| 41 |
*Updated CrontJob
|
| 42 |
</notes>
|
| 43 |
<authors><author><name>Nitin Gupta</name><user>Irzoo</user><email>support@irzoo.com</email></author></authors>
|
| 44 |
+
<date>2013-06-05</date>
|
| 45 |
+
<time>12:24:42</time>
|
| 46 |
+
<contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="MC"><dir name="Mcautoreviewreminderemail"><dir name="Helper"><file name="Data.php" hash="ae57c5fb854298663972b44643b220dc"/></dir><dir name="Model"><file name="Mcautoreviewreminderemail.php" hash="dd5c0c0fb9593b0b469059dc3ab63dea"/><file name="Mcautoreviewreminderemailconfig.php" hash="965c38366fda23464d5b008c92171ddb"/><file name="Mcautoreviewreminderemailtemplate.php" hash="24c333e8814ab3f5d139edc87eb57b36"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1a75635dc4af87408bd179753ae06f86"/><file name="config.xml" hash="64d28e26d8e6a379270156f5a8ab8c6e"/><file name="system.xml" hash="f904836fb5c360f37d5768e9a57b31ff"/></dir><dir name="sql"><dir name="mcautoreviewreminderemail_setup"><file name="mysql4-install-1.0.5.2.php" hash="6981afef458486650f0ce78c0527e963"/></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="MC_Mcautoreviewreminderemail.xml" hash="ab944a54085cd6511dfc9068bc8f884d"/></dir></dir></dir><dir name="."><file name="Auto Review Reminder Emailer User Installation Guide.pdf" hash="d348caa95a41168e153d1dbd0c888b8c"/><file name="IrzooProductsDemo_Details.pdf" hash="65a9a1bfa5ee8d04ebcf32e2b0dbda4b"/></dir></target></contents>
|
| 47 |
<compatible/>
|
| 48 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 49 |
</package>
|
