Example #1
0
 public function getItemHtml(Varien_Object $item)
 {
     $html = parent::getItemHtml($item);
     $product = Mage::getModel('catalog/product')->load($item->getProductId());
     $show = 0;
     if ($item->getProductType() == 'configurable') {
         $itemId = $item->getItemId();
         $children = Mage::getModel('sales/order_item')->getCollection();
         $children->getSelect()->where("main_table.parent_item_id = {$itemId}");
         foreach ($children as $child) {
             $show = $show || Mage::getModel('catalog/product')->load($child->getProductId())->getSerialCodeShowOrder();
         }
     }
     if ($show || $product->getSerialCodeShowOrder()) {
         $sc_model = Mage::getSingleton('serialcodes/serialcodes');
         $name = $this->htmlEscape($item->getName());
         $codetype = $item->getSerialCodeType();
         $codes = explode("\n", $item->getSerialCodes());
         $count = count($codes);
         $local = '<span style="font-weight:normal;">';
         if ($codes[0]) {
             $order = Mage::getSingleton('sales/order')->load($item->getOrderId());
             $codeids = array_pad(explode(',', $item->getSerialCodeIds()), $count, '');
             for ($i = 0; $i < $count; $i++) {
                 if ($sc_model->hidePendingCodes($order, $item, $product, $codeids[$i], $i)) {
                     $codes[$i] = Mage::helper('serialcodes')->__('Issued when payment received.');
                 }
                 $local .= '</br>' . $codetype . ': ' . $codes[$i];
             }
         }
         $local .= '</span>';
         if (strpos($html, $name)) {
             $start = strpos($html, $name) + strlen($name);
         } else {
             $start = strpos($html, '</h3>') + 5;
         }
         $test = trim(strip_tags($local));
         if ($test && $test != ':') {
             $html = substr_replace($html, $local, $start, 0);
         }
     }
     return $html;
 }