/**
  * @param Mage_Customer_Model_Customer $customer
  */
 protected function _moveAttributesData($customer)
 {
     $attributes = array('po_limit' => $this->_poLimitId, 'po_credit' => $this->_poCreditId);
     foreach ($attributes as $attributeCode => $attributeId) {
         try {
             $select = $this->_db->select()->from($customer->getResource()->getTable('customer_entity_int'), array('value'))->where('attribute_id = ?', $attributeId)->where('entity_id = ?', $customer->getId());
             $value = $this->_db->fetchOne($select);
             if ((int) $value > 0) {
                 $this->_db->insert($customer->getResource()->getTable('customer_entity_decimal'), array('entity_type_id' => $customer->getEntityTypeId(), 'attribute_id' => $attributeId, 'entity_id' => $customer->getId(), 'value' => (int) $value));
             }
         } catch (Exception $e) {
         }
         try {
             $this->_db->delete($customer->getResource()->getTable('customer_entity_int'), 'entity_type_id = ' . $customer->getEntityTypeId() . ' AND attribute_id = ' . $attributeId . ' AND ' . 'entity_id = ' . $customer->getId());
         } catch (Exception $e) {
         }
     }
 }
Beispiel #2
0
 /**
  * Update session
  *
  * @param string $sessId
  * @param string $sessData
  * @return boolean
  */
 public function write($sessId, $sessData)
 {
     $bindValues = array('session_id' => $sessId);
     $select = $this->_write->select()->from($this->_sessionTable)->where('session_id = :session_id');
     $exists = $this->_read->fetchOne($select, $bindValues);
     $bind = array('session_expires' => time(), 'session_data' => $sessData);
     if ($exists) {
         $this->_write->update($this->_sessionTable, $bind, array('session_id=?' => $sessId));
     } else {
         $bind['session_id'] = $sessId;
         $this->_write->insert($this->_sessionTable, $bind);
     }
     return true;
 }
Beispiel #3
0
 /**
  * Update session
  *
  * @param string $sessionId
  * @param string $sessionData
  * @return boolean
  */
 public function write($sessionId, $sessionData)
 {
     // need to use write connection to get the most fresh DB sessions
     $bindValues = array('session_id' => $sessionId);
     $select = $this->_write->select()->from($this->_sessionTable)->where('session_id = :session_id');
     $exists = $this->_write->fetchOne($select, $bindValues);
     // encode session serialized data to prevent insertion of incorrect symbols
     $sessionData = base64_encode($sessionData);
     $bind = array('session_expires' => time(), 'session_data' => $sessionData);
     if ($exists) {
         $this->_write->update($this->_sessionTable, $bind, array('session_id=?' => $sessionId));
     } else {
         $bind['session_id'] = $sessionId;
         $this->_write->insert($this->_sessionTable, $bind);
     }
     return true;
 }
Beispiel #4
0
 /**
  * Mark entity as processed
  *
  * @param $type
  * @param $id
  * @return int
  */
 function markEntityProcessed($type, $id)
 {
     return $this->_connection->insert($this->getEntityMigrationTable($type), array('id' => $id));
 }