| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/boutiques/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ |
Upload File : |
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Adminhtml
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Adminhtml entity sets controller
*
* @category Mage
* @package Mage_Adminhtml
* @author Magento Core Team <core@magentocommerce.com>
*/
class Mage_Adminhtml_Catalog_Product_SetController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
$this->_title($this->__('Catalog'))
->_title($this->__('Attributes'))
->_title($this->__('Manage Attribute Sets'));
$this->_setTypeId();
$this->loadLayout();
$this->_setActiveMenu('catalog/sets');
$this->_addBreadcrumb(Mage::helper('catalog')->__('Catalog'), Mage::helper('catalog')->__('Catalog'));
$this->_addBreadcrumb(Mage::helper('catalog')->__('Manage Attribute Sets'), Mage::helper('catalog')->__('Manage Attribute Sets'));
$this->_addContent($this->getLayout()->createBlock('adminhtml/catalog_product_attribute_set_toolbar_main'));
$this->_addContent($this->getLayout()->createBlock('adminhtml/catalog_product_attribute_set_grid'));
$this->renderLayout();
}
public function editAction()
{
$this->_title($this->__('Catalog'))
->_title($this->__('Attributes'))
->_title($this->__('Manage Attribute Sets'));
$this->_setTypeId();
$attributeSet = Mage::getModel('eav/entity_attribute_set')
->load($this->getRequest()->getParam('id'));
if (!$attributeSet->getId()) {
$this->_redirect('*/*/index');
return;
}
$this->_title($attributeSet->getId() ? $attributeSet->getAttributeSetName() : $this->__('New Set'));
Mage::register('current_attribute_set', $attributeSet);
$this->loadLayout();
$this->_setActiveMenu('catalog/sets');
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
$this->_addBreadcrumb(Mage::helper('catalog')->__('Catalog'), Mage::helper('catalog')->__('Catalog'));
$this->_addBreadcrumb(Mage::helper('catalog')->__('Manage Product Sets'), Mage::helper('catalog')->__('Manage Product Sets'));
$this->_addContent($this->getLayout()->createBlock('adminhtml/catalog_product_attribute_set_main'));
$this->renderLayout();
}
public function setGridAction()
{
$this->_setTypeId();
$this->getResponse()->setBody($this->getLayout()->createBlock('adminhtml/catalog_product_attribute_set_grid')->toHtml());
}
/**
* Save attribute set action
*
* [POST] Create attribute set from another set and redirect to edit page
* [AJAX] Save attribute set data
*
*/
public function saveAction()
{
$entityTypeId = $this->_getEntityTypeId();
$hasError = false;
$attributeSetId = $this->getRequest()->getParam('id', false);
$isNewSet = $this->getRequest()->getParam('gotoEdit', false) == '1';
/* @var $model Mage_Eav_Model_Entity_Attribute_Set */
$model = Mage::getModel('eav/entity_attribute_set')
->setEntityTypeId($entityTypeId);
try {
if ($isNewSet) {
$model->setAttributeSetName($this->getRequest()->getParam('attribute_set_name'));
} else {
if ($attributeSetId) {
$model->load($attributeSetId);
}
if (!$model->getId()) {
Mage::throwException(Mage::helper('catalog')->__('This attribute set no longer exists.'));
}
$data = Mage::helper('core')->jsonDecode($this->getRequest()->getPost('data'));
$model->organizeData($data);
}
$model->validate();
if ($isNewSet) {
$model->save();
$model->initFromSkeleton($this->getRequest()->getParam('skeleton_set'));
}
$model->save();
$this->_getSession()->addSuccess(Mage::helper('catalog')->__('The attribute set has been saved.'));
} catch (Mage_Core_Exception $e) {
$this->_getSession()->addError($e->getMessage());
$hasError = true;
} catch (Exception $e) {
$this->_getSession()->addException($e, Mage::helper('catalog')->__('An error occurred while saving the attribute set.'));
$hasError = true;
}
if ($isNewSet) {
if ($hasError) {
$this->_redirect('*/*/add');
} else {
$this->_redirect('*/*/edit', array('id' => $model->getId()));
}
} else {
$response = array();
if ($hasError) {
$this->_initLayoutMessages('adminhtml/session');
$response['error'] = 1;
$response['message'] = $this->getLayout()->getMessagesBlock()->getGroupedHtml();
} else {
$response['error'] = 0;
$response['url'] = $this->getUrl('*/*/');
}
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
}
}
public function addAction()
{
$this->_title($this->__('Catalog'))
->_title($this->__('Attributes'))
->_title($this->__('Manage Attribute Sets'))
->_title($this->__('New Set'));
$this->_setTypeId();
$this->loadLayout();
$this->_setActiveMenu('catalog/sets');
$this->_addContent($this->getLayout()->createBlock('adminhtml/catalog_product_attribute_set_toolbar_add'));
$this->renderLayout();
}
public function deleteAction()
{
$setId = $this->getRequest()->getParam('id');
try {
Mage::getModel('eav/entity_attribute_set')
->setId($setId)
->delete();
$this->_getSession()->addSuccess($this->__('The attribute set has been removed.'));
$this->getResponse()->setRedirect($this->getUrl('*/*/'));
} catch (Exception $e) {
$this->_getSession()->addError($this->__('An error occurred while deleting this set.'));
$this->_redirectReferer();
}
}
/**
* Define in register catalog_product entity type code as entityType
*
*/
protected function _setTypeId()
{
Mage::register('entityType',
Mage::getModel('catalog/product')->getResource()->getTypeId());
}
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('catalog/attributes/sets');
}
/**
* Retrieve catalog product entity type id
*
* @return int
*/
protected function _getEntityTypeId()
{
if (is_null(Mage::registry('entityType'))) {
$this->_setTypeId();
}
return Mage::registry('entityType');
}
}