Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function newpostAction()
- {
- /**
- * Check license key
- */
- Mage::helper('marketplace')->checkMarketplaceKey();
- /**
- * Initilize customer and seller group id
- */
- $customerGroupId = $sellerGroupId = $customerStatus = '';
- Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
- $customerGroupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
- $sellerGroupId = Mage::helper('marketplace')->getGroupId();
- $customerStatus = Mage::getSingleton('customer/session')->getCustomer()->getCustomerstatus();
- if (!$this->_getSession()->isLoggedIn() && $customerGroupId != $sellerGroupId) {
- Mage::getSingleton('core/session')->addError($this->__('You must have a Seller Account to access this page'));
- $this->_redirect('marketplace/seller/login');
- return;
- }
- /**
- * Checking whether customer approved or not
- */
- if ($customerStatus != 1) {
- Mage::getSingleton('core/session')->addError($this->__('Admin Approval is required. Please wait until admin confirms your Seller Account'));
- $this->_redirect('marketplace/seller/login');
- return;
- }
- /**
- * Initializing variables
- */
- $productNameTrim = $set = $setbase = $type = $store = $sellerId = '';
- /**
- * Getting product values
- */
- $type = $this->getRequest()->getPost('type');
- /**
- * Attribute set
- */
- $set = $this->getRequest()->getPost('set');
- $setbase = $this->getRequest()->getPost('setbase');
- $store = $this->getRequest()->getPost('store');
- if (Mage::getSingleton('customer/session')->isLoggedIn()) {
- $sellerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
- }
- /**
- * Getting group id
- */
- $groupId = Mage::helper('marketplace')->getGroupId();
- /**
- * Getting product data from product array
- */
- $productData = $this->getRequest()->getPost('product');
- $silkType = $productData['silktype'];
- /**
- * Getting product categories from category_ids array
- */
- $categoryIds = $this->getRequest()->getPost('category_ids');
- if (!empty($productData['name']) && !empty($productData['description']) && isset($productData['price']) && isset($productData['stock_data']['qty']) && !empty($type)) {
- /**
- * Initilize product weight
- */
- if ($type == 'simple') {
- if (!isset($productData['weight'])) {
- $productData['weight'] = 0;
- }
- }
- /**
- * Assing product short description
- */
- if (!empty($productData['short_description'])) {
- $productData['short_description'] = $productData['short_description'];
- }
- /**
- * Assign create at time
- */
- $createdAt = Mage::getModel('core/date')->gmtDate();
- /**
- * Getting instance for catalog product collection
- */
- $product = Mage::getModel('catalog/product');
- /**
- * Initialize product sku
- */
- if (isset($productData['sku'])) {
- $skuProductId = Mage::getModel('catalog/product')
- ->getIdBySku(trim($productData['sku']));
- if (!empty($skuProductId)) {
- /**
- * Error message redirect to create new product page
- */
- Mage::getSingleton('core/session')->addError($this->__('SKU Not Available'));
- $this->_redirect('marketplace/product/new/');
- return;
- }
- }
- /**
- * Initialize product attribute set id
- */
- if (!empty($set)) {
- $product->setAttributeSetId($set);
- } else {
- $sDefaultAttributeSetId = Mage::getSingleton('eav/config')
- ->getEntityType(Mage_Catalog_Model_Product::ENTITY)
- ->getDefaultAttributeSetId();
- $product->setAttributeSetId($sDefaultAttributeSetId);
- }
- /**
- * Initialize product type
- */
- if (isset($type)) {
- $product->setTypeId($type);
- }
- /**
- * Initialize product categories
- */
- if (isset($categoryIds)) {
- $product->setCategoryIds($categoryIds);
- }
- $product->setSilktype($silkType);
- /**
- * Storing product data's to all store view
- */
- $product->setStoreId(0);
- /**
- * Initialize product create at time
- */
- if (isset($createdAt)) {
- $product->setCreatedAt($createdAt);
- }
- /**
- * Initialize seller id
- */
- if (isset($sellerId)) {
- $product->setSellerId($sellerId);
- }
- /**
- * Initialize group id
- */
- if (isset($groupId)) {
- $product->setGroupId($groupId);
- }
- /**
- * Set is assign product
- */
- $product->setIsAssignProduct(0);
- $uploadsData = new Zend_File_Transfer_Adapter_Http();
- $filesDataArray = $uploadsData->getFileInfo();
- /**
- * Checking whether image exist or not
- */
- if (!empty($filesDataArray)) {
- foreach ($filesDataArray as $key => $value) {
- /**
- * Initilize file name
- */
- $filename = $key;
- if (substr($key, 0, 5) == 'image') {
- if (isset($filesDataArray[$filename]['name']) && (file_exists($filesDataArray[$filename]['tmp_name']))) {
- try {
- $imagesPath[] = Mage::helper('marketplace/marketplace')->uploadImage($filename, $filesDataArray);
- } catch (Exception $e) {
- /**
- * Display error message for images upload
- */
- Mage::getSingleton('core/session')->addError($this->__($e->getMessage()));
- }
- }
- }
- }
- }
- /**
- * Adding Product images
- */
- if (!empty($imagesPath)) {
- $product->setMediaGallery(array('images' => array(), 'values' => array()));
- foreach ($imagesPath as $value) {
- $product->addImageToMediaGallery($value, array('image', 'small_image', 'thumbnail'), false, false);
- }
- }
- /**
- * Initialize dispatch event for product prepare
- */
- Mage::dispatchEvent(
- 'catalog_product_prepare_save', array('product' => $product, 'request' => $this->getRequest())
- );
- /**
- * Assign configurable product data
- */
- if ($type == 'configurable') {
- $attributeIds = $this->getRequest()->getPost('attributes');
- $isInStock = 1;
- if (isset($productData['stock_data']['is_in_stock'])) {
- $isInStock = $productData['stock_data']['is_in_stock'];
- }
- $productData['stock_data'] = array();
- if (count($attributeIds) >= 1) {
- $attributeIds = array_unique($attributeIds);
- $product->getTypeInstance()->setUsedProductAttributeIds($attributeIds);
- $configurableAttributesData = $product->getTypeInstance()->getConfigurableAttributesAsArray();
- $product->setCanSaveConfigurableAttributes(true);
- $product->setConfigurableAttributesData($configurableAttributesData);
- $product->setConfigurableProductsData(array());
- }
- }
- /**
- * Adding data to product instanse
- */
- if (!empty($productData)) {
- $product->addData($productData);
- }
- /**
- * Saving new product
- */
- try {
- $product->save();
- if ($type == 'configurable') {
- $stockItem = Mage::getModel('cataloginventory/stock_item');
- $stockItem->assignProduct($product);
- $stockItem->setData('stock_id', 1);
- if (isset($productData['stock_data']['qty'])) {
- $stockItem->setData('qty', $productData['stock_data']['qty']);
- } else {
- $stockItem->setData('qty', 0);
- }
- $stockItem->setData('use_config_min_qty', 1);
- $stockItem->setData('use_config_backorders', 1);
- $stockItem->setData('min_sale_qty', 1);
- $stockItem->setData('use_config_min_sale_qty', 1);
- $stockItem->setData('use_config_max_sale_qty', 1);
- $stockItem->setData('is_in_stock', $isInStock);
- $stockItem->setData('use_config_notify_stock_qty', 1);
- $stockItem->setData('manage_stock', 1);
- $stockItem->save();
- //This section is what was required.
- $stockStatus = Mage::getModel('cataloginventory/stock_status');
- $stockStatus->assignProduct($product);
- $stockStatus->saveProductStatus($product->getId(), 1);
- }
- $productId = $product->getId();
- /**
- * Load the product
- */
- $product = Mage::getModel('catalog/product')->load($productId);
- /**
- * Get all images
- */
- $mediaGallery = $product->getMediaGallery();
- /**
- * If there are images
- */
- if (isset($mediaGallery['images']) && !empty($store)) {
- /**
- * Loop through the images
- */
- $increment = 0;
- foreach ($mediaGallery['images'] as $image) {
- /**
- * Set the first image as the base image
- */
- if ($increment == $setbase) {
- $product->setStoreId($store)
- ->setImage($image['file'])
- ->setSmallImage($image['file'])
- ->setThumbnail($image['file']);
- $product->save();
- }
- $increment++;
- /**
- * Stop
- */
- }
- }
- /**
- * Initialize product options
- */
- if (!empty($productData['options'])) {
- $product->setProductOptions($productData['options']);
- $product->setCanSaveCustomOptions(1);
- $product->save();
- }
- /**
- * Checking whether image or not
- */
- if (!empty($imagesPath)) {
- foreach ($imagesPath as $deleteImage) {
- /**
- * Checking whether image exist or not
- */
- if (file_exists($deleteImage)) {
- /**
- * Delete images from temporary folder
- */
- unlink($deleteImage);
- }
- }
- }
- /**
- * Function for adding downloadable product sample and link data
- */
- $downloadProductId = $product->getId();
- if ($type == 'downloadable' && isset($downloadProductId) && isset($store)) {
- $this->addDownloadableProductData($downloadProductId, $store);
- }
- /**
- * Success message redirect to manage product page
- */
- if (Mage::helper('marketplace')->getProductApproval() == 1) {
- Mage::getSingleton('core/session')->addSuccess($this->__('Your product is added successfully'));
- $mail = Mage::getModel('core/email');
- /*$mail = Mage::getModel('core/email');
- $mail->setToName('User');
- $mail->setToEmail('testmail98@gmail.com');
- $mail->setBody('Send Test mail to you.....');
- $mail->setSubject('Test Mail');
- $mail->setFromEmail('testmail@gmail.com');
- $mail->setFromName("Send Test mail to you.....");
- $mail->setType('html');// YOu can use Html or text as Mail format
- $mail->send(); */
- $sellerData = Mage::getSingleton('customer/session')->getCustomer();
- $sellerIdss = $sellerData->getId();
- $seller_mail = $sellerData->getEmail();
- $collectionss = Mage::getModel('followup/followup')->getCollection()
- ->addFieldToFilter('seller_id', $sellerIdss)
- ->addFieldToFilter('seller_email', $seller_mail);
- foreach ($collectionss as $item) {
- $mycustomer_email = $item->getCustomerEmail();
- $mycustomer_name = $item->getCustomerName();
- $template_id = 'customer_update';
- $email_to = $mycustomer_email;
- $customer_name = $cus_name;
- $email_template = Mage::getModel('core/email_template')->loadDefault($template_id);
- $custom_variable = $mycustomer_name;
- //$custom_variable1 = $cus_email;
- $custom_variable1 = $this->getRequest()->getPost('store_name');
- $email_template_variables = array(
- 'custom_variable' => $custom_variable,
- 'custom_variable1' => $custom_variable1);
- //'custom_variable2' => $custom_variable2);
- $sender_name = Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_STORE_STORE_NAME);
- $sender_email = Mage::getStoreConfig('trans_email/ident_general/email');
- $email_template->setSenderName($sender_name);
- $email_template->setSenderEmail($sender_email);
- $email_template->send($email_to, $customer_name, $email_template_variables);
- }
- if (Mage::getStoreConfig('marketplace/product/addproductemailnotification') == 1) {
- /**
- * Sending email for added new product
- */
- $templateId = (int)Mage::getStoreConfig('marketplace/product/addproductemailnotificationtemplate');
- $adminEmailId = Mage::getStoreConfig('marketplace/marketplace/admin_email_id');
- $toMailId = Mage::getStoreConfig("trans_email/ident_$adminEmailId/email");
- $toName = Mage::getStoreConfig("trans_email/ident_$adminEmailId/name");
- /**
- * Selecting template id
- */
- if ($templateId) {
- $emailTemplate = Mage::getModel('core/email_template')->load($templateId);
- } else {
- $emailTemplate = Mage::getModel('core/email_template')
- ->loadDefault('marketplace_product_addproductemailnotificationtemplate');
- }
- $customer = Mage::getModel('customer/customer')->load($sellerId);
- $selleremail = $customer->getEmail();
- $recipient = $toMailId;
- $sellername = $customer->getName();
- $productname = $product->getName();
- $producturl = $product->getProductUrl();
- $emailTemplate->setSenderName($sellername);
- $emailTemplate->setSenderEmail($selleremail);
- $emailTemplateVariables = (array('ownername' => $toName, 'sellername' => $sellername, 'selleremail' => $selleremail, 'productname' => $productname, 'producturl' => $producturl));
- $emailTemplate->setDesignConfig(array('area' => 'frontend'));
- $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables);
- $emailTemplate->send($recipient, $sellername, $emailTemplateVariables);
- }
- } else {
- Mage::getSingleton('core/session')->addSuccess($this->__('Your product is awaiting moderation'));
- /*$mail = Mage::getModel('core/email');
- $mail->setToName('User');
- $mail->setToEmail('testmail98@gmail.com');
- $mail->setBody('Send Test mail to you.....');
- $mail->setSubject('Test Mail');
- $mail->setFromEmail('testmail@gmail.com');
- $mail->setFromName("Send Test mail to you.....");
- $mail->setType('html');// YOu can use Html or text as Mail format
- $mail->send(); */
- foreach ($collectionss as $item) {
- $mycustomer_email = $item->getCustomerEmail();
- $mycustomer_name = $item->getCustomerName();
- $template_id = 'customer_update';
- $email_to = $mycustomer_email;
- $customer_name = $cus_name;
- $email_template = Mage::getModel('core/email_template')->loadDefault($template_id);
- $custom_variable = $mycustomer_name;
- //$custom_variable1 = $cus_email;
- $custom_variable1 = $this->getRequest()->getPost('store_name');
- $email_template_variables = array(
- 'custom_variable' => $custom_variable,
- 'custom_variable1' => $custom_variable1);
- //'custom_variable2' => $custom_variable2);
- $sender_name = Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_STORE_STORE_NAME);
- $sender_email = Mage::getStoreConfig('trans_email/ident_general/email');
- $email_template->setSenderName($sender_name);
- $email_template->setSenderEmail($sender_email);
- $email_template->send($email_to, $customer_name, $email_template_variables);
- }
- if (Mage::getStoreConfig('marketplace/product/addproductemailnotification') == 1) {
- /**
- * Sending email for added new product
- */
- $templateId = (int)Mage::getStoreConfig('marketplace/product/addproductapprovalemailnotificationtemplate');
- $adminEmailId = Mage::getStoreConfig('marketplace/marketplace/admin_email_id');
- $toMailId = Mage::getStoreConfig("trans_email/ident_$adminEmailId/email");
- $toName = Mage::getStoreConfig("trans_email/ident_$adminEmailId/name");
- if ($templateId) {
- $emailTemplate = Mage::getModel('core/email_template')->load($templateId);
- } else {
- $emailTemplate = Mage::getModel('core/email_template')
- ->loadDefault('marketplace_product_addproductapprovalemailnotificationtemplate');
- }
- $customer = Mage::getModel('customer/customer')->load($sellerId);
- $selleremail = $customer->getEmail();
- $recipient = $toMailId;
- $sellername = $customer->getName();
- $productname = $product->getName();
- $producturl = Mage::helper('adminhtml')->getUrl('adminhtml/catalog_product/edit', array('id' => $product->getId()));
- $emailTemplate->setSenderName($sellername);
- $emailTemplate->setSenderEmail($selleremail);
- $emailTemplateVariables = (array('ownername' => $toName, 'sellername' => $sellername, 'selleremail' => $selleremail, 'productname' => $productname, 'producturl' => $producturl));
- $emailTemplate->setDesignConfig(array('area' => 'frontend'));
- $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables);
- $emailTemplate->send($recipient, $sellername, $emailTemplateVariables);
- }
- }
- if ($type == 'configurable') {
- $this->_redirect('marketplace/product/configurable/', array('id' => $productId, 'set' => $set));
- return;
- }
- $this->_redirect('marketplace/product/manage/');
- } catch (Mage_Core_Exception $e) {
- /**
- * Error message redirect to create new product page
- */
- Mage::getSingleton('core/session')->addError($this->__($e->getMessage()));
- $this->_redirect('marketplace/product/create/');
- } catch (Exception $e) {
- /**
- * Error message redirect to create new product page
- */
- Mage::getSingleton('core/session')->addError($this->__($e->getMessage()));
- $this->_redirect('marketplace/product/create/');
- }
- } else {
- Mage::getSingleton('core/session')->addError($this->__('Please enter all required fields'));
- if ($type == 'configurable') {
- $this->_redirect('marketplace/product/selectattributes/', array('set' => $set));
- return;
- }
- $this->_redirect('marketplace/product/new');
- }
- }
- <catalog_product_save_after>
- <observers>
- <marketplace>
- <class>marketplace/observer</class>
- <method>sendme</method>
- </marketplace>
- </observers>
- </catalog_product_save_after>
- public function sendme($observer)
- {
- $mail = Mage::getModel('core/email');
- $mail->setToName('User');
- $mail->setToEmail('testmail98@gmail.com');
- $mail->setBody('Send Test mail to you.....');
- $mail->setSubject('Test Mail');
- $mail->setFromEmail('testmail@gmail.com');
- $mail->setFromName("Send Test mail to you.....");
- $mail->setType('html');// YOu can use Html or text as Mail format
- $mail->send();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement