Skip to content
This repository was archived by the owner on Mar 27, 2019. It is now read-only.

Commit 40c941d

Browse files
author
Aleksey Razbakov
authored
Merge pull request #50 from damian-pastorini/magento-1.9.0.1
Magento 1.9.0.1
2 parents e0d217c + 4d961a2 commit 40c941d

File tree

170 files changed

+7947
-1816
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+7947
-1816
lines changed

app/code/core/Mage/Admin/Model/Observer.php

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
class Mage_Admin_Model_Observer
3535
{
3636
const FLAG_NO_LOGIN = 'no-login';
37+
3738
/**
3839
* Handler for controller_action_predispatch event
3940
*
@@ -42,16 +43,14 @@ class Mage_Admin_Model_Observer
4243
*/
4344
public function actionPreDispatchAdmin($observer)
4445
{
45-
$session = Mage::getSingleton('admin/session');
4646
/** @var $session Mage_Admin_Model_Session */
47+
$session = Mage::getSingleton('admin/session');
4748

48-
/**
49-
* @var $request Mage_Core_Controller_Request_Http
50-
*/
49+
/** @var $request Mage_Core_Controller_Request_Http */
5150
$request = Mage::app()->getRequest();
5251
$user = $session->getUser();
5352

54-
$requestedActionName = $request->getActionName();
53+
$requestedActionName = strtolower($request->getActionName());
5554
$openActions = array(
5655
'forgotpassword',
5756
'resetpassword',
@@ -67,11 +66,26 @@ public function actionPreDispatchAdmin($observer)
6766
}
6867
if (!$user || !$user->getId()) {
6968
if ($request->getPost('login')) {
70-
$postLogin = $request->getPost('login');
71-
$username = isset($postLogin['username']) ? $postLogin['username'] : '';
72-
$password = isset($postLogin['password']) ? $postLogin['password'] : '';
73-
$session->login($username, $password, $request);
74-
$request->setPost('login', null);
69+
70+
/** @var Mage_Core_Model_Session $coreSession */
71+
$coreSession = Mage::getSingleton('core/session');
72+
73+
if ($coreSession->validateFormKey($request->getPost("form_key"))) {
74+
$postLogin = $request->getPost('login');
75+
$username = isset($postLogin['username']) ? $postLogin['username'] : '';
76+
$password = isset($postLogin['password']) ? $postLogin['password'] : '';
77+
$session->login($username, $password, $request);
78+
$request->setPost('login', null);
79+
} else {
80+
if ($request && !$request->getParam('messageSent')) {
81+
Mage::getSingleton('adminhtml/session')->addError(
82+
Mage::helper('adminhtml')->__('Invalid Form Key. Please refresh the page.')
83+
);
84+
$request->setParam('messageSent', true);
85+
}
86+
}
87+
88+
$coreSession->renewFormKey();
7589
}
7690
if (!$request->getInternallyForwarded()) {
7791
$request->setInternallyForwarded();

app/code/core/Mage/Admin/Model/Redirectpolicy.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public function getRedirectUrl(Mage_Admin_Model_User $user, Zend_Controller_Requ
6262
if (empty($request)) {
6363
return;
6464
}
65-
$countRequiredParams = $this->_urlModel->useSecretKey() ? 1 : 0;
65+
$countRequiredParams = ($this->_urlModel->useSecretKey()
66+
&& $request->getParam(Mage_Adminhtml_Model_Url::SECRET_KEY_PARAM_NAME)) ? 1 : 0;
6667
$countGetParams = count($request->getUserParams()) + count($request->getQuery());
6768

6869
return ($countGetParams > $countRequiredParams) ?

app/code/core/Mage/Admin/Model/Resource/User.php

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ protected function _beforeSave(Mage_Core_Model_Abstract $user)
177177
*/
178178
protected function _afterSave(Mage_Core_Model_Abstract $user)
179179
{
180-
$user->setExtra(unserialize($user->getExtra()));
180+
$this->_unserializeExtraData($user);
181181
return $this;
182182
}
183183

@@ -189,10 +189,7 @@ protected function _afterSave(Mage_Core_Model_Abstract $user)
189189
*/
190190
protected function _afterLoad(Mage_Core_Model_Abstract $user)
191191
{
192-
if (is_string($user->getExtra())) {
193-
$user->setExtra(unserialize($user->getExtra()));
194-
}
195-
return parent::_afterLoad($user);
192+
return parent::_afterLoad($this->_unserializeExtraData($user));
196193
}
197194

198195
/**
@@ -459,4 +456,21 @@ public function saveExtra($object, $data)
459456

460457
return $this;
461458
}
459+
460+
/**
461+
* Unserializes user extra data
462+
*
463+
* @param Mage_Core_Model_Abstract $user
464+
* @return Mage_Core_Model_Abstract
465+
*/
466+
protected function _unserializeExtraData(Mage_Core_Model_Abstract $user)
467+
{
468+
try {
469+
$unsterilizedData = Mage::helper('core/unserializeArray')->unserialize($user->getExtra());
470+
$user->setExtra($unsterilizedData);
471+
} catch (Exception $e) {
472+
$user->setExtra(false);
473+
}
474+
return $user;
475+
}
462476
}

app/code/core/Mage/Admin/Model/User.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ public function getStartupPageUrl()
519519
*/
520520
public function validate()
521521
{
522-
$errors = array();
522+
$errors = new ArrayObject();
523523

524524
if (!Zend_Validate::is($this->getUsername(), 'NotEmpty')) {
525525
$errors[] = Mage::helper('adminhtml')->__('User Name is required field.');
@@ -551,16 +551,21 @@ public function validate()
551551
if ($this->hasPasswordConfirmation() && $this->getNewPassword() != $this->getPasswordConfirmation()) {
552552
$errors[] = Mage::helper('adminhtml')->__('Password confirmation must be same as password.');
553553
}
554+
555+
Mage::dispatchEvent('admin_user_validate', array(
556+
'user' => $this,
557+
'errors' => $errors,
558+
));
554559
}
555560

556561
if ($this->userExists()) {
557562
$errors[] = Mage::helper('adminhtml')->__('A user with the same user name or email aleady exists.');
558563
}
559564

560-
if (empty($errors)) {
565+
if (count($errors) === 0) {
561566
return true;
562567
}
563-
return $errors;
568+
return (array)$errors;
564569
}
565570

566571
/**

app/code/core/Mage/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/Content.php

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
*/
3535
class Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content extends Mage_Adminhtml_Block_Widget
3636
{
37+
/**
38+
* Type of uploader block
39+
*
40+
* @var string
41+
*/
42+
protected $_uploaderType = 'uploader/multiple';
3743

3844
public function __construct()
3945
{
@@ -44,17 +50,17 @@ public function __construct()
4450
protected function _prepareLayout()
4551
{
4652
$this->setChild('uploader',
47-
$this->getLayout()->createBlock('adminhtml/media_uploader')
53+
$this->getLayout()->createBlock($this->_uploaderType)
4854
);
4955

50-
$this->getUploader()->getConfig()
51-
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/catalog_product_gallery/upload'))
52-
->setFileField('image')
53-
->setFilters(array(
54-
'images' => array(
55-
'label' => Mage::helper('adminhtml')->__('Images (.gif, .jpg, .png)'),
56-
'files' => array('*.gif', '*.jpg','*.jpeg', '*.png')
57-
)
56+
$this->getUploader()->getUploaderConfig()
57+
->setFileParameterName('image')
58+
->setTarget(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/catalog_product_gallery/upload'));
59+
60+
$browseConfig = $this->getUploader()->getButtonConfig();
61+
$browseConfig
62+
->setAttributes(array(
63+
'accept' => $browseConfig->getMimeTypesByExtensions('gif, png, jpeg, jpg')
5864
));
5965

6066
Mage::dispatchEvent('catalog_product_gallery_prepare_layout', array('block' => $this));
@@ -65,7 +71,7 @@ protected function _prepareLayout()
6571
/**
6672
* Retrive uploader block
6773
*
68-
* @return Mage_Adminhtml_Block_Media_Uploader
74+
* @return Mage_Uploader_Block_Multiple
6975
*/
7076
public function getUploader()
7177
{

app/code/core/Mage/Adminhtml/Block/Cms/Wysiwyg/Images/Content/Uploader.php

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,29 +31,24 @@
3131
* @package Mage_Adminhtml
3232
* @author Magento Core Team <core@magentocommerce.com>
3333
*/
34-
class Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content_Uploader extends Mage_Adminhtml_Block_Media_Uploader
34+
class Mage_Adminhtml_Block_Cms_Wysiwyg_Images_Content_Uploader extends Mage_Uploader_Block_Multiple
3535
{
36+
/**
37+
* Uploader block constructor
38+
*/
3639
public function __construct()
3740
{
3841
parent::__construct();
39-
$params = $this->getConfig()->getParams();
4042
$type = $this->_getMediaType();
4143
$allowed = Mage::getSingleton('cms/wysiwyg_images_storage')->getAllowedExtensions($type);
42-
$labels = array();
43-
$files = array();
44-
foreach ($allowed as $ext) {
45-
$labels[] = '.' . $ext;
46-
$files[] = '*.' . $ext;
47-
}
48-
$this->getConfig()
49-
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload', array('type' => $type)))
50-
->setParams($params)
51-
->setFileField('image')
52-
->setFilters(array(
53-
'images' => array(
54-
'label' => $this->helper('cms')->__('Images (%s)', implode(', ', $labels)),
55-
'files' => $files
56-
)
44+
$this->getUploaderConfig()
45+
->setFileParameterName('image')
46+
->setTarget(
47+
Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload', array('type' => $type))
48+
);
49+
$this->getButtonConfig()
50+
->setAttributes(array(
51+
'accept' => $this->getButtonConfig()->getMimeTypesByExtensions($allowed)
5752
));
5853
}
5954

0 commit comments

Comments
 (0)