$output) {
$obj[$output] = $item[$input];
}
$return[] = $obj;
}
return $return;
}
private static function _buildObjectsReturn($data, $columns)
{
$return = array();
foreach ($data as $item) {
$obj = new \stdClass();
foreach ($columns as $input => $output) {
$obj->{$output} = $item->{$input};
}
$return[] = $obj;
}
return $return;
}
private static function _buildSingleReturn($data, $columns)
{
$return = new \stdClass();
foreach ($columns as $input => $output) {
$return->{$output} = $data->{$input};
}
return $return;
}
private static function _buildSingleReturnAsArray($data, $columns)
{
$return = array();
foreach ($columns as $input => $output) {
$return[$output] = $data[$input];
}
return $return;
}
public static function getCompanyAddresses($companyID)
{
$inputOutput = array(
'NOMER' => 'NOMER',
'IME' => 'IME',
'POST_KOD' => 'POST_KOD',
'ADRES' => 'ADRES',
'TEL' => 'TEL',
'KOMENTAR' => 'KOMENTAR',
'GRAD' => 'GRAD',
);
$addresses = Services::firebird()->table('KONTRAGENTI_OBEKTI')
->select(implode(', ', ($inputOutput)))
->where('KONTRAGENT_NOMER', $companyID)
->get()
->getResult();
$return = self::_buildObjectsReturn($addresses, $inputOutput);
unset($addresses);
return $return;
}
public static function getCompanyByID($companyID)
{
$inputOutput = array(
'NOMER' => 'NOMER',
'KONTRAGENT' => 'KONTRAGENT',
'MOL' => 'MOL',
'DDSNOMER' => 'DDSNOMER',
'BULSTAT' => 'BULSTAT',
'SEDALISHTE_GRAD' => 'SEDALISHTE_GRAD',
'SEDALISHTE_ADRES' => 'SEDALISHTE_ADRES',
);
$company = Services::firebird()->table('KONTRAGENTI')->select(implode(', ', ($inputOutput)))->where('NOMER', $companyID)->get()->getRow();
$return = self::_buildSingleReturn($company, $inputOutput);
unset($company);
return $return;
}
public static function getProductByID($productID, $asArray = false)
{
$inputOutput = array(
'NOMER' => 'NOMER',
'IME' => 'IME',
'IME$1' => 'IME$1',
'OPISANIE_HTML' => 'OPISANIE_HTML',
);
$firebird = Services::firebird()->table('POZICII')->select(implode(', ', ($inputOutput)))->where('NOMER', $productID);
if ($asArray) {
$product = $firebird->get()->getRowArray();
$return = self::_buildSingleReturnAsArray($product, $inputOutput);
} else {
$product = $firebird->get()->getRow();
$return = self::_buildSingleReturn($product, $inputOutput);
}
unset($product);
return $return;
}
public static function getProducts($asArray = false)
{
$inputOutput = array(
'NOMER' => 'NOMER',
'IME' => 'IME',
'IME$1' => 'IME$1',
'IME$2' => 'IME$2',
'IZKLUCHEN' => 'IZKLUCHEN',
'BEZNALICHEN' => 'BEZNALICHEN',
'OPISANIE_HTML' => 'OPISANIE_HTML',
);
$firebird = Services::firebird()->table('POZICII')->select(implode(', ', ($inputOutput)));
if ($asArray) {
$products = $firebird->get()->getResultArray();
$return = self::_buildArrayReturn($products, $inputOutput);
} else {
$products = $firebird->get()->getResult();
$return = self::_buildObjectsReturn($products, $inputOutput);
}
unset($products);
return $return;
}
public static function getOfferByID($offerID)
{
$inputOutput = array(
'POS_NOMER' => 'POS_NOMER',
);
$offerProducts = Services::firebird()->table('OFERTI')
->select(implode(', ', ($inputOutput)))
->join('OFERTI_DE', 'OFERTI.NOMER = OFERTI_DE.OFERTA_NOMER')
->where('OFERTI.NOMER', $offerID)
->get()
->getResult();
$return = self::_buildObjectsReturn($offerProducts, $inputOutput);
unset($offerProducts);
return $return;
}
public static function getPriceTypes()
{
$inputOutput = array(
'NOMER' => 'NOMER',
'FULLNAME' => 'FULLNAME',
);
$priceTypes = Services::firebird()->table('TIPOVE_CENI')->select(implode(', ', ($inputOutput)))->get()->getResult();
$return = self::_buildObjectsReturn($priceTypes, $inputOutput);
unset($priceTypes);
return $return;
}
}
}