本文整理汇总了PHP中Mage_Core_Controller_Request_Http::setPost方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Core_Controller_Request_Http::setPost方法的具体用法?PHP Mage_Core_Controller_Request_Http::setPost怎么用?PHP Mage_Core_Controller_Request_Http::setPost使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Core_Controller_Request_Http
的用法示例。
在下文中一共展示了Mage_Core_Controller_Request_Http::setPost方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testSaveAction
/**
* @dataProvider dataProvideForSaveAction
* @param $redirectBack
* @param $isAuthorized
*/
public function testSaveAction($redirectBack, $isAuthorized)
{
$response = new Varien_Object();
$channelId = mt_rand(1000, 9999);
$channelData = array('channel_data' => 'test');
$mrequest = new Mage_Core_Controller_Request_Http();
$mrequest->setParam('back', $redirectBack);
$mrequest->setParam('channel_id', $channelId);
$mrequest->setPost($channelData);
$mockController = $this->_getControllerMock($mrequest, $response, array('_getSession', '_redirect', '_redirectToGrid', 'setChannelData'));
$accountMock = new Varien_Object(array('user_id' => $isAuthorized));
$channel = $this->mockModel('xcom_ebay/channel', array('addData', 'getAccount', 'validate', 'save', 'load'));
$channel->expects($this->once())->method('addData')->with($channelData);
$channel->expects($this->once())->method('getAccount')->will($this->returnValue($accountMock));
$channel->expects($this->once())->method('load')->with($channelId)->will($this->returnSelf());
$sessionMock = $this->mockModel('adminhtml/session', array('addSuccess', 'setXcomEbayData', 'addError'));
$sessionMock->expects($this->any())->method('setXcomEbayData');
$sessionMock->expects($this->any())->method('addError')->will($this->returnValue($mockController));
$mockController->expects($this->any())->method('_getSession')->will($this->returnValue($sessionMock));
if ($isAuthorized) {
$channel->expects($this->once())->method('validate');
$channel->expects($this->once())->method('save');
}
if ($redirectBack && false !== $isAuthorized) {
$mockController->expects($this->once())->method('_redirect');
} elseif (false !== $isAuthorized) {
$mockController->expects($this->once())->method('_redirectToGrid');
}
$mockController->saveAction();
}
示例2: testSetPost
public function testSetPost()
{
$post = $_POST;
$this->_model->setPost(array('test' => 'test'));
$post['test'] = 'test';
$this->assertEquals($post, $this->_model->getPost());
$this->_model->setPost('key', 'value');
$post['key'] = 'value';
$this->assertEquals($post, $this->_model->getPost());
}
示例3: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current System Config Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$parameters = $this->_decodeParams($encodedParameters);
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($parameters);
$request->setQuery($parameters);
// @todo $_FILE?
return $request;
}
示例4: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current Website Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$params = $this->_decodeParams($encodedParameters);
switch ($params['store_action']) {
//
// Handle saving of existing Website
//
case 'edit':
// Convert Default Group UUID
$defaultGroupUuid = $params['website']['default_group_id'];
$defaultGroup = Mage::getModel('core/store_group')->load($defaultGroupUuid, 'name');
if ($defaultGroup->getId()) {
$params['website']['default_group_id'] = $defaultGroup->getId();
} else {
throw new Exception('Group \'' . $defaultGroupUuid . '\' not found!');
}
// Convert Website UUID
$websiteUuid = $params['website']['website_id'];
$website = Mage::getModel('core/website')->load($websiteUuid, 'code');
if ($website->getId()) {
$params['website']['website_id'] = $website->getId();
} else {
throw new Exception('Website \'' . $websiteUuid . '\' not found!');
}
// break intentionally omitted
//
// Handle adding new Website
//
// break intentionally omitted
//
// Handle adding new Website
//
case 'add':
// Nothing to convert
break;
//
// Handle deleting existing Website
// store_action parameter is undefined in case of delete
//
//
// Handle deleting existing Website
// store_action parameter is undefined in case of delete
//
default:
//Convert Item UUID
$itemUuid = $params['item_id'];
$website = Mage::getModel('core/website')->load($itemUuid, 'code');
if ($website->getId()) {
$params['item_id'] = $website->getId();
} else {
throw new Exception('Website \'' . $itemUuid . '\' not found!');
}
break;
}
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($params);
$_SERVER['REQUEST_METHOD'] = 'POST';
// needed by StoreController
$request->setQuery($params);
return $request;
}
示例5: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current Attribute Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$parameters = $this->_decodeParams($encodedParameters);
#$attributeCode = $parameters['mageploy_uuid'];
if (isset($parameters['attribute_code'])) {
$attributeCode = $parameters['attribute_code'];
} else {
$attributeCode = $parameters['attribute_id'];
}
// Prepare the Attribute Option Structure that will be used to
// decode parameters and try to guess if an existing option has been
// changed or added.
// Note: we are assuming we never change admin's value
$attribute = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter($attributeCode)->getFirstItem();
if ($attribute->getSourceModel()) {
$attributeOptions = $attribute->getSource()->getAllOptions(false);
$attributeOptionsByValue = array();
foreach ($attributeOptions as $order => $valuelabel) {
$optionId = $valuelabel['value'];
$adminVal = $valuelabel['label'];
$attributeOptionsByValue[$adminVal] = array('order' => $order, 'id' => $optionId);
}
}
$entityTypeId = Mage::helper('pugmore_mageploy')->getEntityTypeIdFromCode(Mage_Catalog_Model_Product::ENTITY);
if ($attributeId = Mage::helper('pugmore_mageploy')->getAttributeIdFromCode($attributeCode, $entityTypeId)) {
$parameters['attribute_id'] = $attributeId;
}
// Decode Attribute Options
if (isset($parameters['option'])) {
$option = $parameters['option'];
// Used to store new options
$newOptions = array();
// Value
$newValues = array();
foreach ($option['value'] as $optionUuid => $optionValues) {
$optionId = $this->_getOptionIdByUuid($optionUuid, $attributeOptionsByValue, $newOptions);
$newValues[$optionId] = array();
foreach ($optionValues as $storeCode => $value) {
$storeId = Mage::getModel('core/store')->load($storeCode)->getId();
$newValues[$optionId][$storeId] = $value;
}
}
$parameters['option']['value'] = $newValues;
// Order
$newOrders = array();
foreach ($option['order'] as $optionUuid => $optionOrder) {
$optionId = $this->_getOptionIdByUuid($optionUuid, $attributeOptionsByValue, $newOptions);
$newOrders[$optionId] = $optionOrder;
}
$parameters['option']['order'] = $newOrders;
// Delete
$newDeletes = array();
foreach ($option['delete'] as $optionUuid => $optionDelete) {
$optionId = $this->_getOptionIdByUuid($optionUuid, $attributeOptionsByValue, $newOptions);
$newDeletes[$optionId] = $optionDelete;
}
$parameters['option']['delete'] = $newDeletes;
}
// Decode Default Option
if (isset($attributeOptionsByValue)) {
$optionUuid = $parameters['default'][0];
$parameters['default'][0] = $this->_getOptionIdByUuid($optionUuid, $attributeOptionsByValue, $newOptions);
}
// Decode Frontend Label
$newFrontendLabel = array();
foreach ($parameters['frontend_label'] as $storeCode => $label) {
$storeId = Mage::getModel('core/store')->load($storeCode)->getId();
$newFrontendLabel[$storeId] = $label;
}
$parameters['frontend_label'] = $newFrontendLabel;
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($parameters);
$request->setQuery($parameters);
return $request;
}
示例6: testSaveActionProcessDifferentListings
public function testSaveActionProcessDifferentListings()
{
$productIds = array(1, 2, 3);
$channel = new Varien_Object(array('id' => 'test_channel_id', 'channeltype_code' => 'test_ebay'));
$this->_mockChannel($channel);
$policyMock = $this->mockModel('xcom_ebay/policy');
$policyMock->expects($this->any())->method('load')->will($this->returnValue($policyMock));
$session = $this->mockModel('adminhtml/session');
$session->expects($this->once())->method('addSuccess');
$request = new Mage_Core_Controller_Request_Http();
$request->setParam('channel_id', 111);
$storeId = 12;
$request->setParam('store', $storeId);
$request->setParam('product_ids', $productIds);
$request->setPost(array('channel_id' => $channel->getId(), 'policy_id' => 0));
$objectMock = $this->getMock(get_class($this->_object), array('_redirect'), array($request, new Varien_Object()));
$objectMock->expects($this->once())->method('_redirect')->with($this->equalTo('*/channel_product/'), $this->equalTo(array('type' => $channel->getChanneltypeCode(), 'store' => $storeId)));
$channelProductMock = $this->mockModel('xcom_listing/channel_product', array('isProductsInChannel', 'addData', 'getPublishedListingIds', 'saveProducts'));
$channelProductMock->expects($this->once())->method('isProductsInChannel')->with($this->equalTo($channel->getId()), $this->equalTo($productIds))->will($this->returnValue(true));
$channelProductMock->expects($this->once())->method('getPublishedListingIds')->with($this->equalTo($productIds), $this->equalTo($channel->getId()))->will($this->returnValue(array(3 => array('product_ids' => array(1, 2), 'channel_id' => $channel->getId()))));
$listingMock = $this->mockModel('xcom_listing/listing', array('load', 'addData', 'save', 'prepareProducts', 'send', 'saveProducts', '_isChanged'));
$listingMock->expects($this->any())->method('_isChanged')->will($this->returnValue(true));
$listingMock->expects($this->any())->method('addData')->with($this->equalTo($request->getPost()));
$listingMock->expects($this->any())->method('prepareProducts')->with($this->equalTo(array(1, 2)));
$listingMock->expects($this->any())->method('send')->with($this->equalTo(array('policy' => $policyMock, 'channel' => $channel)));
$listingMock->expects($this->any())->method('saveProducts');
$validatorMock = $this->mockHelper('xcom_listing/validator', array('validateOptionalFields', 'validateProducts', 'isPriceChanged', 'isQtyChanged'));
$validatorMock->expects($this->once())->method('validateOptionalFields');
$validatorMock->expects($this->once())->method('validateProducts');
$validatorMock->expects($this->once())->method('isPriceChanged');
$validatorMock->expects($this->once())->method('isQtyChanged');
$validatorMock->setListing($listingMock);
$this->assertNull($objectMock->saveAction());
}
示例7: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current Attribute Set Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$helper = Mage::helper('pugmore_mageploy');
$parameters = $this->_decodeParams($encodedParameters);
$attributeSetName = $parameters['mageploy_uuid'];
$entityTypeId = $this->_getEntityTypeId();
$entityTypeCode = $this->_getEntityTypeCode();
if ($attributeSetId = $helper->getAttributeSetIdFromName($attributeSetName)) {
$parameters['id'] = $attributeSetId;
}
$skeletonSetName = $parameters['skeleton_set'];
if ($skeletonSetId = $helper->getAttributeSetIdFromName($skeletonSetName)) {
$parameters['skeleton_set'] = $skeletonSetId;
}
$data = $parameters['data'];
foreach ($data['attributes'] as $i => $attribute) {
$attributeUuid = $attribute[0];
$attributeId = $helper->getAttributeIdFromCode($attributeUuid, $entityTypeId);
if ($attributeId == 208) {
$break = $here;
}
$attributeGroupUuid = $attribute[1];
// Is new Group?
if (!strncmp($attributeGroupUuid, 'ynode', strlen('ynode'))) {
$attributeGroupId = $attributeGroupUuid;
$eavAttributeId = null;
} else {
// $attributeSetUuid is not used; we still have to explode the
// string in order to mantain compatibility with encoding
list($attributeGroupName, $attributeSetUuid) = explode(self::UUID_SEPARATOR, $attributeGroupUuid);
$attributeGroupId = $helper->getAttributeGroupId($attributeSetId, $attributeGroupName);
$eavAttributeId = $helper->getEavEntityAttributeId($entityTypeId, $attributeSetId, $attributeGroupId, $attributeId);
}
$data['attributes'][$i][0] = $attributeId;
$data['attributes'][$i][1] = $attributeGroupId;
if ($eavAttributeId) {
$data['attributes'][$i][3] = $eavAttributeId;
} else {
$data['attributes'][$i][3] = '';
}
}
foreach ($data['groups'] as $i => $group) {
$attributeGroupUuid = $group[0];
if (!strncmp($attributeGroupUuid, 'ynode', strlen('ynode'))) {
continue;
}
list($attributeGroupName, $attributeSetUuid) = explode(self::UUID_SEPARATOR, $attributeGroupUuid, 2);
$attributeSetName = $attributeSetUuid;
$attributeSetId = $helper->getAttributeSetId($attributeSetName, $entityTypeCode);
$attributeGroupId = $helper->getAttributeGroupId($attributeSetId, $attributeGroupName);
$data['groups'][$i][0] = $attributeGroupId;
}
foreach ($data['not_attributes'] as $i => $eavAttributeUuid) {
if (empty($eavAttributeUuid)) {
continue;
}
list($attributeGroupName, $attributeSetName, $attributeCode) = explode(self::UUID_SEPARATOR, $eavAttributeUuid);
$attributeSetId = $helper->getAttributeSetId($attributeSetName, $entityTypeCode);
$attributeGroupId = $helper->getAttributeGroupId($attributeSetId, $attributeGroupName);
$attributeId = $helper->getAttributeIdFromCode($attributeCode, $entityTypeId);
$entityAttributeId = $helper->getEavEntityAttributeId($entityTypeId, $attributeSetId, $attributeGroupId, $attributeId);
$data['not_attributes'][$i] = $entityAttributeId;
}
foreach ($data['removeGroups'] as $i => $attributeGroupUuid) {
if (empty($attributeGroupUuid)) {
continue;
}
list($attributeGroupName, $attributeSetName) = explode(self::UUID_SEPARATOR, $attributeGroupUuid);
$attributeSetId = $helper->getAttributeSetId($attributeSetName, $entityTypeCode);
$attributeGroupId = $helper->getAttributeGroupId($attributeSetId, $attributeGroupName);
$data['removeGroups'][$i] = $attributeGroupId;
}
// json encode data array
$parameters['data'] = Zend_Json::encode($data);
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($parameters);
$request->setQuery($parameters);
return $request;
}
示例8: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current Website Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$helper = Mage::helper('pugmore_mageploy');
$params = $this->_decodeParams($encodedParameters);
switch ($params['store_action']) {
//
// Handle saving of existing Website
//
case 'edit':
$websiteUuid = $params['group']['website_id'];
$website = Mage::getModel('core/website')->load($websiteUuid, 'code');
if (!$website->getId()) {
throw new Exception('Website \'' . $websiteUuid . '\' not found!');
}
// Convert Default Store UUID
$defaultStoreUuid = $params['group']['default_store_id'];
$defaultStore = Mage::getModel('core/store')->load($defaultStoreUuid, 'code');
if (!$defaultStore->getId()) {
throw new Exception('Store \'' . $defaultStoreUuid . '\' not found!');
}
$params['group']['default_store_id'] = $defaultStore->getId();
// Convert Group UUID
$groupUuid = $params['group']['group_id'];
$group = Mage::getModel('core/store_group')->getCollection()->addWebsiteFilter($website->getId())->addFieldToFilter('name', $groupUuid)->getFirstItem();
if (!$group->getId()) {
throw new Exception('Group \'' . $groupUuid . '\' not found!');
}
$params['group']['group_id'] = $group->getId();
// break intentionally omitted
//
// Handle adding new Website
//
// break intentionally omitted
//
// Handle adding new Website
//
case 'add':
$websiteUuid = $params['group']['website_id'];
if (!isset($website)) {
$website = Mage::getModel('core/website')->load($websiteUuid, 'code');
}
if (!$website->getId()) {
throw new Exception('Website \'' . $websiteUuid . '\' not found!');
}
// Convert Website UUID
$params['group']['website_id'] = $website->getId();
// Convert Root Category UUID
$rootCategoryUuid = $params['group']['root_category_id'];
$rootCategoryPath = $helper->getCategoryPathFromUuid($rootCategoryUuid, self::UUID_SEPARATOR);
$rootCategoryId = $helper->getCategoryIdFromPath($rootCategoryPath);
$params['group']['root_category_id'] = $rootCategoryId;
break;
//
// Handle deleting existing Website
// store_action parameter is undefined in case of delete
//
//
// Handle deleting existing Website
// store_action parameter is undefined in case of delete
//
default:
//Convert Item UUID
$itemUuid = $params['item_id'];
list($websiteCode, $groupName) = explode(self::UUID_SEPARATOR, $itemUuid, 2);
$website = Mage::getModel('core/website')->load($websiteCode, 'code');
if (!$website->getId()) {
throw new Exception('Website \'' . $websiteCode . '\' not found!');
}
$group = Mage::getModel('core/store_group')->getCollection()->addWebsiteFilter($website->getId())->addFieldToFilter('name', $groupName)->getFirstItem();
break;
}
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($params);
$_SERVER['REQUEST_METHOD'] = 'POST';
// needed by StoreController
$request->setQuery($params);
return $request;
}
示例9: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current CMS Page Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$parameters = $this->_decodeParams($encodedParameters);
// convert store IDs
foreach ($parameters['stores'] as $i => $storeUuid) {
$storeId = Mage::app()->getStore($storeUuid)->getId();
$parameters['stores'][$i] = $storeId;
}
// convert UUID, if page already exists
if (isset($parameters['page_id'])) {
list($identifier, $joinedStoreCodes) = explode(self::UUID_SEPARATOR, $parameters['page_id'], 2);
$storeCodes = explode(self::UUID_SEPARATOR, $joinedStoreCodes);
$storeId = Mage::app()->getStore($storeCodes[0])->getId();
$page = Mage::getModel('cms/page')->getCollection()->addStoreFilter($storeId, false)->addFieldToFilter('identifier', $identifier)->getFirstItem();
/**
* On pages created out of the box by Magento, the addStoreFilter
* doesn't seem to return the requested object.
*/
if (!$page->getId()) {
$page = Mage::getModel('cms/page')->getCollection()->addFieldToFilter('identifier', $identifier)->getFirstItem();
}
$parameters['page_id'] = $page->getId();
}
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($parameters);
$request->setQuery($parameters);
return $request;
}
示例10: decode
public function decode($encodedParameters, $version)
{
// The !empty() ensures that rows without a version number can be
// executed (not without any risk).
if (!empty($version) && $this->_getVersion() != $version) {
throw new Exception(sprintf("Can't decode the Action encoded with %s Tracker v %s; current Category Tracker is v %s ", $this->_code, $version, $this->_getVersion()));
}
$parameters = $this->_decodeParams($encodedParameters);
// Id
if (isset($parameters['id'])) {
$categoryUuid = $parameters['id'];
$path = $this->_getCategoryPathFromUuid($categoryUuid);
$categoryId = $this->_getCategoryIdFromPath($path);
$parameters['id'] = $categoryId;
}
// Store
$storeCode = $parameters['store'];
if ($storeCode) {
$storeId = Mage::app()->getStore($storeCode)->getId();
$parameters['store'] = $storeId;
}
// Parent
$parentUuid = $parameters['parent'];
if ($parentUuid) {
$parentPath = $this->_getCategoryPathFromUuid($parentUuid);
$parentId = $this->_getCategoryIdFromPath($parentPath);
$parameters['parent'] = $parentId;
}
// Associated Products
$associatedProductUuids = explode('&', $parameters['category_products']);
$associatedProductIds = array();
foreach ($associatedProductUuids as $i => $association) {
list($sku, $position) = explode('=', $association);
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
$associatedProductIds[] = sprintf("%s=%d", $id, $position);
}
$parameters['category_products'] = implode('&', $associatedProductIds);
// General
if (isset($parameters['general']['id'])) {
$parameters['general']['id'] = $parameters['id'];
}
if (isset($parameters['general']['path'])) {
if (isset($parameters['id'])) {
$category = Mage::getModel('catalog/category')->load($parameters['id']);
$parameters['general']['path'] = $category->getPath();
} else {
$parentUuid = $parameters['general']['path'];
$parentPath = $this->_getCategoryPathFromUuid($parentUuid);
$parameters['general']['path'] = $this->_getCategoryIdFromPath($parentPath);
}
}
// pid, paid, aid (move action)
$moveIds = array('pid', 'aid', 'paid');
foreach ($moveIds as $key) {
if (isset($parameters[$key])) {
$moveNodeUuid = $parameters[$key];
$moveNodeCategoryPath = $this->_getCategoryPathFromUuid($moveNodeUuid);
$parameters[$key] = $this->_getCategoryIdFromPath($moveNodeCategoryPath);
}
}
$request = new Mage_Core_Controller_Request_Http();
$request->setPost($parameters);
#$request->setQuery($parameters);
return $request;
}