| 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/Poll/Model/Mysql4/Poll/ |
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_Poll
* @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)
*/
/**
* Pool Mysql4 collection model resource
*
* @category Mage
* @package Mage_Poll
* @author Magento Core Team <core@magentocommerce.com>
*/
class Mage_Poll_Model_Mysql4_Poll_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct()
{
$this->_init('poll/poll');
}
/**
* Redefine default filters
*
* @param string $field
* @param mixed $condition
* @return Varien_Data_Collection_Db
*/
public function addFieldToFilter($field, $condition=null)
{
if ($field == 'stores') {
return $this->addStoresFilter($condition);
}
else {
return parent::addFieldToFilter($field, $condition);
}
}
/**
* Deprecated
*
* @param int|array $storeId
* @return Mage_Poll_Model_Mysql4_Poll_Collection
*/
public function addStoresFilter($store)
{
return $this->addStoreFilter($store);
}
/**
* Add Stores Filter
*
* @param int|array $storeId
* @return Mage_Poll_Model_Mysql4_Poll_Collection
*/
public function addStoreFilter($storeId, $withAdmin = true)
{
$this->getSelect()->join(
array('store_table' => $this->getTable('poll/poll_store')),
'main_table.poll_id = store_table.poll_id',
array()
)
->where('store_table.store_id in (?)', ($withAdmin ? array(0, $storeId) : $storeId))
->group('main_table.poll_id');
return $this;
}
/**
* Add stores data
*
* @return Mage_Poll_Model_Mysql4_Poll_Collection
*/
public function addStoreData()
{
$pollIds = $this->getColumnValues('poll_id');
$storesToPoll = array();
if (count($pollIds) > 0) {
$select = $this->getConnection()->select()
->from($this->getTable('poll/poll_store'))
->where('poll_id IN(?)', $pollIds);
$result = $this->getConnection()->fetchAll($select);
foreach ($result as $row) {
if (!isset($storesToPoll[$row['poll_id']])) {
$storesToPoll[$row['poll_id']] = array();
}
$storesToPoll[$row['poll_id']][] = $row['store_id'];
}
}
foreach ($this as $item) {
if(isset($storesToPoll[$item->getId()])) {
$item->setStores($storesToPoll[$item->getId()]);
} else {
$item->setStores(array());
}
}
return $this;
}
public function addSelectStores()
{
$pollId = $this->getId();
$select = $this->getConnection()->select()
->from($this->getTable('poll/poll_store'))
->where('poll_id = ?', $pollId);
$result = $this->getConnection()->fetchAll($select);
$stores = array();
foreach ($result as $row) {
$stores[] = $row['stor_id'];
}
$this->setSelectStores($stores);
return $this;
}
}